DAY 02 / CONTINUE BUILDING

어제 만든 앱,
오늘 더 쓸모 있게.

과제 수정·검색을 Codex로 구현하고, Git 커밋과 PR을 거쳐 다시 공개합니다.

02기능 개선
03Codex 요청
08따라 할 단계
02기능별 커밋
DAY 02 / HANDS-ON

2일차 · 같은 앱을 개선하는 실습

전날 만든 같은 과제 체크 앱에 수정·검색을 추가하고 기능별 커밋 2개, PR 검토·병합, Pages 재배포로 연결한다.

개선 앱 ↗ · 시작·중간·완성 ZIP · 실제 강사 PR ↗ (온라인 안내) · 1일차 실습 (온라인 안내)

교시50분 운영산출물
2일차 1교시도입8·clone/브랜치10·읽기/수정20·짝 검증8·정리4기능 브랜치·수정 기능·첫 커밋
2일차 2교시검색 요구8·구현15·회귀15·짝 검증8·정리4검색 기능·검사표·두 번째 커밋
2일차 3교시도입8·push/PR12·짝 검토10·병합/Pages8·검증8·정리4병합 PR·공개 URL·배포 근거
2일차 4교시기존 Docker·로컬 Supabase 실습 유지다음 날 DB·인증 연결 준비

강사 사전 준비와 경로 차이

Codex 로그인·이용 범위·사용량, Git 설치·GitHub 인증과 본인 저장소를 확인한다. 계정 제한 때는 ZIP 체크포인트로 이어간다. 학생은 본인 저장소의 최상위 index.html을 수정한다. 강사 공개 예제만 1일차 화면 보존을 위해 /day2/에 둔다. starter는 전날 기준, checkpoint-edit는 수정 기능, solution은 수정+검색이다. ZIP은 Git 이력을 포함하지 않으므로 clone한 저장소 안에서 해당 HTML을 참고한다.

Codex는 현재 소스 파일을 직접 읽고 수정한다. 파일 저장, commit, push, PR, merge, Pages 배포는 서로 다른 단계다. Git에는 소스 이력이 기록되고 브라우저에 입력한 과제 목록이 자동 저장되는 것은 아니다.

목차와 처음으로 ↑
DAY 02 / CONNECTED TOPICS

이번 일차의 관련 내용과 선택 심화

이 날의 생성도구·Git·구축 절차·프로젝트 사례를 각 교시에서 연결한다. 핵심은 아래에서 읽고 긴 원문은 선택 심화 링크로 연다.

D2-1 · Codex로 기존 앱 읽고 수정하기

이 교시 전체 교재 · 발표로 이동

Codex 수정도 작은 Git 기록부터

  • 작업 폴더→staging area→commit의 세 영역을 구분한다.
  • 수정 전에 폴더·브랜치·실행 명령·변경 파일을 확인한다.
  • 시제품을 가져오면 서버·DB·외부 API 의존성부터 읽는다.
  • 과제 수정 기능을 작게 구현하고 diff와 검증을 남긴다.

uc-anchor 사례 · 이번 실습에 적용할 판단

  • 기록: 기능이 확장되며 화면과 업무 규칙을 함께 점검했다.
  • 비교: 프런트엔드 수정도 DB 저장 규칙과 연결된 부분을 읽어야 한다.
  • 적용: 과제 수정 전 기존 추가·완료·삭제의 성공 기준을 적는다.

uc-anchor 전체 구축 과정·기술 역할 ↗

선택 심화 · 원문 4개 열기

해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.

연결 내용을 설명하는 강사 메모

Git 명령 전체를 암기시키지 않는다. 이번 변경의 diff·검증·커밋을 한 묶음으로 설명하고 긴 명령 예제는 원문 파일에서 선택한다.

D2-2 · 과제 검색과 기존 기능 검증

이 교시 전체 교재 · 발표로 이동

검색 개선과 회귀 검사·복구의 기준

  • 검색은 표시 조건만 바꾸고 실제 저장 데이터를 바꾸지 않는다.
  • 회귀 검사로 추가·수정·완료·삭제·새로고침을 다시 확인한다.
  • 충돌은 파일별 의도를 읽고 해결한 뒤 실행과 diff를 검사한다.
  • 복구 대상이 작업 파일·로컬 commit·공유 이력 중 무엇인지 먼저 정한다.

