Skip to content

201125 team meeting

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

์ž‘์„ฑํ•œ ๋ฌธ์„œ & ์ง„ํ–‰์ƒํ™ฉ

  • ๋ฐฑ๋กœ๊ทธ + ๋กœ๋“œ๋งต + ๊ธฐ์ˆ ์ •๋ฆฌ

์งˆ๋ฌธ

  • ์ธ์ฆ ๋ฐฉ๋ฒ• (rest api + graphql?)

    • ๊ฒฐ๋ก : apollo server ์—์„œ ์‚ฌ์šฉ์ž ์ธ์ฆ์ด ํ•„์š”ํ•œ api๋ฅผ ๋”ฐ๋กœ ๋ถ„๋ฆฌํ•จ (REST API๋กœ)
    • ๊ธฐ์กด์— REST API๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ์‹๊ณผ apollo server์—์„œ ์ธ์ฆ์ด ํ•„์š”ํ•œ ์ฟผ๋ฆฌ๋งˆ๋‹ค ์ธ์ฆ ๋กœ์ง์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ฏผํ•จ
    • ์•„ํด๋กœ ๊ณต์‹ ๋ธ”๋กœ๊ทธ์—๋„ ํ•ด๋‹น ๊ด€๋ จ ๊ฒŒ์‹œ๊ธ€์ด ์žˆ์–ด ์ฐธ๊ณ ํ–ˆ๋Š”๋ฐ ๋งˆ์นจ ์šฐ๋ฆฌ๊ฐ€ ๊ณ ๋ฏผํ•˜๋˜ ๋‘ ๋ฐฉ์‹์„ ์„ค๋ช…
    • ๊ฒฐ๊ณผ์ ์œผ๋กœ apollo server๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉด์„œ ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž…์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž ๊ถŒํ•œ(ํ† ํฐ)์ด ํ•„์š”์—†๋Š” API์ด๊ธฐ ๋•Œ๋ฌธ์— REST API๋กœ ๋ถ„๋ฅ˜ํ•˜๊ณ  ๊ทธ ์™ธ์— ๋ชจ๋“  graphql ์ฟผ๋ฆฌ๋Š” context ์„ค์ •์—์„œ ํ† ํฐ์„ ๊ฒ€์‚ฌ (access token ์žฌ๋ฐœ๊ธ‰ ์ฟผ๋ฆฌ๋งŒ ์ œ์™ธ)
  • ๊ตฌ๊ธ€๋งต, naver direction5 ๊ฐ™์ด ์“ฐ๋Š”๊ฑฐ์— ๊ด€ํ•˜์—ฌ

    • ์ง€๋„ ๋„์šธ๋•Œ๋Š” ๊ตฌ๊ธ€๋งต์„ ์‚ฌ์šฉ
    • naver direction5์˜ ๊ฒฝ๋กœ๊ณ„์‚ฐ, ๊ฒฝ์œ ์ง€, ํƒ์‹œ์š”๊ธˆ ๊ธฐ๋Šฅ ์‚ฌ์šฉ
    • ์˜ˆ๋ฅผ ๋“ค์–ด, naver direction5์—์„œ ์–ป์€ ์ขŒํ‘œ๊ฐ’(๋ฐฐ์—ด)์„ ์ด์šฉํ•ด์„œ ๊ตฌ๊ธ€๋งต์— ํ•ด๋‹น ๊ฐ’์œผ๋กœ ๋„์šธ ๊ณ„ํš
  • refresh token ์ €์žฅ์œ„์น˜์— ๊ด€ํ•˜์—ฌ

    • ์„œ๋ฒ„ ์ชฝ์—๋งŒ ์ €์žฅ VS ํด๋ผ์ด์–ธํŠธ + ์„œ๋ฒ„ ์ชฝ์— ์ €์žฅ
    • ์„œ๋ฒ„ ์ชฝ์—๋งŒ ์ €์žฅํ•ด์•ผ ๋œ๋‹ค๋Š” ์˜๊ฒฌ์˜ ๋’ท๋ฐ›์นจ
      • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ† ํฐ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ํƒˆ์ทจ๋‹นํ•  ์šฐ๋ ค๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์„œ๋ฒ„์— ์ €์žฅ์„ ํ•ด์•ผํ•œ๋‹ค. - CY
    • ๋‘˜ ๋‹ค ์ €์žฅํ•ด์•ผ ๋œ๋‹ค. - JH
      • ์„œ๋ฒ„๋งŒ ์ €์žฅํ•˜๊ณ  ์žˆ์œผ๋ฉด ์•ก์„ธ์Šค ํ† ํฐ์ด ํƒˆ์ทจ๋  ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์•„์›ƒ ํ•˜๊ธฐ ์ „๊นŒ์ง€ ๋ณ„ ๋‹ค๋ฅธ ๊ฒ€์‚ฌ์—†์ด ์—‘์„ธ์Šค ํ† ํฐ์„ ์žฌ๋ฐœ๊ธ‰ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
      • ๋‘˜ ๋‹ค ์ €์žฅํ•˜๊ณ  ์žˆ์„ ๊ฒฝ์šฐ ์•ก์„ธ์Šค ํ† ํฐ์„ ์žฌ๋ฐœ๊ธ‰ ๋ฐ›์„ ๋•Œ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ† ํฐ๋„ ๊ฐ™์ด ๋ณด๋‚ด์ค˜์„œ ์„œ๋ฒ„์ชฝ์— ์ €์žฅ๋œ ๋ฆฌํ”„๋ ˆ์‰ฌ ํ† ํฐ์ด๋ž‘ ๋น„๊ต ํ›„ ์ผ์น˜ํ•œ๋‹ค๋ฉด ์•ก์„ธ์Šค ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•˜๋ฉด ๋ณด์•ˆ์ ์œผ๋กœ ์กฐ๊ธˆ ๋” ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ ๋‹ค.

