Skip to content
Su Yong Chang edited this page Nov 8, 2021 · 2 revisions

๊ธฐ๋Šฅ ์ค„์ด๊ธฐ

  1. ํŒ€ ๋ณด๋“œ
  2. ํŒ€ ์ฑ„ํŒ… ๐Ÿ‘ ๐Ÿ‘ - ํƒˆ๋ฝ ์œ„๊ธฐ
  3. ํŒ€ ๊ด€๋ฆฌ ๐Ÿ‘
  4. ํŒ€ ๋‚ด๋ถ€๊ด€๋ฆฌ:+1:

๋‚จ์€ ํ• ์ผ

  • auth
    • (๋กœ๊ทธ์ธ ํ›„, ํ—ค๋” - ํ”„๋กœํ•„ ์•„์ด์ฝ˜ ํด๋ฆญ - ๋“œ๋กญ๋‹ค์šด)
      • ๋กœ๊ทธ์•„์›ƒ
      • ์ด๋ฆ„ ๋ณ€๊ฒฝ
    • ์ดํ‹€
  • ํŒ€ ์ผ์ •
    • ์ผ์ • ์ถ”๊ฐ€ํ–ˆ์„ ๋•Œ ๋ฐ”๋กœ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ๊ฒƒ..
    • ์›”๊ฐ„ ๋‹ฌ๋ ฅ ์ƒ์„ธ ๋ชจ๋‹ฌ
    • ์ผ์ • ๋ฐ˜๋ณต ๊ธฐ๋Šฅ
      • repeat ์˜ต์…˜ ํŒ๋‹จํ•ด์„œ api ์ž‘์—… ํ•„์š”
    • ์ผ์ • ์ˆ˜์ •, ์‚ญ์ œ (ํ”„๋ก ํŠธ/๋ฐฑ) ๋“œ๋กญ๋‹ค์šด ๋„์›Œ์„œ
    • (ํ•„์ˆ˜๋Š” ์•„๋‹ˆ์ง€๋งŒ ๊ณ ์น˜๋ฉด ์ข‹์€ ๊ฒƒ)
      • ํ† ๊ธ€ ์ˆ˜์ • (๊ณ ์ •์ด ์•ˆ๋˜์–ด์žˆ์–ด์š”)
      • ์›”๊ณผ ์›”์ด ๊ฒน์น˜๋Š” ์ฃผ์— ๋‹ฌ ํ‘œ์‹œ 2021๋…„ 10์›” - 2021๋…„ 11์›” ์ด๋ผ๊ณ  ์ ์–ด์•ผ ์ข‹์ง€ ์•Š์„๊นŒ..

์ด๋ฒˆ์ฃผ ๊ณ„ํš

  • ๋ช…์žฌ, ์›์ฃผ

    • ์ธ์ฆ ๋งˆ๋ฌด๋ฆฌ
    • ํŒ€ ์„ ํƒ (๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์†Œ์ผ“ ์—ฐ๊ฒฐ๊นŒ์ง€)
  • ๋ฏผ์ง€, ์ˆ˜์šฉ

    • ์ผ์ • ๋๋‚ด๊ธฐ
    • ๋ชจ๋‹ฌ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ปค์Šคํ…€

๋ชฉ์š”์ผ ์ผ์ •

  • 17:00๊นŒ์ง€ ๊ฐœ๋ฐœ ๋๋‚ด๊ธฐ. PR ๋ณด๋‚ด๊ธฐ
  • 19:00๊นŒ์ง€ ๋ฒ„๊ทธ fix & release
  • ๋น ๋ฅด๊ฒŒ ๋ฐ๋ชจ ์ œ์ž‘

์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐฉ์‹, ๋ฒ”์œ„ (ํŠน์ • ์ปค๋ฐ‹, ํŒŒ์ผ)

  • ๋ฆฌ๋ทฐ๋ฅผ ์›ํ•˜๋Š” ์ปค๋ฐ‹์„ ์ง€์ •ํ•ด์„œ ๋ฆฌ๋ทฐ

live share

  • ์ตœ๋Œ€ํ•œ ๊ฐ์ž ๊ธฐ๋Šฅ ๋‚˜๋ˆ ์„œ ์ž‘์—…ํ•˜๋˜ ํ•„์š”ํ•˜๋ฉด ์ตœ๋Œ€ 2๋ช…์ด์„œ ๊ณต๋™ ์ž‘์—…

user state

