Skip to content

Latest commit

ย 

History

History
246 lines (171 loc) ยท 11.7 KB

README.md

File metadata and controls

246 lines (171 loc) ยท 11.7 KB


D105 ้…’้…’CLUB ํŠนํ™” PJT / ๋น…๋ฐ์ดํ„ฐ ์ถ”์ฒœ Track
2024.08.26 ~ 2024.10.11 (7์ฃผ)
๐Ÿ”— NewLearn ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“Œ Contents

  1. Overview
  2. ๊ธฐ๋Šฅ ์†Œ๊ฐœ
  3. ๊ธฐ์ˆ  ์Šคํƒ
  4. ์ฃผ์š” ๊ธฐ์ˆ 
  5. ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜
  6. ์‚ฐ์ถœ๋ฌผ
  7. ํŒ€์› ์†Œ๊ฐœ
  8. Conventions

Overview

๐Ÿ—ฃ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๊ธฐ ์–ด๋ ค์šด ์˜์–ด ๊ณต๋ถ€, ์žฌ๋ฏธ์žˆ๊ฒŒ ํ•  ๋ฐฉ๋ฒ•์ด ์—†์„๊นŒ?
์˜์–ด๋กœ ๋‰ด์Šค๋ฅผ ์ฝ์œผ๋ฉฐ ์ฆ๊ฒ๊ฒŒ ํ•™์Šตํ•ด๋ณด๋Š”๊ฑด ์–ด๋–ค๊ฐ€์š”?
์ตœ์‹  ๊ตญ๋‚ด ๋‰ด์Šค์™€ ํ•จ๊ป˜ ์˜์–ด๋ฅผ ์‰ฝ๊ฒŒ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ, New Learn๐Ÿ™Œ๐Ÿป

๊ธฐ๋Šฅ ์†Œ๊ฐœ

โœ” ํšŒ์›๊ฐ€์ž… & ๋กœ๊ทธ์ธ

  • ์•„๋ฐ”ํƒ€ ์ƒ์„ฑ, ์˜๋‹จ์–ด ๋ ˆ๋ฒจ ํ…Œ์ŠคํŠธ, ๊ด€์‹ฌ ๋ถ„์•ผ ์„ค์ •

ํšŒ์›๊ฐ€์ž…

โœ” ํŠœํ† ๋ฆฌ์–ผ

  • ๊ฐ ์ปจํ…์ธ ์— ๋Œ€ํ•œ ์‚ฌ์šฉ๋ฒ• ์ œ๊ณต

ํŠœํ† ๋ฆฌ์–ผ

โœ” ๋ฉ”์ธ ํŽ˜์ด์ง€ (HOME)

  • Today's Top 10 : ์˜ค๋Š˜์˜ ํƒ‘ 10 ๋‰ด์Šค
  • ์ด๋ฒˆ ๋‹ฌ ํ•™์Šต ํ˜„ํ™ฉ, ๋‰ด์Šค ์ฝ๊ธฐ ๊ธฐ๋ก์— ๋”ฐ๋ฅธ ๊ด€์‹ฌ๋„ ๊ทธ๋ž˜ํ”„ ํ‘œ์‹œ
  • ํฌ์ธํŠธ์™•/๋‹ค๋…์™• ์‹ค์‹œ๊ฐ„ ๋žญํ‚น ํ‘œ์‹œ

๋ฉ”์ธํŽ˜์ด์ง€

โœ” ๋ผ์ดํŠธ/๋‹คํฌ๋ชจ๋“œ

  • ๋ชจ๋“œ ์ „ํ™˜ ๊ฐ€๋Šฅ

๋‹คํฌ๋ชจ๋“œํ† ๊ธ€

โœ” ๋‰ด์Šค ํŽ˜์ด์ง€

๋‰ด์Šค ์ „์ฒด ๋ชฉ๋ก

  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ถ”์ฒœ ์‹œ์Šคํ…œ์— ๋”ฐ๋ฅธ ๋‰ด์Šค ์ปจํ…์ธ  ์ถ”์ฒœ
  • ๊ด€์‹ฌ ์นดํ…Œ๊ณ ๋ฆฌ ๊ธฐ๋ฐ˜ ๋‰ด์Šค ์ปจํ…์ธ  ์ถ”์ฒœ
  • ์ตœ์‹  ์ „์ฒด ๋‰ด์Šค ๋ชฉ๋ก ์ œ๊ณต

