- 오늘 내가 배운 것 중 코드로 남겨야하는 기록들을 commit 한다.
- 이론에 기초하거나 텍스트 위주의 내용은 Notion에 포스팅한다.
-
TypeScript 이론 정리
-
TypeScript 개념 정리 + 실적 적용
-
실전 프로젝트로 배우는 타입스크립트
-
타입스크립트 올인원 - 기본 문법편
-
타입스크립트 올인원 - 실전 분석편
-
타입스크립트 & OOP
-
EcmaScript6
-
Functional Programming(기본)
-
Functional PRogramming(심화)
-
JS Engine 구현
-
React Test
-
Jasmine
-
Jest
-
Svelte 개념 익히기
-
Svelte Trello Clone App
-
React 웹 성능 최적화
-
React webgame
-
React + TypeScript webgame
2-1. 구구단, 끝말잇기
2-2. 숫자야구, 반응속도 체크
2-3. 가위바위보, 로또추첨기
2-4. 지뢰찾기
2-5. React-router
2-6. Redux
- Redux 구조 잡기
- action, reducer typing
- redux component typing
- redux-thunk typing
- ThunkDispatch, immer, Hooks typing
2-7. MobX
-
React + Next.js로 React NodeBird SNS 구현하기
3-1. Next.js
3-2. antd 이용한 SNS 뷰 구축
- antd와 styled-components
- _app.js와 Head
- 반응형 그리드 사용
- 로그인 폼 생성
- 리렌더링 이해하기
- 더미 데이터로 로그인 구현
- 프로필 페이지 구현
- 커스텀 훅을 이용한 회원가입 페이지 구현
3-3. Redux 연동
- 리덕스 설치와 필요성
- 리덕스 원리와 불변성
- 리덕스 구현
- 미들웨어와 리덕스 데브툴즈
- 리듀서 쪼개기
- 더미데이터와 포스트폼 구현
- 게시글 구현
- 댓글, 이미지 구현
- 이미지 Carousel 구현
- createGlobalStyle, 컴포넌트 폴더 구조
- 게시글 해시태그 링크로 만들기
3-4. Redux-saga 연동
- redux-thunk 이해하기
- saga 설치, generator 이해하기
- saga 이펙트 알아보기
- take 시리즈와 throttle 알아보기
- saga 분리와 reducer 연결
- 액션과 상태 정리하기
- 바뀐 상태 컴포넌트 적용, eslint 점검
- 게시글, 댓글 saga 구현
- 게시글 삭제 saga 구현
- reducer에 Immer, faker 더미데이터 적용
- 인피니트 스크롤링 적용
- 팔로우, 언팔로우 구현
3-5. 백엔드 Node 서버 구축
- 노드로 서버 구동하기
- 익스프레스로 라우팅 및 라우터 분리하기
- MySQL과 시퀄라이즈 연결
- 시퀄라이즈 모델 생성
- 시퀄라이즈 관계 설정
- 시퀄라이즈 sync와 nodemon
- 회원가입 API 구현
- CORS 문제 개선
- passport 로그인 구현
- 쿠키,세션과 전체 로그인 Flow
- 로그인 디버깅
- 미들웨어로 라우팅 검사하기
- 게시글과 댓글 작성하기
- credential로 쿠키 공유 처리
- 로그인 정보 매번 불러오기
- 게시글, 코멘트 불러오기
- 게시글 좋아요 구현
- 게시글 제거, 닉네임 변경
- 팔로우, 언팔로우
- 이미지 업로드 구현(multer)
- express.static 미들웨어
- 해시태그 등록
- 리트윗 구현
- 쿼리스트링과 lastId 방식
- 게시글 수정 구현
- 팔로잉한 게시글만 가져오기
3-6. Next.js 서버사이드렌더링(SSR) 구현
- 서버사이드렌더링 준비
- SSR시 쿠키 공유 구현
- getStaticProps 적용
- 다이나믹 라우팅 구현
- CSS SSR 구현
- 특정 사용자 게시글, 해시태그 게시글 구현
- getStaticPaths
- swr 적용
- 다이나믹 라우팅 페이지로 연결(Link, Router)
- moment와 next build
- 커스텀웹팩, bundle-analyzer
- 배포 전 리팩토링
3-7. AWS 배포
-
React + SWR + TypeScript로 실시간 채팅 구현하기
4-1. 프로젝트 초기 설정
- Back 환경 세팅(feat. node, mySQL 설치)
- Front 환경 세팅(feat. webpack, babel 설정)
- 폴더 구조와 React Router 설정)
- Code splitting과 Emotion 설정)
4-2. 로그인, 회원가입 페이지
- 회원가입 페이지와 커스텀 훅
- Axios request와 CORS, proxy 설정
- 로그인 페이지와 swr 적용, 쿠키 공유
- 워크스페이스 및 로그아웃 구현
- swr 활용과 optimistic UI
4-3. 메뉴, 모달
4-4. DM 보내기
4-5. 실시간 채팅 및 front 작업 팁 배우기
4-6. 배포 및 프로젝트 마무리
- 웹 크롤링과 데이터 파싱
- puppeteer 사용하기
- axios와 cheerio를 활용한 이미지 다운로드
- 인피니트 스크롤링 크롤링
- 크롤러로 페이지 상호 작용하기
- 프록시로 서버 속이기
- 페이스북 크롤링
- 인스타그램 크롤링
- 유튜브 크롤링
- 페이지네이션과 아이프레임 크롤링
-
노드 & 자바스크립트 개념
-
노드 기능
-
http 모듈로 서버 만들기
-
package manager
-
express web server
-
MySQL
-
mongoDB
-
express로 SNS 서비스 구축
-
웹 API 서버 만들기
-
노드 서비스 테스트 구현
-
웹 소켓으로 실시간 데이터 전송하기
-
실시간 경매 시스템 만들기
-
CLI 프로그램 만들기
-
AWS 배포하기
-
서버리스 노드 개발
-
SVG
-
Flex
-
Grid
-
Three.js
- Three.js 인트로
- Three.js 기본 요소
- Three.js 개발 편의 도구
- Three.js Transform(변환)
- Three.js Geometry(모양)
- Three.js Controls(카메라 컨트롤)
- Three.js Material(재질)
- Three.js Light(조명)
- Three.js Raycaster(클릭 감지)
- 3D 모델과 Three.js 활용
- Three.js 물리엔진
- Three.js Particle
- Three.js 3D Scroll Page
- Three.js 3D 징검다리 게임 구현
- Three.js 3D 다중 Scene 구현
- Three.js 3D 공간에서 캐릭터 움직이기