전체 글 79

초보자가 AI에게 코드 설명을 제대로 받는 질문법

목차1. 왜 “코드 설명해줘”만으로는 부족할까2. 초보자 질문의 핵심 구조 4가지3. 이해가 빨라지는 질문 템플릿4. 실전에서 자주 하는 실수와 개선법5. 자주 묻는 질문1. 왜 “코드 설명해줘”만으로는 부족할까초보자가 AI에게 코드를 물어볼 때 가장 흔한 문장은 “이 코드 설명해줘”입니다. 물론 이 질문도 나쁘지 않지만, 결과가 너무 넓고 추상적으로 나올 가능성이 큽니다. AI는 코드 전체를 훑으며 일반론을 말하기 쉽고, 사용자가 진짜 막힌 지점을 정확히 짚어주지 못할 때가 많습니다. 결국 설명을 읽어도 “그래서 나는 지금 뭘 고치면 되지?”라는 답답함이 남게 됩니다.핵심은 질문의 범위를 줄이는 것입니다. 코드의 모든 줄을 한 번에 이해하려고 하기보다, 현재 막힌 포인트를 잘라서 물어보면 답변 품질이 ..

HTML 구조를 보기 좋게 정리하는 Before & After: 초보 코드 리뷰 가이드

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개HTML은 화면을 "보이게" 만드는 언어이지만, 실무에서는 "읽히게" 만드는 능력이 더 중요합니다. 초보 단계에서 자주 나오는 문제는 div를 계속 중첩해 구조가 깊어지고, 클래스 이름이 뒤섞이며, 영역 구분이 없어 수정할 때 길을 잃는 상황입니다. 화면은 정상 출력되는데 코드만 보면 어디가 헤더인지, 어디가 본문인지, 어떤 블록이 반복되는 카드인지 한눈에 파악하기 어려운 상태가 됩니다. 이 경우 디자인 변경이나 기능 추가 시 작은 수정도 큰 스트레스로 이어집니다.이번 글은 HTML 구조를 보기 좋게 정리하는 기본 기준을 Before & After 관점으로 설명합니다. 핵심은 복잡한 기술이 아니라 구조적 습관입니다...

[바이브코딩 HTML 웹앱 20일 챌린지] 16일차 - 모바일에서도 보기 좋은 화면으로 바꾸기

16일차에서는 모바일 화면에서도 보기 좋은 반응형 레이아웃을 적용합니다. 데스크톱에서는 괜찮던 구성도 작은 화면에서는 답답해질 수 있어서, 화면 크기에 맞춰 구조를 바꾸는 CSS 전략이 필요합니다.오늘은 `media query`를 중심으로 카드 배치, 여백, 버튼 크기, 입력창 너비를 조정해 스마트폰에서도 자연스럽게 사용할 수 있는 웹앱으로 개선합니다.목차1. 오늘 만들 기능 소개2. AI에게 요청할 프롬프트3. 코드 작성과 실행 과정4. 코드 이해하기5. 오늘 만든 내용 정리6. 자주 묻는 질문7. 다음 단계로 이어가기1. 오늘 만들 기능 소개오늘 목표는 모바일 가독성과 조작성을 높이는 것입니다. 카드가 가로로 길게 배치되어 있다면 세로 스택으로 바꾸고, 작은 화면에서 텍스트와 버튼이 겹치지 않도록 간..

CSS를 작성했는데 화면에 적용되지 않을 때 확인 순서

목차1. CSS가 안 먹는 이유부터 이해하기2. 가장 먼저 확인할 체크포인트3. 문제를 빠르게 찾는 점검 순서4. 재발 방지를 위한 스타일링 습관5. 자주 묻는 질문1. CSS가 안 먹는 이유부터 이해하기분명히 CSS를 작성했는데 화면에서 아무 변화가 없으면, 처음에는 코드 전체가 잘못된 것처럼 느껴집니다. 하지만 실제로는 대부분 단순한 연결 문제입니다. 대표적으로 파일 경로가 틀렸거나, 선택자가 대상 요소와 일치하지 않거나, 더 강한 우선순위 스타일에 덮여서 적용이 보이지 않는 경우가 많습니다.핵심은 "CSS를 썼다"가 아니라 "브라우저가 그 CSS를 읽고, 해당 요소에, 이길 수 있는 우선순위로 적용했는가"를 확인하는 것입니다. 이 세 단계 중 하나라도 빠지면 작성한 스타일은 존재해도 화면에는 나타나..

AI에게 웹앱 기능을 단계별로 요청하는 프롬프트 구조

목차1. 왜 단계별 요청 구조가 필요한가2. 실전에서 쓰는 5단계 프롬프트 프레임3. 단계별 요청 문장 템플릿4. 실패를 줄이는 운영 원칙5. 자주 묻는 질문1. 왜 단계별 요청 구조가 필요한가AI에게 웹앱을 요청할 때 많은 사람이 처음부터 “로그인, 게시판, 검색, 관리자 페이지까지 다 만들어줘”라고 말합니다. 시작은 빠를 수 있지만 결과는 대개 불안정합니다. 기능이 섞인 상태로 생성되면 어디가 잘못됐는지 찾기 어렵고, 한 부분을 수정하면 다른 부분이 깨지는 일이 반복됩니다. 그래서 필요한 것이 단계별 요청 구조입니다.단계별 요청은 단순히 일을 쪼개는 방식이 아닙니다. 기능별 책임을 분리하고, 각 단계마다 검증 기준을 두어 리스크를 낮추는 방식입니다. 특히 초보자에게는 “무엇을 먼저 확인해야 하는지”가..

