๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ“ [2024-10-31] ๊ธฐํš ํšŒ์˜

ํ…Œ์ŠคํŠธ ์ง„ํ–‰ ํ˜„ํ™ฉโ€‹

@Zen :: ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ์„ธํŒ… (vite, tailwind ๋“ฑ), ๋„ค์ด๋ฒ„ ๋งต api ์‚ฌ์šฉํ•ด์„œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ฒƒ, polyline ์‚ฌ์šฉํ•ด์„œ ๋งˆํ‚น ๋˜๋Š”์ง€ ์—ฌ๋ถ€ ํ™•์ธ

[[๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ (socket)|๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ (socket)]]

[[๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ (์ง€๋„ API)|๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ (์ง€๋„ API)]]


๋„ค์ด๋ฒ„ ์ง€๋„ API ๊ด€๋ จโ€‹

๋„ค์ด๋ฒ„์—์„œ @types/navermap ๊ด€๋ จํ•œ ํƒ€์ž…์„ ์ „์ฒด ์ •๋ฆฌํ•ด๋‘ , ์‚ฌ์šฉํ•˜๋ฉด ๋จ

์ค€์ผ๋‹˜ :: tdd๋Š” ๋ฐ˜๋Œ€, ํ…Œ์ŠคํŠธ๋Š” ํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ ์—†์„๋“ฏ,

์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋†“๊ณ  ๋ดค์„ ๋•Œ ํฌํด๋กœ ์“ธ ์ˆ˜ ์žˆ์„์ง€? ํ”„๋ก ํŠธ์—”๋“œ๋Š” ์ธํ„ฐ๋ ‰์…˜, ๋ฐฑ์—”๋“œ๋Š” ์›น์†Œ์ผ“์œผ๋กœ ๋๋‚  ๊ฒƒ ๊ฐ™์Œ

๊ธฐ์ˆ ์ ์œผ๋กœ๋„ ์ฃผ์ œ์ ์œผ๋กœ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ ์—†์„๋“ฏ

โ†’ ์‹œ๋‚˜๋ฆฌ์˜ค ๊ด€๋ จํ•ด์„œ ์ •๋ฆฌ ํ•„์š”

[[์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค by ๊น€์ฃผ์›|์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค by ๊น€์ฃผ์›]]

[[์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค by ์ž„์žฌ๋„|์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค by ์ž„์žฌ๋„]]

[[์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค by ์ •ํ˜œ์ธ|์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค by ์ •ํ˜œ์ธ]]

[[์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค by ์ด๋™์œจ|์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค by ์ด๋™์œจ]]

๐Ÿ“ย ๊น€์ฃผ์›โ€‹

  • ์‚ฌ์šฉ์ž์˜ ๊ทธ๋ฃนํ™” โ†’ ์„ ์€ ๋งˆํŠธ๊ฐ€๋Š” ๊ธธ๋กœ ๋บด๋†“๊ฒ ์–ด.
  • ๊ธธ์„ ์—ฌ๋Ÿฌ๋ฒˆ ๊บพ์ด๊ฒŒ ๊ทธ๋ ธ๋Š”๋ฐ ๊ฒฝ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ์„ ํƒํ•˜๋Š” ๊ฒƒ์€ ๋„ˆ๋ฌด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ๋–จ์–ด์ง„๋‹ค๊ณ  ์ƒ๊ฐ.
  • ์ดˆ๋ก์ƒ‰์ด ๋‘ ์นธ์ด ์žˆ์–ด๋„ ํ•˜๋‚˜ํ•˜๋‚˜

