Skip to content

201202 team meeting

Jongeun Kim edited this page Dec 9, 2020 · 1 revision

๋ฉ˜ํ† ๋‹˜๊ณผ ๋‘๊ทผ๋‘๊ทผ ๋ฏธํŒ…

์งˆ๋ฌธ

  • ๋งค์นญํ•˜๊ณ  ์ฑ„ํŒ…๊นŒ์ง€ ๊ตฌํ˜„~?

    • ๋„ต
  • ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋Œ€๋‹ต์€ Apollo spec์„ ์‚ดํŽด๋ด์•ผํ•จ -> ์„ฑ๋Šฅ ๊ด€๋ จ์€ ์ผ๋‹จ ๋ณด๋ฅ˜ํ•˜๊ณ  ์ฐพ์•„๋ณด๊ณ  ๋‹ค์‹œ ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ๊ฒ ๋‹ค

    • ๋ถ€๋ถ„์ ์œผ๋กœ ๋ณด๋‚ด๋Š”๊ฒŒ subscription์— ์žˆ์„๊ฒƒ์ž„
    • spec?

๋ฐœํ‘œ์ž๋ฃŒ ๋ญ˜ ์‚ฌ์šฉ?

  • ๋…ธ์…˜

๋‹ค์Œ์ฃผ์—๋„ ์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐœํ‘œ์—์ฃผ์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์‹ค์‹œ๊ฐ„ ๊ธฐ๋Šฅ์€ subscription์„ ์‚ฌ์šฉ?

  • ๋„ต

๋ฐฐํฌ ์–ด๋””๋กœ?

  • ๋„ค์ด๋ฒ„ n cloud

๋”ฐ๋กœ ์„œ๋ฒ„๊ฐ€ ์ œ๊ณต๋˜์—ˆ๋Š”์ง€?

  • ํฌ๋ž˜๋”ง ์ฃผ์…”์„œ naver n cloud๋กœ ๋ฐฐํฌํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๋ฉ˜ํ† ๋‹˜์ด ์š”๊ตฌํ•˜์‹  ๊ณผ์ œ(?)

  • ๋„ค์ด๋ฒ„ n cloud์—๋‹ค๊ฐ€ ๊ธˆ์š”์ผ ์˜คํ›„๊นŒ์ง€ ์„œ๋ฒ„์— ๋ฐฐํฌ
  • ๊ตฌํ˜„ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ๋„๋ก

๋‹ค๋ฅธ ํŒ€๋“ค ๋ฐœํ‘œ

BํŒ€

  • subscription์œผ๋กœ ๊ตฌํ˜„ ํ•˜๋ฉด์„œ ๋“œ๋ผ์ด๋ฒ„์—๊ฒŒ ์š”์ฒญ์ด ๊ณ„์† ์˜ฌ ๋•Œ ์–ด๋–ป๊ฒŒ ๋Œ€์ฒ˜ํ• ์ง€.
    • ํ๋ฅผ ์ด์šฉํ•ด์„œ ์ €์žฅํ–ˆ๋‹ค๊ฐ€ ๋ณด์—ฌ์ฃผ๋„๋ก (๋ฐ์ดํ„ฐ ๋„˜์–ด์˜ฌ ๋•Œ๋งˆ๋‹ค ํ์— ๋„ฃ๊ณ  ํ•˜๋Š” ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผํ•ด์„œ useEffect๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์‚ฌ์šฉ)
    • useEffect๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ๋ฌธ์ œ๊ฐ€ ์—†๋Š”์ง€?