๋‰ด์Šค๋ชฉ๋ก

๋‰ด์Šค ์ƒ์„ธ

  • ํ•œ/์˜ ํ† ๊ธ€์„ ํ†ตํ•ด ๋ฒˆ์—ญ๋ณธ ์ œ๊ณต

๋‰ด์Šค์ƒ์„ธ

  • scroll progress bar๋ฅผ ํ†ตํ•ด ๋‰ด์Šค ์ฝ์Œ ์ฒ˜๋ฆฌ
  • ๋‹ค ์ฝ์€ ๋‰ด์Šค์— ๋Œ€ํ•ด ๋‚œ์ด๋„์— ๋งž๋Š” ๋ฉ”๋‹ฌ ํš๋“

๋‰ด์Šค์ฝ์Œ๋ฉ”๋‹ฌ

  • ๋ณธ์ธ ๋ ˆ๋ฒจ ์ˆ˜์ค€์— ๋งž๋Š” ๋‚œ์ด๋„ ๋ฒˆ์—ญ๋ณธ ๊ธฐ๋ณธ ์ œ๊ณต
  • ์›ํ•˜๋Š” ๋‚œ์ด๋„๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

๋‰ด์Šค์ƒ์„ธ๋‚œ์ด๋„ํ† ๊ธ€

๋‹จ์–ด ํ•˜์ด๋ผ์ดํŒ…

  • ๋ชจ๋ฅด๋Š” ๋‹จ์–ด์— ๋“œ๋ž˜๊ทธ/๋”๋ธ”ํด๋ฆญ์„ ํ†ตํ•ด ํ•˜์ด๋ผ์ดํŒ…
  • ํ•˜์ด๋ผ์ดํŒ…ํ•œ ๋‹จ์–ด์— ๋Œ€ํ•œ ๋œป๊ณผ ๋ฐœ์Œ ์ œ๊ณต

๋‹จ์–ดํ•˜์ด๋ผ์ดํŒ…๋ฐ์ทจ์†Œ

๋‰ด์Šค ์Šคํฌ๋žฉ

  • ์ฝ๊ณ  ์žˆ๋Š” ๋‰ด์Šค์— ๋Œ€ํ•ด ์›ํ•˜๋Š” ๋‚œ์ด๋„๋ฅผ ์„ ํƒํ•˜์—ฌ ์Šคํฌ๋žฉ ๊ฐ€๋Šฅ

๋‰ด์Šค์Šคํฌ๋žฉ

Word hunt game

  • ๊ฐ€๋กœ/์„ธ๋กœ ๋‹จ์–ด๋ฅผ ๋งžํžˆ๋Š” word hunt game ๊ธฐ๋Šฅ
  • ๋‰ด์Šค ๋ณธ๋ฌธ์˜ ๋‹จ์–ด๋“ค ์ค‘ ๋žœ๋ค์œผ๋กœ ์ถ”์ถœ๋œ ๋‹จ์–ด ๋“ฑ์žฅ
  • ๋‹ค ๋งžํžŒ ๊ฒฝ์šฐ, ๊ฒฝํ—˜์น˜ ํš๋“

์›Œ๋“œํ—ŒํŠธํ’€๊ธฐ

  • ์ •๋‹ต ํ™•์ธ ๊ฐ€๋Šฅ

์›Œ๋“œํ—ŒํŠธ์ •๋‹ต๋ณด๊ธฐ

โœ” ๋‚˜๋งŒ์˜ ๋‹จ์–ด์žฅ

๋‹จ์–ด ๋ชฉ๋ก

  • ์ €์žฅํ•œ ๋‹จ์–ด์— ๋Œ€ํ•ด ๋œป, ์˜ˆ๋ฌธ, ๋‰ด์Šค์›๋ฌธ ์ œ๊ณต

๋‹จ์–ด์žฅ

