๐Ÿพ

ํ”„๋กœ์ ํŠธ ๋ฐฉํ–ฅ์„ฑ

๐Ÿ’ก
๋ฆฌํŒฉํ„ฐ๋ง๋ถ€ํ„ฐ ํ•œ ํ›„, ๋‹ค์Œ ๋ฐฉํ–ฅ์— ๋Œ€ํ•ด ๋‹ค์‹œ ์ด์•ผ๊ธฐ
  • Next.js ์ ์šฉ
    • ๋ฐฑ์—”๋“œ๋ž‘ ๊ฐ™์ด ์ด์•ผ๊ธฐ ํ•ด์•ผ ํ•œ๋‹ค
      • ๊ฐœ๋ฐœํ™˜๊ฒฝ์—์„œ ์ฟ ํ‚ค ๊ด€๋ จํ•ด์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋…ผ์˜๋ฅผ ํ•ด์•ผ ํ•จ
      • ์ •๋ณด๋„ ๋ถ€์กฑํ•ด์„œ ์ฐพ์•„์•ผ ํ•œ๋‹ค
      • Video preview
  • ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    • Next.js ์ ์šฉ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋งˆ์น˜๊ณ  ์„ ํƒ์ ์œผ๋กœ ์ง„ํ–‰ํ•˜์ž
    • ์ƒˆ๋กœ์šด ๋””์ž์ธ ํ˜น์€ ๋” ๋‚˜์€ ๋””์ž์ธ์„ ๋งŒ๋“ค์ž
    • ์›ํ•˜๋Š” ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ํ•ญ๋ชฉ โ‡’ ๋ฐฑ์—”๋“œ ์—†์–ด๋„ ๋˜๋Š” ๊ธฐ๋Šฅ๋“ค๊ณผ ์žˆ์–ด์•ผ ๋˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌ๋ถ„ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค(์ถ”ํ›„์—)
      • ๋ฐ˜์‘ํ˜•
      • ์ด๋ฉ”์ผ ์ธ์ฆ
      • OAuth ๋กœ๊ทธ์ธ
      • ์•Œ๋ฆผ ๊ธฐ๋Šฅ
        • ์ƒˆ๋กœ์šด ๊ธ€?์— ๋Œ€ํ•œ ์•Œ๋ฆผ
        • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋„์ž…, ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ ์šฉ
      • ์ง€๋„ API
        • ๋™๋„ค ์„ค์ • ๊ธฐ๋Šฅ์— ์ง€๋„ ์ถ”๊ฐ€
        • ์œ„๋„, ๊ฒฝ๋„ ์ •๋ณด๋กœ ์ง€๋„์— ๋งˆํฌ
      • Alert ๊ต์ฒด
        • ๋ชจ๋‹ฌ ์ ์šฉ
      • SNS ๊ณต์œ  ๊ธฐ๋Šฅ
        • ๋งค์น˜ ์ •๋ณด ๊ณต์œ  โ‡’ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Œ
      • ๋žญํ‚น ์‹œ์Šคํ…œ
      • ๋‚ด๊ฐ€ ์‹ ์ฒญํ•œ ๋งค์น˜ ์ •๋ณด ๋ชจ์•„๋ณด๊ธฐ
      • ๋‚ด ๊ธ€ ๋ชจ์•„๋ณด๊ธฐ ํŽ˜์ด์ง€
        • ๋ชจ์ง‘ ์ค‘, ๋ชจ์ง‘ ์™„๋ฃŒ, ๊ฒฝ๊ธฐ ์™„๋ฃŒ ํ•„ํ„ฐ๋ง
      • ํ›„๊ธฐ ๋ชจ์•„๋ณด๊ธฐ ํŽ˜์ด์ง€
      • ํ›„๊ธฐ ์ž‘์„ฑ
        • ์ƒ๋Œ€๋ฐฉ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•˜์ž
        • ํ›„๊ธฐ๋ฅผ ๊ตฌ์ฒดํ™” ํ•˜์ž
          • ์ž์„ธํ•œ ํ›„๊ธฐ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก
        • ์ฒดํฌ ๋ฐ•์Šค ์ถ”๊ฐ€
          • 3๊ฐ€์ง€ ํ•ญ๋ชฉ ์ด์™ธ์— ๋” ์ž์„ธํ•œ ์„ ํƒ ๊ฐ€๋Šฅํ•œ ํ•ญ๋ชฉ ์ถ”๊ฐ€
      • ์ฑ„ํŒ… ๋ชฉ๋ก, ์ฑ„ํŒ…์—์„œ ๋งค์น˜ ์ •๋ณด ๊ตฌ์ฒดํ™”
      • ๋งค์น˜ ๊ณต๊ณ ์“ฐ๊ธฐ
        • ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์ถ”๊ฐ€
      • ๋งค์น˜ ๊ฒฐ๊ณผ ํ™•์ธ
        • ๋งค์น˜ ๊ฒฐ๊ณผ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณด์—ฌ์ค„ ๊ฒƒ์ธ์ง€ ๊ณ ๋ฏผ์ด ํ•„์š”
        • ๋‚ด๊ฐ€ ์ฐธ์—ฌํ•œ ๋งค์น˜, ๋‚ด๊ฐ€ ์‹ ์ฒญํ•œ ๋งค์น˜
      • ์‹ ๊ณ  ๊ธฐ๋Šฅ
      • ํŒ€์› ๊ด€๋ฆฌ
        • ํŒ€์› ๋ฐฉ์ถœ ๋“ฑ.. ๊ด€๋ฆฌ ๋ฐฉ์•ˆ ๊ณ ๋ฏผ ํ•„์š”
      • ํŒ€ ๊ฐ€์ž… ์‹ ์ฒญ
      • ํŒ€์› ์ดˆ๋Œ€ ์‹œ ๊ฒ€์ƒ‰์„ ํ•˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ๊ฒฐ๊ณผ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์—†๋‹ค๊ณ  ํ‘œ์‹œ