Q: ํ๋ฅผ ์™œ ์‚ฌ์šฉ? (์–ด๋–ค ์ž‘์—…์„ ํ•˜๊ณ  ์‹ถ์–ด์„œ?) - ์˜ค๋”๋“ค์„ ํ์— ์ˆœ์ฐจ์ ์œผ๋กœ ๋„ฃ๊ณ  ๋Œ€๊ธฐํ•˜๋‹ค๊ฐ€ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์„œ ๋ณด๋‚ด์คŒ - useEffect๋ฅผ ์“ธ ์ˆ˜ ๋ฐ–์— ์—†๋Š” ์ž‘์—…์ด๊ณ  3๊ฐœ๋Š” ๋งŽ์ง€๋Š” ์•Š์Œ - ์ด ๋กœ์ง์„ ๋‹ค๋ฅธ ๊ณณ์—์„œ๋„ ์“ธ ์ผ์ด ์—†์„ ๊ฒƒ ๊ฐ™์œผ๋‹ˆ customHook์„ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ ๋  ๊ฒƒ ๊ฐ™์Œ - *** useCallback์œผ๋กœ ์„ฑ๋Šฅ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Œ ***

Q: ์š”์ฒญ์ด ๋„ˆ๋ฌด ์ถ”์ƒ์  - ์‚ฌ์šฉ์ž ๋งค์นญ์„ ์œ„ํ•œ ์š”์ฒญ. ํ•˜๋‚˜์˜ ๊ณ ๊ฐ์— ๋Œ€ํ•œ ์š”์ฒญ.

CํŒ€

Q: subscription์„ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ๋‹ค์ˆ˜์˜ ๋ผ์ด๋”๊ฐ€ ๋งค์นญ ์š”์ฒญ์„ ๋“œ๋ผ์ด๋ฒ„์—๊ฒŒ ๋ฌธ์ œ์—†์ด ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š”๊ฐ€ ๊ณ ๋ฏผ. (๊ฑฐ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ)์™€์šฐ -