๋‹จ์–ด ์™ธ์›€ ์ฒ˜๋ฆฌ

  • ์•”๊ธฐํ•œ ๋‹จ์–ด๋Š” drag & drop์œผ๋กœ ์™ธ์›€ ์ฒ˜๋ฆฌ

๋‹จ์–ด์™ธ์›€์ฒ˜๋ฆฌ

๋ง๊ฐ ๊ณก์„  ๊ธฐ๋ฐ˜ ๋‹จ์–ด ๋ณต์Šต

  • ์—๋น™ํ•˜์šฐ์Šค์˜ ๋ง๊ฐ ๊ณก์„  ์ด๋ก ์„ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ ํšจ์œจ์ ์ธ ๋ณต์Šต ์‹œ์Šคํ…œ
  • ์•”๊ธฐํ•œ ๋‹จ์–ด์— ๋Œ€ํ•ด 1์ผ, 3์ผ, 7์ผ, 30์ผ ๋“ฑ ์ ์ง„์ ์œผ๋กœ ๋ณต์Šต ํ€ด์ฆˆ ์ œ๊ณต

๋ง๊ฐ๊ณก์„ ํŒํ€ด์ฆˆ

โœ” ํ•™์Šต ๋ชฉํ‘œ ๋ฐ ๊ฒฝํ—˜์น˜

ํ•™์Šต ๋ชฉํ‘œ ์„ค์ •

  • ๋‰ด์Šค ์ฝ๊ธฐ ํšŸ์ˆ˜, ๋‹จ์–ด ํ…Œ์ŠคํŠธ๋กœ ์•”๊ธฐํ•œ ๋‹จ์–ด ์ˆ˜, ๋ฐœ์Œ ํ…Œ์ŠคํŠธ ์ ์ˆ˜ ์ดํ•ฉ์— ๋Œ€ํ•ด ์›ํ•˜๋Š” ํ•™์Šต ๋ชฉํ‘œ ์„ค์ •
  • ๋งค์›” 1์ผ ์ž๋™์œผ๋กœ ๋ชฉํ‘œ๊ฐ€ ์ดˆ๊ธฐํ™”๋˜์–ด, ์ƒˆ๋กœ์šด ๋‹ฌ์˜ ๋ชฉํ‘œ๋ฅผ ์„ค์ • ๊ฐ€๋Šฅ

ํ•™์Šต๋ชฉํ‘œ์„ค์ •

๊ฒฝํ—˜์น˜ ํš๋“

  • ์„ค์ •ํ•œ ํ•™์Šต ๋ชฉํ‘œ์— ๋”ฐ๋ผ, ๋‹ฌ์„ฑ ์‹œ ๊ฒฝํ—˜์น˜ ํš๋“ ๋ชจ๋‹ฌ ํ‘œ์‹œ

ํ•™์Šต๋ชฉํ‘œ๋‹ฌ์„ฑ๊ฒฝํ—˜์น˜๋ชจ๋‹ฌ

โœ” ๋‹จ์–ด ๋นˆ์นธ ํ…Œ์ŠคํŠธ

ํ…Œ์ŠคํŠธ ์‹œ์ž‘

  • ๋‚˜์˜ ๋‹จ์–ด์žฅ์— ์ €์žฅ๋œ ๋‹จ์–ด๋“ค ๊ธฐ๋ฐ˜์œผ๋กœ ์›ํ•˜๋Š” ๋ฌธ์ œ ๊ฐฏ์ˆ˜๋งŒํผ ํ…Œ์ŠคํŠธ ์‘์‹œ
  • ์ด์ „์— ์ง„ํ–‰ํ•œ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ ๋ฐ ํ†ต๊ณ„ ๊ทธ๋ž˜ํ”„ ํ™•์ธ ๊ฐ€๋Šฅ

๋‹จ์–ดํ…Œ์ŠคํŠธ

ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ

  • ์‘์‹œํ•œ ํ…Œ์ŠคํŠธ์˜ ์ƒ์„ธ ๊ฒฐ๊ณผ ํ™•์ธ ๊ฐ€๋Šฅ

๋‹จ์–ดํ…Œ์ŠคํŠธ๊ฒฐ๊ณผ