uc-anchor 사례 · 이번 실습에 적용할 판단

  • 기록: 화면과 업무 규칙이 결합되며 기존 동작의 일관성이 중요해졌다.
  • 비교: 검색 구현도 목록 표시와 저장 결과를 따로 검증한다.
  • 적용: 이전 기능을 확인한 체크리스트와 작은 기능별 commit을 남긴다.

uc-anchor 전체 구축 과정·기술 역할 ↗

선택 심화 · 원문 2개 열기

해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.

연결 내용을 설명하는 강사 메모

충돌/복구 명령은 별도 실습 저장소에서 선택 심화로 진행한다. 학생 과제의 미커밋 변경을 지우는 명령을 기본 진행 순서에 넣지 않는다.

D2-3 · Git·GitHub PR과 Pages 재배포

이 교시 전체 교재 · 발표로 이동

origin/main·PR·병합을 눈으로 확인

  • origin은 원격 별칭, main은 로컬 브랜치, origin/main은 원격 추적 참조다.
  • fetch는 참조를 갱신하고 pull은 현재 브랜치에 통합한다.
  • PR 검토·merge·배포 완료는 서로 다른 단계다.
  • 아래 Git 상태 시뮬레이터로 add→commit→push→원격 변경→fetch를 비교한다.

kysong 사례 · 이번 실습에 적용할 판단

  • 기록: GitHub 저장소와 Vercel 배포를 연결해 기능을 확장했다.
  • 비교: 로컬 commit·원격 push·서비스 배포의 결과를 각각 확인한다.
  • 적용: 학생 과제 앱은 PR 병합 뒤 Pages의 실제 공개 기능을 재검사한다.

kysong 전체 구축 과정·기술 역할 ↗

선택 심화 · 원문 8개 열기

해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.

연결 내용을 설명하는 강사 메모

Thomas dot의 브랜치·origin/main 설명을 이 교시에서 사용한다. 병합 방식/30분 추가 연습/질문 카드는 선택 참고이며 기존 PR 실습시간을 연장하지 않는다.

D2-4 · Docker와 로컬 Supabase

이 교시 전체 교재 · 발표로 이동

분리한 작업 폴더와 Docker 개발 환경

  • Worktree는 같은 저장소의 다른 작업 폴더이며 브랜치와 다르다.
  • 폴더가 달라도 포트·환경 파일·DB 연결은 충돌할 수 있다.
  • Docker 로컬 Supabase는 운영 데이터를 건드리지 않는 검증 환경이다.
  • 별도 작업 폴더·포트·DB 대상을 기록하고 실습 뒤 본인 환경만 정리한다.

u-livet 사례 · 이번 실습에 적용할 판단

  • 기록: Docker의 로컬 Supabase에서 인증·업무 기능을 검증했다.
  • 판단: 운영은 관리형 Supabase와 Vercel로 역할을 나눴다.
  • 적용: 과제 앱도 로컬 가상 계정으로 RLS를 실험한다.

u-livet 전체 구축 과정·기술 역할 ↗

선택 심화 · 원문 4개 열기

해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.

연결 내용을 설명하는 강사 메모

Docker가 브랜치마다 DB를 자동 분리해준다고 설명하지 않는다. Worktree 생성·멀티기기·정리는 선택 심화이고 본 실습은 로컬 스택의 실행과 연결 확인이다.

목차와 처음으로 ↑
PROMPT CARDS

Codex 예제 요청 3종

요청 1→검사→커밋 1, 요청 2→검사→커밋 2 순서다. 계정 이용 조건은 수업 전에 확인하며 이 앱 안에서는 AI API를 호출하지 않는다.

1. 기존 앱 읽기와 수정

현재 폴더의 과제 체크 앱을 읽고 현재 경로, Git 브랜치와 status, index.html의 역할, localStorage 키와 데이터 구조를 먼저 요약해줘. 이어 각 과제에 수정 버튼을 추가하고 기존 입력 폼에서 제목·과목·마감일을 수정·저장·취소할 수 있게 최소 변경해줘. 같은 id 항목만 변경하고 done·createdAt·과제 개수와 기존 저장 데이터는 유지해줘. 취소는 저장하지 않고 수정 버튼으로 초점을 돌려줘. 빈값·공백·길이·날짜 검증, textContent, 입력 label과 네이티브 버튼을 유지해줘. 수정 중인 항목을 삭제할 때 폼도 정리해줘. 변경 파일과 diff, 실제 검증 결과를 설명해줘. 서버·DB·외부 패키지·API는 추가하지 마. 아직 commit·push·PR·merge는 실행하지 마.

2. 제목·과목 검색

