2026/05/06 3

[바이브코딩 HTML 웹앱 20일 챌린지] 8일차 - 새로고침해도 할 일이 사라지지 않게 만들기

8일차에서는 새로고침해도 할 일이 사라지지 않도록 `localStorage` 저장 기능을 붙입니다. 지금까지는 페이지를 다시 열면 목록이 초기화됐지만, 오늘부터는 입력한 데이터가 브라우저에 남아 다시 불러와지는 흐름을 구현합니다.이 단계는 웹앱이 "진짜 도구"로 넘어가는 중요한 전환점입니다. 초보자도 저장/불러오기 구조를 한 번 익혀두면 메모, 기분 기록, 다크모드까지 같은 패턴으로 확장할 수 있습니다.목차1. 오늘 만들 기능 소개2. AI에게 요청할 프롬프트3. 코드 작성과 실행 과정4. 코드 이해하기5. 오늘 만든 내용 정리6. 자주 묻는 질문7. 다음 단계로 이어가기1. 오늘 만들 기능 소개오늘의 목표는 할 일 목록 상태를 저장하고 복원하는 것입니다. 할 일을 추가/완료/삭제할 때마다 현재 목록을 ..

비동기 처리 첫걸음: 로딩, 성공, 실패를 안정적으로 다루는 패턴

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개프론트엔드에서 체감 품질을 크게 좌우하는 요소 중 하나가 비동기 처리입니다. 같은 API를 호출하더라도 어떤 화면은 안정적으로 느껴지고, 어떤 화면은 멈춘 것처럼 보이는 이유는 로딩·성공·실패 상태를 어떻게 설계했는지에 달려 있습니다. 초보 단계에서는 데이터만 잘 받아오면 끝이라고 생각하기 쉽지만, 사용자 입장에서 중요한 것은 결과가 아니라 진행 과정이 예측 가능한가입니다.예를 들어 버튼을 눌렀는데 반응이 없으면 사용자는 다시 클릭하고, 중복 요청이 발생해 서버와 UI 모두 꼬일 수 있습니다. 또 실패 상황에서 아무 메시지도 없으면 사용자는 원인을 알 수 없어 이탈할 가능성이 높아집니다. 그래서 비동기 처리의 기본은..

함수(Function)는 왜 필요할까? 반복을 줄이는 사고법

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개코드를 조금만 작성해도 같은 로직을 여러 번 복붙하게 됩니다. 이때 필요한 개념이 함수(Function)입니다. 함수는 단순히 문법이 아니라 반복을 줄이고, 실수를 줄이고, 코드를 재사용하게 만드는 사고 도구입니다.2. 핵심 내용함수는 작업을 이름 붙여 묶는 것여러 줄의 동작을 하나의 이름으로 묶어두면 필요할 때 호출만 하면 됩니다. 예를 들어 "할인 가격 계산"이나 "입력값 검증" 같은 반복 작업은 함수로 분리하는 것이 효율적입니다.입력(매개변수)과 출력(반환값)을 명확히좋은 함수는 무엇을 받아서 무엇을 돌려주는지 분명합니다. 입력과 출력을 명확히 하면 테스트가 쉬워지고, 다른 사람이 읽을 때도 이해가 빠릅니다.중..