ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

์•„์›ƒ์†Œ์‹ฑ์ด๋ž€? ๊ธฐ์—…์ด๋‚˜ ์กฐ์ง์ด ํŠน์ • ์—…๋ฌด๋ฅผ ์™ธ๋ถ€ ์ „๋ฌธ ์—…์ฒด๋‚˜ ๊ฐœ์ธ์—๊ฒŒ ์œ„ํƒ

→ ํ•œ ํšŒ์‚ฌ์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์—ˆ๋‹ค ์ƒ๊ฐํ•˜๊ณ  ์ฃผ์–ด์ง„ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ž˜ ๋ฐ˜์˜ํ•ด์„œ ์•„์›ƒ์†Œ์‹ฑ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ฑ๊ณต์‹œ์ผœ ๋ด…์‹œ๋‹ค!


๋‘ ๋ฒˆ์งธ ํ˜‘์—… ํ”„๋กœ์ ํŠธ.

์ด๋ฒˆ์—๋Š” ์„ธ ๊ฐ€์ง€ ์„œ๋น„์Šค ์ค‘ ํ•œ ๊ฐ€์ง€ ์ด์ƒ์„ ํฌํ•จํ•œ ์›น์‚ฌ์ดํŠธ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค.

์šฐ๋ฆฌ ์กฐ(ํ•˜์ดํŒŒ์ด๋ธŒโœ‹)๋Š” ์ง€๋„ ์„œ๋น„์Šค, ์œ ํŠœ๋ธŒ ์˜์ƒ ์ง€์›, ์„ค๋ฌธ์กฐ์‚ฌ์— ๋”ฐ๋ฅธ ๊ฒฐ๊ณผ ์ค‘ ์นด์นด์˜ค ์ง€๋„, ์œ ํŠœ๋ธŒ ๋ฅผ ์„ ํƒํ•˜์˜€๋‹ค.

 

2025.02.26 (์ˆ˜) Works

 

1. ์•„์ด๋””์–ด ์Šค์ผ€์น˜ - ํ”ผ๊ทธ๋งˆ

2. S.A(Starting Assignments) ์ •ํ•˜๊ธฐ
- ํ”„๋กœ์ ํŠธ ์ฃผ์ œ
- ํฌํ•จํ•  ๋‚ด์šฉ
- ๊ตฌ์„ฑ
- ๊ธฐ๋Šฅ
3. ํŒ€ ๊ทœ์น™ ์ •ํ•˜๊ธฐ 
- ์ปค๋ฐ‹ ์ปจ๋ฒค์…˜
- git rules

 

 

์•„์ด๋””์–ด ์Šค์ผ€์น˜

 

์„ธ ๊ฐ€์ง€ ์„œ๋น„์Šค ์ค‘ ํ•œ ๊ฐ€์ง€ ์ด์ƒ์„ ๊ณจ๋ผ์„œ ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์กฐ์› ๊ฐ์ž์˜ ์ž์œ ๋กœ์šด ์•„์ด๋””์–ด๋ฅผ ๋ชจ์•„๋ณด์•˜๋‹ค.

๋‚˜๋Š” AI๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์œ ํŠœ๋ธŒ ์˜์ƒ์˜ ๋‚ด์šฉ์„ ๊ฐ„๋žตํžˆ ์š”์•ฝํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์ƒ๊ฐํ–ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ด๊ฒƒ์€ ๊ทธ์ € ํ•œ๊ฐ€์ง€์˜ ๊ธฐ๋Šฅ์ด์—ˆ๊ณ , ๋‹ค๋ฅธ ์ฃผ์ œ์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ ๋ฐ˜์˜ํ•ด๋ณด๋ฉด ์ข‹์„ ๋“ฏ ํ•˜๋‹ค.

 

์ •ํ•ด์ง„ ์ฃผ์ œ๋Š” 'ํ•ซํ”Œ ๊ณต์œ ์ง€๋„'

์ด ์ฃผ์ œ๋กœ ๊ฐœ์ธ์ ์œผ๋กœ ์ƒ๊ฐํ•˜๋Š” ๊ธฐ๋Šฅ ๋ฐ ๋ ˆ์ด์•„์›ƒ์„ ํ”ผ๊ทธ๋งˆ์— ๋Œ€๋žต์ ์œผ๋กœ ๊ทธ๋ ค๊ฐ€๋ฉฐ ํ•จ๊ป˜ ์ด์•ผ๊ธฐ ๋‚˜๋ˆ„์—ˆ๋‹ค.

 

์—ฌ๋Ÿฌ ์˜๊ฒฌ์„ ์กฐํ•ฉํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์‚ฌ์šฉ์ž์—๊ฒŒ ์นด์นด์˜ค ์ง€๋„๋ฅผ ํ†ตํ•ด ์„œ์šธ ํ•œ์ •์œผ๋กœ ์ง€์—ญ๋ณ„ ํ•ซํ”Œ์„ ์ถ”์ฒœํ•ด์ฃผ๋ฉฐ ๊ด€๋ จ ์œ ํŠœ๋ธŒ ์˜์ƒ๋„ ํ•จ๊ป˜ ์ œ๊ณตํ•œ๋‹ค.

๋˜ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์„ ํƒํ•˜์—ฌ ์ฃผ๋ณ€ ์Œ์‹์ ๊ณผ ์นดํŽ˜๋ฅผ ์ง€๋„์ƒ์— ๋‚˜ํƒ€๋‚ธ๋‹ค.

ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ ํ•œ ์‚ฌ์šฉ์ž๋Š” ํ•ด๋‹น ์ง€์—ญ์„ ๋ถ๋งˆํฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋งˆ์ดํŽ˜์ด์ง€์—์„œ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

S.A ์ž‘์„ฑ

 

๐Ÿ“ํ”„๋กœ์ ํŠธ ์ฃผ์ œ ๋ฐ ํ•œ ์ค„ ์ •๋ฆฌ

์•ž์„œ ๋งํ–ˆ ๋“ฏ, ์นด์นด์˜ค์ง€๋„์™€ ์œ ํŠœ๋ธŒ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์„œ์šธ ๋‚ด ์ง€์—ญ๋ณ„ ํ•ซํ”Œ ๊ณต์œ  ์ง€๋„์ด๋‹ค.


๐Ÿ“ํฌํ•จํ•  ๋‚ด์šฉ

  1. ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ์œผ๋กœ ํšŒ์› ๊ด€๋ฆฌ
  2. ์นด์นด์˜ค ์ง€๋„ 
    • ์ฃผ๋ณ€ ์žฅ์†Œ ๋ฆฌ์ŠคํŠธ ๋‚˜ํƒ€๋‚ด๊ธฐ
    • ์šฐ๋ฆฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํ•ซํ”Œ ๋งˆ์ปค ์ง€๋„์— ํ‘œ์‹œ
    • ๋งˆ์ปค ํด๋ฆญ ์‹œ
      • ํ•ด๋‹น ์žฅ์†Œ ์ •๋ณด(์Œ์‹์  ์ด๋ฆ„, ์ฃผ์†Œ, ์šด์˜์‹œ๊ฐ„, ๋ฒˆํ˜ธ, ์ฃผ์ฐจ ์—ฌ๋ถ€, ์ „ํ™”๋ฒˆํ˜ธ ๋“ฑ)
      • ํ•ซํ”Œ ๊ด€๋ จ ์˜์ƒ ์ •๋ณด
      • ํ•ซํ”Œ ์ข‹์•„์š”
      • ํ•ซํ”Œ ๋งˆ์ปค ๋ถ๋งˆํฌ
  3. ์œ ํŠœ๋ธŒ
    • ํ•ซํ”Œ ์žฅ์†Œ ๊ด€๋ จ ์˜์ƒ 3~5๊ฐœ ์ œ๊ณต


๐Ÿ“ํŽ˜์ด์ง€ ๊ตฌ์„ฑ

  1. ๋กœ๊ทธ์ธ
  2. ํšŒ์›๊ฐ€์ž…
  3. ๋ฉ”์ธํŽ˜์ด์ง€
    • ์ง€์—ญ ์นดํ…Œ๊ณ ๋ฆฌ & ์ง€๋„(๊ณ ์ •)
    • ์˜์ƒ๋ฆฌ์ŠคํŠธ
  4. ๋งˆ์ดํŽ˜์ด์ง€
    • ํ”„๋กœํ•„ ํ™•์ธ ๋ฐ ์ˆ˜์ •
    • ๋ถ๋งˆํฌ ํ•œ ํ•ซํ”Œ


๐Ÿ“๊ธฐ๋Šฅ

  1. ํšŒ์›๊ฐ€์ž…์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์ €์žฅ
  2. ๋กœ๊ทธ์ธ์„ ํ†ตํ•ด ํŽ˜์ด์ง€ ๋ฐ ๊ธฐ๋Šฅ ์ด์šฉ ๊ถŒํ•œ ๋ถ€์—ฌ
  3. ์ง€์—ญ๋ณ„ ํ•ซํ”Œ ์ •๋ณด ์ „๋‹ฌ
  4. ์นด์นด์˜ค์ง€๋„ API
    • ํ•ซํ”Œ ์žฅ์†Œ ์ •๋ณด ๋‚˜ํƒ€๋‚ด๊ธฐ(์Œ์‹์  ์ด๋ฆ„, ์ฃผ์†Œ, ์šด์˜์‹œ๊ฐ„, ๋ฒˆํ˜ธ, ์ฃผ์ฐจ ์—ฌ๋ถ€, ์ „ํ™”๋ฒˆํ˜ธ ๋“ฑ)
    • [์Œ์‹์ , ์นดํŽ˜] ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ์ฃผ๋ณ€ ์žฅ์†Œ ๋ฆฌ์ŠคํŠธ๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ (๋ฌดํ•œ์Šคํฌ๋กค)
  5. ์œ ํŠœ๋ธŒ API
    • ํ•ซํ”Œ ์žฅ์†Œ ๊ด€๋ จ ์œ ํŠœ๋ธŒ ์˜์ƒ ํ”Œ๋ ˆ์ด์–ด
    • ์ฃผ๋ณ€ ๊ฐ€๊ฒŒ ๋ฌดํ•œ์Šคํฌ๋กค

 

 

ํŒ€ ๊ทœ์น™ ์ •ํ•˜๊ธฐ

 

๐Ÿ“git rules

  • ์ด์Šˆ ํ™œ์„ฑํ™”
    • ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์ „ ์ด์Šˆ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜์—ฌ ์ด์Šˆ ๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•˜๊ธฐ
  • ๋ธŒ๋žœ์น˜๋ช… ์ƒ์„ฑ
    • `Feature/[issue-number]-setting_project`

์™€ ๊ฐ™์ด ๋ธŒ๋žœ์น˜ ๋ช…์„ ์ •ํ•˜์—ฌ ์ด์Šˆ ๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

๋งŽ์€ ๋ธŒ๋žœ์น˜๋ช…์ด ์žˆ์ง€๋งŒ ์•„๋งˆ Feature/ ์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ด์•ผ๊ธฐ ๋‚˜๋ˆ„์—ˆ๋‹ค.

 

  • ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€
    • update:#10 title change
      (ํƒ€์ž…:#์ด์Šˆ๋ฒˆํ˜ธ ๋‚ด์šฉ)

์ž‘์—… ํƒ€์ž…๊ณผ ํ•จ๊ป˜ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด์Šˆ ๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

๋ฉ”์„ธ์ง€์˜ ๋‚ด์šฉ๊ณผ ํ˜•์‹์€ ์ž์œ ๋กญ๊ฒŒ ~

 

 

  • PR
    • ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ PR์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉฐ ํ‹€์€ ๋ฐ”๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •!
### ์ด์Šˆ ๋ฒˆํ˜ธ
> ํ•ด๋‹น ์ด์Šˆ ๋ฒˆํ˜ธ๋ฅผ ์ ์Šต๋‹ˆ๋‹ค.

### ์ž‘์—… ์„ค๋ช…
> ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ์ ์Šต๋‹ˆ๋‹ค.

### ๋ฆฌ๋ทฐ ์š”๊ตฌ ์‚ฌํ•ญ
> ๋ฆฌ๋ทฐ ์˜ˆ์ƒ ์‹œ๊ฐ„ ๋ฐ ๊ณ ๋ฏผ ์‚ฌํ•ญ์„ ์ ์Šต๋‹ˆ๋‹ค.
> ๋…ผ์˜๊ฐ€ ํ•„์š”ํ•œ ๋ถ€๋ถ„ ๋‚จ๊ฒจ์ฃผ์„ธ์šฉ

### ๋ฏธ๋ฆฌ๋ณด๊ธฐ
> ํ”„๋ก ํŠธ์—์„œ ๋””์ž์ธ์— ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋˜๋Š” ์ƒˆ๋กœ์šด ๋””์ž์ธ์„ ๋จธ์ง€ํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋ฏธ์ง€๋ฅผ ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.

 

 

๐Ÿ“Code Convention

 

  • src ํ•˜์œ„์˜ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ๋ฐ ํŒŒ์ผ๊ตฌ์กฐ
๋”๋ณด๊ธฐ
  • app/: router, compositeProvider ๋“ฑ ํ”„๋กœ์ ํŠธ์˜ ํ™˜๊ฒฝ ์„ค์ • ๊ฐ™์€ ํŒŒ์ผ์„ ์ €์žฅ
  • public/: ์ด๋ฏธ์ง€, ํŒŒ๋น„์ฝ˜, ํฐํŠธ ๋“ฑ์˜ ์ •์  ํŒŒ์ผ์„ ์ €์žฅ
  • components/: ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํด๋” ํ•˜์œ„์— ํŒŒ์ผ์„ ์ƒ์„ฑํ•จ
    • common/: ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ณตํ†ต ์ปดํฌ๋„ŒํŠธ
    • layout/: header, footer๋“ฑ layout์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ
    • (์˜์—ญ)/: ๊ฐœ์ธ๋งˆ๋‹ค ์‚ฌ์šฉํ•  ๋””๋ ‰ํ„ฐ๋ฆฌ (์˜ˆ: my-page/)
  • lib/: ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜, API ํ˜ธ์ถœ ๊ด€๋ จ ํ•จ์ˆ˜, ํ—ฌํผ ๋“ฑ์„ ์ €์žฅ
    • api/: supabase ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๋„๋ก ์บก์Аํ™”ํ•œ ํ•จ์ˆ˜๋“ค
    • hooks/: ์ปค์Šคํ…€ ํ›… ⇒ ๊ฐœ์ธ ๋ธŒ๋žœ์น˜์—์„œ Tanstack ์ฟผ๋ฆฌ ์‚ฌ์šฉํ•˜
    • utils/: ๋‹ค์–‘ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜
  • store/ : zustand, ํด๋ผ์ด์–ธํŠธ ์ „์—ญ ์ƒํƒœ๊ด€๋ฆฌ ๋””๋ ‰ํ„ฐ๋ฆฌ
  • data/: ํ”„๋กœ์ ํŠธ ์ „๋ฐ˜์— ์‚ฌ์šฉ๋˜๋Š” ์ƒ์ˆ˜๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋””๋ ‰ํ† ๋ฆฌ ๋„ค์ด๋ฐ : kebab-case
  • ํŒŒ์ผ ๋„ค์ด๋ฐ : ์ปดํฌ๋„ŒํŠธ๋ฅผ ํฌํ•จํ•œ ํŒŒ์ผ์˜ ์ด๋ฆ„์€ PascalCase
  • React Hook : ‘use’๋กœ ์‹œ์ž‘ํ•˜๋Š” camelCase
  • ์ด์™ธ์˜ ํŒŒ์ผ :  camelCase
  • API ํ•จ์ˆ˜๋ช…
    • GET API - get[๋กœ์ง ๋ช…] / ์˜ˆ์‹œ : getPeeds
    • POST/PATCH/PUT/UPDATE/DELETE API - ์š”์ฒญํƒ€์ž…[๋กœ์ง ๋ช…] / ์˜ˆ์‹œ : postSignIn (๋กœ๊ทธ์ธ ํ•จ์ˆ˜)
  • ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ
    • handle[๋กœ์ง] - ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ •์˜ํ•  ๋•Œ handle๋กœ ์‹œ์ž‘ / ์˜ˆ์‹œ - handleAddPokemon
    • on[์ ์ ˆํ•œ ๋กœ์ง ๋ช…] - ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์„ ๋•Œ ์ธ์ž๋ช…์ด on ์œผ๋กœ ์‹œ์ž‘ / ์˜ˆ์‹œ - onRemovePokemon
  • ๋ณต์ˆ˜๋ช…์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ณ€์ˆ˜๋ช… : 's' ๋ถ™์ด๊ธฐ / ์˜ˆ์‹œ - pokemons
  • Named Function VS Arrow Function
// Named Function //์ปดํฌ๋„ŒํŠธ, ํŽ˜์ด์ง€ 
function helloWorld() {
	console.log('hello world!');
}

// Arrow Function // ์ปดํฌ๋„ŒํŠธ์™€ ํŽ˜์ด์ง€๋ฅผ ์ œ์™ธ!ํ•œ ๋‚ด๋ถ€ ํ•จ์ˆ˜ ๋“ฑ ๋‚˜๋จธ์ง€
const helloWorld = () => {
	console.log('hello world!');
}
// or
const helloWorld = () => console.log('hello world!');

 

 

 

 

Tomorrow Task

- ์™€์ด์–ดํ”„๋ ˆ์ž„ ์งœ๊ธฐ(์ „์ฒด์ ์ธ ๋ ˆ์ด์•„์›ƒ)

 

- ๊ธฐ๋Šฅ ํ™•์‹คํžˆ ์ •ํ•˜๊ธฐ

- supabase ํ…Œ์ด๋ธ” ์˜๊ฒฌ ๋‚˜๋ˆ„๊ธฐ

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2026/03   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