현재 수정 기능과 기존 추가·완료·삭제/되돌리기·저장·날짜 집계를 보존하고 제목·과목 부분 검색을 추가해줘. 앞뒤 공백을 제거하고 대소문자를 무시하며 전체/미완료/완료 필터와 함께 적용해줘. 검색어가 비면 기존 필터 목록, 결과가 없으면 안내, 검색 지우기 버튼과 현재 표시 개수를 제공해줘. 검색은 과제를 삭제하거나 전체 집계·저장 데이터를 바꾸지 않는 화면 조건이야. label이 연결된 네이티브 search 입력을 쓰고 검색 조건은 저장하지 마. 추가·수정 저장 뒤 검색과 완료 필터를 초기화해 결과를 보여줘. 모바일 가로 넘침과 키보드 조작을 확인해줘. 변경 파일·diff·검증 결과를 보여주되 commit·push·PR·merge는 아직 하지 마.

3. 회귀 검증과 PR 초안

현재 과제 체크 앱의 diff를 검토하고 실제 실행한 검사와 미확인을 구분해줘. 전날 데이터가 유지되는지, 완료한 과제를 수정해도 id·done·createdAt·개수가 같은지, 취소 전후 저장 데이터가 같은지, 공백 수정 거절, 제목/과목 검색·대소문자·빈 결과·완료 필터 조합·검색 지우기, 수정 중 삭제/되돌리기, 추가·완료·새로고침·날짜 집계·저장 실패 안내를 확인해줘. 390px 화면과 키보드 초점도 확인해줘. 문제는 재현 절차와 최소 수정으로 보고해줘. 마지막으로 기능별 커밋 메시지와 PR 제목·본문 초안을 제안해줘. 현재 경로·브랜치·remote와 대상 파일을 다시 확인해주고 사용자 데이터·비밀값을 출력하지 마. 원격 push·PR 생성·merge·배포는 내가 해당 단계에서 실행할게.
목차와 처음으로 ↑
FOLLOW ALONG

B01 · 전날 앱과 오늘의 성공 기준 확인

본인의 1일차 Pages 앱에서 가상 과제 2개를 만들고 하나를 완료한다. 현재 공개 URL과 수정 전 화면을 기록한다. 오늘은 수정·검색을 추가하고 커밋 2개와 PR로 변경 이유를 남긴다.

학생 확인

Git·GitHub 계정·Codex 로그인과 파일 편집 가능 여부를 확인한다. Codex 이용 가능 범위와 사용량은 계정마다 다를 수 있다. 이 실습 앱에는 AI API 키가 필요 없다.

강사용 설명

1교시 도입 8분에 전날 앱을 다시 연다. Codex 접근이 제한되면 ZIP의 starter→checkpoint-edit→solution을 비교하며 Git 절차를 계속한다. 무료 AI로 시작한 앱을 Codex의 실제 파일 편집으로 이어가는 과정이다.

목차와 처음으로 ↑
FOLLOW ALONG

B02 · 내 저장소 clone → 같은 폴더를 Codex에서 열기

YOUR_ID를 본인 GitHub 아이디로 바꾸고 아래 명령을 한 줄씩 실행한다. 이미 clone했다면 해당 폴더에서 status·remote만 확인한다. Codex 프로젝트에 그 폴더를 연결하고 index.html과 .git이 있는 저장소를 기본 작업 폴더로 선택한다. Codex에 현재 실행 환경을 확인시켜 로컬 미리보기를 연다.

한 줄씩 읽고 실행

git clone https://github.com/YOUR_ID/assignment-check.git
cd assignment-check
git status -sb
git remote -v
git branch --show-current

학생 확인

git remote -v가 본인 저장소인지 확인한다. 다운로드 ZIP에는 Git 이력이 없으므로 commit·push 실습은 clone한 폴더에서 한다. 편집기와 터미널이 같은 폴더여야 한다.

강사용 설명

GitHub는 원격 저장소, clone은 내 컴퓨터 복사본, Codex는 이 폴더의 파일을 읽고 수정하는 도구라고 설명한다. 복사본 폴더를 여러 개 만들지 않는다. 로컬 서버가 필요하면 Codex가 설치된 실행 도구를 확인해 띄우게 한다. Python 등 새 도구 설치를 수업의 필수로 만들지 않는다.

목차와 처음으로 ↑
FOLLOW ALONG

B03 · 깨끗한 main → 기능 브랜치 만들기