๐Ÿ“ย ์ •ํ˜œ์ธโ€‹

  • ํ•ด๋‹น ์‚ฌ์šฉ์ž๋งŒ ๋ณด๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
  • ์‚ฌ์šฉ์ž๋ณ„๋กœ ์ถœ๋ฐœ์ง€ ๋„์ฐฉ์ง€ ๋งˆ์ปค๋ฅผ ์ฐ๊ณ , ๊ทธ๋ฆผ์œผ๋กœ ์กฐ์ž‘์„ ํ•˜๋Š” ๊ฒƒ.
  • ์ •๋ง ์ €์ž‘๋„๊ตฌ์ฒ˜๋Ÿผ ๊ทธ๋ฆฌ๋Š” ๋Š๋‚Œ
    • ์ง์„  ํˆด ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜๋‚˜ํ•˜๋‚˜ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ๋ณด๋‹ค ์ง์„  ํˆด ์ฒ˜๋Ÿผ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ.

@์ฃผ์› ๊น€ :: ์ด๋ฏธ์ง€๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ ํ˜น์‹œ ์ด๊ฑด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”?

@ํ˜œ์ธ ์ •, @Zen :: ์ง€๋„๊ฐ€ ์ปค์ง€๋ฉด ์ด๋ฏธ์ง€๋„ ์ปค์ ธ์•ผ ํ•ด์„œ ๊นจ์งˆ ์œ„ํ—˜์ด ์žˆ๋‹ค. ํŒŒ์ผ์ด ๋งŽ์•„์ง€๋ฉด ๋กœ๋”ฉ๋„ ์˜ค๋ž˜๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด์„œ ์ด๋ฏธ์ง€๊ฐ€ ๊ฒน์ณค์„ ๋•Œ z-index ์„ค์ • ๋“ฑ์ด ์–ด๋ ค์šธ ๊ฒƒ ๊ฐ™๋‹ค.

๐Ÿ“ย ์ด๋™์œจโ€‹

  • ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅด๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๊ฒฝ๋กœ๋ผ๋ฉด, ํƒญ ๋งŒ๋“ค์–ด์„œ ๋ณด์—ฌ์ค˜๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.
  • ํ•ต์‹ฌ์€ ์—ฌ๋Ÿฌ ๋งˆ์ปค์™€ ์ง€๋„๋กœ ์„ค๋ช…ํ•œ๋‹ค๊ฐ€ ํ•ต์‹ฌ์ธ ๊ฑฐ ๊ฐ™๋‹ค.
    • ๊ตณ์ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ๋ณด๋‚ด๋Š” ์šฉ๋„๊ฐ€ ์•„๋‹ˆ๋ผ, ๋‚ด๊ฐ€ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ์ง€๋„๋ฅผ ์ปค์Šคํ…€ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ์ปค์Šคํ…€์„ ํ•ด๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.
    • ์ฃผ์ œ๊ฐ€ ์‹ฌํ”Œํ•ด์ง€๋ฉด์„œ, ์‹ค์‹œ๊ฐ„์ ์œผ๋กœ ํ•˜๋Š” ๊ฑด ๋‚ด ์œ„์น˜ ์ •๋„๋งŒ ๋“ค์–ด๊ฐ€๊ณ , ํฐ ๊ธฐ์ˆ ๋„ ๋งŽ์ด ์ค„๊ณ , ์ถ•์ œ๋ฅผ ๊ฐ€๊ฑฐ๋‚˜, ๋‚ด๊ฐ€ ๋ชจ๋ฅด๋Š” ์œ„์น˜๋ฅผ ๊ฐ€๊ฑฐ๋‚˜ ํ–ˆ์„ ๋•Œ ๊ทธ ์ฃผ๋ณ€ ์œ„์น˜๋ฅผ ์ž˜ ๋ชจ๋ฅธ๋‹ค.
    • ๋งค๋ฒˆ ํ™•์ธ์„ ํ•ด์•ผํ•˜๋Š”๋ฐ, ์—ฌํ–‰์„ ๊ฐ€๊ธฐ ์ „์— ๋ฏธ๋ฆฌ๋ฏธ๋ฆฌ ๊ทธ๋ ค๋‘๊ณ  ์ด๊ฒƒ๋งŒ ์ฐธ๊ณ ๋ฅผ ํ•œ๋‹ค๋˜์ง€.