์„œ๋น„์Šค ์ •์ฑ… ๊ด€๋ จ
  • ๊ฐœ์ธ์ •๋ณด, ์–ด๋ทฐ์ง• ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด์„œ๋Š” ์ด๋ฉ”์ผ์„ ์จ์•ผํ•œ๋‹ค
  • ๊ฒฝ๊ธฐ ํ›„๊ธฐ๋„ ์กฐ์ž‘์„ ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋”ฐ๋กœ ์žˆ์–ด์•ผ ํ•œ๋‹ค
  • ์ž‘์„ฑ์ž๊ฐ€ ์ž๊ธฐ๊ธ€์— ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค
  • ํŒ€์„ ๋งŒ๋“ค๊ณ  ํŒ€์› ์ดˆ๋Œ€ ํ›„ ํ•œ ๊ฒŒ์ž„ ํ•˜๊ณ  ๋ฐฉ์ถœ์‹œ ํŒ€์—์„œ ํ™œ๋™ํ•œ ๊ธฐ๋ก์€ ์‚ญ์ œ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ธ๊ฐ€?
  • ํšŒ์› ํƒˆํ‡ด๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค

ํ˜‘์˜์‚ฌํ•ญ

  • ์ตœ์ข… ๋ชฉํ‘œ
    • ์ฐธ์—ฌ์ž ๋ชจ๋‘๊ฐ€ ๋งˆ์Œ์— ๋“ค ๋•Œ๊นŒ์ง€, ๊น”๋”ํ•˜๋‹ค๊ณ  ์Šค์Šค๋กœ ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ ํ•˜์ž!
    • ์„œ๋น„์Šค๋กœ ๋‚ด๋ณด๋‚ด๋„ ์†์ƒ‰์ด ์—†๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋งŒ๋“ค์ž
  • ๋ฆฌํŒฉํ„ฐ๋ง ๊ธฐ๊ฐ„ ๋ฐ ๋ชฉํ‘œ
    • ๊ธฐ๊ฐ„
      • 5์ฃผ [ ~09.30 ]
    • ๋ชฉํ‘œ
      • ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค
        • โ‡’ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ ๋ถˆํŽธํ•จ์ด ์—†๋„๋ก
  • ์ž‘์—… ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•
    • ์†Œํ†ต
      • Slack(DM), Discord
    • GitHub
      • ์ด์Šˆ, PR ํ…œํ”Œ๋ฆฟ ์ ์šฉ
      • ์นธ๋ฐ˜ ๋ณด๋“œ โ‡’ ZenHub(ํฌ๋กฌ ์ต์Šคํ…์…˜)
  • ์Šคํฌ๋Ÿผ ์ผ์ •
    • ์ฃผ๋ง ์ œ์™ธ ๋งค์ผ ์‹œ์ž‘, ๋ 5๋ถ„~10๋ถ„ ์ง„ํ–‰
      • ๊ฐœ์ธ ์ผ์ •์— ๋งž์ถฐ์„œ ์ง„ํ–‰, ํ•„์ˆ˜ X
    • ์Šคํฌ๋Ÿผ ๋‚ด์šฉ
      • ์ง„ํ–‰์‚ฌํ•ญ ๋ฐ ํŠน์ด์‚ฌํ•ญ ๊ณต์œ 
      • ๊ฐœ๋ฐœ ๋ชปํ–ˆ์–ด๋„ ์ƒ๊ด€์—†์Œ