status에 미커밋 변경이 없고 기본 브랜치가 main인 것을 확인한 뒤 아래 명령을 실행한다. 기본 브랜치가 다르면 실제 이름으로 바꾼다. feature/edit-tasks가 이미 있으면 기존 작업을 확인하고 새 이름을 정한다.

한 줄씩 읽고 실행

git switch main
git pull --ff-only origin main
git switch -c feature/edit-tasks
git status -sb

학생 확인

브랜치 이름이 feature/edit-tasks로 바뀌고 작업 파일은 그대로 보인다. 변경이 있거나 ff-only가 실패하면 중단하고 강사와 원인을 확인한다. reset --hard나 강제 push로 해결하지 않는다.

강사용 설명

브랜치를 만들었다고 폴더나 배포 사이트가 새로 생기지 않는다. Git 이력의 작업 지점을 나눈 것이다. Worktree는 별도 폴더가 필요한 때의 선택 시연으로만 다룬다. 기존 작업은 보존한다.

목차와 처음으로 ↑
FOLLOW ALONG

B04 · Codex로 과제 수정 구현 → 첫 커밋

아래 수정 요청을 Codex에 입력한다. 수정 버튼→기존 값 불러오기→변경 저장→취소를 직접 실행한다. 완료한 과제를 수정해도 완료 상태와 개수가 같은지 확인한다. 통과한 뒤 diff를 읽고 index.html만 stage·commit한다.

한 줄씩 읽고 실행

git diff -- index.html
git add index.html
git diff --cached
git commit -m "Add assignment editing"

이 단계의 Codex 요청

현재 폴더의 과제 체크 앱을 읽고 현재 경로, Git 브랜치와 status, index.html의 역할, localStorage 키와 데이터 구조를 먼저 요약해줘. 이어 각 과제에 수정 버튼을 추가하고 기존 입력 폼에서 제목·과목·마감일을 수정·저장·취소할 수 있게 최소 변경해줘. 같은 id 항목만 변경하고 done·createdAt·과제 개수와 기존 저장 데이터는 유지해줘. 취소는 저장하지 않고 수정 버튼으로 초점을 돌려줘. 빈값·공백·길이·날짜 검증, textContent, 입력 label과 네이티브 버튼을 유지해줘. 수정 중인 항목을 삭제할 때 폼도 정리해줘. 변경 파일과 diff, 실제 검증 결과를 설명해줘. 서버·DB·외부 패키지·API는 추가하지 마. 아직 commit·push·PR·merge는 실행하지 마.

학생 확인

제목·과목·마감일만 바뀌고 원래 과제는 1개다. 취소하면 원래 목록이 유지된다. git diff --cached에 의도한 파일만 있다. 커밋 메시지는 Add assignment editing이다.

강사용 설명

1교시 50분은 도입8·clone/브랜치10·읽기/수정20·짝 검증8·커밋/정리4로 진행한다. AI가 전체 앱을 다시 만들면 저장 키와 id 보존 조건을 재확인한다. 코드 저장과 commit의 차이를 보여준다.

목차와 처음으로 ↑
FOLLOW ALONG

B05 · 제목·과목 검색 구현 → 두 번째 커밋

검색 요청을 Codex에 입력한다. 제목 일부와 과목을 각각 검색하고 영어 대소문자와 공백, 결과 없음, 완료 필터를 함께 시험한다. 검색 지우기 뒤 정상 목록이 돌아오는지 확인한 뒤 두 번째 commit을 만든다.

한 줄씩 읽고 실행

git diff -- index.html
git add index.html
git diff --cached
git commit -m "Add title and subject search"
git log --oneline -3

이 단계의 Codex 요청

현재 수정 기능과 기존 추가·완료·삭제/되돌리기·저장·날짜 집계를 보존하고 제목·과목 부분 검색을 추가해줘. 앞뒤 공백을 제거하고 대소문자를 무시하며 전체/미완료/완료 필터와 함께 적용해줘. 검색어가 비면 기존 필터 목록, 결과가 없으면 안내, 검색 지우기 버튼과 현재 표시 개수를 제공해줘. 검색은 과제를 삭제하거나 전체 집계·저장 데이터를 바꾸지 않는 화면 조건이야. label이 연결된 네이티브 search 입력을 쓰고 검색 조건은 저장하지 마. 추가·수정 저장 뒤 검색과 완료 필터를 초기화해 결과를 보여줘. 모바일 가로 넘침과 키보드 조작을 확인해줘. 변경 파일·diff·검증 결과를 보여주되 commit·push·PR·merge는 아직 하지 마.

