본문 바로가기

FrontEnd/FE-study

[FE] 기초부터 완성까지 프론트엔드 00 - 목차 및 책 소개

프론트엔드 관련 공부할겸 여러 책들을 살펴보다, 5월 달쯤 전 회사 선배님의 추천으로 이 책을 구입했다. 

목차와 내용들이 프론트엔드의 기초를 쌓거나, 알고있는 내용을 한번 정리하기에 좋은 책이다. 구글에 프론트엔드 공부 순서 등 보면 로드맵이 자세하게 작성되어 있다. 로드맵을 다 알기에는 복잡하고 순서를 뭐부터 해야할지 모르는 경우가 많다. 하지만 이 책에는 그 로드맵에 관한 많은 내용을 가지고 있어,나같은 주니어 개발자가  전반적인 흐름을 알고 방향을 잡기에 적합한 것 같다! 또한 최신 프론트엔드 개발에 대한 트랜드 기술도 반영되어 있어, 최신 기술을 알아보고 파악하기에 효과적이다!

 

필요한 부분들만 살펴보다 이제부터 정리하며 다시 읽어보려고 이렇게 블로그에 끄적인다! 

책 소개는 다음과 같다 

 책소개 
컴퓨터/IT > 웹프로그래밍 > 웹프로그래밍일반컴퓨터/IT > 대학교재대학교재 > 컴퓨터

드디어, 최초의 개론서가 나왔습니다! 프런트엔드의 개념과 원리를 모두 담은 “프런트엔드의 정석”
1. 개념과 실습, 적용과 효율을 모두 잡은 도서! 탄탄하게 개념을 잡고, 개념을 바로 적용하며 이해할 수 있도록 실습 활동을 추가했습니다.현업에 적용할 수 있는 기술과 업무의 효율을 높여주는 기술, 모두 놓치지 않고 담았습니다.두 마리의 토끼를 다 잡고 싶은 욕심꾸러기 독자분께 이 도서를 추천합니다.

2. 개론서로 두고두고 보고 싶은 도서! 무엇이든 제대로 공부하기 위해서는 개론서 하나쯤은 필요합니다. 하지만 막상 어떤 도서를 개론서로 보며 공부해야 할지 모르는 독자분께 이 도서를 추천합니다. 더 이상 어떤 책으로 공부할지 고민하지 마세요. ‘기초부터 완성까지, 프런트엔드’가 정답입니다.

3. 최신 WEB 기술을 반영한 가장 트렌디한 도서! 베타 리더들이 인정한, 최신 WEB 기술까지 완벽하게 반영된 도서! 특히 프런트엔드에서 트렌디함은 매우 중요한 요소입니다. 최신 WEB 기술까지 꼼꼼하게 반영했으니 이 책, 놓치지 마세요!

출처 
http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791165921057

목차는 다음과 같다.장마다 또는 1/2 장씩 정리할 예정이다/


1부

[1장. 프런트엔드 개발이란?]

더보기

1.1. 정의
1.2. 프런트엔드 개발의 과거와 현재
1.2.1. 프런트엔드 개발 영역의 확장
1.3. 개발 프로세스

1.3.1. 요구 사항 분석
1.3.2. 설계
1.3.3. 개발
1.3.4. 배포

[2장. HTML과 CSS]

더보기

2.1. HTML
2.1.1. HTML 요소 구성 살펴보기
2.1.2. HTML 요소 분류하기
2.1.3. HTML 문서 골격 만들기
2.1.4. 시맨틱(Semantic)
2.1.5. SEO(Search Engine Optimization)
2.2. CSS
2.2.1. 작성 방법
2.2.2. 상속
2.2.3. 선택자
2.2.4. 우선순위와 명시도(Specificity)
2.2.5. 박스 모델과 여백 상쇄
2.2.6. flex를 이용한 레이아웃 만들어 보기
2.2.7. 반응형 웹을 위한 미디어 쿼리
2.3. 접근성(Accessibility, a11y)
2.3.1. 웹 접근성 지침
2.4. 정리하기

[3장. 자바스크립트 기초 - 타입과 구문]

더보기