์ฐธ๊ณ 

๋‹ค๋ฅธ ํŒ€์œผ๋กœ ๋ถ€ํ„ฐ์˜ ํ”ผ๋“œ๋ฐฑ
[์งˆ๋ฌธ] ํ”„๋กœ์ ํŠธ์— FE์˜ ์™„์„ฑ๋„์— ๋Œ€ํ•ด ์œ„์™€ ๊ฐ™์ด ์ธก์ •ํ•œ ์ด์œ 
  • ์„œ๋น„์Šค ์ฒดํ—˜ ์ž์ฒด๋ฅผ ํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.. ๋กœ๊ทธ์ธ ์ดํ›„์˜ ์ง„ํ–‰์ด ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์‹œ ์ ‘์†ํ•  ๊ฒฝ์šฐ ๋นˆ ํŽ˜์ด์ง€๋งŒ ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์„ฑ๊ณตํ•œ ํŒ€์›์ด ์žˆ์–ด์„œ ๊ตฌ๊ฒฝ ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ค์‹œ๊ฐ„ ์•Œ๋ฆผ์ด ์•ˆ๋˜๋Š” ์ ์ด ์•„์‰ฌ์›€
  • ์œ ์ € ์ •๋ณด, ๋ฏผ๊ฐ์ •๋ณด๋ฅผ recoil persist๋กœ ๊ด€๋ฆฌ ํ•œ์ ์€ ๋ณด์•ˆ ์ทจ์•ฝ์„ฑ์ด ๋  ์ˆ˜ ์žˆ์Œ
  • next์˜ ์–ด๋–ค ์ด์ ์„ ์‚ด๋ฆฐ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ์Œ
  • ์ฑ„ํŒ…์ด๋‚˜ ์•Œ๋ฆผ์˜ UX๊ฐ€ ์กฐ๊ธˆ ์•„์‰ฌ์› ๋‹ค
  • ์ถ•๊ตฌ ์•ผ๊ตฌ ๋ฐฐ๋“œ๋ฏผํ„ด ์นดํ…Œ๊ณ ๋ฆฌ ๋ณ€๊ฒฝ ์‹œ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ฆฌ๋‹ˆ๊นŒ ๋กœ๋”ฉ์ด ๋Œ๋ฉด ์ข‹๊ฒ ๋‹ค
  • ๊ฒฝ๊ธฐ์ผ์ž๋ฅผ ์˜ค๋Š˜์ดํ›„๋กœ ํ™•์ธ๋ฐ›์ง€๋ง๊ณ , disable ์ฒ˜๋ฆฌ ๋˜๋ฉด ์ข‹๊ฒ ๋‹ค
  • ๊ฒฝ๊ธฐ์ธ์›์„ ์ˆซ์ž์ธ์ง€ ํ™•์ธ๋ฐ›์ง€๋ง๊ณ , ์ˆซ์ž๋งŒ ์ž…๋ ฅ์ด ๋˜๋ฉด ์ข‹๊ฒ ๋‹ค
  • ์ƒ์„ธํŽ˜์ด์ง€ ์ž์„ธํžˆ๋ณด๊ธฐ๋ˆ„๋ฅด๋ฉด ๋ผ์šฐํŒ…๋˜๋Š”๋ฐ, ํŒ€์ •๋ณด ํ”„๋กœํ•„ hover์‹œ ์ปค์„œ ํฌ์ธํ„ฐ ํšจ๊ณผ๊ฐ€ ์žˆ์ง€๋งŒ ํด๋ฆญ ์ด๋ฒคํŠธ๊ฐ€ ์—†๋‹ค. ํŒ€์ •๋ณด ํด๋ฆญ์—๋„ ์ด๋™๋˜๋ฉด ์ข‹๊ฒ ๋‹ค
  • ํ”„๋กœํ•„ ์ด๋ฏธ์ง€๊ฐ€ ์—…๋กœ๋“œ๋๋‹ค๋Š” alert๋งŒ ๋œจ๊ณ  ๋ฐ”๋กœ ๋ฐ˜์˜์ด ์•ˆ๋จ => ์ƒˆ๋กœ๊ณ ์นจํ•ด์•ผํ•จ
  • ๋ฉ”์‹œ์ง€ ์‹œํ”„ํŠธ์—”ํ„ฐํ•˜๋ฉด ๊ฐœํ–‰์ด ๋˜๋ฉด ์ข‹๊ฒ ๋‹ค
  • ์ถ•๊ตฌ ํด๋ฆญ์‹œ ์ฒ˜์Œ ํด๋ฆญ์€ ํ•„ํ„ฐ๋ง์ด ์•ˆ๋จ
  • user/[id] ํŽ˜์ด์ง€ ์ ‘๊ทผ ์•ˆ๋จ
  • 404 ํŽ˜์ด์ง€ ์—†์Œ
  • ๋ชจ์ง‘ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ณณ์ด ์ƒ์„ธ ํŽ˜์ด์ง€์—์„œ ์™„๋ฃŒ๋กœ ๋งŒ๋“ค๊ณ  ๋‚˜์„œ ๋‹ค์‹œ ๋‹ค๋ฅธ ์ƒํƒœ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ฑ„ํŒ…๋ฐฉ์—์„œ ๊ฐ€๋Šฅํ•˜๋Š”๊ฒŒ ์ด์ƒํ•ฉ๋‹ˆ๋‹ค