Q : ํ˜„์žฌ ์ ‘์†์ค‘์ธ ์œ ์ €๋ฅผ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌํ•  ๊ฒƒ์ธ๊ฐ€

  • DB์— column์—์„œ user state๋ฅผ ๊ด€๋ฆฌ -> Query ๋นˆ๋„

  • Server์—์„œ, socket์œผ๋กœ Object๋กœ ๊ด€๋ฆฌ -> performance

  • ํŒ€ ์˜จ๋ผ์ธ ์œ ์ € ๋ฐฐ์—ด : [{team_id: [user_id, ...]}, ...]

์ƒํƒœ ๋ณ€๊ฒฝ ์‹œ ์„œ๋ฒ„์—์„œ๋Š” ๊ทธ ์œ ์ €๊ฐ€ ์†ํ•œ ํŒ€ ๋ชฉ๋ก์˜ room socket๋“ค๋กœ broadcast

socket disconnected ๋˜๋Š” logout์‹œ ์œ„ ๊ฐ์ฒด์—์„œ ํ•ด๋‹น ์œ ์ € ๋ฐ์ดํ„ฐ ์‚ญ์ œ + room socket๋“ค๋กœ broadcast

  1. ์ตœ๊ทผ ์ƒํƒœ๋Š” ์ €์žฅํ•˜์ง€ ์•Š์Œ => DB ํ•„์š” X
  2. ์„œ๋ฒ„ ์ตœ์ดˆ ์‹คํ–‰์‹œ, ํŒ€ ๋ณ„ ์ ‘์†ํ•œ ์œ ์ € ๋ฐฐ์—ด์„ ์ƒ์„ฑ&๊ด€๋ฆฌ {ใ„ธใ…Œteam_id : [{์›์ฃผ,0},{์ˆ˜์šฉ,1},{๋ฏผ์ง€,2}]}
    • DB์—์„œ ํŒ€ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์™€์•ผ ํ•จ
    • ์œ ์ €๊ฐ€ ํ•ด๋‹น ํŒ€์— connect์‹œ,
      • ํŒ€ ์˜จ๋ผ์ธ ์œ ์ € ๋ฐฐ์—ด์— ์ถ”๊ฐ€
    • ์œ ์ €๊ฐ€ socket_disconnected ๋˜๋Š” logout์‹œ,
      • ํŒ€ ์˜จ๋ผ์ธ ์œ ์ € ๋ฐฐ์—ด์—์„œ ์‚ญ์ œ
    • ํŒ€ ๊ด€๋ฆฌ page๋กœ ์ด๋™
      • DB์—์„œ ํŒ€ ์œ ์ € ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
      • ํŒ€ ์˜จ๋ผ์ธ ์œ ์ € ๋ฐฐ์—ด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
      • DB ๋ฐ์ดํ„ฐ - ์„œ๋ฒ„ ๋ฐ์ดํ„ฐ = ์˜คํ”„๋ผ์ธ ์œ ์ €
    • ์œ ์ € ์ƒํƒœ ๋ณ€๊ฒฝ์‹œ,
      • ํŒ€ ์˜จ๋ผ์ธ ์œ ์ € ๋ฐฐ์—ด ๊ฐฑ์‹  (update)
      • ํ˜„์žฌ ์ ‘์†ํ•œ ํŒ€์— broadcast
    • ํŒ€ ์„ ํƒ page๋กœ ์ด๋™
      • ํŒ€ ์˜จ๋ผ์ธ ์œ ์ € ๋ฐฐ์—ด ๊ฐฑ์‹  (delete)
      • socket disconnect
  3. ํŒ€ ์„ ํƒ ํŽ˜์ด์ง€๋Š” socket์— ์—ฐ๊ฒฐ๋˜์–ด์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ, ์ƒํƒœ๋ฅผ ํ‘œ์‹œํ•˜์ง€๋„ ์—†๊ณ , ๋ณ€๊ฒฝํ•  ์ˆ˜๋„ ์—†๋Š” ๊ฑธ๋กœ!
  4. ์ด ์œ ์ €๊ฐ€ ์†ํ•œ ํŒ€์ด์ง€๋งŒ, ์ด ์œ ์ €๊ฐ€ ํ•ด๋‹น ํŒ€์— ์ ‘์†ํ•ด ์žˆ๋Š” ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด, ๋ฌด์กฐ๊ฑด ์˜คํ”„๋ผ์ธ์œผ๋กœ ํ‘œ์‹œ!

Clone this wiki locally