FIELD LIBRARY / READ WHEN NEEDED
수업의 흐름 안에서,
필요할 때 더 깊이.
생성도구·Git·구축 순서·프로젝트 사례를5일20교시와 연결한 선택 심화 자료실입니다.
05일차별 배치
20연결한 교시
51보존한 참고 항목
04별도 원문 파일
REFERENCE LIBRARY
필요한 교시에서 더 깊게
본문 발표와 교재는5일20교시 순서로 진행한다. 아래에서 해당 교시의 선택 심화를 찾고 별도 원문으로 이동한다. 긴 명령·설정표·연표는4개 참고 파일에 보존했다.
목차와 처음으로 ↑FIELD NOTES
1일차 · 무료 AI로 시작하는 나의 앱
만들고 싶은 앱과 운영 방식을 고르고, 링크로 첫 결과 공유하기
CONNECTED READING
D1-1 · 무료 AI로 시작하는 나의 앱
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
생성도구: 빠른 시작과 첫 공개 링크
- 무료 AI로 작은 HTML 앱을 만들고 GitHub Pages에서 첫 링크를 공유한다.
- AI Studio·Sites·v0·Lovable·Bolt는 같은 요구를 시제품으로 확인하는 선택지다.
- 생성 화면·실제 저장·로그인·공개 배포를 각각 확인한다.
- 과제 앱의 필수 기능3개를 먼저 완성하고 도구 비교는 필요할 때 연다.
kysong 사례 · 이번 실습에 적용할 판단
- 기록: 연구 포털을 만든 뒤 자료·설문·내보내기 기능을 순차 확장했다.
- 비교: 첫날 과제 앱도 작은 목록과 공개 링크부터 완성한다.
- 적용: 만들고 싶은 앱·사용자·웹/모바일 운영 위치를 한 장에 적는다.
kysong 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 4개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
도구별 새 계정 가입을 모두 실습하지 않는다. 첫날은 무료 시작과 Pages 완주에 시간을 쓰고 도구 비교표는 선택 심화로 연결한다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D1-2 · 파일 정리 도구 만들기
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
사이트 밖의 생성: 파일·문서 업무 자동화
- 파일 이름·폴더 분류·문서 추출도 바이브코딩의 결과물이다.
- 원본을 보존하고 복사본에서 변경 예정 목록을 먼저 출력한다.
- 브라우저 UI·서버 처리·로컬 스크립트의 실행 위치를 구분한다.
- 입력 예시·예외·되돌리기 기준을 AI 요청에 함께 적는다.
uc-anchor 사례 · 이번 실습에 적용할 판단
- 기록: 화면 외에 문서 내보내기와 선택형 Python PDF 처리가 함께 등장한다.
- 기술: 브라우저 TypeScript와 별도 Python 서비스는 실행 위치가 다르다.
- 적용: 파일 정리 도구는 가상 파일 복사본으로 결과를 대조한다.
uc-anchor 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 1개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
선택형 PDF 서비스가 Vercel 기본 배포에 자동 포함된다고 설명하지 않는다. 실습은 원본 보존과 변경 예정 목록 확인을 중심으로 진행한다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D1-3 · CSV 정리와 보고서 자동화
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
생성한 보고서는 원본 CSV와 맞는가?
- CSV의 행 수·합계·빈값 처리 규칙을 먼저 정한다.
- Sites 등으로 보고서 화면을 생성해도 계산 근거는 원본에서 확인한다.
- 저장하지 않은 결과를 저장 성공이라고 표시하지 않는다.
- 출력 파일을 다시 열어 한글·숫자·열 구조를 대조한다.
kysong 사례 · 이번 실습에 적용할 판단
- 기록: 화면 데이터를 Excel·HWPX로 재사용하는 기능을 확장했다.
- 판단: 다운로드 성공과 다시 열어 수정 가능한 결과는 서로 다른 검사다.
- 적용: CSV 원본·보고서 합계·실제 출력 파일을 세 곳에서 대조한다.
kysong 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 1개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
생성도구의 시각적 완성도보다 원본 대조를 평가한다. 실제 개인정보 대신 가상 수치와 문장으로 결과물을 만든다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D1-4 · 작은 서비스의 요구사항과 설계
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
구축 지도를 그리기: 언어·서버·DB
- HTML/CSS는 구조·표현, JavaScript/TypeScript는 동작을 담당한다.
- React/Next.js는 UI·웹 프레임워크, Node.js는 서버 실행 환경이다.
- PostgreSQL은 DB, SQL은 질의 언어, Supabase는 백엔드 플랫폼이다.
- Codex→GitHub→Supabase→Vercel→Resend/SNS의 역할과 설정 위치를 적는다.
uc-anchor 사례 · 이번 실습에 적용할 판단
- 프런트엔드: TypeScript·React·Next.js로 화면과 상호작용을 구성한다.
- 백엔드: Node.js·TypeScript API가 서버의 처리와 검증을 담당한다.
- DB: Supabase PostgreSQL과 SQL·RLS가 저장·조회·행 접근을 맡는다.
uc-anchor 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 3개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
프레임워크 전환 과정 대신 언어·실행 환경·DB의 종류와 역할을 예로 든다. MySQL/SQLite/MongoDB는 비교 예시이며 세 프로젝트의 실제 주 DB와 혼동하지 않는다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑FIELD NOTES
2일차 · Codex와 Git 작업 흐름
과제 체크 앱 수정·검색, 기능별 커밋과 PR, Docker 개발 환경
CONNECTED READING
D2-1 · Codex로 기존 앱 읽고 수정하기
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
Codex 수정도 작은 Git 기록부터
- 작업 폴더→staging area→commit의 세 영역을 구분한다.
- 수정 전에 폴더·브랜치·실행 명령·변경 파일을 확인한다.
- 시제품을 가져오면 서버·DB·외부 API 의존성부터 읽는다.
- 과제 수정 기능을 작게 구현하고 diff와 검증을 남긴다.
uc-anchor 사례 · 이번 실습에 적용할 판단
- 기록: 기능이 확장되며 화면과 업무 규칙을 함께 점검했다.
- 비교: 프런트엔드 수정도 DB 저장 규칙과 연결된 부분을 읽어야 한다.
- 적용: 과제 수정 전 기존 추가·완료·삭제의 성공 기준을 적는다.
uc-anchor 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 4개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
Git 명령 전체를 암기시키지 않는다. 이번 변경의 diff·검증·커밋을 한 묶음으로 설명하고 긴 명령 예제는 원문 파일에서 선택한다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D2-2 · 과제 검색과 기존 기능 검증
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
검색 개선과 회귀 검사·복구의 기준
- 검색은 표시 조건만 바꾸고 실제 저장 데이터를 바꾸지 않는다.
- 회귀 검사로 추가·수정·완료·삭제·새로고침을 다시 확인한다.
- 충돌은 파일별 의도를 읽고 해결한 뒤 실행과 diff를 검사한다.
- 복구 대상이 작업 파일·로컬 commit·공유 이력 중 무엇인지 먼저 정한다.
uc-anchor 사례 · 이번 실습에 적용할 판단
- 기록: 화면과 업무 규칙이 결합되며 기존 동작의 일관성이 중요해졌다.
- 비교: 검색 구현도 목록 표시와 저장 결과를 따로 검증한다.
- 적용: 이전 기능을 확인한 체크리스트와 작은 기능별 commit을 남긴다.
uc-anchor 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 2개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
충돌/복구 명령은 별도 실습 저장소에서 선택 심화로 진행한다. 학생 과제의 미커밋 변경을 지우는 명령을 기본 진행 순서에 넣지 않는다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
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 실습시간을 연장하지 않는다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D2-4 · Docker와 로컬 Supabase
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
분리한 작업 폴더와 Docker 개발 환경
- Worktree는 같은 저장소의 다른 작업 폴더이며 브랜치와 다르다.
- 폴더가 달라도 포트·환경 파일·DB 연결은 충돌할 수 있다.
- Docker 로컬 Supabase는 운영 데이터를 건드리지 않는 검증 환경이다.
- 별도 작업 폴더·포트·DB 대상을 기록하고 실습 뒤 본인 환경만 정리한다.
u-livet 사례 · 이번 실습에 적용할 판단
- 기록: Docker의 로컬 Supabase에서 인증·업무 기능을 검증했다.
- 판단: 운영은 관리형 Supabase와 Vercel로 역할을 나눴다.
- 적용: 과제 앱도 로컬 가상 계정으로 RLS를 실험한다.
u-livet 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 4개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
Docker가 브랜치마다 DB를 자동 분리해준다고 설명하지 않는다. Worktree 생성·멀티기기·정리는 선택 심화이고 본 실습은 로컬 스택의 실행과 연결 확인이다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑FIELD NOTES
3일차 · 과제 앱의 DB·로그인·Vercel 공개
Supabase Auth·PostgreSQL·RLS로 회원별 저장을 연결하고 Vercel에서 검증
CONNECTED READING
D3-1 · 과제 앱의 Supabase DB·RLS 설계
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
AI Studio 비교에서 회원별 DB 설계로
- AI Studio는 빠른 시제품 경로로 비교하고 주 실습은 Codex 앱을 이어간다.
- 생성된 화면과 실제 PostgreSQL 저장·Auth·권한은 구분한다.
- tasks의 user_id와 입력 제약을 설계하고 GRANT·RLS를 함께 확인한다.
- 로컬과 클라우드 프로젝트의 URL·DB 대상을 명시한다.
u-livet 사례 · 이번 실습에 적용할 판단
- 기록: 데이터 구조·운영 화면을 만든 뒤 로컬 인증과 업무 기능을 검증했다.
- 판단: 데이터 저장 구조와 운영 환경을 구분했다.
- 적용: 과제 앱은 user_id를 기준으로 계정별 PostgreSQL 행을 설계한다.
u-livet 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 2개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
Google AI Studio15분 안내는 선택 비교로 유지한다. 모두가 새 프로젝트를 만들도록 요구하지 않고 Supabase DB·RLS 설계 실습으로 이어간다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D3-2 · 과제 앱 회원가입·이메일 확인·로그인
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
가입·로그인과 실제 인증 메일의 연결
- 가입 요청·이메일 확인·세션 생성·비밀번호 복구를 구분한다.
- Resend 도메인/DNS→Supabase SMTP→메일 템플릿·복귀 주소 순서로 확인한다.
- 발송 요청 성공과 수신함 도착·링크 처리 성공을 따로 기록한다.
- Site URL·Redirect URLs·비밀번호 정책과 비밀 보관 위치를 대조한다.
u-livet 사례 · 이번 실습에 적용할 판단
- 기록: 로그인 성공 뒤에도 가입 완료 상태와 업무 자격을 따로 확인했다.
- 비교: uc-anchor의 Resend 구축 기록은 DNS·SMTP·메일 링크를 구분한다.
- 적용: 과제 앱에서 확인 대기·실제 수신·로그인·복구를 각각 검사한다.
u-livet 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 9개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
DNS·SMTP는 강사가 미리 준비한다. 도메인 설정과 메일 실패 진단표는 별도 원문으로 제공하고 교시에서는 실제 가입·확인 대기·로그인을 완주한다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D3-3 · 회원별 과제 CRUD와 A/B 권한 검증
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
저장 성공 표시보다 재조회·계정 분리
- A가 추가한 과제를 새로고침해 같은 값으로 읽는지 확인한다.
- B가 A의 id를 알아도 조회·수정·삭제할 수 없어야 한다.
- SQL Editor 관리자 결과와 일반 사용자의 Data API 검사는 다르다.
- 소유권 위조·빈 결과·오류를 정상 CRUD와 함께 기록한다.
kysong 사례 · 이번 실습에 적용할 판단
- 기록: 임시저장·복구와 최종 제출 판정의 일관성을 보완했다.
- 판단: 저장 성공 안내만으로 실제 DB 결과를 판단하지 않는다.
- 적용: 과제 앱에서 재조회 값과 사용자별 기록 분리를 함께 확인한다.
kysong 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 1개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
이 교시의 과제 앱은 아직4일차 MFA를 추가하기 전이다. RLS A/B 기본 검사를 하고 MFA 전후 통합 검사는4~5일차로 이어간다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D3-4 · 과제 앱 Vercel 배포와 공개 검증
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
GitHub에서 Vercel·Supabase로 이어지는 설정
- GitHub는 소스 이력, Vercel은 앱 배포, Supabase는 DB·Auth를 담당한다.
- Root Directory·build·dist와 환경변수 범위를 확인한다.
- 공개 URL/key와 서버 비밀을 구분하고 환경 변경 뒤 재빌드한다.
- READY 후 공개 URL의 로그인·메일 복귀·저장/재조회를 검사한다.
uc-anchor 사례 · 이번 실습에 적용할 판단
- 기술: TypeScript 프런트엔드·Node.js API·PostgreSQL이 다른 역할을 맡는다.
- 비교: Git의 코드와 Supabase Auth/SMTP 설정은 별도 기록이다.
- 적용: 과제 앱의 배포 commit·앱 URL·DB 대상을 한 표에 적는다.
uc-anchor 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 2개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
서버 설정이 저장소에 모두 포함돼 있다고 가정하지 않는다. 배포 성공과 회원 서비스의 실제 동작 성공을 구분한다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑FIELD NOTES
4일차 · 과제 앱의 SNS 로그인과 MFA
Google·Kakao·Naver에서 TOTP 추가 인증과 DB AAL2까지
CONNECTED READING
D4-1 · 과제 앱 Google 로그인과 callback
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
Google Cloud와 두 종류의 복귀 주소
- 제공자 callback은 Supabase, 앱 복귀 주소는 허용된 내 앱 루트다.
- Google 웹 OAuth Client의 대상·동의·Redirect URI를 맞춘다.
- Client Secret은 Supabase에 보관하고 프런트엔드에 넣지 않는다.
- 최초 가입·취소·재로그인을 같은 테스트 계정으로 확인한다.
u-livet 사례 · 이번 실습에 적용할 판단
- 기록: 카카오·구글·네이버 인증을 순차 보완했다.
- 판단: 제공자 인증과 앱의 가입 완료를 분리했다.
- 적용: Google 버튼 성공뿐 아니라 callback·세션·취소를 확인한다.
u-livet 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 2개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
Google 계정의 자체2단계 인증과 Supabase 서비스 이용자 AAL2를 혼동하지 않는다. 설정 전체는 연결된 원문에서 확인한다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D4-2 · 과제 앱 Kakao 로그인과 계정 연결
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
Kakao 동의와 기존 계정의 소유권
- REST API 키·Login Client Secret·Redirect URI를 구분한다.
- 필요한 동의 항목과 이메일 미제공 조건을 확인한다.
- 같은 이메일이라는 이유로 앱이 과제·관리자 역할을 합치지 않는다.
- Supabase identity와 uid를 기준으로 기존 계정 연결 결과를 확인한다.
u-livet 사례 · 이번 실습에 적용할 판단
- 기록: SNS 인증 이후 등록된 역할과 가입 완료 상태를 검사했다.
- 판단: 외부 계정 인증이 관리자 권한을 자동 부여하지 않는다.
- 적용: Kakao 재로그인 뒤에도 본인 과제 소유권이 유지되는지 확인한다.
u-livet 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 1개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
실제 제공자의 동의와 메일 없는 계정 검사를 모의 SDK 인자 검사와 구분한다. 역할 복사는 실습에서 자동화하지 않는다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D4-3 · 과제 앱 Naver Custom OAuth와 어댑터
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
Naver: 검증한 id와 가입 완료 상태
- custom:naver의 OAuth2 설정과 고정 서버 UserInfo 어댑터를 연결한다.
- 서버가 네이버에서 검증한 id만 sub로 변환한다.
- 단순 과제 앱의 이메일 없는 가입과 실제 서비스의 연락 메일 확인을 구분한다.
- 토큰 오류·취소·최초 가입·재로그인·동일 identity를 검사한다.
u-livet 사례 · 이번 실습에 적용할 판단
- 기록: 네이버 사용자 정보 변환과 별도 이메일 확인을 후속 보완했다.
- 교훈: 제공자 인증·이메일 수신·앱 가입 완료는 각각 확인해야 한다.
- 적용: 과제 앱은 이메일을 합성하지 않고 검증한 네이버 id를 유지한다.
u-livet 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 2개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
F19는 u-livet의 확장 가입 흐름으로 별도 심화다. 기본 과제 앱의 email_optional 경로에 이메일 OTP를 무조건 추가하지 않는다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D4-4 · 과제 앱 TOTP MFA와 DB AAL2 강제
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
MFA 등록만으로 과제가 보호되는가?
- TOTP enroll→코드 검증→AAL2의 각 상태를 구분한다.
- 6자리 문자열로 앞자리0을 보존하고 QR·키·코드는 즉시 정리한다.
- 소유자 RLS AND restrictive AAL2를 실제 DB에서 강제한다.
- 재로그인·오답·미완료 취소·본인/타인 접근을 함께 검사한다.
u-livet 사례 · 이번 실습에 적용할 판단
- 기록: SNS 후속 인증과 MFA를 순차 보완했다.
- 판단: 추가 인증 강도와 업무 역할·데이터 소유권은 별개다.
- 적용: 본인 AAL2만 과제에 접근하고 타인은 AAL2여도 차단되게 한다.
u-livet 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 1개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
분실 복구는 본인 확인을 포함한 정식 절차로 별도 운영한다. 인증앱 등록 화면을 추가했다는 이유로 DB 보호 통과라고 하지 않는다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑FIELD NOTES
5일차 · 과제 앱의 CSV·검증·최종 릴리스
본인 과제 내보내기, 계정별 보안, staging→main 배포와3분 발표
CONNECTED READING
D5-1 · 과제 앱 본인 과제 CSV 내보내기
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
내보내기는 다운로드 뒤에도 검증한다
- 현재 검색 배열 대신 본인 전체 과제를 DB에서 새 조회한다.
- 한글·인용·줄바꿈·수식 위험 입력과 열 범위를 검사한다.
- 빈 목록·페이지 오류·계정 전환에서 파일 생성 결과를 확인한다.
- 스프레드시트 열람용 CSV와 원본 복원 백업의 용도를 구분한다.
kysong 사례 · 이번 실습에 적용할 판단
- 기록: Excel·HWPX 내보내기를 업무 결과물로 확장했다.
- 판단: 파일 생성 성공 이후 실제 열기·수정 가능 여부도 검사했다.
- 적용: 과제 CSV도 내려받아 원본 건수·열·문자와 비교한다.
kysong 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 2개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
기존 파일 업무 사례를5일차 CSV 검증 기준으로 가져온다. 원본 보존과 열람용 변환의 차이를 실제 예시로 설명한다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D5-2 · 과제 앱 계정별 권한·보안 최종 검증
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
권한·비밀·실패를 증거로 검증
- 익명·AAL1·AAL2·A/B의 직접 API 요청을 대조한다.
- HTTP200도0행일 수 있어 영향 행과 원본 불변을 함께 확인한다.
- UI 역할·user_metadata를 권한 근거로 사용하지 않는다.
- 로컬·모의·실제·미확인을 구분하고 비밀 없는 근거를 남긴다.
kysong 사례 · 이번 실습에 적용할 판단
- 기록: 여러 임시저장을 복구할 때 원본 보존과 정합성을 보완했다.
- 교훈: 다른 사용자의 기록을 섞어 복구하거나 빈값을 AI가 채우면 안 된다.
- 적용: 계정 전환 중 늦은 응답·CSV 취소까지 보안 검사에 포함한다.
kysong 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 2개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
보이는 버튼이나 성공 메시지보다 실제 권한 경계와 원본 불변을 평가한다. 미확인을 통과로 바꾸지 않는다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D5-3 · 과제 앱 staging→main 최종 배포
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
staging→main: Git 기록과 운영 설정 연결
- staging 브랜치의 Preview와 main의 Production을 구분한다.
- 두 환경의 URL·DB·설정 이름·검증 commit을 기록한다.
- PR 검토→병합→새 빌드→실제 URL 재검사를 순서대로 확인한다.
- READY·CANCELED·SKIPPED·ERROR는 기능 검증 결과와 다르다.
uc-anchor 사례 · 이번 실습에 적용할 판단
- 기록: PR #720·#722의 로컬 Git 병합 이력과 Thomas dot의 staging/Preview 논의를 확인했다.
- 범위: 과거 배포 상태는 당시 관찰이며 이번 운영 재검증 결과가 아니다.
- 적용: 학생 앱의 검증 commit·배포 commit·URL·DB 대상을 직접 남긴다.
uc-anchor 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 5개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
과거 사례의 성공을 학생 배포의 성공으로 대신하지 않는다. main은 Production 환경의 새 빌드이며 DB 복구는 앱 롤백과 별도다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑CONNECTED READING
D5-4 · 과제 앱 3분 발표와 인수인계
핵심 연결은 본 교시 안에 포함된다. 아래 원문은 선택 심화다.
만든 과정과 다음 운영을 인수인계
- 문제·사용자→실제 동작→검증 근거→배포→한계를3분으로 보여준다.
- README에 실행·설정 이름·SQL 순서·검사·복구 담당자를 적는다.
- 동료 피드백1개를 다음 이슈로 남기고 미완료 항목을 명시한다.
- 발표 자료·CSV·캡처에는 가상 데이터만 사용한다.
u-livet 사례 · 이번 실습에 적용할 판단
- 기록: 로컬 실험·운영 선택·SNS·MFA 후속 보완이 함께 남아 있다.
- 교훈: 처음 만든 버전과 후속 수정, 실제/모의/미확인을 나눠 설명한다.
- 적용: 과제 앱의5일 구축 과정과 다음 운영 작업을 재현 가능하게 전달한다.
u-livet 전체 구축 과정·기술 역할 ↗
선택 심화 · 원문 2개 열기
해당 교시의 설명을 대체하거나 실습 뒤 선택한다. 별도 수업시간을 추가하지 않는다.
연결 내용을 설명하는 강사 메모
전체 프로젝트 연표와 자세한 기술 결정은 별도 사례 파일로 옮겼다. 발표에서는 이번 과제 앱과 관련된 판단 한 가지를 근거로 설명한다.
이 교시 발표로 돌아가기 ↗ · 이 교시 상세 교재 ↗
목차와 처음으로 ↑