Skip to content

[Week1 Day2] ๊ธฐํš

JinWoo Lee edited this page Nov 8, 2022 · 2 revisions

์ผ์‹œ : 2022๋…„ 11์›” 8์ผ ์˜ค์ „ 10์‹œ 30๋ถ„ ~ ์˜คํ›„ 7์‹œ


์˜ค์ „

๊ธฐ์ˆ ์Šคํƒ ์„ ์ •

division stack
Web โ€ฆ
Front-end React, TypeScript, styled-component, Recoil
Back-end TypeScript, NestJS, Prisma, MySQLโ€ฆ
Production NginX, pm2
Code Management Git, GitHub, husky
Formatting eslint, prettier
Project Manager NPM

์˜คํ›„

์•„์ด๋””์–ด ์ฃผ์ œ ๊ณ ๋„ํ™”

  1. ํฌ์•„
    • ์˜ํ˜ธ : ํฌ๋ ˆ์ด์ง€ ์•„์ผ€์ด๋“œ ๋ณด๋‹ค๋Š” ๋ด„๋ฒ„๋งจ์— ๊ฐ€๊น๊ฒŒ ํ•ด๋ณด์ž
      • ๋ฐฉ์„ ๋งŒ๋“ค์–ด์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค๊ณผ ๋ด„๋ฒ„๋งจ ๊ฒŒ์ž„
      • ํญํƒ„์˜ ๋ฒ”์œ„, ์ด๋™ ๋ฒ”์œ„, ๊ฐœ์ˆ˜ ์ •๋„
    • ์žฅ์ 
      • ๊ฐ€์žฅ ์ฐธ์—ฌํ•˜๊ธฐ ์ข‹์€ ๊ฒŒ์ž„
        • ์‚ฌ์šฉ์ž์—๊ฒŒ ์ต์ˆ™ํ•˜๋‹ค ๋ณด๋‹ˆ ๋งŽ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค.
      • ๋ฐฑ์—”๋“œ ์ ์œผ๋กœ ๋„์ „ํ•˜๊ธฐ ์ข‹์€ ๊ณผ์ œ
        • ์‚ฌ์šฉ์ž ํŠธ๋ž˜ํ”ฝ
        • ํ”ฝ์…€ ๋‹จ์œ„ ์›€์ง์ž„ ๊ตฌํ˜„
    • ๋‹จ์ 
      • ๋””์ž์ธ ์†Œ์Šค๋ฅผ ๊ตฌํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Œ
      • ๋‹จ์ˆœํžˆ ๊ฒŒ์ž„์ ์ธ ์š”์†Œ์—๋งŒ ์ง‘์ค‘ํ•˜๊ฒŒ ๋  ์ˆ˜ ์žˆ์Œ
  2. ํ˜‘์—… ํˆด
    • ์„ฑํ›ˆ : ์Šคํฌ๋Ÿผ์„ ๋„์™€์ค„ ์ˆ˜ ์žˆ๋Š” ํ˜‘์—…ํˆด์„ ๋งŒ๋“ค์ž.
      • ์Šคํฌ๋Ÿผ ํšŒ๊ณ ๋ฅผ ๋„์™€์ค„ ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์‹œ์ž‘์œผ๋กœ, ์ด์Šˆ ํŠธ๋ž˜ํ‚น ๋ฐ ๋ฐฑ๋กœ๊ทธ ๊ด€๋ฆฌ๊นŒ์ง€ ํ™•์žฅํ•ด๋ณด์ž.
      • Jira์˜ ๊ฒฝ์šฐ Github์™€ ์—ฐ๋™ํ•˜์—ฌ ์ด์Šˆ ๊ด€๋ฆฌ ๊ฐ€๋Šฅโ€ฆ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๋„์ „ํ•ด๋ณผ๋งŒ ํ•  ๊ฒƒ ๊ฐ™์Œ.
      • ์˜ˆ์‹œ - https://miro.com/guides/retrospectives/
    • ์žฅ์ 
      • ๋ถ€์บ  ์บ ํผ๋“ค๋กœ๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค.
      • ๊ธฐ์ˆ  ๋‚œ์ด๋„๊ฐ€ ๊ฐ€์žฅ ์ ๋‹นํ•  ๊ฒƒ.
    • ๋‹จ์ 
      • ํ˜„์žฌ ํŒ€ ๋‚ด์—์„œ ํ—™์—… ํˆด์„ ์‚ฌ์šฉํ•ด๋ณด์ง€ ์•Š์€ ์‚ฌ๋žŒ์ด ๋‹ค์ˆ˜. โ‡’ ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์„์ง€ ๋ชจ๋ฆ„.
  3. ์บ์น˜ ๋งˆ์ธ๋“œ
    • ๋ช…์„ฑ
      • ๋‹จ์ˆœํžˆ ์ˆœ์„œ๋Œ€๋กœ ํ•œ๋ช…์”ฉ ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ฆผ์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ๋งž์ถ”๋Š” ๊ฒŒ์ž„
      • ๋งค๋ฒˆ ์ œ์‹œ์–ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
      • ์ฑ„ํŒ…์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
      • ๋ฐฉ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
    • ์žฅ์ 
      • ์ฐธ๊ณ ํ•  ๊ฑฐ๋ฆฌ๊ฐ€ ๋งŽ๋‹ค.
      • ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๊ธฐ๋Šฅ์ด ๋ช…ํ™•ํ•˜๋‹ค.
    • ๋‹จ์ 
      • ํ”ํ•˜๋‹ค.
      • ๊ธฐ๋Šฅ์ด ๋งŽ์ด ์ถ”๊ฐ€๋  ๊ฒฝ์šฐ ๋‹จ์ˆœํžˆ ๊ฒŒ์ž„์ ์ธ ์š”์†Œ์—๋งŒ ์ง‘์ค‘ํ•˜๊ฒŒ ๋  ์ˆ˜ ์žˆ์Œ