๐Ÿ“ย ์ž„์žฌ๋„โ€‹

  • ์ง€๋„ ์œ„์— ๊ทธ๋ฆฌ๋Š” ๊ฑธ๋กœ ๊ตฌ์ƒํ•ด์™”๋Š”๋ฐ, ํ˜œ์ธ๋‹˜์ด ๊ฐ€์ ธ์˜ค์‹  ์„ ์œผ๋กœ ๊ทธ๋ฆฌ๋Š” ์•„์ด๋””์–ด๊ฐ€ ๋” ๋‚˜์€๋“ฏ
  • ์ฒ˜์Œ์—๋Š” ์˜ค์ „์— ์–˜๊ธฐํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ์ด๋ฏธ์ง€๋กœ ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์ง€์šฐ๊ฐœ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ํ˜œ์ธ๋‹˜ ๋งใ…†๋ฏ€๋Œ€๋กœ canvas ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ๋” ์ข‹์„๋“ฏ
  • ํ™”๋ฉด์„ ์ด๋™ํ•ด์„œ ๋ฒ—์–ด๋‚ฌ์„ ๋•Œ๋Š” ๊ทธ๋ฆผ์— ๋Œ€ํ•œ ๋ Œ๋”๋ง์„ ์•„์˜ˆ ํ•ด๋ฒ„๋ฆฌ์ง€ ์•Š๋Š” ๋ฐฉ์‹๋„ ๊ดœ์ฐฎ์„๋“ฏ
  • ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ, ๊ทธ๋ฆผ ๊ธฐ๋Šฅ (๋ฉ”์ธ ๊ธฐ๋Šฅ), ์ง€๋„ ๊ธฐ๋Šฅ (์ง€๋„ ๊ธฐ๋Šฅ์€ api๋กœ ์ถฉ๋ถ„)
  • ๊ธฐ์ˆ ์  ๋„์ „ - ๋ฆฌ์ŠคํŠธํ™” ํ•ด๋‘ , ๊ทธ๋ƒฅ ๋‹ค ์ ์€๊ฑฐ์ž„ (canvas ์‚ฌ์šฉํ•˜์—ฌ ์ตœ์ ํ™”, ๋ฐ˜์‘ํ˜• - ์˜ต์…˜, ์ฝ”๋“œ ํ’ˆ์งˆ ์ •๋„)

10:40 ~ 11:00 : ํŠธ๋ž™ 1 ๐Ÿ‘โ€๐Ÿ—จ๐Ÿ‘€

์„œ๋น„์Šค ๋ช…โ€‹

  • ๋”ฐ๋ผ๊ธธ

  • ๋‚ด๋น„์นœ๊ตฌ

  • ๊ธธ๋™๋ฌด

  • ๊ธธ๋น„์„œ

  • ๋”ฐ๋ผ์™€๊ธธ

  • ์•ˆ๋‚ด์ง€๊ธฐ

  • ๋”ฐ๋ผ์˜ค๊ธธ @์ฃผ์› ๊น€ 2 @๋™์œจ ์ด 2 @Zen 2

  • ์†๋งˆ์ค‘

  • ์†๊ทธ๋ฆผ

  • ์†๊ทธ๋ฆผ๋”ฐ๋ผ?

  • ์†๊ธธ

  • ์†๊ธธ๋”ฐ๋ผ

  • ๊ทธ๋ฆผ๋”ฐ๋ผ๊ธธ

  • ์ด๊ธธ์ €๊ธธ

  • ๋”ฐ๋ผ๊ฐ€๋Š”๊ธธ

  • ๊ทธ๋ฆผ๋”ฐ๋ผ

  • ๋”ฐ๋ผ์ง€๋„

  • ์†๋”ฐ๋ผ๊ธธ๋”ฐ๋ผ

  • ์„ ๋”ฐ๋ผ๊ธธ๋”ฐ๋ผ @Zen : 3 @๋™์œจ ์ด 3 @์ฃผ์› ๊น€ 3 @ํ˜œ์ธ ์ • ์ œ ์˜๊ฒฌ ํ•„์š”์—†์Œโ€ฆโ€ฆ.

  • ์ค‘์žฅ๋…„์ธต ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ๊ธธ ์•ˆ๋‚ด๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ์›น์„œ๋น„์Šค


