Skip to content

k-redstone/horong_fe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

300 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SSAFY A108 Horong

๋”ฐ๋‹ค

๐Ÿ“… ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„

  • 2024.10.14 ~ 2024.11.18

๐Ÿ™‡๐Ÿปโ€โ™‚๏ธ ํŒ€์›์†Œ๊ฐœ

๐Ÿง‘๐Ÿปโ€๐Ÿ’ป ๊ฐœ๋ฐœ ๊ด€๋ จ ๊ธฐ์ˆ 

๐Ÿ“‹ git ์ด์Šˆ/๋ธŒ๋žœ์น˜ ๊ด€๋ฆฌ

issue

  • ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ, ๋ฐ์ดํ„ฐ๋Š” label๋กœ ๋ถ„๋ฅ˜ํ•œ๋‹ค.

  • assignees๋Š” ์ด์Šˆ ์ƒ์„ฑ์ž๊ฐ€ ์Šค์Šค๋กœ ํ• ๋‹นํ•œ๋‹ค.

  • ์ด์Šˆ ํƒ€์ž…

    feat : `์ƒˆ๋กœ์šด` ๊ธฐ๋Šฅ ์ถ”๊ฐ€
    fix : ๋ฒ„๊ทธ ์ˆ˜์ •
    hotfix : ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ ๊ธ‰ํ•˜๊ฒŒ ์ˆ˜์ •
    chore : (์ฝ”๋“œ ์ˆ˜์ • ์—†๋Š”) ์„ค์ • ๋ณ€๊ฒฝ
    docs : ๋ฌธ์„œ ์ƒ์„ฑ ๋ฐ ์ˆ˜์ •
    design : ๋ ˆ์ด์•„์›ƒ ๊ตฌํ˜„ ๋ฐ ๋””์ž์ธ ์ˆ˜์ •
    refactor : ๋ฆฌํŒฉํ† ๋ง
    remove : ํŒŒ์ผ/์ฝ”๋“œ ์‚ญ์ œ
    merge : ๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ
  • ์ž‘์„ฑ ์˜ˆ์‹œ [ํƒ€์ž…] ์ด์Šˆ ๋ช…

    • [feat] PWA ๊ตฌํ˜„
    • [design] ๋žœ๋”ฉ ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ ๋””์ž์ธ

branch

  • ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ, ๋ฐ์ดํ„ฐ๋Š” ์ ‘๋‘์‚ฌ๋กœ fe/ be/ data/ ๋ฅผ ๋ถ™์ธ๋‹ค.
  • ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ์‹œ, ์˜๋ฌธ์€ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • git flow ๋ฐฉ์‹์„ ์ฑ„์šฉํ•˜์—ฌ dev branch๋กœ protectํ•œ๋‹ค.
  • ์™„๋ฃŒ ๋œ ์ž‘์—…์— ๋Œ€ํ•˜์—ฌ PR ์™„๋ฃŒ ์ดํ›„ ํ•ด๋‹น ์ž‘์—… ๋ธŒ๋žœ์น˜๋Š” ์‚ญ์ œํ•œ๋‹ค.
  • ์ƒ์„ฑ ์˜ˆ์‹œ ๋ถ„์•ผ/ํƒ€์ž…/#์ด์Šˆ๋ฒˆํ˜ธ_์ด์Šˆ๋ช…
    • fe/feat/i1_pwa
    • fe/design/i2_landing

commit

  • ์˜๋ฌธ์€ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ํ•œ๊ธ€๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ƒ์„ฑ ์˜ˆ์‹œ
    • docs: TIL ์ƒ์„ฑ
    • feat: PWA setting

merge

  • ์˜๋ฌธ์€ ๋ชจ๋‘ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋‚ด์šฉ์€ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ƒ์„ฑ ์˜ˆ์‹œ ๋ถ„์•ผ/ํƒ€์ž…/#์ด์Šˆ๋ฒˆํ˜ธ ๊ธฐ๋Šฅ๋ช… | ๊ฐ„๋‹จํ•œ ์„ค๋ช…
    • be/feat/i1_backend cicd
    • fe/design/i2_๋žœ๋”ฉํŽ˜์ด์ง€

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ”ง ๊ธฐ์ˆ  ์Šคํƒ