์šฐ์„  ์ˆœ์œ„

์ด๋ฆ„ 1์ˆœ์œ„ 2์ˆœ์œ„ 3์ˆœ์œ„
์˜ํ˜ธ ํ˜‘์—… ํˆด ๋ด„๋ฒ„๋งจ ์บ์น˜๋งˆ์ธ๋“œ
์„ฑํ›ˆ ํ˜‘์—… ํˆด ๋ด„๋ฒ„๋งจ ์บ์น˜๋งˆ์ธ๋“œ
์ง„์šฐ ํ˜‘์—… ํˆด ์บ์น˜๋งˆ์ธ๋“œ ๋ด„๋ฒ„๋งจ
ํšจ์ • ํ˜‘์—… ํˆด ์บ์น˜๋งˆ์ธ๋“œ ๋ด„๋ฒ„๋งจ
๋ช…์„ฑ ํ˜‘์—… ํˆด ๋ด„๋ฒ„๋งจ ์บ์น˜๋งˆ์ธ๋“œ

์ปจ๋ฒค์…˜

git branch ์ „๋žต

image

  • main : ๋ฐฐํฌ ๋ฐ ์ตœ์ข…๋ณธ, ์ถœ์‹œ ๋ฒ„์ „ ๋ธŒ๋žœ์น˜

  • develop : ๋‹ค์Œ ๋ฒ„์ „์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜ (dev)

  • feature : ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜, issue์™€ ๋งค์นญ๋˜๋„๋ก ์ƒ์„ฑ

    feat#1/fe/login (feat[Issue#]/(FE|BE)/[FeatureName])

  • hotfix : ์ถœ์‹œ ๋ฒ„์ „์—์„œ ๋ฐœ์ƒํ•œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ธŒ๋žœ์น˜ (hotfix)

ISSUE ์ž‘์„ฑ

์ถ”ํ›„ ์ž‘์„ฑ

PR ๋ฉ”์„ธ์ง€

์ œ๋ชฉ : [feat|release|hotfix] ์ž‘์—…๋‚ด์šฉ closes #issue

๋ณธ๋ฌธ:
### ์ด์Šˆ๋ช…

### ์ž‘์—…์‚ฌํ•ญ

### ํ™”๋ฉด์บก์ฒ˜(์„ ํƒ)
### ์˜๋ฌธ์ (์„ ํƒ)

PR ์Šน์ธ (feature โ†’ develop)

  • ๋ณธ์ธ์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๊ฐ™์€ ๊ฐœ๋ฐœ ๋ถ„์•ผ์˜ ์ธ์›์ด ์Šน์ธํ•˜์—ฌ์•ผ ํ•œ๋‹ค.
  • ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋ฐ˜๋“œ์‹œ ์ž‘์„ฑํ•œ๋‹ค.

์ถœ์‹œ (develop โ†’ main)

  • DAY4๋•Œ ๋‹ค๊ฐ™์ด ๋ชจ์—ฌ์„œ ๊ฒฐ์ •ํ•œ๋‹ค.

commit ์ปจ๋ฒค์…˜

# <ํƒ€์ž…>: <FE|BE> - <์ œ๋ชฉ> <#1>

##### ์ œ๋ชฉ์€ ์ตœ๋Œ€ 50 ๊ธ€์ž๊นŒ์ง€๋งŒ ์ž…๋ ฅ ############## -> |