[์งˆ๋ฌธ] ํ”„๋กœ์ ํŠธ์— BE์˜ ์™„์„ฑ๋„์— ๋Œ€ํ•ด ์œ„์™€ ๊ฐ™์ด ์ธก์ •ํ•œ ์ด์œ 
  • ๊ตฟ
  • ๋ถˆ๋ถ„๋ช…ํ•œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ "๋ญ”๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค"
  • redis๋ฅผ ์ด์šฉํ•œ jwt ํ† ํฐ ๊ด€๋ฆฌ๋Š” ์ข‹์•˜๋‹ค .
  • ํšŒ์›๊ฐ€์ž… ์—๋Ÿฌ(๋‹‰๋„ค์ž„, ์•„์ด๋”” ๊ฒ€์ฆ์—์„œ ํ†ต๊ณผํ–ˆ๋Š”๋ฐ ์ตœ์ข… ์ œ์ถœ ์‹œ์— validation error ๋ฐœ์ƒ)
  • ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์ ์œผ๋กœ ํฌ๊ฒŒ ๋ฌธ์ œ์ ์ด ์—†๋Š” ์ƒํƒœ์—์„œ ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ๋“ค์„ ์„ฑ๊ณต์ ์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋ƒ„
  • ๊ธฐ๊ฐ„์•ˆ์— ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ์ˆ ์„ ์„ ํƒํ•œ ๊ฒƒ ๊ฐ™์Œ