๊ฒฐ๋ก โ€‹

ํŒ€๋ช… : ๋”ฐ๋ผ๋”ฐ๋ผ

ํ”„๋กœ์ ํŠธ ์ œ๋ชฉ : ์„ ๋”ฐ๋ผ ๊ธธ๋”ฐ๋ผ (DDara)

ํ”„๋กœ์ ํŠธ ํ•œ ์ค„ ์†Œ๊ฐœ : ์ค‘์žฅ๋…„์ธต ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ๊ธธ ์•ˆ๋‚ด๋ฅผ ๋ฐ›๊ฒŒ ํ•ด์ฃผ๋Š” ๋ชจ๋ฐ”์ผ ์›น์„œ๋น„์Šค

๊ธฐ์ˆ  ํ‚ค์›Œ๋“œ : #์ง€๋„, #์ €์ž‘๋„๊ตฌ, #์‹ค์‹œ๊ฐ„ ์œ„์น˜

๊นƒํ—ˆ๋ธŒ ๋งํฌ : https://github.com/boostcampwm-2024/web28-DDara


20241101(๊ธˆ)๊นŒ์ง€ ํ•ด์•ผ ํ•  ์ผโ€‹

  1. @ํ˜œ์ธ ์ • ํ”ผ๊ทธ๋งˆ ๊ธฐํš์„œ ์ˆ˜์ •
  2. @ํ˜œ์ธ ์ • ๋ฆฌ๋“œ๋ฏธ ์ž‘์„ฑ
  3. @์ฃผ์› ๊น€ @๋™์œจ ์ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ ์ •๋ฆฌ โ†’ ๊ธฐ๋Šฅ ์ถ”์ถœ
  4. @Zen ๋ฉ˜ํ† ๋‹˜๊ป˜ ์ „๋‹ฌ ๋“œ๋ฆด ๋ฌธ์„œ ์ž‘์„ฑ
  5. @Zen 20241101 ๋ฐœํ‘œ ์ค€๋น„

