โญ ๊ฐ๋ฐ ์ธํด์ ์ด๋ฐ ์ผ์ ํด์
[์ธํด - ์น(React) ๊ฐ๋ฐ์]
- ํด๋ผ์ธ์ ๋น ๋ฅธ ์ฑ์ฅ์ ๋ฐ๋ฅธ ํ์ฅ์ฑ ์๊ณ ์์ฐ์ฑ ์๋ ์น ๊ฐ๋ฐ
- ๋ค์ํ ๋๋ฐ์ด์ค ํ๊ฒฝ์ ๊ณ ๋ คํ ๋ฐ์ํ ์น ๊ฐ๋ฐ
[์ธํด - ์ฑ(React Native) ๊ฐ๋ฐ์]
- ํด๋ผ์ธ์ ๋น ๋ฅธ ์ฑ์ฅ์ ๋ฐ๋ฅธ ํ์ฅ์ฑ ์๊ณ ์์ฐ์ฑ ์๋ Android/iOS ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ
- React-Native์ React ์์ญ๊ณผ Native ์์ญ, bridge์ ๋ํ ์ดํด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ต์ ํ๋ React-Native ์ฑ ๊ฐ๋ฐ
- ํ๋ ์ด์คํ ์ด/์ฑ ์คํ ์ด ๋ฐ ์ฝ๋ํธ์ ๋ฐฐํฌ ๊ด๋ฆฌ
[์ธํด - ๋ฐฑ์๋(Node.js) ๊ฐ๋ฐ์]
- ํด๋ผ์ธ ์น, ์ ํ๋ฆฌ์ผ์ด์
์ ์ํ API ๊ฐ๋ฐ
- ์๋ฒ๋ฆฌ์ค ๊ธฐ๋ฐ์ AWS ์ธํ๋ผ ๊ตฌ์ฑ
- ํด๋ผ์ธ ์๋น์ค ํ์ง ํฅ์์ ์ํ ๋ค์ํ ์ต์ ํ ์์
๋ฐ ๋ฆฌ์์น
๐
์ด๋ฐ ๋ถ์ ์ฐพ๊ณ ์์ด์
- ๋จ๊ธฐ๊ฐ์ ์ง์ค, ๋ชฐ์
์ ํตํด์ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๊ณ ์ถ์ผ์ ๋ถ
- ๋งก์ ์์
์ ๋ํ ์ค๋์ญ์ ๊ฐ๊ณ , ๋๊น์ง ์์ฑ์ํค๋ ์ฑ
์๊ฐ์ ๊ฐ์ง๊ณ ์๋ ๋ถ
- ๋ฐฐ์์ ๋ํ ์ด์ ์ ๊ฐ๊ณ , ์ง์์ ์ด๊ณ ํจ๊ณผ์ ์ผ๋ก ํผ๋๋ฐฑ์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ๋ถ
๐ซ ์ด๋ฐ ๋ถ์ด๋ฉด ๋ ์ข์์
[์ธํด - ์น(React) ๊ฐ๋ฐ์]
- ์น ๊ฐ๋ฐ ๊ฒฝ๋ ฅ์ด ์๊ฑฐ๋ ๊ทธ์ ์คํ๋ ์ค๋ ฅ์ ๊ฐ์ถ์ ๋ถ
- HTML, CSS, JavaScript์ TypeScript์ ๋ฅ์ํ์ ๋ถ
- React, Redux ์ฌ์ฉ ๊ฒฝํ์ด ์๋ ๋ถ
- Functional Component ํ์ฉ์ ๋ฅ์ํ์ ๋ถ
- Sass(SCSS) ์ฌ์ฉ์ ๋ฅ์ํ์ ๋ถ
- Git์ ํตํ ๋ฒ์ ๊ด๋ฆฌ์ ๊ฒฝํ ์์ผ์ ๋ถ
[์ธํด - ์ฑ(React Native) ๊ฐ๋ฐ์]
- JavaScript์ TypeScript์ ๋ฅ์ํ์ ๋ถ
- React-Native, Redux ์ฌ์ฉ ๊ฒฝํ์ด ์๋ ๋ถ
- CodePush ๋ฑ์ ์ด์ฉํ ํจ์จ์ ์ธ ๋ฐฐํฌ ๊ด๋ฆฌ ๊ฒฝํ์ด ์๋ ๋ถ
- Git์ ํตํ ๋ฒ์ ๊ด๋ฆฌ์ ๊ฒฝํ ์์ผ์ ๋ถ
[์ธํด - ๋ฐฑ์๋(Node.js) ๊ฐ๋ฐ์]
- AWS๋ฅผ ํตํด ์ธํ๋ผ ๊ตฌ์ถํ ๊ฒฝํ์ด ์๋ ๋ถ
- JavaScript์ TypeScript์ ๋ฅ์ํ์ ๋ถ
- Node.js๋ก ๋ฐฑ์๋ ๊ฐ๋ฐ ๊ฒฝํ์ด ์์ผ์ ๋ถ
- RDBMS, NoSQL์ ๋ํ ์ดํด๋ฅผ ๊ฐ์ถ ๋ถ
- NestJS์ TypeORM์ ์ฌ์ฉํด๋ณธ ๊ฒฝํ์ด ์์ผ์ ๋ถ
- ์๋ฒ๋ฆฌ์ค๋ก ์์ฉ ์๋น์ค๋ฅผ ์ด์ํ ๊ฒฝํ์ด ์์ผ์ ๋ถ
- WebSocket์ผ๋ก ๋ง์ ์ฌ๋๋ค์ด ์ ์ํ๋ ์ค์๊ฐ ์ฑํ
์๋น์ค๋ฅผ ๊ตฌํํ ๊ฒฝํ์ด ์๋ ๋ถ
- Git์ ํตํ ๋ฒ์ ๊ด๋ฆฌ์ ๊ฒฝํ ์์ผ์ ๋ถ
๐ง ์ฌ์ฉ ํด/์คํ
[์ธํด - ์น(React) ๊ฐ๋ฐ์]
- React (Hooks), Redux
- TypeScript
- Sass(SCSS)๋ฅผ ์ด์ฉํ ์คํ์ผ๋ง
[์ธํด - ์ฑ(React Native) ๊ฐ๋ฐ์]
- React Native ๊ธฐ๋ฐ ํฌ๋ก์คํ๋ซํผ(Android/iOS) ๊ฐ๋ฐ
- TypeScript
- Redux, Recoil ์ด์ฉํ ์คํ
์ดํธ ๊ด๋ฆฌ
- Microsoft Codepush ํตํ ํจ์จ์ ์ธ ์
๋ฐ์ดํธ, ์คํ ์ด ๋ฐฐํฌ ๊ด๋ฆฌ
- Expo Secure Store๋ก OAuth(Facebook/Google), Email ๋ก๊ทธ์ธ ์ ์ ๋ค์ค ๊ณ์ ์ ํ ๊ด๋ฆฌ
- RTL ์คํฌ๋ฆฝํธ, English, Japanese ๋ฑ ๋ค๊ตญ์ด locale ์ฒ๋ฆฌ
[์ธํด - ๋ฐฑ์๋(Node.js) ๊ฐ๋ฐ์]
- TypeScript, Nest.js
- Node.js, Serverless Framework, AWS Lamda์ ์ด์ฉํ ์๋ฒ๋ฆฌ์ค ๋ฐฑ์๋
- AWS RDS(Aurora)
- circle-ci๋ฅผ ํ์ฉํ build/test/deploy ์๋ํ
- AWS CloudWatch๋ฅผ ํ์ฉํ ๋ก๊น
๋ฐ ๋ชจ๋ํฐ๋ง
- Swagger๋ฅผ ์ด์ฉํ api ๋ฌธ์ ์๋ํ
๐
ํด๋ผ์ธ์ผ๋ก์ ํฉ๋ฅ ์ฌ์
Step 1. ์ง์์ ์ ์ถ
- ๋งํฌ๋ฅผ ํด๋ฆญํ์
์ ์ด๋ ฅ์์ ๊ธฐ๋ณธ ์ธ์ ์ฌํญ, ์ฌ์ ์ง๋ฌธ์ ์์ฑํด ์ ์ถํด์ฃผ์ธ์.
- ์ง์์ ๊ฒํ ํ, 2์ฃผ์ผ ์ด๋ด์ ๊ฒฐ๊ณผ ์๋ด ๋ฉ์ผ์ ๋ฐ์ผ์ค ์ ์์ด์.
Step 2. ๊ณผ์
- ํฌ์ง์
๋ณ ์ค๋ฌด ๊ธฐ์ ์คํ์ผ๋ก ํ ์ด ํ๋ก์ ํธ๋ฅผ ๊ตฌํํ๋ ๊ณผ์ ์ ํ์ ์งํํด์.
- ์น ๊ฐ๋ฐ
- react + redux๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ด ํ๋ก์ ํธ ๊ตฌํ
- ์ฑ ๊ฐ๋ฐ
- react-native๋ฅผ ์ฌ์ฉํ์ฌ ์ฃผ์ด์ง ์๊ตฌ์ฌํญ์ ๊ตฌํ
- ๋ฐฑ์๋ ๊ฐ๋ฐ
- Node.js + TypeScript + NestJS + TypeORM + MySQL์ ์ฌ์ฉํ์ฌ ํ ์ด ํ๋ก์ ํธ๋ฅผ ๊ตฌํ
- ์๋ฅ ํฉ๊ฒฉ์๋ถ๋ค๊ป ๊ฐ๋ณ์ ์ผ๋ก ์๋ด๋๊ณ ์์ผ๋ฉฐ, ํ๊ท ์ผ์ฃผ์ผ ์ ๋ ์์๋ผ์.
Step 3. ์ง๋ฌด ์ธํฐ๋ทฐ
- Step 2์์ ์งํํ ๊ณผ์ ๋ฅผ ๋ฐํ์ผ๋ก ์ธํฐ๋ทฐ๋ฅผ ์งํํด์.
- ์ง๋ฌด ์ญ๋์ ํ๋จํ๊ธฐ ์ํ ๊ฒฝํ/๊ธฐ์ ๊ณผ ๊ด๋ จํ ์ง๋ฌธ์ ๋๋ ค์.
- Tech Chapter์ Head, ํ์๊ณผ์ ์ธํฐ๋ทฐ๋ก ํด๋ผ์ธ ์ฌ๋ฌด์ค์์ ์ธํฐ๋ทฐ๋ฅผ ์งํํด์.
Step 4. ์์์ง ์ธํฐ๋ทฐ
- ํด๋ผ์ธ์ ๋ฌธํ์ ๊ณต๊ฐํ๊ณ ์ ์ ์ํ ์ ์๋ ๋ถ์ธ์ง๋ฅผ ํ์ธํ๊ธฐ ์ํ ์ธํฐ๋ทฐ์์.
- ํด๋ผ์ธ์ C-Level๊ณผ์ ์ธํฐ๋ทฐ๋ก ํด๋ผ์ธ ์ฌ๋ฌด์ค์์ ์ธํฐ๋ทฐ๋ฅผ ์งํํด์.
๐ผ ์ด๋ ๊ฒ ๊ทผ๋ฌดํ๊ฒ ๋ผ์
- ์ฑ์ฉ ํํ : ์ธํด(8๊ฐ์)
- ์ธํด ๊ธฐ๊ฐ์ ๊ธธ๊ฒ ๊ฐ์ ธ๊ฐ๋ ์ด์ ๋ 4~5์ฃผ ๊ฐ์ ์จ๋ณด๋ฉ ๊ธฐ๊ฐ ํ ํ๋ก๋์
์ ๊ธฐ์ฌํ ์ ์๋ ์ค์ ์
๋ฌด๋ฅผ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ด์์.
- 8๊ฐ์ ๋์ ์ง์ค์ ์ผ๋ก ์ค๋ฌด ๊ฒฝํ์ ์์ผ๋ฉฐ ์ค์ค๋ก ์ฑ์ฅํ ์ ์๋๋ก ํ ์ฐจ์์์ ์ง์ํด์.
- ๊ทผ๋ฌด์ง : ์์ธํน๋ณ์ ๊ฐ๋จ๊ตฌ ํ
ํค๋๋ก2๊ธธ 27
- ์ง์ ์กฐ๊ฑด:
- ํ์ ์กธ์
์
- ํ์ ์กธ์
์์ ์
- ์กธ์
๊น์ง 1ํ๊ธฐ๊ฐ ๋จ์ผ์ ๋ถ (์, 15ํ์ ์ดํ), ์ทจ์
๊ณ๋ฅผ ํตํด์ ์ธํด ๊ธฐ๊ฐ ์กธ์
์ด ๊ฐ๋ฅํ๋ถ)