3.1. 변수 선언
3.1.1. var
3.1.2. let과 const
3.2. 객체와 타입
3.2.1. number
3.2.2. string
3.2.3. boolean
3.2.4. null과 undefined
3.2.5. Symbol
3.2.6. BigInt
3.2.7. 객체
3.3. 배열
3.3.1. 배열의 생성
3.3.2. 원소 접근과 동적인 원소 생성
3.3.3. 희소 배열
3.3.4. length 프로퍼티
3.3.5. 배열 조작
3.3.6. 유사 배열 객체
3.4. 랩퍼(Wrapper) 객체
3.4.1. 언박싱(Unboxing)
3.5. 구문과 연산자
3.5.1. 표현식(Expression)
3.5.2. 문(Statement)
3.5.3. 연산자(Operator)
3.6. 정리하기

[4장. 자바스크립트 기초 - 타입 변환과 함수]

더보기

4.1. 타입 변환
4.1.1. 명시적 강제 변환
4.1.2. 객체의 원시 타입 변환
4.1.3. 암시적 강제 변환
4.2. 함수
4.2.1. 함수란 무엇인가?
4.2.2. 함수의 정의 방법
4.2.3. 함수의 호출
4.2.4. 화살표 함수
4.2.5. this
4.3. 정리하기

[5장. 자바스크립트 심화 - 프로토타입과 스코프]

더보기

5.1. 프로토타입
5.1.1. 프로토타입과 프로토타입 체인
5.1.2 프로토타입과 생성자 함수
5.1.3. 프로토타입의 확장과 상속
5.1.4. class5.2. 스코프(scope)
5.2.1. 함수 스코프와 블록 스코프
5.2.2. 렉시컬 스코프
5.3. 호이스팅(Hoisting)
5.3.1. 스코프별로 동작하는 호이스팅
5.3.2. 함수 선언문의 호이스팅5.4. 클로저(closure)
5.4.1. 모듈 패턴
5.5. 모듈
5.5.1. export, import
5.5.2. default export
5.5.3. 식별자 충돌 피하기
5.5.4. 〈script type="module"〉
5.6. 정리하기

[6장. 자바스크립트 심화 - 실행 컨텍스트]

더보기

6.1. 실행 컨텍스트란 무엇인가?
6.2. 실행 컨텍스트의 구성 요소
6.2.1. Envinronment Records와 스코프 체인
6.2.2. 다양한 Envinronment Records
6.2.3. Lexical Environment와 Variable Environment
6.3. 실행 컨텍스트의 생성 과정
6.3.1. 1단계: 전역 컨텍스트 생성과 바인딩
6.3.2. 2단계: foo 실행 컨텍스트 생성과 바인딩
6.3.3. 3단계: bar 실행 컨텍스트 생성과 바인딩
6.3.4. 4단계: console.log() 메서드 실행
6.4. 실행 컨텍스트와 클로저
6.5. 정리하기

[7장. BOM과 DOM]

더보기

7.1. 문서 객체 모델
7.1.1. DOM 트리
7.1.2. Node
7.1.3. DOM Node 추가, 제거하기
7.1.4. 요소 검색하기
7.1.5. DOM 이벤트
7.2. 브라우저 객체 모델
7.2.1. window 객체
7.2.2. History 객체
7.2.3. Location 객체
7.2.4. navigator 객체
7.2.5. Web Storage
7.3. 정리하기

[8장. 브라우저 렌더링 과정]

더보기

8.1. 렌더링 과정 살펴보기
8.2. 렌더러 프로세스의 작업
8.2.1. 파싱, 렌더 트리(Render Tree) 생성
8.2.2. 레이아웃(Layout)
8.2.3. 페인트(Paint)
8.2.4. 합성(Compositing)
8.3. 브라우저별 렌더링 엔진
8.4. 정리하기

[9장. 네트워크 통신]

더보기

9.1. HTTP란?
9.1.1. 상태 코드
9.1.2. 메서드
9.1.3. 헤더
9.1.4. 쿠키
9.2. JSON(JavaScript Object Notation)
9.2.1. 구조
9.2.2. 메서드
9.3. Ajax
9.3.1. XMLHttpRequest
9.3.2. Promise
9.3.3. async, await
9.3.4. fetch()
9.4. 웹 소켓
9.5. 정리하기

 