Q: ๋“œ๋ผ์ด๋ฒ„๋ฅผ ํ˜ธ์ถœํ•˜๋Š”๋ฐ ๊ฑฐ๋ฆฌ๊ธฐ๋ฐ˜์œผ๋กœ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ •๋ ฌํ•ด์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋“œ๋ผ์ด๋ฒ„ ๋ถ€ํ„ฐ ํ•œ๋ช… ์”ฉ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ๊ณผ, ๊ทผ์ฒ˜ ๋“œ๋ผ์ด๋ฒ„์—๊ฒŒ ๋ชจ๋‘ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ ์ค‘ ์–ด๋Š ๊ฒƒ์ด ๋” ์ข‹์„์ง€? - ํŒ€ ๊ฒฐ๋ก : ํ•œ๋ฒˆ์— ํ•œ ๋ช…์”ฉ ๋ณด๋‚ด๊ธฐ๋กœ ํ–ˆ๋Š”๋ฐ ๊ดœ์ฐฎ์„๊นŒ์š”? (๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋“œ๋ผ์ด๋ฒ„์—๊ฒŒ ๋จผ์ € ๋ณด๋‚ด๊ณ  ๋ฐ˜์‘์„ ํ™•์ธ ํ›„ ๊ทธ ๋‹ค์Œ ๋“œ๋ผ์ด๋ฒ„์—๊ฒŒ ๋ณด๋‚ธ๋‹ค(?)) - redis๋ผ๋Š” DB ์‚ฌ์šฉํ•˜๋ฉด sngle thread๋ผ์„œ ๋™์‹œ์— ์ˆ˜๋ฝํ•˜๋Š” ์ผ์ด ์—†์Œ - ํšจ์œจ์ ์ธ๊ฒƒ์€ ์ „์ฒด ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ• - DB๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํƒ€์ด๋ฐ ์ด์Šˆ๊ฐ€ ๋‚  ์ˆ˜ ๋ฐ–์— ์—†์Œ(redis๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฑฐ์˜ ๋‚  ์ผ์ด ์—†๋‹ค) - ๋ชฝ๊ณ ๋””๋น„์—์„œ ์ „์ฒ˜๋ฆฌ ๋‹จ๊ณ„๋ฅผ ๋งŒ๋“ค์–ด์„œ ์ƒํƒœ ์ฒดํฌ๋ฅผ ์ง„ํ–‰ํ•œ ๋‹ค์Œ์— update๋ฅผ ํ•˜๋„๋ก ํ•˜๋ฉด ๊ดœ์ฐฎ์ง€ ์•Š์„๊นŒ - *** ์ „์ฒ˜๋ฆฌ ๋งŒ๋“ค๋˜๊ฐ€ ๋””๋น„๋ฅผ ๋ฐ”๊พธ๋˜๊ฐ€. - *** ์ƒํƒœ๊ฐ’ ์ฒดํฌํ•ด์„œ ์ˆ˜๋ฝ์ด ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์—๋งŒ ์ˆ˜๋ฝํ•˜๋„๋ก ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Œ - ์ „์ฒ˜๋ฆฌ ํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ๋‚  ์ˆ˜๋„ ์žˆ์„๊นŒ์š”? - ๋‚  ์ˆ˜ ์žˆ์ง€๋งŒ ์ง€๊ธˆ ์ˆ˜์ค€์—์„œ๋Š” ๋‚  ์ผ์ด ์•„๋‹ˆ๋‹ค. ์ด๊ฑฐ์— ๋„ˆ๋ฌด ์‹ ๊ฒฝ์“ธ ์ผ์ด ์•„๋‹ˆ๋‹ค. ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ์—์„œ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ธˆ ์ƒํ™ฉ์—์„œ๋Š” ๊ฑฐ์˜ ๋ฐœ์ƒํ•  ์ผ์ด ์—†์„๊ฒƒ์ž„(๋ชฝ๊ณ ๋””๋น„๊ฐ€ ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ ๊ธฐ๋ฐ˜์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—) - ์ง€๊ธˆ์€ ๊ทธ๊ฒƒ๊นŒ์ง€ ๊ณ ๋ ค ์•ˆํ•ด๋„ ๋ผ์š”์˜น~ ํ•˜์ง€๋งŒ ๊ณ ๋ฏผ ํฌ์ธํŠธ๋Š” ์ข‹์Œ. - ์‹œ๊ฐ„์ด ์ ๊ธฐ ๋•Œ๋ฌธ์— redis ์“ฐ๋Š”๊ฒƒ์€ ์ถ”์ฒœํ•˜์ง€ ์•Š์Œ. ๋‹ค ๋งŒ๋“ค๊ณ  ๋‚˜์„œ๋„ ๊ถ‚์ด ๊ณ ๋ คํ•˜์ง€ ์•Š์•„๋„ ๋จ

๊ทผ๋ฐ ์ด ๋ถ€๋ถ„์€ ์ €ํฌ๋Š” ํ•ด๊ฒฐํ•ด์„œ ๊ดœ์ฐฎ์€๊ฑฐ ๊ฐ™๋„ค์š” -์šฐ๋ฆฌํŒ€ ์งฑ- ๋งž์•„์š”!!ใ…‹ใ…‹ใ…‹ ๋„ค์—ก! ์ €ํฌ๋Š” ๋ฆฌ์ŠคํŠธ์— ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋˜์„œ ์ด๋Ÿฐ ๋ฌธ์ œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์„๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Q: ๋น„์Šทํ•œ ์œ„์น˜์˜ ๋‘ ๋ช…์˜ ๋ผ์ด๋”๊ฐ€ ๋™์‹œ์— ์š”์ฒญ์„ ํ•˜์—ฌ

  1. publish ๋งˆ๋‹ค ๋“œ๋ผ์ด๋ฒ„์—๊ฒŒ ์•Œ๋ฆผ์ฐฝ์ด ๋œจ๋ฉด, ๋จผ์ € ์š”์ฒญ์„ ๋ณด๋‚ธ ๋ผ์ด๋”์˜ ์•Œ๋ฆผ์ด ๋Šฆ๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ธ ๋ผ์ด๋”์˜ ์•Œ๋ฆผ์— ๋ฎ์–ด์ง„๋‹ค.
  2. ๋“œ๋ผ์ด๋ฒ„ ์ธก์—์„œ ์•Œ๋ฆผ์ฐฝ์ด ๋–ด์„ ๋•Œ
  • ์‹ค์ œ ์„œ๋น„์Šค์—์„œ๋„ ๊ทธ๋ ‡๊ฒŒ๊นŒ์ง€ ํ•˜์ง€ ์•Š์Œ
  • ํ์— ๋„ฃ๋˜ ์„œ๋ฒ„์—์„œ ์กฐํšŒ์—์„œ ๋งค์นญ์ด ๋ฌ๋Š”์ง€ ์•ˆ๋ฌ๋Š”์ง€ ํ™•์ธํ•ด์„œ ๊ฐ€๋Šฅํ•˜๋ฉด ์ดํ›„ ์ฒ˜๋ฆฌ