FE


๐Ÿš€ ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๐Ÿ“Š ์ƒํƒœ ๊ด€๋ฆฌ

๐Ÿ“ก ๋ฐ์ดํ„ฐ ์š”์ฒญ

๐Ÿ’„ ์Šคํƒ€์ผ๋ง

๐Ÿ”ง ์ฝ”๋“œ ํ’ˆ์งˆ ๊ด€๋ฆฌ

BE


๐Ÿš€ ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๐Ÿ“‚ DB ๋ฐ ์Šคํ† ๋ฆฌ์ง€

DATA


INFRA


๐Ÿ”— CI/CD

๐Ÿ’ป ๋ชจ๋‹ˆํ„ฐ๋ง

๐ŸŽ ์™ธ๋ถ€ API


์—ญํ•  ๋ถ„๋‹ด

๐Ÿ‘ป์ดํ•˜๋ฆผ

  • ๊ธฐํš
    • JIRA ๋ฒˆ๋‹ค์šด์ฐจํŠธ, ์Šคํ”„๋ฆฐํŠธ ๊ด€๋ฆฌ
    • UT(Usability Test) ๊ฐ€์ด๋“œ ์ œ์ž‘
    • QA(Quality Assuarance) ๊ฐ€์ด๋“œ ์ œ์ž‘
  • ๋””์ž์ธ
    • FIGMA ์ „์ฒด ์™€์ด์–ดํ”„๋ ˆ์ธ ์„ค๊ณ„ ๋ฐ ์ „์ฒด ํŽ˜์ด์ง€ ๋””์ž์ธ
    • TailwindCSS ๋””์ž์ธ๊ฐ€์ด๋“œ ์ œ๊ณต

๐ŸŠ๋ฐ•์ƒ์šฐ

  • UI ๋ฐ ๊ธฐ๋Šฅ
    • ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ, ๋งˆ์ดํŽ˜์ด์ง€
    • ์ด์Šˆ ์ˆํผ
    • ํ•œ๊ตญ์–ด ํ•™์Šต

๐Ÿ˜Ž์ตœํ™์„

  • UI ๋ฐ ๊ธฐ๋Šฅ

    • ํ˜ธ๋กฑ์ฑ—
    • ์ปค๋ฎค๋‹ˆํ‹ฐ
    • ํ™˜์ „์†Œ
    • FCM ๊ตฌํ˜„
  • Infra

    • FE docker ๋นŒ๋“œ ์„ค์ •
    • FE CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ด€๋ฆฌ
    • nginx ๊ตฌ์„ฑ

๐Ÿ“์ตœ์„ฑ์ฒ 

  • BE
    • Redis๋ฅผ ์‚ฌ์šฉํ•œ ํ™˜์ „์†Œ ๋ฐ์ดํ„ฐ ์บ์‹ฑ ๋ฐ ์œ ์ € ๊ฒ€์ฆ ํ† ํฐ ์ƒ์„ฑ
    • Elasticsearch๋ฅผ ์‚ฌ์šฉํ•œ ๋‹ค๊ตญ์–ด ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ๋ฐ์ดํ„ฐ ํŒŒํŠธ์˜ fastapi์™€ ํ”„๋ก ํŠธ ํŒŒํŠธ ๋ณด์•ˆ ์—ฐ๊ฒฐ
  • INFRA
    • ์„œ๋ฒ„ ๊ด€๋ฆฌ : ๋ฐฑ์—”๋“œ dev/prod ์„œ๋ฒ„ ๊ด€๋ฆฌ
    • CI/CD ๊ด€๋ฆฌ : Docker๋ฅผ ์‚ฌ์šฉํ•ด Jenkins ํŒŒ์ดํ”„๋ผ์ธ ๊ด€๋ฆฌ
    • DB ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ : Mysql, Elasticsearch, Redis Cluster ๊ตฌ์ถ•
    • ๋ชจ๋‹ˆํ„ฐ๋ง : Prometheus, Grafana๋ฅผ ํ†ตํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง

๐Ÿฑโ€๐Ÿ์ด์Šน์ฃผ

  • ํ•œ๊ตญ์–ด ํ•™์Šต

    • ํ•œ๊ตญ์–ด ์Šฌ๋žญ ์‚ฌ์ดํŠธ ๋ฐ ์–ธ์–ด์‚ฌ์ „์„ ์ฐธ๊ณ ํ•˜์—ฌ ํ•œ๊ตญ์–ด ํ•™์Šต ๋ฐ์ดํ„ฐ์…‹ ๊ตฌ์„ฑ
    • ์ •๋‹ต ์Œ์„ฑ ๊ฐ€์ด๋“œ๋ฅผ ์œ„ํ•ด google TTS ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹จ์–ด ์Œ์„ฑ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
    • ์‚ฌ์šฉ์ž์˜ ๋ฐœํ™” ์Œ์„ฑ์„ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด Naver Clova์˜ STT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์Œ์„ฑ์„ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜
    • ๋‘ ํ…์ŠคํŠธ๊ฐ„์˜ ์œ ์‚ฌ๋„๋ฅผ ์ธก์ •ํ•˜๋Š” Levenshtein ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฐธ๊ณ ํ•˜์—ฌ CER ํ‰๊ฐ€์ง€ํ‘œ ์ƒ์„ฑ ๋กœ์ง ์ž‘์„ฑ(๊ธฐ์กด CER ๋กœ์ง์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ 100%๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์ •๊ทœํ™”๊ณผ์ •์„ ํ†ตํ•ด 0~1์‚ฌ์ด๋กœ ๊ฐ’์„ ์ •๊ทœํ™”ํ•ด์ฃผ๋Š” ๊ณผ์ •์„ ์ถ”๊ฐ€ํ•˜์˜€์Œ)
  • ์ˆํผ

    • ํฌ๋กค๋ง ๋ฐ api ํ™œ์šฉ์œผ๋กœ popup store, festival, performance, news, ott์— ๋”ฐ๋ฅธ ์ˆํผ ์ปจํ…์ธ  ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
    • ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์„ ํ†ตํ•ด ์ˆํผ์— ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ ์š”์•ฝ ๋ฐ ์ปจํ…์ธ  ์†Œ๊ฐœ๋ฅผ ์œ„ํ•œ TTS ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
    • google TTS ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ ์–ธ์–ด๋ณ„(ํ•œ๊ตญ์–ด, ์˜์–ด, ์ค‘๊ตญ์–ด, ์ผ๋ณธ์–ด) ์Œ์„ฑ ์ƒ์„ฑ
  • ์ˆํผ ๊ฐœ์ธํ™”

    • ์Šคํฌ๋žฉ, ์ข‹์•„์š”, ์‹ซ์–ด์š”, ์‹œ์ฒญ์‹œ๊ฐ„ ๋กœ๊ทธ์— ๋”ฐ๋ฅธ ๊ฐœ์ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋ฐœ
    • ์Šคํฌ๋žฉ/์ข‹์•„์š”/์‹œ์ฒญ์‹œ๊ฐ„๋ณ„ + ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ์œ ์‚ฌํ•œ ์ปจํ…์ธ  ๊ฒ€์ƒ‰ ํ›„, ์‹ซ์–ด์š” ์ปจํ…์ธ ์—๋Š” - ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ์œ ์‚ฌํ•œ ์ปจํ…์ธ ๋ฅผ ์ œ์™ธํ•˜๋„๋ก ํ–ˆ์Œ.
    • ๊ธฐ์กด์— ๋ดค๋˜ ์ปจํ…์ธ  ๋ฐ ๋‚ ์งœ๊ฐ€ ์ง€๋‚˜๊ฐ„ ์ปจํ…์ธ ๋Š” ์ œ์™ธํ•˜๋„๋ก ํ–ˆ์Œ.

