ACE AI Startup BootcampDay 6: 프론트엔드와 사용자 인터페이스 개발
← LMS 강의실
DAY 6 TEXTBOOKACE Startup SW/AI Pilot
ACE AI Startup Bootcamp 교재 시리즈 06

프론트엔드와 사용자 인터페이스 개발

상태 변화가 빠르고 접근 가능한 화면을 어떻게 구현하는가? 핵심 이론부터 사례 분석, 단계별 실습, 품질 검수, 종합 문제까지 혼자 학습할 수 있도록 구성한 전공 실습 교재입니다.

ACE AI Startup Bootcamp | Day 6학습 안내
HOW TO STUDY

오늘의 질문과 학습목표

상태 변화가 빠르고 접근 가능한 화면을 어떻게 구현하는가? 이 질문에 자신의 말로 답할 수 있고, 설계 결과물을 직접 만들고 검수하는 것이 오늘의 완료 기준입니다.

개념 60분실습 90분복습 30분
01

브라우저 렌더링 파이프라인을 설명한다.

02

컴포넌트와 상태의 책임을 나눈다.

03

비동기 데이터의 로딩·성공·오류 상태를 설계한다.

04

반응형 레이아웃과 접근성을 적용한다.

05

Core Web Vitals의 의미를 이해한다.

06

UI를 기능·시각·접근성 관점에서 검수한다.

혼자 공부하는 순서

  1. 용어를 암기하기 전에 사례에서 문제가 생기는 이유를 설명합니다.
  2. 좋은 예와 나쁜 예의 차이를 관찰 가능한 기준으로 적습니다.
  3. 예시를 보지 않고 종합 실습을 먼저 해결합니다.
  4. 모범답안과 비교한 뒤 빠진 조건을 다른 색으로 보완합니다.
ACE AI Startup Bootcamp | Day 6목차
CONTENTS

교재 목차

완료 기준

종합 실습 결과물, 자가진단 80점 이상, 핵심 질문 4개에 대한 자신의 답을 남기면 Day 6 학습을 완료한 것입니다.

ACE AI Startup Bootcamp | Day 6제1장 핵심 이론
CHAPTER 01

프론트엔드와 사용자 인터페이스 개발 핵심 이론

전문 용어는 복잡해 보이지만, 각 용어는 설계에서 반복되는 한 가지 문제를 해결하기 위해 존재합니다. 아래 표에서 “무엇을 뜻하는가”보다 “언제 필요한가”를 중심으로 학습하세요.

핵심 개념설명
DOM / CSSOMHTML과 CSS를 브라우저가 계산 가능한 트리로 바꾼 구조입니다.
Component하나의 책임과 상태를 가진 재사용 가능한 UI 단위입니다.
State시간에 따라 바뀌며 화면에 영향을 주는 데이터입니다.
Semantic HTML요소의 의미를 브라우저와 보조기기에 전달하는 마크업입니다.
Responsive Design화면 크기와 입력 방식에 맞춰 재배치되는 설계입니다.
Web Vitals로딩, 반응성, 시각적 안정성을 측정하는 사용자 중심 지표입니다.

좋은 설계와 나쁜 설계의 차이

피해야 할 접근

서버 응답이 올 때까지 빈 화면을 보여주고 오류가 나면 콘솔에만 기록한다.

권장 접근

콘텐츠 모양과 비슷한 로딩 상태, 구체적인 오류 메시지, 재시도 버튼, 빈 상태의 다음 행동을 제공한다.

설계 공식

[사용자 목표] → [컴포넌트 책임] → [상태 모델] → [접근성] → [반응형] → [성능과 오류 피드백]

ACE AI Startup Bootcamp | Day 6제2장 단계별 실습
CHAPTER 02

단계별 설계 절차

1

문제 정의

사용자 작업과 정보 위계를 와이어프레임으로 정한다.

2

구조 추출

컴포넌트를 책임 단위로 분리하고 데이터 소유자를 정한다.

3

핵심 설계

idle·loading·success·empty·error 상태를 먼저 모델링한다.

4

실패 조건

키보드, 포커스, 라벨, 명암 대비를 구현한다.

5

정책 연결

375·768·1024px에서 레이아웃과 터치 영역을 확인한다.