์ถ”์ฒœํ•ด์ฃผ์‹œ๋Š” ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์„ ์ €ํฌ๊ฐ€ ํ–ˆ๋„ค์š”!! :) ์—ญ์‹œ ์šฐ๋ฆฌํŒ€..

์ง„์งœ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๋ฉด ๋„ˆ๋ฌด ์ข‹์€ ๊ณ ๋ฏผ์ด์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ ์„œ๋น„์Šค๋ฅผ ํ•˜๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์„œ ์‹œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ฒŒ ์ค‘์š”ํ•˜์ง€ ์•Š์Œ.

Q: mutation, subscription ์‚ฌ์šฉํ•  ์ผ์ด ์žˆ์–ด์„œ ์—๋Ÿฌ๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒ. ์—๋Ÿฌ๋ฅผ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ์ด ์žˆ๋Š”์ง€? - ์ง€๊ธˆ์€ ์–ด๋–ป๊ฒŒ ํ•˜๊ณ  ์žˆ๋Š”์ง€? - ์—๋Ÿฌ๋ฅผ ๋ฐ›์•„์„œ ๋ฐ›์€ ๊ฒฐ๊ณผ ๊ฐ’์— ๋”ฐ๋ผ ๋ณด์ด๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‹ค๋ฅด๋„๋ก ํ•˜๊ณ  ์žˆ์Œ - -> graphql ์•„๋‹ˆ๋”๋ผ๋„ ์„œ๋ฒ„์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์—๋Ÿฌ ์ปจ๋ฒค์…˜์„ ์ •ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์— toast๋กœ ๋ณด๋‚ด์คŒ.
- ์ €ํฌ๋Š” result, error๋ฅผ ๊ณตํ†ต์œผ๋กœ ๋ณด๋‚ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„ ์ชฝ์—์„œ error ๋ฉ”์„ธ์ง€๋ฅผ ์ž˜ ์ •ํ•ด์„œ ๋ณด๋‚ด์ฃผ๋ฉด ๊ทธ๊ฑธ๋กœ toast ๋„์›Œ์ฃผ๋Š” ๊ฒƒ๋„ ๊ดœ์ฐฎ์•„๋ณด์ด๋„ค์š” - ์ €ํฌ ์ด๋ฏธ ๋˜์–ด ์žˆ์ง€ ์•Š์•„์šฅ? serverMessage๋กœ~? - ๋„ค ๊ทผ๋ฐ ์‹ค์งˆ์ ์œผ๋กœ ์„œ๋ฒ„์—์„œ ๋ณด๋‚ธ message๋ฅผ ํด๋ผ์ด์–ธํŠธ์—์„œ ์“ฐ์ง€ ์•Š๋Š”๊ฑฐ ๊ฐ™์•„์„œ์š” ใ…‹ใ…‹ใ…‹ - ์•„ํ•ญ ๊ทธ๋ ‡๋„ค์š”ใ…‹ใ…‹ใ…‹

๋ฉ˜ํ† ๋‹˜์˜ ์ดํ‰