๐ŸŽฏ์œค๊ฒฝ์„œ

  • ๋ฉ”์ธ ํ˜ธ๋กฑ ์ฑ—๋ด‡

    • langchain์„ ํ™œ์šฉํ•˜์—ฌ rag ๊ธฐ์ˆ  ๊ตฌํ˜„
    • ํ•œ๊ตญ์–ด ๊ฐ€์ด๋“œ ์ปจ์…‰ ๋ฐ ์–ธ์–ด๋ณ„ ์ ์ ˆํ•œ ๋‹ต๋ณ€์„ ์œ„ํ•œ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง
    • ๋ชจ๋ธ ๋ณ€๊ฒฝ ๋ฐ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ณ€๊ฒฝ์„ ํ†ตํ•œ ์‹คํ—˜์„ ํ†ตํ•ด ๋‹ต๋ณ€ ์‹œ๊ฐ„๋‹จ์ถ•
      (์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ ์ƒ์„ฑ ์‹œ ์ฒญํฌ ์‚ฌ์ด์ฆˆ ๋ณ€๊ฒฝ, ๋ฌธ์„œ ํƒ์ƒ‰ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ, openai ๋ชจ๋ธ ๋ณ€๊ฒฝ, ํƒ์ƒ‰ ๋ฌธ์„œ ์ˆ˜ ๋ณ€๊ฒฝ, ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ ๋ณ€๊ฒฝ)
  • ์ˆํผ

    • ํฌ๋กค๋ง ๋ฐ api ํ™œ์šฉ์œผ๋กœ popup store, festival, performance, news, ott์— ๋”ฐ๋ฅธ ์ˆํผ ์ปจํ…์ธ  ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
    • ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์„ ํ†ตํ•ด ์ˆํผ์— ์‚ฌ์šฉ๋  ๋ฐ์ดํ„ฐ ์š”์•ฝ ๋ฐ ์ปจํ…์ธ  ์†Œ๊ฐœ๋ฅผ ์œ„ํ•œ TTS ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
    • google TTS ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ๊ฐ ์–ธ์–ด๋ณ„(ํ•œ๊ตญ์–ด, ์˜์–ด, ์ค‘๊ตญ์–ด, ์ผ๋ณธ์–ด) ์Œ์„ฑ ์ƒ์„ฑ
  • ์ˆํผ ๊ฐœ์ธํ™”

    • ์Šคํฌ๋žฉ, ์ข‹์•„์š”, ์‹ซ์–ด์š”, ์‹œ์ฒญ์‹œ๊ฐ„ ๋กœ๊ทธ์— ๋”ฐ๋ฅธ ๊ฐœ์ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋ฐœ
    • ์Šคํฌ๋žฉ/์ข‹์•„์š”/์‹œ์ฒญ์‹œ๊ฐ„๋ณ„ + ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ์œ ์‚ฌํ•œ ์ปจํ…์ธ  ๊ฒ€์ƒ‰ ํ›„, ์‹ซ์–ด์š” ์ปจํ…์ธ ์—๋Š” - ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ์œ ์‚ฌํ•œ ์ปจํ…์ธ ๋ฅผ ์ œ์™ธํ•˜๋„๋ก ํ–ˆ์Œ.
    • ๊ธฐ์กด์— ๋ดค๋˜ ์ปจํ…์ธ  ๋ฐ ๋‚ ์งœ๊ฐ€ ์ง€๋‚˜๊ฐ„ ์ปจํ…์ธ ๋Š” ์ œ์™ธํ•˜๋„๋ก ํ–ˆ์Œ.

๐Ÿ“– ์ฃผ์š” ๊ธฐ๋Šฅ

1. ํ˜ธ๋กฑ์ฑ—

ํ˜ธ๋กฑ์ฑ—

2. ํ•œ๊ตญ์–ด ํ•™์Šต

ํ•œ๊ตญ์–ด ํ•™์Šต ํŽ˜์ด์ง€
์ง€๋‚œ ๊ธฐ๋ก ๋ณด๊ธฐ

3. ํ•œ๊ตญ ํŠธ๋ Œ๋“œ / ์ด์Šˆ ์ˆํผ