(์ž์œ ์ž‘์„ฑ) ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ดํ‰๊ณผ ํ”ผ๋“œ๋ฐฑ
  • ์œ„์น˜ ์„ค์ • ๋ถ€๋ถ„์—์„œ ์ž˜๋ชป๋˜์—ˆ๊ฑฐ๋‚˜ ๋ถˆ๊ฐ€๋Šฅ ํ•  ๊ฒฝ์šฐ์˜ ๋Œ€์ฒ˜ ๋ฐฉ์•ˆ์ด ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.
  • ์•ผ๊ตฌ ์ถ•๊ตฌ ๋“ฑ๋“ฑ์˜ ๊ท€ ์ข…๋ชฉ ๋“ฑ์œผ๋กœ ํ•œ์ •๋˜์—ˆ๋Š”๋ฐ, ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž์œ ๋„๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ๊ฑฐ๋‚˜ ์ข…๋ชฉ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋Š˜๋ฆฌ๋Š” ๊ฒŒ ์ข‹์„ ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค.
  • UI๊ฐ€ ๊น”๋”ํ•œ๊ฒƒ ๊ฐ™๋‹ค
  • ๊ฐœ๋ฐœ์šฉ EC2 ํด๋ผ์šฐ๋“œ๋ฅผ ๋”ฐ๋กœ ์‚ฌ์šฉํ•œ ๊ฒƒ์ด ์ธ์ƒ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์–ด๋–ค ํšจ๊ณผ๋ฅผ ๋ณด์•˜๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค
  • ๋ฉ”์ธ ํ™”๋ฉด์ด ๋”ฐ๋กœ ์กด์žฌํ–ˆ์œผ๋ฉด ์ข‹๊ฒ ์Œ
  • ์ฒ ์ €ํ•œ ๋ฌธ์„œํ™” ๋ฐ ์ž‘์€ PR ๋‹จ์œ„๊ฐ€ ์ธ์ƒ์ 
  • ์ผ๋ถ€ ๊ฒŒ์‹œ๊ธ€ => ๋Œ€ํ™”์‹ ์ฒญ => ์ œ์ถœ => 400 ์—๋Ÿฌ (์ผ๋ถ€ ํŒ€์ „ ๊ฒŒ์‹œ๊ธ€์— ๋œจ๋Š”๊ฒƒ๊ฐ™์•„์š”)
  • DM ๊ธฐ๋Šฅ ๋Œ€๋ฐ•์ด๋‹ค
  • ์œ„์น˜๊ธฐ๋ฐ˜ ์„œ๋น„์Šค๊ฐ€ ๋ฉ‹์žˆ์—ˆ๋‹ค
  • ์›น์œผ๋กœ ๋ฐฉ๋ฌธํ•ด์„œ ์ข€ ๋ถˆํŽธํ–ˆ๋‹ค. pwa๋ฉด ๋” ์ข‹์„๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
(์„ ํƒ) ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณด๊ณ  ๊ถ๊ธˆํ•œ ๊ฒƒ์˜ ์งˆ๋ฌธ์„ ๋‚จ๊ฒจ๋ด…์‹œ๋‹ค.
  • ์ œ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์•”ํ˜ธํ™” ๋˜์–ด์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค
  • dm๊ธฐ๋Šฅ ์›น์†Œ์ผ“์„ ์•ˆ ์“ด ๊ฑฐ ๊ฐ™์€๋ฐ ์–ด๋–ป๊ฒŒ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ตฌํ˜„๋œ๊ฑด์ง€?