6

검증과 추적

LCP·INP·CLS와 콘솔 오류를 측정하고 개선한다.

작동하는 예시

상태 기반 UI 의사코드
if (state === 'loading') return <ReservationSkeleton />; if (state === 'error') return <ErrorMessage onRetry={reload} />; if (reservations.length === 0) { return <EmptyState action="첫 예약 만들기" />; } return <ReservationList items={reservations} />;

예시를 읽을 때 확인할 것

  • 입력과 시작 조건이 명확한가?
  • 정상 결과뿐 아니라 실패 결과도 관찰 가능한가?
  • 중복·권한·동시성·외부 장애가 필요한 수준으로 다뤄졌는가?
  • 요구사항과 구현 결과를 서로 추적할 수 있는가?
ACE AI Startup Bootcamp | Day 6제3장 사례와 검수
CHAPTER 03

사례 분석과 품질 검수

스스로 설명해 보기

개념 확인
  1. 상태를 무조건 전역으로 두면 안 되는 이유는?
  2. 시맨틱 HTML이 접근성에 주는 이점은?
  3. CLS가 큰 화면은 사용자에게 어떤 문제를 주는가?
  4. 모바일에서 hover 의존 설계가 실패하는 이유는?

각 질문에 2~3문장으로 답하고, 답을 뒷받침하는 사례를 하나씩 적으세요.

품질 자가진단 · 100점

영역판단 기준점수
정확성개념과 기술 선택이 요구사항 및 사실에 맞는다.25
완전성정상 흐름, 경계 조건, 실패와 복구를 함께 다룬다.25
일관성용어, ID, 상태, 인터페이스가 산출물 사이에서 일치한다.20
검증 가능성관찰 가능한 결과와 완료 기준을 제시한다.20
설명력선택한 방법과 대안의 차이를 자신의 말로 설명한다.10
80점 미만이라면

틀린 결과만 고치지 말고, 빠진 질문이 무엇이었는지 기록하세요. 좋은 엔지니어는 정답을 외우기보다 다음 설계에서 같은 누락을 막는 점검 기준을 만듭니다.

ACE AI Startup Bootcamp | Day 6제4장 종합 실습
CHAPTER 04

종합 실습과 모범답안

제출 과제

예약 목록 화면을 설계하세요. 모바일·데스크톱 배치와 loading, empty, error, success 상태를 모두 정의하세요.

  1. 핵심 가정과 미결정 사항을 먼저 적습니다.
  2. 주요 설계 결과물을 표, 코드 또는 다이어그램으로 작성합니다.
  3. 정상 흐름과 최소 3개의 실패·경계 조건을 포함합니다.
  4. 자가진단표로 채점하고 개선 전후를 비교합니다.
모범답안의 핵심 방향 보기

모바일에서는 핵심 상태와 다음 행동을 상단에 두고 44px 이상의 터치 영역을 제공합니다. 로딩 스켈레톤은 실제 행과 같은 크기로 만들고, 오류에는 원인과 재시도 버튼, 빈 상태에는 첫 예약 생성 버튼을 둡니다.

답안 사용법

모범답안은 유일한 정답이 아닙니다. 자신의 설계가 다른 경우에는 요구사항, 비용, 복잡도, 위험 중 어떤 근거로 다른 선택을 했는지 설명할 수 있어야 합니다.

ACE AI Startup Bootcamp | Day 6학습 마무리
REVIEW

핵심 용어와 최종 점검

용어쉽게 말하면
Reflow레이아웃을 다시 계산하는 과정
Hydration서버 HTML에 클라이언트 동작을 연결하는 과정
ARIA접근성 정보를 보완하는 속성 표준
LCP주요 콘텐츠가 보이기까지의 시간
INP사용자 입력에 대한 화면 반응성
CLS예상치 못한 화면 이동의 정도

제출 전 8문항

  1. 오늘의 핵심 질문에 자신의 말로 답할 수 있는가?
  2. 설계의 입력, 조건, 결과가 명확한가?
  3. 정상 흐름뿐 아니라 실패와 복구를 포함했는가?
  4. 동시성, 중복 요청, 권한 문제를 검토했는가?
  5. 외부 시스템 장애와 타임아웃을 고려했는가?
  6. 선택한 방법의 단점과 대안을 설명할 수 있는가?
  7. 산출물 사이의 용어와 상태가 일치하는가?
  8. 테스트하거나 관찰할 수 있는 완료 기준이 있는가?
Day 6 한 문장 정리

상태 변화가 빠르고 접근 가능한 화면을 어떻게 구현하는가? 오늘 만든 결과물을 근거로 이 질문에 답해 보세요.

ACE AI Startup Bootcamp | Day 6자기주도 심화학습
SELF-STUDY 01

맥락으로 이해하는 핵심 용어

용어를 정의만 외우지 말고 판단 도구로 익히세요. 각 행을 정의→필요한 이유→예시 또는 주의점 순서로 읽습니다.

용어쉬운 정의왜 중요한가예시 또는 주의점
컴포넌트화면을 재사용 가능한 UI 단위로 나눈 것관심사를 분리하고 변경 범위를 줄임크기보다 하나의 명확한 책임을 기준으로 나눈다.
상태시간에 따라 바뀌며 화면에 영향을 주는 데이터UI가 어떤 모습을 보여야 하는지 결정서버 상태와 입력 중 상태를 구분한다.
이벤트클릭·입력·응답처럼 상태 변경을 촉발하는 신호사용자 행동과 로직을 연결이벤트 처리 중 중복 제출을 막는다.
반응형 디자인화면 크기에 따라 레이아웃이 적응하는 설계모바일·태블릿·데스크톱 사용성 확보기기명이 아니라 콘텐츠가 깨지는 지점에서 분기한다.
접근성다양한 능력과 보조 기술로도 사용할 수 있게 하는 품질키보드·스크린리더 사용자도 동일한 작업 수행의미 있는 HTML, 레이블, 초점 순서를 확인한다.
로딩/오류 상태비동기 요청의 진행·실패를 화면에 표현한 상태사용자가 현재 상황과 다음 행동을 이해빈 화면 대신 재시도와 원인을 제공한다.
실습 상황

상품 목록을 불러와 검색하고 장바구니에 담는 모바일 우선 화면을 만든다.

ACE AI Startup Bootcamp | Day 6안내형 실습
SELF-STUDY 02

안내형 실습과 문제 해결

실습 상황

상품 목록을 불러와 검색하고 장바구니에 담는 모바일 우선 화면을 만든다.

순서대로 수행하기

  1. 화면을 데이터·행동·상태 목록으로 먼저 설계한다.
  2. 로딩·성공·빈 결과·오류 화면을 각각 만든다.
  3. 키보드와 320px 화면에서 핵심 흐름을 수행한다.
  4. 네트워크 지연과 중복 클릭을 재현해 상태 전환을 검증한다.
남겨야 할 증거

산출물 1개, 핵심 가정 3개, 실패 사례 3개 이상을 저장하세요. 다른 학습자가 추가 질문 없이 판단 과정을 재현할 수 있어야 합니다.

결과가 다를 때 진단하기

관찰한 증상가능한 원인다음 조치
버튼을 여러 번 누르면 중복 처리요청 중 상태 미관리진행 중 비활성화와 서버 멱등성
모바일에서 표가 잘림고정 폭 사용카드 전환 또는 가로 스크롤 정책
스크린리더가 입력 목적을 모름레이블 없음label과 입력 요소 연결
ACE AI Startup Bootcamp | Day 6인출 연습
SELF-STUDY 03

스스로 이해도 확인하기

인출 연습 — 펼치기 전에 답하기

상태와 일반 변수의 차이는?

상태 변경은 화면 갱신과 연결되지만 일반 변수 변경은 보통 렌더링을 일으키지 않습니다.

접근성은 마지막에 추가해도 되는가?

가능하지만 비용이 큽니다. 구조·키보드·대비를 설계 초기부터 확인해야 합니다.

UI 완료 기준은?

주요 상태와 실패 경로가 다양한 화면 크기와 입력 방식에서 사용 가능해야 합니다.

2분 안에 가르쳐 보기

페이지를 보지 않고 오늘의 핵심 판단, 대표 실패 원인, 검증 방법을 연결해 설명하세요. 세 가지가 이어지지 않으면 놓친 용어나 진단 사례로 돌아갑니다.