ํ•œ๊ตญ ํŠธ๋ Œ๋“œ / ์ด์Šˆ ์ˆํผ ํŽ˜์ด์ง€

4. ์‚ฌ์„คํ™˜์ „์†Œ

์‚ฌ์„คํ™˜์ „์†Œ ํŽ˜์ด์ง€

5. ์ปค๋ฎค๋‹ˆํ‹ฐ

์ปค๋ฎค๋‹ˆํ‹ฐํŽ˜์ด์ง€

โš’๏ธ ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ

๐Ÿ‘ป์ดํ•˜๋ฆผ

  • ํ•œ๊ตญ์ธ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์„œ๋น„์Šค๋„ ๋งŒ๋“ค๊ธฐ ์–ด๋ ค์šด๋ฐ ์™ธ๊ตญ์ธ์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ๋‹ค๊ตญ์–ด ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋А๋ผ ์ €๋„, ์ €ํฌ ํŒ€์›๋„ ๋ ˆํผ๋Ÿฐ์Šค ์ฐพ๋А๋žด, ๋ฒˆ์—ญ ํ•˜๋А๋žด ์ฐธ ๋งŽ์ด ๊ณ ์ƒํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์•„์‰ฌ์šด ๋ถ€๋ถ„์ด ์•„์˜ˆ ์—†๋‹ค๊ณ  ๋งํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ ๊ทธ๋ž˜๋„ ์—ด์‹ฌํžˆ ํ•œ ๋งŒํผ ์™„์„ฑ๋„ ๋†’๊ณ  ์ž๋ž‘์Šค๋Ÿฌ์šด ์„œ๋น„์Šค๊ฐ€ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ ๊ฐ™์•„์„œ ๋ฟŒ๋“ฏํ•ฉ๋‹ˆ๋‹ค. FE๊ฐœ๋ฐœ์— ์‚ด์ง ์ฐธ์—ฌํ•ด๋ณด๊ธฐ๋„ ํ–ˆ๊ณ , ๋‹คํฌ ๋ชจ๋“œ์™€ ์™ธ๊ตญ์ธ ๋Œ€์ƒ ์„œ๋น„์Šค์˜ UI์— ๋Œ€ํ•ด์„œ ๊นŠ๊ฒŒ ๊ณ ๋ฏผ๋„ ํ•ด๋ณด์•˜์œผ๋ฉฐ PM์—ญํ• ์„ ๋งก์œผ๋ฉด์„œ ์ผ์ •์ด ๋ฐ€๋ฆฌ์ง€ ์•Š๋„๋ก, WBS๋ฅผ ๊ฑฐ๋“ญ ์ˆ˜์ •ํ•˜๋ฉฐ Jira ํฌ์ธํŠธ๋ฅผ ๋ถ„๋ฐฐํ•˜๊ธฐ๋„ ํ•œ ์•Œ์ฐฌ ํ”„๋กœ์ ํŠธ์˜€์Šต๋‹ˆ๋‹ค. ์œ ๋Šฅํ•˜๊ณ  ์žฌ๋ฐŒ๊ณ  ์•ผ๋ฌด์ง„ ํŒ€์›๋“ค ์‚ฌ์ด์—์„œ ๊ธฐ์ˆ ์ ์ธ ๋ถ€๋ถ„๋„ ๋งŽ์ด ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์ •๋ง ์ฆ๊ฒ๊ฒŒ ํ”„๋กœ์ ํŠธํ–ˆ์Šต๋‹ˆ๋‹ค! ๋‹ด์— ๋˜ ๋ง›๋‚œ๊ฑฐ ๋จน์œผ๋Ÿฌ ๊ฐ€์ž 108๋ฐฐ(์ˆ˜ํ–‰์ •์ง„) ๊ณ ์ƒ ๋งŽ์•˜๊ณ  ๊ณ ๋งˆ์› ๋‹ค!!