# ๋ณธ๋ฌธ์€ ์œ„์— ์ž‘์„ฑ
######## ๋ณธ๋ฌธ์€ ํ•œ ์ค„์— ์ตœ๋Œ€ 72 ๊ธ€์ž๊นŒ์ง€๋งŒ ์ž…๋ ฅ ########################### -> |
# --- COMMIT END ---
# <ํƒ€์ž…> ๋ฆฌ์ŠคํŠธ
#   feat    : ๊ธฐ๋Šฅ (์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ)
#   fix     : ๋ฒ„๊ทธ (๋ฒ„๊ทธ ์ˆ˜์ •)
#   refactor: ๋ฆฌํŒฉํ† ๋ง
#   style   : ์Šคํƒ€์ผ (์ฝ”๋“œ ํ˜•์‹, ์„ธ๋ฏธ์ฝœ๋ก  ์ถ”๊ฐ€: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
#   docs    : ๋ฌธ์„œ (๋ฌธ์„œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ)
#   test    : ํ…Œ์ŠคํŠธ (ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋ณ€๊ฒฝ ์—†์Œ)
#   chore   : ๊ธฐํƒ€ ๋ณ€๊ฒฝ์‚ฌํ•ญ (๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •, ํŒจํ‚ค์ง€ ์„ค์น˜ ๋“ฑ)
# ------------------
#     ํƒ€์ž…์€ ์˜์–ด๋กœ ์ž‘์„ฑํ•˜๊ณ  ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์€ ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•œ๋‹ค.
#     ์ œ๋ชฉ ๋์— ๋งˆ์นจํ‘œ(.) ๊ธˆ์ง€
#     ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ํ•œ ์ค„ ๋„์›Œ ๋ถ„๋ฆฌํ•˜๊ธฐ
#     ๋ณธ๋ฌธ์€ "์–ด๋–ป๊ฒŒ" ๋ณด๋‹ค "๋ฌด์—‡์„", "์™œ"๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.
#     ๋ณธ๋ฌธ์— ์—ฌ๋Ÿฌ์ค„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•  ๋• "-"๋กœ ๊ตฌ๋ถ„
#     ๊ด€๋ จ๋œ ์ด์Šˆ๋ฒˆํ˜ธ๋Š” ์ œ๋ชฉ ๋งจ ๋’ค์— ์ถ”๊ฐ€ํ•œ๋‹ค. ex. #1
# ------------------

์ฝ”๋”ฉ ์ปจ๋ฒค์…˜

๋””๋ ‰ํ† ๋ฆฌ๋ช…

  • ์ผ€๋ฐฅ ์ผ€์ด์Šค
  • ex) directory-name

ํŒŒ์ผ๋ช…

  • ์ผ€๋ฐฅ์ผ€์ด์Šค
  • ํŒŒ์ผ ์„ธ๋ถ€ ๋ถ„๋ฅ˜๋‚˜ ์„ฑ๊ฒฉ ๋“ฑ์€ (.)์œผ๋กœ ๊ตฌ๋ถ„
  • ex) file-name file-name.component.ts

์ปดํฌ๋„ŒํŠธ๋ช…

  • ํŒŒ์Šค์นผ์ผ€์ด์Šค
  • ex) ComponentName

ํ•จ์ˆ˜๋ช…

  • ์นด๋ฉœ์ผ€์ด์Šค
  • ex) functionName

ํด๋ž˜์Šค๋ช…

  • ํŒŒ์Šค์นผ์ผ€์ด์Šค
  • ex) ClassName

๋ณ€์ˆ˜๋ช…

  • ์นด๋ฉœ์ผ€์ด์Šค
  • ๋ฐฐ์—ด์˜ ์ด๋ฆ„์€ ๋ณต์ˆ˜ํ˜•์œผ๋กœ ์ž‘์„ฑ
  • ex) variableName chats

์ƒ์ˆ˜๋ช…

  • ๋Œ€๋ฌธ์ž, ์Šค๋„ค์ดํฌ ์ผ€์ด์Šค
  • ex) VARIABLE_NAME

ํƒ€์ž…๋ช… ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค

  • ํŒŒ์Šค์นผ์ผ€์ด์Šค
  • ex) TypeName

๐Ÿ“š ๊ทธ๋ผ์šด๋“œ ๋ฃฐ

โœ๏ธ ์ปจ๋ฒค์…˜

๐Ÿง‘โ€๐Ÿซ ๋ฉ˜ํ† ๋ง

๐Ÿ“ ์• ์ž์ผ ํ”„๋กœ์„ธ์Šค

๊ธฐํš
๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ
์Šคํ”„๋ฆฐํŠธ ๋ฆฌ๋ทฐ
์Šคํ”„๋ฆฐํŠธ ํšŒ๊ณ 
ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…
๊ธฐํƒ€ ์‚ฐ์ถœ๋ฌผ

๐Ÿ“– ๊ธฐ์ˆ ๋ฌธ์„œ

Week2
Week3
Week4
Week5

๐Ÿ—‚ ์ฐธ๊ณ ๋ฌธ์„œ

Clone this wiki locally