2부
[10장. 프런트엔드 뉴스 게시판 만들기]

더보기

10.1. 마크업 작성하기
10.1.1. 헤더 영역
10.1.2. 메인 영역
10.2. 스타일 적용하기
10.2.1. 헤더 영역 스타일
10.2.2. 메인 영역 스타일
10.2.3. 푸터 영역 스타일
10.3. 목록 가져오기
10.3.1. DOMContentLoaded 이벤트 등록
10.3.2. 로딩 이미지 보여주기
10.3.3. 데이터 조회 및 DOM 추가
10.3.4. 로딩 이미지 제거하기
10.4. 반응형 레이아웃 적용
10.4.1. 태블릿 레이아웃
10.4.2. 모바일 레이아웃
10.5. 정리하기

[11장. 프런트엔드 개발 도구]

더보기

11.1. 의존성 관리
11.1.1. Node.js와 프런트엔드 개발
11.1.2. npm
11.1.3. package.json의 중요한 속성들
11.1.4. 의존성 버전과 semantic versioning
11.1.5. package-lock.json 파일의 중요성
11.1.6. yarn
11.2. webpack
11.2.1. 설치 및 사용법
11.2.2. entry와 output
11.2.3. Loader
11.2.4. Plugin
11.2.5. webpack-cli를 통한 설정 파일 초기화
11.2.6. webpack-dev-server
11.2.7. 더 나아가서
11.3. 트랜스파일러
11.3.1. Babel
11.3.2. Sass
11.4. Linter
11.4.1. ESLint
11.4.2. stylelint
11.4.3. Prettier
11.5. 정리하기

[12장. 디버깅]

더보기

12.1. 개발자 도구란?
12.2. 개발자 도구 활용해 보기
12.2.1. 모바일 환경에서 잘 나올까?
12.2.2. 내가 작성한 CSS 프로퍼티대로 화면에 나타나지 않을 때
12.2.3. 분명 요소에 이벤트를 추가했는데?
12.2.4. 무슨 에러가 발생한 걸까?
12.2.5. 에러가 발생한 시점의 정보를 알아내려면?
12.2.6. 우리집 인터넷은 빠른데...
12.3. 정리하기 394

[13장. 프런트엔드 테스트]

더보기

13.1. 좋은 테스트란 무엇인가?
13.1.1. Trade off
13.1.2. TDD와 Trade Off
13.2. 프런트엔드 테스트
13.2.1. 테스트의 종류
13.2.2. 사용자 관점의 테스트
13.2.3. 테스트 피라미드
13.2.4. jest
13.3. 메모 애플리케이션
13.3.1. 단위 테스트
13.3.2. 통합 테스트
13.3.3. Cypress
13.3.4. E2E 테스트
13.4. 정리하기

[14장. 스냅숏 테스트와 시각적 테스트]

더보기

14.1. 스냅숏(snapshot) 테스트
14.1.1. 스냅숏 테스트 작성하기
14.1.2. 스냅숏 테스트의 장점과 단점
14.1.3. 그럼 어떻게 작성해야 할까?
14.2. 시각적 회귀(visual regression) 테스트
14.2.1. 스토리북(Storybook)
14.2.2. Percy를 이용한 시각적 테스트 작성하기
14.3. 정리하기

[15장. 성능]

더보기

15.1. Performance 탭과 성능 최적화
15.1.1. Perfomance 탭의 구성
15.1.2. 렌더링 블록(Rendering Block)
15.1.3. 레이아웃 최소화
15.2. 메모리 관리하기
15.2.1. 가비지 컬렉션(Garbage Collection)
15.2.2. 메모리 누수 탐지하기
15.3. Performance 탭과 Web Vitals
15.3.1. Perfomance 탭의 다양한 지표들
15.3.2. Web Vitals
15.4. 라이트하우스(Lighthouse)
15.4.1. 보고서 만들기
15.4.2. 기준 살펴보기
15.5. 정리하기부록