๐ŸŠ๋ฐ•์ƒ์šฐ

  • ๋‹ค๊ตญ์–ด๋ฅผ ์ง€์›ํ•˜๋Š” ์ฒซ ํ”„๋กœ์ ํŠธ์—ฌ์„œ ๊ทธ๋Ÿฐ์ง€ ๊ธฐํš ๋‹จ๊ณ„๋ถ€ํ„ฐ ๊ฐœ๋ฐœ ๊ณผ์ •๊นŒ์ง€ ์‹ ์„ ํ•œ ๊ฒฝํ—˜์ด์—ˆ๋‹ค. ํŠนํžˆ ํ•œ๊ตญ์–ด๋กœ ์ž‘์„ฑํ•˜๋”๋ผ๋„ ์œ ์ €์˜ ์–ธ์–ด ์ €์žฅ ์ƒํƒœ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ๋ฒˆ์—ญํ•ด์„œ ๋ณด์—ฌ์ฃผ๋Š” ๊ณผ์ •์ด ์žฌ๋ฏธ์žˆ์—ˆ๋‹ค. ์˜ค๋””์˜ค ๊ฐ์ฒด๋ฅผ ์ฒ˜์Œ ๋‹ค๋ค„๋ดค๋Š”๋ฐ ์ด๋ฏธ์ง€์™€ ํฌ๊ฒŒ ๋‹ค๋ฅธ ์ ์ด ์—†์–ด์„œ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. S3์— ์˜ฌ๋ ค์„œ ๊ด€๋ฆฌํ–ˆ๋‹ค.
  • ์ƒํƒœ๊ด€๋ฆฌ์—์„œ ์บ์‹ฑ๋œ ๋ฐ์ดํ„ฐ์™€ fetchํ•ด์˜ค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅด๊ฒŒ ๋ฐ›์•„์™€์•ผํ• ์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ๋งŽ์•˜๋‹ค. ํ˜„ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” staleTime์„ ์กฐ์ •ํ•ด์„œ ํ•ด๊ฒฐํ•˜์˜€๋Š”๋ฐ, ์ด๋Š” ํŽธ๋ฒ•์ธ ๊ฒƒ ๊ฐ™์•„ queryClient๊ณต๋ถ€์˜ ํ•„์š”์„ฑ์„ ๊นจ๋‹ฌ์•˜๋‹ค. ์ถ”ํ›„ ๋ฆฌํŒฉํ† ๋ง ๊ณผ์ •์—์„œ ์ด๋ฅผ ๊ณ ์น  ์˜ˆ์ •์ด๋‹ค.
  • ๊ธฐ๊ธฐ์— ๋”ฐ๋ผ view๊ฐ€ ๋‹ฌ๋ผ์ง€์ง€ ์•Š๋„๋ก ์ถฉ๋ถ„ํžˆ ๊ณ ๋ คํ•ด์„œ ์งฐ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ฒ„๊ทธ๊ฐ€ ๋งŽ์ด ์ƒ๊ฒผ๋‹ค. ์•ž์œผ๋กœ ๊ฐœ๋ฐœํ•  ๋ชจ๋ฐ”์ผ ์„œ๋น„์Šค์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์–‘ํ•œ ๊ณต๊ธฐ๊ณ„๋ฅผ ์ค€๋น„ํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์— ๋Œ€๋น„ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ๋А๊ผˆ๋‹ค. ๊ธฐํš์ ์ธ ๋ถ€๋ถ„์—์„œ๋Š” 1์ฐจ ๋ฐฐํฌ์™€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ณ  ์‹ค์ œ ๋ฐฐํฌ๊นŒ์ง€ ์ง„ํ–‰ํ•  ๊ณ„ํš์ด์—ˆ๋Š”๋ฐ QA๋ฅผ ๊ฑฐ์น˜๊ณ  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋‹ค๋ณด๋‹ˆ ์ƒ๊ฐ๋ณด๋‹ค ๊ณ ๋„ํ™”๋ฅผ ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋˜์–ด ์ด ๋ถ€๋ถ„์„ ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ•œ ์ ์ด ์•„์‰ฌ์› ๋‹ค.