학생 확인

검색은 보이는 목록만 바꾸고 데이터와 전체 현황 숫자는 유지한다. git log에 수정 기능과 검색 기능이 서로 다른 커밋으로 보인다.

강사용 설명

2교시 50분은 검색 요구8·구현15·회귀 검증15·짝 검증8·커밋/정리4다. 검색 기능이 쉬워 보여도 저장 데이터와 필터 조합에 영향을 줄 수 있음을 보여준다. 첫 커밋 덕분에 두 변경의 이유를 따로 설명할 수 있다.

목차와 처음으로 ↑
FOLLOW ALONG

B06 · 회귀 검사와 변경 파일 검토

검증 요청과 아래 체크표로 확인한다. 새로고침 뒤 수정 내용과 완료 상태를 확인한다. 같은 제목을 새로 추가한 것이 아닌지, 취소가 저장하지 않는지 검사한다. 수정 중 삭제와 되돌리기, 빈 검색, 휴대폰 화면도 확인한다.

한 줄씩 읽고 실행

git status -sb
git diff main...HEAD -- index.html
git log --oneline --decorate -4

이 단계의 Codex 요청

현재 과제 체크 앱의 diff를 검토하고 실제 실행한 검사와 미확인을 구분해줘. 전날 데이터가 유지되는지, 완료한 과제를 수정해도 id·done·createdAt·개수가 같은지, 취소 전후 저장 데이터가 같은지, 공백 수정 거절, 제목/과목 검색·대소문자·빈 결과·완료 필터 조합·검색 지우기, 수정 중 삭제/되돌리기, 추가·완료·새로고침·날짜 집계·저장 실패 안내를 확인해줘. 390px 화면과 키보드 초점도 확인해줘. 문제는 재현 절차와 최소 수정으로 보고해줘. 마지막으로 기능별 커밋 메시지와 PR 제목·본문 초안을 제안해줘. 현재 경로·브랜치·remote와 대상 파일을 다시 확인해주고 사용자 데이터·비밀값을 출력하지 마. 원격 push·PR 생성·merge·배포는 내가 해당 단계에서 실행할게.

학생 확인

통과/실패/미확인과 실제 결과를 기록한다. 검사 데이터는 가상 과제만 쓴다. 저장 값 확인은 수업용 가상 데이터에 한해 개발자 도구 Application→Local Storage에서 id·done·createdAt을 비교한다.

강사용 설명

개발자 도구의 localStorage를 지우거나 운영 데이터를 덮어쓰지 않는다. localhost와 Pages는 서로 다른 origin이라 목록이 다른 것은 정상이다. 강사 공개 앱의 루트와 /day2/는 같은 origin·키로 목록을 이어 읽도록 설계했다.

목차와 처음으로 ↑
FOLLOW ALONG

B07 · push → 내 저장소의 Pull Request 만들기

대상 remote와 브랜치를 확인한 뒤 push한다. 본인 GitHub 저장소의 Pull requests→New pull request에서 base:main, compare:feature/edit-tasks를 선택한다. 제목과 아래 PR 본문 예시를 채우고 Files changed에서 변경을 읽은 뒤 PR을 만든다.

한 줄씩 읽고 실행

git push -u origin feature/edit-tasks

학생 확인

커밋 2개가 PR에 보이고 본인 저장소의 main을 대상으로 한다. push만으로 main이 바뀌거나 Pages에 기능이 공개된 것은 아니다. 강사 예제 저장소에 학생 PR을 만들지 않는다.

강사용 설명

3교시 도입8분에 G05 상태 변화를 보여준다. push/PR12·짝 검토10·병합/Pages8·배포 검증8·정리4분이다. PR 제목보다 변경 이유·검증 근거를 읽게 한다. private 토큰·실제 학생 과제는 본문에 넣지 않는다.

목차와 처음으로 ↑
FOLLOW ALONG

B08 · 짝 검토 → 병합 → Pages 재배포 확인

짝이 PR의 변경과 검사 결과를 읽고 개선점을 한 가지 적는다. 본인 PR을 Merge pull request로 병합한다. Settings→Pages/Actions에서 배포 완료와 사용한 커밋을 확인하고 본인 github.io 주소에서 수정·검색·새로고침을 다시 검사한다. 로컬 main을 아래 명령으로 갱신한다.

한 줄씩 읽고 실행

git switch main
git pull --ff-only origin main
git log --oneline -3

학생 확인