๋ฉ˜ํ† ๋‹˜๊ณผ์˜ ๋ฏธํŒ…

์ง€๋‚œ์ฃผ์— ์ž‘์„ฑํ•œ ๋‚ด์šฉ/๋ฌธ์„œ ๋ฐœํ‘œ

  • ๋ฐฑ๋กœ๊ทธ

  • ๋กœ๋“œ๋งต

    • ์ง„ํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์น ํ•˜์ง€ ์•Š๊ณ  ๋ฏธ๋ฆฌ ์ผ์ •๋“ค์„ ์น ํ•˜๋„๋ก ์ˆ˜์ •ํ•˜๋Š”๊ฒŒ ์ข‹์•„๋ณด์ž„ (์–ด๋–ค ์—…๋ฌด๋ฅผ ๋ˆ„๊ฐ€ ์–ธ์ œํ•˜๋Š”์ง€ ํ•œ ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ถ”์ฒœํ•จ)
  • ๊ธฐ์ˆ ์ •๋ฆฌ

ํ”ผ๋“œ๋ฐฑ

  • ํšŒ์›๊ฐ€์ž…ํ•  ๋•Œ ์–ด๋–ค ํ˜•์‹์œผ๋กœ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š”์ง€?
    • rest API(saga) + graphql
      • ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ํž˜๋“ค๊ฒƒ ๊ฐ™์Œ
      • graphql๋กœ ๋‹ค ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค
        • apollo directive ์‚ฌ์šฉ
    • ๋ฏธ๋“ค์›จ์–ด์— freepass๋ฅผ ์ด์šฉํ•ด์„œ freepass์˜ ์œ ๋ฌด์— ๋”ฐ๋ผ์„œ ์ธ์ฆ์„ ํƒ€๊ฑฐ๋‚˜ ํƒ€์ง€ ์•Š๋„๋ก graphql์—์„œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ

์ฝ”๋“œ ๊ณต์œ 

  • directive ๊ธฐ๋Šฅ
  • @ ๋ถ™์ด๋ฉด ํŠน์ • ํ•จ์ˆ˜๋ฅผ ํƒ„๋‹ค
  • ํŠน์ • ์ฟผ๋ฆฌ์ „์— ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•ด์ฃผ๋Š” ๊ฒƒ

์—ด์‹ฌํžˆ ํ•˜๊ณ  ๊ณ„์‹œ๋„ค์š” :)

๊ธฐ์ˆ ์Šคํƒ

  • ๊ธฐ์ˆ ์Šคํƒ์— ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ์„ ๋”ฐ๋กœ๋”ฐ๋กœ ์ ์–ด๋†จ๋Š”๋ฐ ๋”ฐ๋กœ ๋ฐ›์•„์„œ ์‚ฌ์šฉํ• ๊นŒ๋ด ๋ฌผ์–ด๋ด„
  • ํ•˜๋‚˜์˜ ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค ์ง€์›ํ•ด์คŒ

Q&A

  1. ๊ตฌ๊ธ€๋งต์—์„œ ๊ฒฝ๋กœ ๊ณ„์‚ฐ์ด ํ•œ๊ธ€๋กœ ์•ˆ๋จ
  • โ†’ ๊ตฌ๊ธ€๋งต์ด๋ž‘ ๋„ค์ด๋ฒ„ ๊ฐ™์ด ์“ฐ๊ธฐ
    • ๊ตญ๋‚ด์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•œ๋‹ค๊ณ  ํ•ด๋„ GPS๋ฅผ ์ž„์˜๋กœ ์„ค์ •ํ• ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋„ค์ด๋ฒ„๋งต์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด์™ธ์—์„œ ํ•˜๋„๋ก
    • ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ sensors ์‚ฌ์šฉ
  1. refresh token
  • refresh token ์ด 14์ผ์ด๋ฉด ํด๋ผ์ด์–ธํŠธ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • localstorage๊ฐ€ ์•„๋‹Œ cookie๋กœ
  • passport๊ฐ€ ์„ธ์…˜ ๊ธฐ๋ฐ˜์ด๋‹ค
    • stateless๋ฅผ ์“ธ์ˆ˜๋Š” ์—†์Œ
    • ๊ทธ๋ž˜์„œ ์„ธ์…˜์ด ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ฒŒ ๊ณ ๋ฏผํ•  ํ•„์š” ์—†์Œ
    • ์„œ๋ฒ„์—์„œ ํŒ๋‹จ์„ ํ•œ๋‹ค
    • ์ฟ ํ‚ค์„ธ์…˜์„ ๋ฐ›์•„์„œ ํ™•์ธํ•˜๊ธฐ ๋•Œ๋ฌธ์—
  • ๋กœ๊ทธ์ธ ๋ณด๋‹ค๋Š” ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์— ๋” ์ค‘์ ์„ ๋‘๋„๋ก!!

๐Ÿ“† Planning

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

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

๐Ÿ“š Ground Rule

Clone this wiki locally