๐Ÿ˜Ž์ตœํ™์„

  • ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ SSE๋ฅผ ์ฒ˜์Œ ์จ๋ณด์•˜๋Š”๋ฐ, ์ƒ๊ฐ๋ณด๋‹ค ์ œ์•ฝ์ด ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ๊ณผ ์—ฐ๊ฒฐ๋˜๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•„์˜ฌ ๋•Œ๊นŒ์ง€์˜ ์—ฐ๊ฒฐ ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๊ฒƒ์ด ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. ํ•ญ์ƒ ์ปค๋ฎค๋‹ˆํ‹ฐ(SNS)ํ˜• ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋А๋‚€ ์ ์ด์ง€๋งŒ ์œ ์ €์˜ ํƒ€์ž…์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋ฉด์„œ ์—๋Ÿฌ ํ•ธ๋“ค๋ง์ด ์–ด๋ ค์› ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋„ ๊ฐ™์€ ์–ด๋ ค์›€์„ ๋А๊ผˆ์ง€๋งŒ, ๊ฑฐ๋“ญ๋œ ํ”„๋กœ์ ํŠธ ์†์—์„œ ์–ด๋””๊นŒ์ง€ ์—๋Ÿฌํ•ธ๋“ค๋ง์˜ ๊ณ ๋ ค ๋ฒ”์œ„๋ฅผ ์ตœ๋Œ€ํ•œ ๊ณ ๋ คํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ํŒจ์นญ ๋กœ์ง์—์„œ server state๋ฅผ tanstack-query๋ฅผ ์‚ฌ์šฉํ•ด ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์˜€๋Š”๋ฐ, ๊ฐ’์ด ๋ฐ”๋กœ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” ๋กœ์ง์ด ์žˆ๋Š”๊ฒฝ์šฐ ๋ฌด์กฐ๊ฑด ๋‹ค์‹œ Refetching์„ ํ•ด์•ผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ์ด๋ฏธ ์บ์‹œ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌ ํ•ด์•ผํ• ์ง€ ๊ณ ๋ฏผ์„ ๋งŽ์ด ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. staleTime์„ ์—†์• ๊ธฐ๋„ ํ•˜๊ณ , reset์„ ํ•˜๊ธฐ๋„ ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•˜๊ณ  ์ ์šฉํ•ด๋ณด์•˜์ง€๋งŒ, ๋”ฑ ์ ๋‹นํ•œ ๋ฐฉ์‹์ด ๋‚˜์˜ค์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ถ”ํ›„ ๋” ๊ณ ๋ฏผ ํ•ด๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๐Ÿ“์ตœ์„ฑ์ฒ 

-์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ์Šคํ”„๋ง๋ถ€ํŠธ์˜ ์ „์ฒด ๋กœ์ง์„ ์ดํ•ดํ•˜๋ฉฐ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ํ˜ผ์ž์„œ ์™„์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ธํ”„๋ผ๋ฅผ ์ง์ ‘ ๊ตฌ์ถ•ํ•˜๋ฉด์„œ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด ๊นŠ์ด ๋ฐฐ์šฐ๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝํ—˜์„ ํ†ตํ•ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์ „๋ฐ˜์— ๋Œ€ํ•œ ์ž์‹ ๊ฐ์„ ์–ป์—ˆ๊ณ , ๊ธฐ์ˆ ์  ์„ฑ์žฅ์˜ ๊ธฐํšŒ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿฑโ€๐Ÿ์ด์Šน์ฃผ

๋จผ์ € ๋– ๋‚˜์„œ ๋ฏธ์•ˆํ•ฉ๋‹ˆ๋‹ค..!