20241104(์›”)๊นŒ์ง€`โ€‹

  1. ์ปค๋ฐ‹ ์ „๋žต ๋ฐ ์ฝ”๋“œ ์ปจ๋ฒค์…˜
  2. ์—์–ด๋น„์•ค๋น„ : https://github.com/airbnb/javascript (๋ฒˆ์—ญ๋ณธ : https://github.com/ParkSB/javascript-style-guide)
  3. ๋„ค์ด๋ฒ„ : https://github.com/naver/eslint-config-naver/blob/master/STYLE_GUIDE.md
  4. JavaScript Standard Style : https://standardjs.com/readme-kokr.html
  5. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ โ†’ ์˜ต์…˜ ์–ด๋–ป๊ฒŒ ์ค„๊ฑด์ง€
  6. ํ…Œ์ŠคํŠธ ์ „๋žต
  7. ์Šคํ† ๋ฆฌ๋ถ ์‚ฌ์šฉ๋ฒ• ์ตํ˜€์˜ค๊ธฐ
  • ๊ฐ์ž ํ•ด์˜ค๊ธฐ๋กœ (ํ”„๋ก ํŠธ)
  1. (๋ฐฑ์—”๋“œ) ํ˜œ์ธ๋‹˜๋„ ์Šค์›จ๊ฑฐ ์ตํ˜€์˜ค๊ธฐ
  2. Vitest

Vitest ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๊ธฐ

  1. Github action โ†’ ์ž๋™ํ™”
  2. ์ž๋™ํ™” ๋ฐฐํฌ ์–ด๋–ป๊ฒŒ ํ• ๊ฑด์ง€ โ†’ ์ •ํ•ด์˜ค์‹œ๋ฉดโ€ฆ ํŽธํ•˜์‹ ๊ฑธ๋กœโ€ฆ
  3. FE ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ โ†’ Vercel ์ด์šฉํ•˜๊ธฐ
  • @Zen :: ๋„๋ฉ”์ธ ์‚ด๊บผ์—์š”? โ†’ ์ž„์‹œ๋„๋ฉ”์ธ ์ด์šฉํ•˜๊ธฐ
  • CloudFlare(DNS) โ†’ Vercel(Proxy, Router) โ†’ ์ •์ ๋ฐฐํฌ
  • ๋ฒ„์…€์ด ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋นŒ๋“œ๋˜๋Š”์ง€ ์•ˆ๋˜๋Š”์ง€
  • ๊ทธ๋ž˜์„œ ํ•ญ์ƒ ์ฝ”๋“œ PR ๋‚ ๋ฆฌ๊ธฐ ์ „์— ts build ํ•ด๋ณด์…”์•ผ ๋จ.
  1. WAS โ†’ ํ˜œ์ธ๋‹˜ ์žฌ๋Ÿ‰
  • @ํ˜œ์ธ ์ •

  • ์›”์š”์ผ ๋ชฉํ‘œ๋Š” ํ™˜๊ฒฝ์„ค์ • ๋๋‚ด๊ธฐ

  • ๋งŒ์•ฝ์— ์•ˆ์ ์€๊ฑฐ ์ž‡์–ด๋„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์€๊ฑฐ ์žˆ์œผ๋ฉด ์ฆ‰๊ฐ์ฆ‰๊ฐ ์Šฌ๋ž™์— ๊ณต์œ .

  • Zep์€ ํ•ญ์ƒ ์—ด๋ ค์žˆ์–ด์š” ์—ฌ๋Ÿฌ๋ถ„.. ์™€์ฃผ์„ธ์š”โ€ฆ.

  • ์ €ํฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์–ด์ œ ํ•ด์˜ค์‹ ๊ฒƒ์ฒ˜๋Ÿผ ๊ฐ€๋Šฅํ•˜๋ฉด ์กฐ๊ธˆ์”ฉ ํ•ด๋„ ์ข‹์•„์š”.

ํƒœ๊ทธ ์ด๋ฆ„์„ค๋ช…
Feat์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ
Fix๋ฒ„๊ทธ๋ฅผ ๊ณ ์นœ ๊ฒฝ์šฐ
DesignCSS ๋“ฑ ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ
!BREAKING CHANGE์ปค๋‹ค๋ž€ API ๋ณ€๊ฒฝ์˜ ๊ฒฝ์šฐ
!HOTFIX๊ธ‰ํ•˜๊ฒŒ ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ๋ฅผ ๊ณ ์ณ์•ผํ•˜๋Š” ๊ฒฝ์šฐ
Style์ฝ”๋“œ ํฌ๋งท ๋ณ€๊ฒฝ, ์„ธ๋ฏธ ์ฝœ๋ก  ๋ˆ„๋ฝ ๋“ฑ ์ฝ”๋“œ ์ˆ˜์ •์ด ์—†๋Š” ๊ฒฝ์šฐ
Refactorํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
Commentํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ
Docs๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ
Testํ…Œ์ŠคํŠธ ์ถ”๊ฐ€, ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง
Chore๋นŒ๋“œ ํ…Œ์ŠคํŠธ ์—…๋ฐ์ดํŠธ, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ (ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ X)
RenameํŒŒ์ผ ํ˜น์€ ํด๋”๋ช…์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…๋งŒ์ธ ๊ฒฝ์šฐ
RemoveํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