- 04.변수
- 16.프로퍼티 어튜리뷰트
- 17.생성자 함수에 의한 객체 생성
- 18.함수와 일급 객체
- 19.프로토타입
- 22.this
- 23.실행 컨텍스트
- 24.클로저
- 31.RegExp
- 34.이터러블
- 35.스프레드 문법
- 36.디스트럭처링 할당
- 3536.데이터 변환
- 46.제너레이터와 async/await
- 리액트 시작하는 분들을 위한 교안 만들기
- React.createElement 사용하면서 jsx에서 babel이 해주는 컴파일 과정 이해하기
- jsx에서 map을 사용하는 이유, props 속성 중 children 이해하기
- 자식에게 props 전달 시 스프레드 문법(단축 표기법)으로 작성할 수 있는 이유 및 이를 사용해 코드 개선
- 이를 활용한 간단한 커스텀 훅 만들기
- 자식의 프롭을 함수(이벤트 리스너)를 통해 자신의 부모에게 넘기기
- 컴포넌트에 useState를 사용해 상태와 컴포넌트 엮어보기 등등..
- React.createElement 사용하면서 jsx에서 babel이 해주는 컴파일 과정 이해하기
- 리액트 폼 유효성 검사
- axios를 사용한 리액트 로그인 인증
- Role 기반 리액트 라우트 보호
- JWT(Access/Refresh Token) 방식을 이용한 인증 절차
- 지속 가능한 JWT Tokens 인증
- 로그인 폼에 커스텀 훅 적용
- 재귀(Recursion)
- 검색 알고리즘(Search Algorithm)
- 버블 정렬(Bubble Sort)
- 선택 정렬(Selection Sort)
- 삽입 정렬(Insertion Sort)
- 합병 정렬(Merge Sort)
- 퀵 정렬(Quick Sort)
- 기수 정렬(Radix Sort)
- 단방향 연결 리스트(Singly Linked Lists)
- 이중 연결 리스트(Doubly Linked Lists)
- 스택(Stack)과 큐(Queues)
- 이진 검색 트리(Binary Search Tree)
- 트리 순회(Traversing a Tree)
- 이진 힙(Binary Heaps)
- 해시 테이블(Hash Table)
- 그래프(Graph)
- 그래프 순회(Traversing a Graph)
- 다익스트라 알고리즘(Dijkstra's Algorithm)
- 동적 프로그래밍(Dynamic Programming)
- Fast forward vs 3-way merge
- 과거로 돌아가는 두 가지 방법(reset, revert)
- Branch
- 서로 다른 branch를 합치는 두 가지 방법(merge, rebase)
- 원격 저장 저장소 사용하기
- 협업 시 충돌 발생 해결(pull할 것이 있을 때 push를 하면)
- 원격의 브랜치
- Git의 3가지 공간
- Git 공간 이동
- HEAD과 checkout
- Help
- Git의 각종 설정(config)
- 커밋하기 애매한 변화 치워두기(stash)
- 커밋 수정하기(commit)
- 과거의 커밋들을 수정, 삭제, 병합 분할하기(rebase -i)
- Git에서 추적하지 않는 파일들 삭제(clean)
- 커밋하지 않은 변경사항 되돌리기(restore)
- 태그
- 다른 브랜치에서 원하는 커밋만 따오기(cherry-pick, rebase --onto, merge --squash)
- 협업을 위한 브랜치 활용법(Gitflow)
- log
- 차이 살펴보기(diff)
- 누가 코딩했는지 알아내기(blame)
- 오류가 발생한 시점 찾아내기(bisect)
- Git Submodules
- GitHub CLI