๐ŸŽฏ์œค๊ฒฝ์„œ

  • ์‹ธํ”ผ์—์„œ ์ง„ํ–‰ํ•œ ํ”„๋กœ์ ํŠธ ์ค‘ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ๊ฐ™์€ ํŒŒํŠธ๋ฅผ ๋งก์•„์„œ ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋Š” ์ฒ˜์Œ์ด๋ผ ํ˜‘์—…ํ•˜๋Š” ๊ฒฝํ—˜์ด ์ƒˆ๋กœ์› ๋‹ค. git๊ณผ ์ง€๋ผ๋กœ ํ•จ๊ป˜ ๊ด€๋ฆฌํ•˜๊ณ  ํ˜‘์—…ํ•˜๋ฉด์„œ ์„œ๋กœ์˜ ์ง„ํ–‰์ƒํ™ฉ์„ ํ™•์ธํ•˜๋ฉด์„œ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ํšจ์œจ์ ์œผ๋กœ ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ์„ ์ง€ ๋งŽ์ด ๊ณ ๋ฏผํ•˜๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™๋‹ค. ๊ฐ™์€ ํŒŒํŠธ๋ฅผ ๋งก์€ ๋•๋ถ„์— git ํ™œ์šฉ ๋Šฅ๋ ฅ์ด๋‚˜ ์ถฉ๋Œ ๊ด€๋ฆฌ์™€ ๊ฐ™์€ ๊ฒฝํ—˜๋“ค์„ ํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด ์ข‹์•˜๋‹ค.

  • AI๋ฅผ ์ ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค๋Š” ์ ์ด ์ข‹์•˜๋‹ค. AI๋ฅผ ์„œ๋น„์Šคํ™” ํ•ด๋ณด๋ฉด์„œ ์„ฑ๋Šฅ๊ณผ ์†๋„๋ฅผ ๋ชจ๋‘ ๊ณ ๋ คํ–ˆ์–ด์•ผ ํ–ˆ๋˜ ์ ์ด ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์› ๋‹ค. ์กฐ๊ธˆ ๋” ์‹œ๊ฐ„์ด ์žˆ์—ˆ๋‹ค๋ฉด ์‹œ๊ฐ„ ๋‹จ์ถ•์— ์กฐ๊ธˆ ๋” ์‹œ๊ฐ„์„ ์จ๋ณผ ์ˆ˜ ์žˆ์—ˆ์„ ๊ฒƒ ๊ฐ™์€๋ฐ ์‹œ๊ฐ„ ๋‹จ์ถ•์— ์‹œ๊ฐ„ ํˆฌ์ž๋ฅผ ๋งŽ์ด ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์ ์ด ์•„์‰ฌ์šด ์ ์œผ๋กœ ๋‚จ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. AI๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ข‹์•˜๋˜ ์ ์€ ๋‹ค์–‘ํ•œ ์‹คํ—˜์„ ํ•ด๋ณด๋ฉด์„œ ๊ธฐ์ˆ ์˜ ์žฅ๋‹จ์ ์„ ๋น„๊ตํ•ด๋ณด๊ณ  ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ธฐ์ˆ  ๊ณต๋ถ€๋„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค๋Š” ์ ์ด ์ข‹์•˜๋‹ค.

  • ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์„ ๋งŽ์ด ๋ฐ›์•„๋ณด์ง€ ๋ชปํ–ˆ๋˜ ์ ๋„ ์•„์‰ฌ์šด ๊ฒƒ ๊ฐ™๋‹ค. ํŒ€์›์˜ ์ง€์ธ ์ผ๋ถ€์—๊ฒŒ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ธด ํ–ˆ์ง€๋งŒ ์ด ์•ฑ ๋Œ€์ƒ์ž๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ์ž˜ ์•Œ์ง€ ๋ชปํ•˜๋Š” ์™ธ๊ตญ์ธ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ผ์ • ๊ธฐ๊ฐ„ ๋™์•ˆ ๋” ๋งŽ์€ ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ๋” ์ข‹์•˜์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์•„์‰ฌ์›€์ด ๋‚จ๋Š”๋‹ค. ์ˆํผ ๊ฐœ์ธํ™”์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ํŒŒํŠธ๋Š” ์‚ฌ์šฉ์ž์˜ ๊ฒฝํ—˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋” ๋ฐœ์ „ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ ๊ธฐํšŒ๊ฐ€ ๋œ๋‹ค๋ฉด ์ด ๋ถ€๋ถ„์„ ์กฐ๊ธˆ ๋” ๊ณ ๋„ํ™” ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐœํ‘œ๊ฐ€ ๋๋‚˜๋”๋ผ๋„ ๋ฐฐํฌ๋ฅผ ํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors