
👉 단순히 “보이게” 만드는 것이 아니라
👉 의미 있는 구조를 설계하는 것이 핵심
<!DOCTYPE html> : HTML5 문서 선언html : 문서의 루트head : 메타 정보 (제목, 문자셋 등)body : 사용자에게 보여지는 콘텐츠 영역👉 HTML은 반드시 정해진 구조를 기반으로 작성해야 한다
<태그>내용</태그>br, meta → 종료 태그 없음속성명="값" 형태로 추가 정보 제공👉 잘못된 중첩은 렌더링 오류의 원인이 된다
"")은 q 태그를 사용하면 태그 기반 스타일링이 가능하다👉 HTML은 “태그 모음”이 아니라
👉 의미를 설계하는 언어
h1 ~ h6 : 문서의 계층 구조 표현
p : 하나의 문단 표현br : 제한적으로 줄바꿈에 사용
👉 구조적 글쓰기 = HTML의 기본ul : 순서 없는 리스트ol : 순서 있는 리스트dl : 설명형 리스트img : 이미지 삽입 및 크기 조정a : 링크 연결 (target 속성으로 새 창 제어)
b ❌ (단순 스타일)strong ⭕ (의미 강조)i ❌em ⭕ (의미 강조)
👉 시각이 아니라 의미 중심 태그 사용이 중요mark : 강조 (하이라이트)del : 삭제된 내용ins : 추가된 내용sup : 위첨자sub : 아래첨자
👉 문서의 변화와 맥락까지 표현 가능q : 짧은 인용blockquote : 긴 인용👉 인용도 구조적으로 표현해야 한다
<!-- --> : 주석
👉 좋은 코드는 설명 없이도 읽히지만, 주석은 더 강력한 도구<, >, & 등은 예약 문자예시:
< → <> → >& → &" → "
👉 브라우저가 오해하지 않도록 명확하게 표현해야 한다<meta charset="UTF-8"> 사용 (필수)👉 기본이지만 가장 중요한 설정 중 하나
style 태그를 활용하여 디자인 적용color : 색상background-color : 배경색background-image : 배경 이미지👉 CSS는 구조 위에 시각적 표현을 입히는 역할
class) / 아이디(id) 분리 ⭕→ 재사용성 ↑ / 유지보수 ↑👉 스타일은 반드시 분리해서 관리
Block : 한 줄 전체 차지Inline : 콘텐츠 크기만 차지none : 요소 제거block / inline : 타입 변환inline-block : 크기 지정 가능한 inlinesrc, width, height 사용form : 입력 컨테이너action : 전송 URLmethod👉 사용자 입력 → 서버 전달 흐름 이해
h1, .class, #idA B, A > B, A + B, A ~ B!important > 인라인 > ID > 클래스 > 태그👉 CSS는 우선순위 싸움
:hover, :active, :focus:checked, :disabled, :valid:nth-child(n), :first-child👉 CSS로 상태와 인터랙션 제어 가능
static : 기본relative : 자기 기준 이동absolute : 부모 기준 이동fixed : 화면 고정sticky : 스크롤 기반 고정float : 좌우 배치clear : 레이아웃 충돌 방지display: gridfr 단위로 비율 설정grid-area로 영역 설계@media 사용@font-face, Google Fontswoff2 권장font-display: swap@keyframes 사용video, audio 태그로 미디어 재생 가능controls : 재생 컨트롤 표시autoplay : 자동 재생 (일반적으로 muted 필요)loop : 반복 재생👉 별도의 플러그인 없이
👉 브라우저에서 직접 미디어 처리 가능
###🔹 Web Storage
localStorage→ 영구 저장 (브라우저 종료 후에도 유지)sessionStorage→ 세션 동안만 유지 (탭 종료 시 삭제)👉 클라이언트 측에서
👉 간단한 상태 관리 및 데이터 저장 가능
JSON.stringify()→ 객체 / 배열 ➝ 문자열 변환 (저장 시)JSON.parse()→ 문자열 ➝ 객체 / 배열 변환 (불러올 때)👉 Web Storage 사용 시
👉 데이터 변환 과정(JSON)이 필수
Knowledge Base를 구성하는 것이 핵심
- 단순 문법 암기 ❌
- 개념 + 구조 + 흐름을 연결 ⭕
HTML → CSS → Layout → Interaction → Deployment
👉 이 흐름이 머리에 있어야 진짜 개발자
HTML은 구조, CSS는 표현이며
결국 중요한 것은 연결된 지식 구조(Knowledge Base)이다
👉 좋은 코드는 기능보다
👉 읽기 쉬움과 확장성이 먼저
👉 작은 단위로 나눌수록
👉 더 정확한 결과 도출 가능
WinSCP와 dothome을 활용하여 HTML 파일을 서버에 배포
👉 로컬 → 서버 → 실제 서비스 흐름 경험
Putty는 서버 접속용 클라이언트 (SSH 기반)
- SSH : 서버 접속 (암호화 O)
- FTP : 파일 전송 (암호화 X)
- SFTP : SSH 기반 파일 전송 (보안 ↑)
- SCP : SSH 기반 파일 복사 (간단/빠름)
- Telnet : 구식 방식 (사용 거의 X)
👉 Mac 환경에서는 SSH 명령어로 대체 가능
r : 읽기 / w : 쓰기 / x : 실행👉 서버 운영의 기본 개념
👉 단순 웹 페이지를 넘어
👉 서비스 관점에서의 확장성 이해
개발은 코드 작성이 아니라
구조 → 요청 → 배포 → 운영 → 확장까지 이어지는 흐름이다
좋은 개발자는 코드를 넘어서
서비스 전체 구조를 이해하는 사람이다
고등학생 시절 HTML & CSS를 접해본 경험이 있어, 이번 학습 과정은 비교적 수월하게 느껴졌고,
기초 개념이 익숙했던 만큼 단순한 문법 복습을 넘어서, 구조와 의미를 고려한 설계에 더 집중할 수 있었습니다.또한 MLOps 직군을 희망하는 입장에서, 백엔드나 파이프라인뿐만 아니라
프론트엔드 관점에서도 사고할 수 있는 역량이 필요하다고 느꼈고
컴포넌트 기반 설계가 점점 더 중요해지고 있다 생각합니다.
본 후기는 [한글과컴퓨터x한국생산성본부x스나이퍼팩토리] 한컴 AI 아카데미 (B-log) 리뷰로 작성 되었습니다.