2026/05/05 3

[바이브코딩 HTML 웹앱 20일 챌린지] 7일차 - 완료한 일은 체크하고, 필요 없는 일은 삭제하기

7일차에서는 할 일 항목에 완료 체크와 삭제 기능을 붙입니다. 6일차에 "추가"까지 됐다면, 오늘은 목록을 실제로 관리할 수 있게 만드는 단계입니다. 완료 상태 전환 + 개별 삭제가 들어가면 웹앱 사용감이 한 단계 올라갑니다.이 단계의 핵심은 "클릭한 항목만 정확히 제어"하는 흐름입니다. 초보자도 이벤트 타겟 개념을 한 번 익혀두면 이후 필터, 진행률, 저장 기능으로 확장할 때 훨씬 유리합니다.목차1. 오늘 만들 기능 소개2. AI에게 요청할 프롬프트3. 코드 작성과 실행 과정4. 코드 이해하기5. 오늘 만든 내용 정리6. 자주 묻는 질문7. 다음 단계로 이어가기1. 오늘 만들 기능 소개오늘 기능은 두 가지입니다. 첫째, 체크박스를 눌러 완료 상태를 표시하고 완료 항목 스타일(예: 취소선, 색상 변경)을..

상태(State) 설계 입문: 어디에 저장하고 누가 바꿔야 할까?

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개프론트엔드 개발에서 버그가 반복되는 가장 큰 이유 중 하나는 상태를 어디에 둬야 하는지 초기에 정하지 않았기 때문입니다. 화면이 커질수록 같은 데이터가 여러 컴포넌트에 흩어지고, 누가 값을 바꿨는지 추적하기 어려워집니다. 결국 기능은 돌아가지만 수정할 때마다 예기치 않은 사이드 이펙트가 생깁니다. 그래서 상태 설계의 첫 질문은 단순합니다. 이 값은 어디에 저장해야 하고, 누가 변경 권한을 가져야 하는가?입문 단계에서 흔히 하는 실수는 “일단 가까운 컴포넌트에 state를 둔다”는 방식입니다. 초기엔 편하지만 기능이 늘어나면 props 전달이 깊어지고, 중간 컴포넌트가 데이터 중계 역할만 하게 됩니다. 이 문제를 줄이..

변수는 '값을 담는 이름표'다: let/const 쉬운 정리

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개JavaScript를 시작하면 가장 먼저 만나는 개념이 변수입니다. 변수는 어렵게 생각할 필요 없이 "값을 담아두는 이름표"입니다. 특히 요즘 문법에서는 let과 const를 구분해 쓰는 습관이 매우 중요합니다.2. 핵심 내용const: 바뀌지 않을 이름표const는 재할당이 불가능한 변수를 선언할 때 사용합니다. 값이 고정되어야 하는 설정값이나 참조값에 적합하며, 기본 선택지로 쓰기 좋습니다.let: 나중에 바뀔 수 있는 이름표let은 재할당이 가능한 변수를 선언할 때 씁니다. 카운트 값처럼 실행 중에 값이 변하는 데이터에 사용합니다.var는 왜 덜 쓰일까?var는 함수 스코프와 호이스팅 특성 때문에 예기치 않은 ..