โœ” ๋ฐœ์Œ ํ…Œ์ŠคํŠธ

ํ…Œ์ŠคํŠธ ์‹œ์ž‘

  • ๋‚˜์˜ ๋‹จ์–ด์žฅ์— ์ €์žฅ๋œ ๋‹จ์–ด๋“ค์˜ ์˜ˆ๋ฌธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ…Œ์ŠคํŠธ ์‘์‹œ
  • ๋…น์Œ ์ง„ํ–‰ ์‹œ, STT๋กœ ํ˜„์žฌ ๋ฐœํ™”์— ๋Œ€ํ•ด ์ธ์‹๋œ ๋ฌธ์žฅ์„ ํ‘œ์‹œ
  • ์ด์ „์— ์ง„ํ–‰ํ•œ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ ๋ฐ ํ†ต๊ณ„ ๊ทธ๋ž˜ํ”„ ํ™•์ธ ๊ฐ€๋Šฅ

๋ฐœ์Œํ…Œ์ŠคํŠธ

ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ

  • azure speech service ๊ธฐ๋ฐ˜์˜ ์ •ํ™•๋„, ๋Šฅ์ˆ™๋„, ์šด์œจ, ๋‹จ์–ด ์™„์ „์„ฑ ๋“ฑ ๋ฐœ์Œ ํ‰๊ฐ€ ์ ์ˆ˜ ์ œ๊ณต
  • ํ…Œ์ŠคํŠธ ๋‹ต์•ˆ ๋ฐ ์ œ์ถœํ•œ ๋…น์Œ๋ณธ ๋‹ค์‹œ ๋“ฃ๊ธฐ ์ œ๊ณต

๋ฐœ์Œํ…Œ์ŠคํŠธ๊ฒฐ๊ณผ

โœ” ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€

Wordcloud ๊ธฐ๋ฐ˜ ์ธ๊ธฐ ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰

  • Elasticsearch ํ†ตํ•œ ๊ฒ€์ƒ‰ ์ตœ์ ํ™”
  • ๋‰ด์Šค ๋นˆ์ถœ ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜์˜ Wordcloud ์ œ๊ณต



โœ” ๋งˆ์ดํŽ˜์ด์ง€

  • ๋‚ด ์ •๋ณด, ํ•™์Šต ๋Œ€์‹œ๋ณด๋“œ(์ˆ˜์น˜, ๊ทธ๋ž˜ํ”„, ํ™œ๋™๋Ÿ‰), ์Šคํฌ๋žฉํ•œ ๋‰ด์Šค ๋ชฉ๋ก ์ œ๊ณต



โœ” PWA (Progressive Web Apps)

๋ฉ”์ธ ํŽ˜์ด์ง€ ๋‚˜๋งŒ์˜ ๋‹จ์–ด์žฅ ๋งˆ์ด ํŽ˜์ด์ง€
๋‰ด์Šค ์ „์ฒด ๋ชฉ๋ก ๋‰ด์Šค ์ƒ์„ธ
๋‹จ์–ด ๋นˆ์นธ ํ…Œ์ŠคํŠธ ์‹œ์ž‘ ๋‹จ์–ด ๋นˆ์นธ ํ…Œ์ŠคํŠธ ์ง„ํ–‰ ๋‹จ์–ด ๋นˆ์นธ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ
๋ฐœ์Œ ํ…Œ์ŠคํŠธ ์‹œ์ž‘ ๋ฐœ์Œ ํ…Œ์ŠคํŠธ ์ง„ํ–‰ ๋ฐœ์Œ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ

๊ธฐ์ˆ  ์Šคํƒ