์‹ค๋ฌด๋ฅผ ๋“ค์–ด๊ฐ€๋”๋ผ๋„ ํŠน์ • ํฌ์ธํŠธ์— ๋งค๋ชฐ๋˜๊ธฐ ๋ณด๋‹จ ๋ญ๊ฐ€ ์ค‘์š”ํ•œ์ง€๋ฅผ ์ž˜ ํŒ๋‹จ(ํ•ต์‹ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„์ด๊ฒ ์ฃ ?)

์ด๋Ÿฐ ๋ถ€๋ถ„์—์„œ ๋ดค์„ ๋•Œ AํŒ€์€ ๋ฐฉํ–ฅ์„ฑ์„ ์ž˜ ์žก๊ณ  ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค!!! ๊บ„์•„์•„์•„์•„ >_<

๋ฌผ๋ก  ๊ณ ๋ฏผ ํฌ์ธํŠธ๋Š” ์ข‹์ง€๋งŒ, ํ•ต์‹ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์™„๋ฃŒํ•œ ํ›„์— ๊ทธ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•„๋ณผ ๊ฒƒ

์—๋Ÿฌ ๊ด€๋ จ๋˜์„œ ์ดˆ๋ฐ˜์—๋Š” ๋ญ๋ฅผ ๋”ฑ ์ •ํ•ด์„œ ํ•œ๋‹ค๊ธฐ๋ณด๋‹จ ๊ทธ๋ƒฅ ์—๋Ÿฌ stacktrace๋ฅผ ๋ณด๋‚ด์ฃผ๋Š”๊ฒŒ ๋‚ซ๋‹ค(๋ฌธ์„œํ™”๊ฐ€ ์ž˜ ๋˜์–ด์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ ๊ฐ์ฒด๋ฅผ ๋ณด๋‚ด์ฃผ๋Š”๊ฒŒ ๋” ์—๋Ÿฌ๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค) -> ์‹ค์„œ๋น„์Šค๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์ค€ ํ”ผ๋“œ๋ฐฑ์ด๋‹ค.

ํ˜‘์—…์„ ํ•˜๋ฉด์„œ ์ด์Šˆ ๊ณต์œ ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋น ๋ฅด๊ฒŒ ํ•˜๋Š”๊ฒŒ ์ค‘์š”!! (ํ˜ผ์ž ๋Œ์–ด์•ˆ๊ณ  ๊ณ ๋ฏผํ•˜์ง€ ๋ง๊ณ  ์ ๊ทน์ ์œผ๋กœ ๋งํ•˜๊ณ  ํ•ด๊ฒฐํ•  ๊ฒƒ)

์ด์Šˆ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ณต์œ ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋ ค๋Š” ํƒœ๋„๊ฐ€ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค. -> ๋”ฑ ์ด์Šˆ๋งŒ ํ•ด๊ฒฐํ•˜๋Š” ์‚ฌ๋žŒ์ด ์žˆ๊ณ , ๊ทธ ์ด์Šˆ๋ฅผ ํ†ตํ•ด ๋” ๋ฐœ์ „์‹œํ‚ฌ ๋ฌด์–ธ๊ฐ€๊ฐ€ ์žˆ๋Š”์ง€ ์ƒ๊ฐํ•˜๊ณ  ๋ฐœ์ „์‹œ์ผœ๋‚˜๊ฐ€๋Š” ํƒœ๋„๊ฐ€ ์ข‹๋‹ค!

cloneCoding -> nomadcoder

๐Ÿ“† Planning

๐Ÿ‘จโ€๐Ÿ’ป Agile Process

Daily Scrum
์ฃผ์ฐจ๋ณ„ ํšŒ๊ณ 
์ฃผ์ฐจ๋ณ„ ํ”ผ์–ด์„ธ์…˜
๊ธฐ์ˆ ๊ด€๋ จ ๋‚ด์šฉ ๋…ผ์˜
๋ฉ˜ํ† ๋‹˜๊ณผ์˜ ๋‘๊ทผ๋‘๊ทผ ๋ฏธํŒ…

๐Ÿ“š Ground Rule

Clone this wiki locally