기록: PR URL, 두 기능 커밋, main 병합 커밋, Pages 배포 커밋, 공개 앱 URL, 확인자와 실제 결과. 배포 대기 중은 미확인으로 기록하고 다음 교시 시작 때 확인한다.

강사용 설명

PR 병합은 소스 반영, Pages built는 배포 결과, 브라우저 검사는 사용자가 보는 동작의 근거다. 서로 구분한다. 원격 main을 병합한 뒤 로컬 main도 갱신한다. 기능 브랜치 삭제·충돌 해결은 필수가 아니다. 4교시는 기존 Docker·로컬 Supabase 준비로 이어가며 하루 시간은 늘리지 않는다.

목차와 처음으로 ↑
GIT / REVIEW

PR 본문 예시와 실제 강사 사례

체크박스는 실제 확인한 항목만 채운다. 아래 공개 PR은 강사가 제공한 참고 사례이며 학생은 자기 저장소에 별도 PR을 만든다.

## 변경 이유
마감일과 과제명을 고치고 많은 과제에서 제목·과목을 빠르게 찾기 위해 개선했습니다.

## 변경 내용
- 과제 수정·저장·취소
- 제목·과목 검색과 기존 완료 필터 조합

## 직접 검증
- [ ] 기존 데이터·완료 상태·id·생성시각·개수 유지
- [ ] 취소·공백 거절·검색/필터·삭제/되돌리기
- [ ] 새로고침·휴대폰·키보드

## 공개 확인 (병합 뒤 작성)
Pages 배포 커밋: / 앱 URL: / 확인자·결과:

개선 앱 ↗ · 시작·중간·완성 ZIP · 실제 강사 PR ↗ (온라인 안내) · 1일차 실습 (온라인 안내)

목차와 처음으로 ↑
CHECK

개선 앱 회귀 검증 체크리스트

검사행동기대 결과
기존 데이터전날 목록을 읽기제목·날짜·완료 상태 유지
수정 저장완료한 과제의 제목·과목·마감일 변경동일 id·done·createdAt·개수, 편집 값만 변경
취소값 변경 후 수정 취소저장 값 불변·수정 버튼 초점 복귀
입력 검증제목 공백·잘못된 날짜저장 거절·오류 안내
검색제목 일부·과목·영문 대소문자·앞뒤 공백해당 과제만 표시
복합 조건검색어 + 완료/미완료두 조건 동시 적용·전체 집계 유지
빈 결과/지우기없는 검색어→지우기빈 결과 안내→원래 필터 목록
편집과 삭제수정 중 해당 항목 삭제→되돌리기추가 모드 복귀·원래 항목 복원
기존 기능추가·완료·집계·새로고침·삭제/되돌리기전날 기능 정상
기기/조작390px·Tab·Enter·Space가로 잘림 없음·조작/초점 정상
Git 근거커밋2개·PR Files changed기능별 변경과 검증 근거
공개 확인병합 후 Pages URL에서 검사최신 배포와 실제 기능 확인

체크표 CSV에 통과/실패/미확인, 실제 결과·확인자·공개 URL을 남긴다. 서버 DB와 로그인은 이후 교시에서 별도로 연결한다.

목차와 처음으로 ↑
TROUBLESHOOTING

자주 막히는 지점과 복구

증상확인조치
Author identity unknowngit config user.name와 user.email 확인본인 이름과 GitHub의 noreply 이메일을 저장소 로컬 설정으로 등록한 뒤 재시도
not a git repositoryclone한 폴더인지 확인cd와 Codex 기본 폴더를 맞춘다
미커밋 변경/ff-only 실패status와 log 확인기존 변경을 보존하고 강사와 통합한다
push 인증 실패계정·저장소 권한·remote 확인GitHub 로그인 안내를 따르고 토큰을 코드에 넣지 않는다
PR 변경이 없음base/head·커밋·push 확인본인 저장소의 기능 브랜치를 compare로 선택
기존 과제가 사라짐origin·브라우저·저장 키/스키마 확인데이터를 지우지 말고 원인과 백업부터 확인
수정했는데 새 항목이 생김편집 id와 추가/수정 분기 확인동일 항목의 세 필드만 수정
검색이 안 됨제목/과목·대소문자·완료 필터 확인검색과 완료 조건을 함께 검사
병합 후 이전 화면Pages build와 커밋·URL 확인완료 후 새로고침하고 직접 기능 검사
근거와 참고 자료
목차와 처음으로 ↑

프롬프트 직접 복사

아래 전체 문장을 선택해서 복사하세요.