너무 긴 함수를 작게 나누는 기본 기준: 초보 코드 리뷰 Before & After

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개초보 개발자의 코드에서 자주 보이는 패턴 중 하나가 "한 함수에 모든 작업을 다 넣는 구조"입니다. 예를 들어 `submitOrder()` 함수 하나에서 입력 검증, 할인 계산, API 호출, 에러 처리, 화면 갱신, 알림 표시까지 전부 처리하는 경우가 많습니다. 처음에는 흐름이 한눈에 보인다고 느낄 수 있지만, 함수가 길어질수록 수정 포인트를 찾기 어려워지고 작은 변경도 전체 동작에 영향을 주게 됩니다. 결국 디버깅 시간은 늘어나고, 버그는 더 자주 생깁니다.이번 글은 너무 긴 함수를 작게 나누는 기준을 현실적으로 정리합니다. 핵심은 코드 미학이 아니라 유지보수 가능성입니다. 한 함수는 한 가지 책임만 갖게 만들고..

[바이브코딩 HTML 웹앱 20일 챌린지] 15일차 - 할 일을 검색하고 상태별로 걸러보기

15일차에서는 할 일 검색과 상태 필터 기능을 추가합니다. 항목이 많아질수록 원하는 할 일을 찾기 어려워지기 때문에, 키워드 검색 + 완료/미완료 필터는 사용성을 크게 높여줍니다.오늘 구현의 핵심은 목록 전체를 다시 만들지 않고, 조건에 맞는 항목만 보여주거나 숨기는 방식으로 가볍게 처리하는 것입니다.목차1. 오늘 만들 기능 소개2. AI에게 요청할 프롬프트3. 코드 작성과 실행 과정4. 코드 이해하기5. 오늘 만든 내용 정리6. 자주 묻는 질문7. 다음 단계로 이어가기1. 오늘 만들 기능 소개오늘은 두 가지를 만듭니다. 첫째, 입력한 키워드가 포함된 할 일만 보여주는 검색 기능. 둘째, 전체/완료/미완료 조건으로 목록을 나눠 보는 상태 필터입니다.2. AI에게 요청할 프롬프트검색 기준과 필터 종류를 함..

Cannot read properties of null 에러 쉽게 해결하기

목차1. null 에러가 뜻하는 것2. 가장 흔한 발생 원인3. 단계별 해결 방법4. 예방을 위한 코딩 습관5. 자주 묻는 질문1. null 에러가 뜻하는 것Cannot read properties of null 에러는 JavaScript에서 가장 자주 만나는 오류 중 하나입니다. 뜻은 단순합니다. 존재하지 않는 값(null)에서 무언가를 읽으려 했다는 의미입니다. 예를 들어 null.textContent, null.value, null.addEventListener 같은 코드가 실행되면 바로 이 에러가 발생합니다.중요한 포인트는 "문법이 틀렸다"보다 "대상이 아직 없거나 잘못 찾았다"에 가깝다는 점입니다. 즉, 코드 구조 전체를 뜯어고칠 필요 없이 요소를 찾는 시점과 선택자를 점검하면 대부분 해결됩니다..

HTML, CSS, JavaScript를 한 번에 요청하면 안 되는 이유

목차1. 한 번에 요청하면 생기는 문제2. 분리 요청이 품질을 높이는 이유3. 실전 분할 요청 순서4. 협업과 유지보수 관점에서의 장점5. 자주 묻는 질문1. 한 번에 요청하면 생기는 문제“HTML, CSS, JavaScript까지 한 번에 다 만들어줘”라는 요청은 얼핏 효율적으로 보입니다. 하지만 실제로는 결과 품질이 흔들릴 가능성이 큽니다. 이유는 각 영역의 관심사가 다르기 때문입니다. HTML은 구조와 의미, CSS는 시각 표현과 반응형, JavaScript는 상태와 동작을 다룹니다. 세 가지를 한 번에 요청하면 AI가 우선순위를 정하는 과정에서 어느 한 축이 희생되기 쉽습니다.대표적으로 마크업 구조가 부실해지거나, 스타일은 그럴듯하지만 스크립트가 예외 상황을 처리하지 못하는 경우가 생깁니다. 또 ..

이름이 애매한 변수명 더 이해하기 쉽게 바꾸기: 초보 코드 리뷰 Before & After

목차1. 주제 소개2. 핵심 내용3. 적용 방법4. 정리5. 자주 묻는 질문1. 주제 소개코드가 길지 않은데도 이해하기 어려운 경우가 있습니다. 원인을 따라가 보면 대부분 변수명에서 막힙니다. `a`, `data`, `temp`, `value2`, `resultFinal` 같은 이름은 작성자 머릿속에서는 의미가 있지만, 며칠 뒤 본인이나 팀원이 보면 문맥을 다시 해석해야 합니다. 즉 코드가 동작하더라도 읽는 비용이 크게 증가합니다. 초보 단계에서는 기능 완성에 집중하다 보니 변수명을 대충 정하기 쉽지만, 실제 유지보수에서는 이 작은 습관이 가장 큰 시간을 잡아먹습니다.이번 글에서는 "이름이 애매한 변수명"을 어떻게 읽기 좋은 형태로 바꿀지 Before & After 관점으로 다룹니다. 중요한 기준은 어렵..