# Dream Coding - React 9. Business Card Maker ## ==9.1 프로젝트 소개== 사용하는 기술 Stack - React Hooks - PostCSS - React Router - Firebase - Authentication - Realtime Database - Cloudinary ## ==9.2 React Router란?== ### `Routing` in web - a mechanism where HTTP requests gets link to specific web pages/resources - Router determines which page should be opened when a user visits a certain path ### `SPA` (Single Page Application) - React 는 대표적인 SPA를 활요하는 기술 - 브라우저 자체의 history (북마크, 뒤로가기, 네비게이션 등) 가 작동하지 않는 다는 문제점이 있음. ### `React Router` [React Router: Declarative Routing for React](https://reactrouter.com/) - SPA의 단점 (history 관리가 안됨) 을 보완한 React 라이브러리 - history를 관리할 수 있음 ## ==9.3 React Router 실전 예제 연습== ### `BrowserRouter` ### `Link` ### `Switch` ### `Route` ### `usehistory` ⇒ 나중에 한 사람이 라이브러리 정리 할 것 - inline props로 component를 전달하지말고, child component로 전달할 것. - 만약, component안에서 자체적으로 history 조작을 원하다면, `useHistory` 등의 Hook을 이용할 것 ## ==9.4 Firebase 알아보기== ### Firebase - 장점과 단점을 알아볼 것 - 서버를 왜 아직도 작성하고 있는가? ⇒ Serverless의 개념 ### sdk - software development kit - public api 와 차이점을 비교해 볼 것 ## ==9.5 Cloudinary 알아보기== ### `cloudinary` - 사용자의 파일을 자유롭게 커스터마이징 할 수 있는 사이트 - 사이즈 재조정, 필터링 씌우기 등등 - 이미지 스토리지 활용에 효과적 - REST API 를 이용할 수 있으므로 개발 친화적 ## ==9.7 프로젝트 셋업== ### Post CSS Values - `PostCSS` 를 이용하면 훨씬 간단하게 만들 수 있음 - `@value key: value;` 로 선언 - `@value key from 'path'` 로 가져오면 됨 - CRA 에 포함된 플러그인들 `postcss-flexbugs-fixes` `postcss-loader` `postcss-normalize` `postcss-preset-env` `postcss-safe-parser`