์ฃผ์š” ๊ธฐ์ˆ 

  • ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•

    • ๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠน์„ฑ์„ ๊ณ ๋ คํ•œ ๋ฉ€ํ‹ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„
    • ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ๋ฐฑ์—…์„ ์œ„ํ•œ ํšจ์œจ์ ์ธ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„
    • APScheduler๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํ”„๋กœ์„ธ์Šค ์ž๋™ํ™”
  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ถ”์ฒœ ์‹œ์Šคํ…œ

    • Cold Start ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ํ˜‘์—… ํ•„ํ„ฐ๋ง(CF) ๋ฐ ์ปจํ…์ธ  ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง(CBF) ๊ฒฐํ•ฉ
    • ์‚ฌ์šฉ์ž ํ–‰๋™ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์œ ์‚ฌ๋„ ๊ณ„์‚ฐ
    • KoNLPy ๊ธฐ๋ฐ˜ ํ˜•ํƒœ์†Œ ๋ถ„์„ ๋ฐ TF-IDF ๋งคํŠธ๋ฆญ์Šค ๊ตฌ์ถ•
  • Elasticsearch ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰

    • ๋‰ด์Šค ๊ธฐ์‚ฌ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ตœ์ ํ™”
    • ์—ญ ์ธ๋ฑ์Šค ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ œ๊ณต

์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

  • Blue/Green ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ์ „๋žต
    • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋‘ ๊ฐœ์˜ ํ™˜๊ฒฝ(Blue์™€ Green)์„ ํ™œ์šฉํ•˜์—ฌ ์„œ๋น„์Šค์˜ ๊ฐ€์šฉ์„ฑ๊ณผ ์•ˆ์ •์„ฑ์„ ๋†’์ด๋Š” ๋ฐฐํฌ ๋ฐฉ์‹

์‚ฐ์ถœ๋ฌผ

์ข…๋ฅ˜ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ธฐ๋Šฅ ๋ช…์„ธ์„œ ๐Ÿ“ ๊ธฐ๋Šฅ ๋ช…์„ธ์„œ
API ๋ช…์„ธ์„œ ๐Ÿ“ก API ๋ช…์„ธ์„œ
์™€์ด์–ด ํ”„๋ ˆ์ž„ ๐ŸŽจ ์™€์ด์–ด ํ”„๋ ˆ์ž„
E-R Diagram ๐Ÿ–ฅ๏ธ E-R Diagram
ํฌํŒ… ๋งค๋‰ด์–ผ ๐Ÿ” ํฌํŒ… ๋งค๋‰ด์–ผ
์‹œ์—ฐ ์‹œ๋‚˜๋ฆฌ์˜ค ๐ŸŽฌ ์‹œ์—ฐ ์‹œ๋‚˜๋ฆฌ์˜ค
Postman ๋ฌธ์„œ ๐Ÿ“œ Postman ๋ฌธ์„œ
์ตœ์ข… ๋ฐœํ‘œ ์ž๋ฃŒ ๐Ÿ“Š ์ตœ์ข… ๋ฐœํ‘œ ์ž๋ฃŒ

ํŒ€์› ์†Œ๊ฐœ

๐Ÿ”ฅ ้…’้…’CLUB

๐Ÿ‘‘์ด์˜ˆ์ฐฌ/BE ๊น€์ˆ˜์ •/BE ๋…ธ๋‚˜ํ˜„/BE ๋ฐ•ํšจ์ง„/FE ์†๋ฏผ๋ฝ/FE ํ—ˆ์„ธ๋ น/FE

Conventions

[FEAT] ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ตฌํ˜„
[FIX] ๋ฒ„๊ทธ, ์˜ค๋ฅ˜ ์ˆ˜์ •
[DOCS] README๋‚˜ WIKI ๋“ฑ์˜ ๋ฌธ์„œ ๊ฐœ์ •
[STYLE] ์Šคํƒ€์ผ ๊ด€๋ จ ๊ธฐ๋Šฅ
[REFACTOR] ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
[TEST] ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€
[CHORE] ๋นŒ๋“œ ์—…๋ฌด ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ € ์ˆ˜์ •
[Comment] ํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ
[Rename]  ํŒŒ์ผ ๋˜๋Š” ํด๋” ๋ช…์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…๋งŒ์ธ ๊ฒฝ์šฐ 
[Remove] ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ
[!BREAKING CHANGE] ์ปค๋‹ค๋ž€ API ๋ณ€๊ฒฝ์˜ ๊ฒฝ์šฐ
[!HOTFIX] ๊ธ‰ํ•˜๊ฒŒ ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ๋ฅผ ๊ณ ์ณ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