๐ [2024-10-30] ์ผ์ ๋ฐ ๊ธฐํ ํ์
๐ย ํ์ ๋ด์ฉ ์ ๋ฆฌโ
๐ย ์ฃผ์ โ
์ค์ฅ๋ ์ธต์ ์ํ ์ง๋ ์๋น์ค
- @Zen :: ์ค์ฅ๋ ์ธต์ ๋นผ๊ณ , ์ฃผ์ ์ ๋ํ ํํน ์์ด ๊ทธ๋ฅ ์๋ก ์ฝ์ ์๊ฐ๋ฆฌ๋๊ฑฐ ๋ฐฉ์ง ์ด๋ฐ๋๋์ผ๋ก ๊ฐ๊ณ ํ์ฅํด๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
- @ํ์ธ ์ :: ํ๊ฒ์ธต์ ๋ช ํํ๊ฒ ์ข์ผ๋, ์ผ๋จ์ ์ฃผ์ ๋ ์ ์งํ๋, ๋์ค์ ๋ณ๊ฒฝ์ ํ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. โ MVP๊ฐ ์ค์ํ ๊ฒ ๊ฐ์ต๋๋ค. (์ด๊ฑฐ์ ๋ง์ถ์ด์ ์งํํฉ์๋ค.)
๐ย ํต์ฌ ๊ธฐ๋ฅโ
์ค์๊ฐ ์์น ๊ณต์ ์๋น์ค
- 5๋ช ๋์์ ์์ด ๊ฐ๋ฅํด์ผ ํจ
๐ย ๊ธฐ์ ์ ๋ชฉํโ
โ๏ธย ๊ณตํต์ ๋ชฉํ :: ๋ฌธ์ํโ
- TSDoc, JSDoc ์ ์ด์ฉํด์ ๋ฌธ์๋ก ๋ฐ๊ฟ์ ํผ๋ธ๋ฆฌ์ฑํ๋ค. (์ ์ ํ์ด์ง ํผ๋ธ๋ฆฌ์ฑ์ด๋ vercel ์๋๋ฉด github docs ์ด์ฉ) โ 6์ฃผ์ฐจ / ๊น์ํค ์ ๋๋ ๋งค์ผํ๊ฑด๋ฐโฆ ๊ทธ๊ฑด ๋ฐ๋ก์ด์ผ๊ธฐ
- ํ๋ก ํธ์ค๋ :: storybook ๋ฑ์ ์ด์ฉ
- ๋ฐฑ์ค๋ :: swagger
@Zen :: Lint ๋ฑ ํจ๊ป ๊ณต์ ํ๋ ์์๋ ๋นก์ธ๊ฒ ์ด๋ฐ์ ์ก์๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. BE / FE ๋ชจ๋ ๊ณต์ฉ์ผ๋ก์. ๊ทธ ์ดํ์ ๊ทธ๊ฑฐ ๊ธฐ์ค์ผ๋ก ๊ฐ์ ์ถ๊ฐํฉ์๋ค.
โ๏ธย Front-Endโ
- TDD
- @Zen :: ๋๊ฒ ์ด๋ก ์ด ๋ง์๋ฐ 1์ฐจ์ ์ผ๋ก๋ ๋ฐฑ๋ก๊ทธ์ ์๋ ๊ธฐ์ ์ ๊ตฌํํ๊ธฐ ์ ์ ํ ์คํธ์ฝ๋ ๋จผ์ ์์ฑ ์ดํ ๊ตฌํํ๋ ํํ๋ก ๊ฐ๊ณ ๋งค์ฃผ ๊ฐ์ ํด๋ด ์๋ค.
- @Zen :: ๊ด๋ จํด์ ๊ณต์ฉ ๋ฌธ์ ๊ฐ์คํ ์์ ์ ๋๋ค. ํ์ต ์ ๋ฆฌ ๋ฑ ํด๋ฌ๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ์ ํํ๋ ๊ฒฝํ์ ์ธ ์ธก๋ฉด์์ ์ ์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
- ์ค์๊ฐ ์์น ์ ๋ณด ๊ตฌํ (์ฌ๋ฌ ์ฌ์ฉ์์ ๋ํด์ ํ๋์ ํ๋ฉด์ ์์น ๊ณต์ )
- ์ํ๊ด๋ฆฌ
- @Zen :: Test ์ฝ๋์ ์ฅ์ ์ ์ ์ง๋ณด์/๋ฆฌํฉํ ๋ง์์ ์ฌ์ด๋์ดํฉํธ๋ฅผ ๊ฐ์์ํฌ ๋ ๋์จ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด์ ๋ฐ๋ผ์, ์ ๋ถ ์ ์ญ ์ํ๊ด๋ฆฌ๋ฅผ ํด๋ณด์ง ์์๋ค๋ฉด,
useContext
๋ก ๋จผ์ ๊ตฌํ์ ํ๊ณ , ๊ทธ ๋ค์์ ๋ฆฌํฉํ ๋ง์ ํ๋ฉด์ ๊ทธ๋ ์ํฉ์ ๋ง์ถ์ด์ ์ ์ญ ์ํ๊ด๋ฆฌ ํด์ ์ ํํด์ ๋์ ํด๋ ๊ด์ฐฎ์ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฉํ ๋์ ๋ฐ์ด๋์ด๋ณด์ฃ .
- @Zen :: Test ์ฝ๋์ ์ฅ์ ์ ์ ์ง๋ณด์/๋ฆฌํฉํ ๋ง์์ ์ฌ์ด๋์ดํฉํธ๋ฅผ ๊ฐ์์ํฌ ๋ ๋์จ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด์ ๋ฐ๋ผ์, ์ ๋ถ ์ ์ญ ์ํ๊ด๋ฆฌ๋ฅผ ํด๋ณด์ง ์์๋ค๋ฉด,
โ๏ธย Back-Endโ
-
TDD
-
@Zen :: ์ด๋ฐ์๋ ๋งก๊ธฐ๊ฒ ์ต๋๋ค.
-
@ํ์ธ ์ :: ๋ฐฑ์ค๋ ํ๋ก ๋์ ํ๋ ๊ฒ ์์ฒด๊ฐ ๋์
-
@ํ์ธ ์ :: ์๋ก์ด ๊ธฐ์ ์ ๋์ ํ๋๊ฒ ๋์ . ๋ฐฑ์ค๋๋ก ๊ตฌํํ๋ ๊ฒ ์์ฒด๊ฐ ๋์ ์ด๋ค.
-
@ํ์ธ ์ :: ์ฌ์ฉ๋ ๊ธฐ์ ์ด ์์ง ๋ชฐ๋ผ์ ๋ญ๊ฐ ์๋ค๊ณ ๋ง์ ํ๊ธฐ ์ด๋ ต๋ค. Websocket ๋ฑ์ ๋คํธ์ํฌ ์ ์ธ ๊ฒ์ ์ข ์์๊ฐ ์ ์์ง ์์๊น (์ถ์ธก)
-
@Zen :: ๊ณ์ ์๋ ค๋๋ฆด๊ฒ์. ์๋๋ฉด ํ์ํ๋ฉด ๋ง์ํ์๋ฉด APIํค๋ ์ด๋ฐ๊ฑฐ ๋ค ๋๋ฆด๊ฒ์. โ ์ ๋ 24์ Zep ์์ฃผ์ค
-
-
์ฝ๋๋ฆฌ๋ทฐ
- @Zen :: ์ฝ๋๋ฆฌ๋ทฐ ๋ฐฑ ํ๋ก ํธ ์๊ฐ๋ฆฌ๊ณ ์ ํฌ ํฉ์๋ค. โ ์ฝ๋๋ฆฌ๋ทฐ + PR๋ฆฌ๋ทฐ๋ฅผ ๋ฐฑ์ด๋ผ ์ํ๋๊ฒ ์๋๋ผ ํ๋ก ํธ๋ ๋ฐฑ์ ๋ด์ฃผ๊ณ , ๋ฐฑ๋ ํ๋ก ํธ ๋ด์ฃผ๋โฆ
- @Zen :: ํด๋ด์ผ ์๊ฑฐ๊ฐ๊ณ .. ์ด๋ฐ ๋ฃฐ๋ค์ ๋งค์ฃผ๋ง๋ค ๊ฐ์ ํด์ผ ๋๋ค๊ณ ์๊ฐ
- 4๋ช ์ด ์ ๋ถ Approveํด์ผ Merge ๋๋๊ฑธ๋กโฆ?
- @ํ์ธ ์ :: ์ด๋ฐ์ ์ ๊ฒ ๋ดค์ผ๋ฉด ์ข๊ฒ ๋ค. ๊ทธ ์ฌ์ค์ ์ฒ์์ด๋๊น ์๋ก์ฌํญ์ด ์์์๋ ์์ ๊ฒ ๊ฐ๋ค. ๊ทธ๋์ ์ด๋ฐ์๋ ํ์ต์๊ฐ๊น์ง ๊ณ ๋ คํด์ ์ด๋ฐ์ PR์ด ์ ์ ์ ์๋ค. ๊ทธ๋๊น ์ฃผ๊ธฐ๋ฅผ ์กฐ๊ธ ๋ ๊ฐ์ ธ๊ฐ์ผ๋ฉด ํ๋ค.
๐ย ํ ๊ตฌ์ฑโ
๐งโ๐ปย Front-Endโ
- @Zen
- @๋์จ ์ด
- @์ฃผ์ ๊น
๐งโ๐ปย Back-End (Full-Stack - ๋์ค์ ๋ฐฑ ๊ตฌํ ๋๋๋ฉด ํ๋ก ํธ ํฉ๋ฅ ์์ )โ
- @ํ์ธ ์
๐ย ๊ธฐ์ ์คํโ
โ๏ธย Front-Endโ
-
React
-
TypeScript
-
๋ ผ์ํด๋ณผ ์ฌํญ
- node.js ๋ชจ๋ ๊ด๋ฆฌ๋ ๋ฌด์์ผ๋ก? (pnpm, NPM, bun, yarn ๋ฑ)
- @Zen :: ๊ฐ์ธ์ ์ผ๋ก๋ pnpm ์ ํธํฉ๋๋ค.
pnpm
- ์๋ฐ์คํฌ๋ฆฝํธ ์ปดํ์ผ๋ฌ๋ ๋ฌด์์ผ๋ก?
swc
โvite
- swc :: rust โ ์ฑ๋ฅ์ด ์ข๊ณ , ํ์ ์ด๋๋ก
- tsc :: c โ ๋์จ, ๋ค๋ง ํ์ ์ด๋๋ก
- ๋ฒ๋ค๋ฌ/๋น๋๋ ๋ฌด์์ผ๋ก?
- webpack
vite
- ํ ์คํธ ๋๊ตฌ๋ ๋ฌด์์ผ๋ก?
- jest
- CJS ๋ํดํธ
vitest
- import/export :: ESM ๋ํดํธ
storybook
msw
:: ์๋ฒ๊ฐ ์ค์ ๋ก ์๋ ๋๋- ์๋ฒ ํต์ ์ ๋ํ ๋ชจํน
-
pnpm
-
swc
-
vite
-
vitest
-
storybook
-
msw
โ ๊ธฐ์ ์ ์ธ ์์ฑ๋๋ผ๊ณ ํ๋ฉด, ํ ์คํธ๊ฐ ์ ์ง์ฌ์ ธ์ ์ฝ๋ํ์ง์ด ์ ๋ณด์ฅ๋๋ ์ฝ๋
โ๏ธย Back-Endโ
Node.js
Javascript
pnpm
:: ๊ฐ๋ฐํ๊ฒฝexpress
โ๏ธย ๊ฐ๋ฐ ํ๊ฒฝโ
-
๋ ผ์ํด๋ณผ ์ฌํญ
๋ชจ๋ ธ๋ ํฌ
- ๊ธฐ์ ์ข๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋น ๋ฅด๊ฒ ์ ์ ํ๊ณ (ํ๊ฒฝ์ค์ )
- ๊ธฐ๋ฅ ๊ตฌํ ์ด๋ป๊ฒ ํ ์ง ๋ ผ์ํด๋ด ์๋ค.
- ์ด๊ฑธ ๋ฐํ์ผ๋ก PAI๋ ๊ธฐ๋ฅ ํ ์คํธ ๋ฑ ์กฐ์ฌํด์ผํ๋๊ฒ ์๋๋ฐ, ์ด๊ฑฐ ์ด๋ฒ์ฃผ์ ๋น ๋ฅด๊ฒ ํ๊ณ ๊ฐ๋ฅํ์ง ๋ถ๊ฐ๋ฅํ์ง ๋ฝ์๋ ์๋ค.
- ํผ๊ทธ๋ง
- ๊ทธ๋ฆฌ๊ณ ์ผ์ ์ฐ์ถ
๐ย Figma ๊ธฐ๋ฐ์ผ๋ก ํ๋ก์ ํธ ์งํโ
๋ค์ด๋ฒ์ง๋ apiโ
@ํ์ธ ์ :: https://api.ncloud-docs.com/docs/ai-naver-mapsdirections-driving
@ํ์ธ ์ :: ์๋์ฐจ๋ก๋ง ๊ฐ๋ฅ
๋์ค๊ตํต์ผ๋ก ๊ธธ์ฐพ๊ธฐ APIโ
https://developers.google.com/maps/documentation/routes/transit-route?hl=ko
๋์ค๊ตํต์ผ๋ก ๊ธธ์ฐพ๊ธฐ ์์โ
@ํ์ธ ์ :: ๊ณต๊ณต๋ฐ์ดํฐํฌํธ์์ ์ ๋ฅ์๋ณ ๋ฒ์ค ๋์ฐฉ ์์ ์๊ฐ์ ๋ฐ๋ก ๋ถ๋ฌ์์ ์ฐ๋ฆฌ๊ฐ ํฉ์ณ์ฃผ๋ ์์ ํ์
์๋ ์์ ์ฐธ๊ณ
https://lab.odsay.com/guide/guide#guideWeb_2
๊ฒฝ๋ก์ ๊ทธ๋ฆฌ๊ธฐโ
https://kimmandooo.tistory.com/138
[TMAP] TMAP API ๋๋ณด ๊ธธ์ฐพ๊ธฐ
https://tmapapi.tmapmobility.com/main.html#webservice/sample/WebSamplePedestrian
๋ค์ด๋ฒ ์ง๋ JavaScript API ์๋ฒฝ ๊ฐ์ด๋ โ ์ค๋ฒ๋ ์ด ํธ
์ฑ ์ ์ (3) ๋ค์ด๋ฒ์ง๋ ์ ํธ ์ฑ
[iOS] NaverMap API - Directions(๋ค๋น๊ฒ์ด์ ๋ฃจํธ ๊ธฐ๋ฅ)
๐งโ๐ปย ํ ์คํธํ ์ ์๋ ๋ฐฉ๋ฒโ
- ์ค์๊ฐ์ผ๋ก GPS ๊ณต์ (์ค์๊ฐ์ผ๋ก ์์น ํ์ ์ด ๊ฐ๋ฅํ์ง)
- ๋ค์ค GPS ์ค์๊ฐ ๊ณต์ (๋์์ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ GPS๋ฅผ ๊ณต์ ํ ์ ์๋์ง)
- GPS ๋ฐํ์ผ๋ก ์ง๋ ์์ ์ฐ์ ์ ์๋์ง (๋ง์ปค์ ๋ํ CRUD ์์ )
- ๋ง์ปค๋ฅผ ๋ฐํ์ผ๋ก ๊ฒฝ๋ก๋ฅผ ๊ทธ๋ฆด ์ ์๋์ง
- [[๊ธฐ๋ฅ ํ ์คํธ (socket)|๊ธฐ๋ฅ ํ ์คํธ (socket)]]
- [[๊ธฐ๋ฅ ํ ์คํธ (์ง๋ API)|๊ธฐ๋ฅ ํ ์คํธ (์ง๋ API)]]