DND 회고 3

jinyΒ·2023λ…„ 6μ›” 9일
0

DND

λͺ©λ‘ 보기
3/3
post-thumbnail


λ§ˆμ§€λ§‰ 3νŽΈμ—μ„œλŠ” ν”„λ‘œμ νŠΈ μ΅œμ’… 회고 μœ„μ£Όλ‘œ 글을 ν’€μ–΄λ‚Ό μ˜ˆμ •μ΄λ‹€.

이번 μ΅œμ’… νšŒκ³ μ—λŠ” 같은 ν”„λ‘ νŠΈ νŒ€ λ™λ£ŒμΈ Kλ‹˜μ΄ Lacked, Learned, Longed for 이 λͺ…μ‹œλ˜μ–΄ μ•„μ‰¬μ› λ˜ 점, 배운 μ μ—μ„œ Longed For을 μ΄λŒμ–΄λ‚˜κ°ˆ 수 μžˆλŠ” λ°©ν–₯, νŠΉνžˆλ‚˜ 배운 점이 λ”°λ‘œ λͺ…μ‹œλ˜μ–΄ μžˆμœΌλ―€λ‘œ, ν•™μŠ΅μ— 큰 비쀑을 λ‘” 우리 ν”„λ‘œμ νŠΈ 성격과 μ–΄μšΈλ¦΄ κ±° λΌλŠ” 이유둜 4L 회고λ₯Ό μ œμ•ˆν•΄μ£Όμ…¨κ³  주관적인 생각이 λ‹΄κΈ΄ 4L 회고λ₯Ό 진행할 μ˜ˆμ •μ΄λ‹€.

🫢 μ’‹μ•˜λ˜ 점(Liked)

  • 우리 νŒ€(1μ‘° 졜고!)
  • ν”„λ‘ νŠΈ μ—”λ“œ νŒ€μ— λ‚΄κ°€ μ†ν•œ 것
  • DND μš΄μ˜μ§„ λΆ„λ“€μ˜ ν˜„μ‹€μ μΈ μ‘°μ–Έλ“€ & μ—¬λŸ¬ 도움듀(κ°€μ΄λ“œλΌμΈ, μ—¬λŸ¬ μ„Έμ…˜, μˆ™λ°• & ꡐ톡비 ν•΄κ²°)

πŸ₯² μ•„μ‰¬μ› λ˜ 점(Liked)

κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­

κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­μ„ ν™•μ • λ‚Ό λ•Œ ν”„λ‘ νŠΈ - λ°± - λ””μžμ΄λ„ˆ κ°„ μ†Œν†΅μ΄ λΆ€μ‘±ν–ˆλ‹€κ³  μƒκ°ν–ˆκ³  그둜 인해 κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­ ν™•μ •κΉŒμ§€ μ˜ˆμ •λ³΄λ‹€ κΈΈμ–΄μ§€κ²Œ λ˜μ—ˆλ‹€. κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­ ν™•μ •κΉŒμ§€ 처음 μƒκ°ν–ˆλ˜ ν”„λ‘œμ„ΈμŠ€λŠ” λ‹€μŒκ³Ό κ°™λ‹€.

κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­ κ΄€λ ¨ 1μ°¨ 회의 β†’ ν”„λ‘ νŠΈ νŒ€μ—μ„œ νŽ˜μ΄μ§€ 별 μš”κ΅¬μ‚¬ν•­ & API μš”κ΅¬μ‚¬ν•­ 정리 β†’ 각 νŒ€μ—μ„œ 정리 μš”κ΅¬μ‚¬ν•­ 정리 β†’ κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­ 확정에 λŒ€ν•œ 회의 진행

λ‹€μŒκ³Ό 같은 ν”„λ‘œμ„ΈμŠ€λ₯Ό μƒκ°ν–ˆλ˜ μ΄μœ λŠ” μ΅œμ’…μ μœΌλ‘œ κ°€μž₯ λ¨Όμ € μœ μ €λ₯Ό λ§Œλ‚˜λŠ” μͺ½μ€ ν”„λ‘ νŠΈμ—”λ“œ 이기에 νŽ˜μ΄μ§€ 별 μš”κ΅¬μ‚¬ν•­μ„ λ¨Όμ € 정리할 ν•„μš”κ°€ μžˆμ—ˆκ³ , λ¨Όμ € μ •λ¦¬ν•˜λŠ” 김에 ν”„λ‘ νŠΈμ—μ„œ μ •λ¦¬ν•œ μš”κ΅¬μ‚¬ν•­μ„ 기반으둜 개발 νŒ€μ—μ„œ μš”κ΅¬μ‚¬ν•­μ„ μ •λ¦¬ν•œ ν›„ 2μ°¨ 회의 λ•Œ ν™•μ • λ‚Ό κ³„νšμ΄μ—ˆλ‹€.

ν•˜μ§€λ§Œ κ³„νšλŒ€λ‘œ λ˜μ§€ μ•Šμ•˜κ³ , μ•½κ°„μ˜ 의견 좩돌이 λ°œμƒν–ˆλ‹€. 돌이켜보면 각 νŒ€μ˜ 사정이 μ‘΄μž¬ν•œλ‹€λŠ” κ±Έ κ³ λ €ν•˜μ§€ λͺ»ν–ˆλ˜ κ±° κ°™λ‹€. μš΄μ˜μ§„ λΆ„λ“€μ˜ μ˜κ²¬μ„ κ³ λ €ν–ˆμ„ λ•Œ λ‹€μŒκ³Ό 같은 ν”„λ‘œμ„ΈμŠ€λ₯Ό μ§€μΌ°μœΌλ©΄ μ’‹μ•˜μ„ κ±° κ°™λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€.

κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­ κ΄€λ ¨ 1μ°¨ 회의 β†’ 각 νŒ€μ—μ„œ ν•„μš”ν•œ κΈ°λŠ₯ μš”κ΅¬ 사항 μΆ”κ°€ 정리 β†’ κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­ 확정에 λŒ€ν•œ 회의 진행 β†’ 개발 νŒ€μ€ λ”°λ‘œ API μš”κ΅¬μ‚¬ν•­ 정리

μ΄λŸ¬ν•œ ν”„λ‘œμ„ΈμŠ€ λŒ€λ‘œ μ§„ν–‰λ˜μ—ˆλ‹€λ©΄, λΉ νŠΈλ¦¬λŠ” κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­λ„ μ΅œμ†Œν•œμœΌλ‘œ μ€„μ˜€μ„ κ±°κ³ , 각 νŒ€μ—μ„œ ν•„μš”ν•œ κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­λ“€μ„ 정리 ν–ˆμ„ 것이기에 의견 μΆ©λŒλ„ λ‚˜μ§€ μ•Šμ•˜μ„ κ±° κ°™λ‹€.

μ΄‰λ°•ν•œ 일정

ν”„λ‘ νŠΈ νŒ€μ˜ 경우 첫 μŠ€ν”„λ¦°νŠΈ μ‹œμž‘μ΄ 2/6 μ΄μ—ˆλ‹€. 즉, μ‹€ 개발 기간이 1달도 λ˜μ§€ μ•Šμ•˜λ‹€. 그둜 인해 μŠ€ν”„λ¦°νŠΈ 기간도 2일 μ΄μ—ˆκ³ , 맀일 데일리 슀크럼과 5μ‹œκ°„μ˜ μ½”μ–΄ νƒ€μž„, κ·Έ 이후에도 λŠμž„ μ—†λŠ” νšŒμ˜μ™€ 개발둜 인해 거의 맀일 10μ‹œκ°„ λ„˜κ²Œ(사싀 슀슀둜 μš”λ Ήμ΄ μ—†λ˜ 탓도 μžˆμ—ˆλ‹€.) DND 일정에 λͺ°λ‘ ν–ˆλ˜κ±° κ°™λ‹€. 그둜 인해 슀슀둜 μ˜ˆλ―Όν•΄μ§ˆ 수 밖에 μ—†μ—ˆκ³ , μ•½κ°„μ˜ 감정을 λ“œλŸ¬λƒˆλ˜ κ±° κ°™μ•„ νŒ€μ› λΆ„λ“€μ—κ²Œ 죄솑 μŠ€λŸ¬μ› λ‹€.

λ˜ν•œ, 개발 λ§‰νŒ μ½”λ“œ 리뷰와 μŠ€ν”„λ¦°νŠΈ 회고, μ „λ°˜μ μΈ λ¬Έμ„œν™” 과정을 슀슀둜 μ œλŒ€λ‘œ ν•˜μ§€ λͺ»ν–ˆλ˜ κ±° κ°™λ‹€. (일정 탓을 ν•˜λ©΄ μ•ˆλ˜μ§€λ§Œ 정말 λ„ˆλ¬΄ νž˜λ“€μ—ˆλ‹€.)

8κΈ° ν”„λ‘ νŠΈ λΆ„μ˜ 회고 쀑 νŠΉμ • ꡬ절이 인상 κΉŠμ—ˆλŠ”λ°, κ·Έ κ΅¬μ ˆμ€ λ‹€μŒκ³Ό κ°™λ‹€.

'λ‚˜λ₯Ό κ°ˆμ•„ λ„£μœΌλ©΄ 될 것 같은데' λΌλŠ” μΌμ •λ³΄λ‹€λŠ” 쒋은 νŒ€μ›Œν¬λ₯Ό μœ μ§€ν•˜λ©° λκΉŒμ§€ λ§ˆλ¬΄λ¦¬ν•  수 μžˆλŠ” μ—¬μœ λ‘­κ³  νƒ„νƒ„ν•œ 일정이 λ˜μ—ˆμœΌλ©΄ μ’‹κ² μ–΄μš”.

λ˜λŒμ•„ 봀을 λ•Œ 이번 ν”„λ‘œμ νŠΈλŠ” 정말 λ‚˜λ₯Ό κ°ˆμ•„ λ„£μ–΄μ„œ λ§Œλ“€μ—ˆλ˜ ν”„λ‘œμ νŠΈ μ˜€λ˜κ±° κ°™μ§€λ§Œ μ°μ°ν•œ 감정을 참을 수 μ—†λŠ” λ‚΄ 성격 + Kλ‹˜μ˜ 개발 μ—΄μ •μœΌλ‘œ 인해 λ‹€μ‹œ ν”„λ‘œμ νŠΈλ₯Ό 진행해도 μ΅œμ„ μ„ λ‹€ν•˜λ €κ³  λ…Έλ ₯ν–ˆμ„ κ±° κ°™λ‹€.

ν•˜μ§€λ§Œ λ‹€μŒ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•œλ‹€λ©΄, νŒ€μ„ μœ„ν•΄μ„œλΌλ„ ꡳ이 8주에 얽맀이지 μ•Šκ³ , λ°œν‘œ ν•  수 μžˆλŠ” μ„ μ—μ„œ μ–΄λ–»κ²Œ κ°œλ°œμ„ 진행할 지 μ’€ 더 고민해보고 μƒκ°ν•΄μ„œ 회의 λ•Œ 슀슀둜 μ œμ•ˆν•  수 μžˆλŠ” μ‚¬λžŒμ΄ 될 κ±° κ°™λ‹€.

회고

우리 1쑰의 경우 KPT 회고λ₯Ό 쀑간 λ°œν‘œ 이후 λ„μž…ν•˜κ²Œ λ˜μ—ˆλŠ”λ°, μ§€κ·Ήνžˆ 개인적인 μƒκ°μ΄μ§€λ§Œ 맀 μ£Ό KPT 회고λ₯Ό ν–ˆμœΌλ©΄ μ–΄λ• μ„κΉŒ λΌλŠ” 생각이 λ“€μ—ˆλ‹€. KPT 회고λ₯Ό ν•˜λ©΄μ„œ 개인적으둜 느꼈던 건 μŠ€ν¬λŸΌμ—μ„  μž‘μ„ 수 μ—†λ˜ μ§€λ‚œ 일 듀에 λŒ€ν•œ λ¬Έμ œλ“€μ— λŒ€ν•΄ 즉각적인 ν”Όλ“œλ°±μ΄ κ°€λŠ₯ν•˜λ‹€κ³  느꼈기 λ•Œλ¬Έμ΄λ‹€.

우리 νŒ€ KPT 회고 쀑 Problem의 ν•œ 뢀뢄인데, μ‹€μ œλ‘œ 문제 해결을 μœ„ν•΄ 1:1 DM을 많이 ν•˜κ²Œ λ˜μ–΄ λ‹€λ₯Έ λ™λ£Œλ“€μ΄ ν•΄λ‹Ή λ¬Έμ œμ— λŒ€ν•΄ μ œλŒ€λ‘œ μΈμ‹ν•˜μ§€ λͺ»ν–ˆλ˜ λ¬Έμ œλ“€μ΄ μ‘΄μž¬ν–ˆκ³ , 8-1 ui(λ””μžμ΄λ„ˆ - ν”„λ‘ νŠΈ) 채널, 8-1 dev(ν”„λ‘ νŠΈ - λ°±μ—”λ“œ) 채널을 μΆ”κ°€ν•˜μ—¬ 각 직ꡰ κ°„ μ†Œν†΅μ„ κ°•ν™”ν•˜λ € ν–ˆκ³  μ™„λ²½νžˆ ν•΄κ²°ν•˜μ§€λŠ” λͺ»ν–ˆμ§€λ§Œ(λ‚΄ 슀슀둜의 λ¬Έμ œλ„ 쑰금 μžˆμ—ˆλ‹€) μ–΄λŠμ •λ„ ν•΄κ²°ν•  수 μžˆμ—ˆλ‹€.

κ·Έ 밖에도 msw μ‚¬μš© 포기 λ“±μ˜ 아쉬움이 쑴재 ν–ˆλ‹€.

πŸ“– λ°°μ› λ˜ 점 (Learned For)

πŸ“ 데일리 슀크럼 & μŠ€ν”„λ¦°νŠΈ λ„μž…

데일리 슀크럼과 μŠ€ν”„λ¦°νŠΈμ˜ 경우 ν”„λ‘œμ νŠΈ 쀑간 λ°œν‘œ 이후 같은 νŒ€ λ™λ£Œ Kλ‹˜μ˜ μ œμ•ˆμœΌλ‘œ ν”„λ‘ νŠΈμ—”λ“œ νŒ€μ—μ„œ 데일리 슀크럼과 μŠ€ν”„λ¦°νŠΈλ₯Ό λ™μ‹œμ— μ§„ν–‰ν•˜μ˜€λ‹€.

πŸ₯° ν”„λ‘ νŠΈ νŒ€μ˜ 데일리 슀크럼과 μŠ€ν”„λ¦°νŠΈ

개발 기간이 맀우 짧은 일정을 κ³ λ €ν•΄μ„œ μ›¬λ§Œν•˜λ©΄ μŠ€ν”„λ¦°νŠΈλŠ” 2일에 1번으둜 κ³ μ •ν•˜μ˜€μœΌλ©° 데일리 슀크럼의 경우 νŠΉλ³„ν•œ μ΄μŠˆκ°€ λ°œμƒν•˜μ§€ μ•ŠμœΌλ©΄ 맀일 μ§„ν–‰λ˜μ—ˆλ‹€.

우리 νŒ€μ˜ μŠ€ν”„λ¦°νŠΈ & 데일리 슀크럼 μˆœμ„œλŠ” λ‹€μŒκ³Ό κ°™μ•˜λ‹€.

μŠ€ν”„λ¦°νŠΈ μˆœμ„œ

μŠ€ν”„λ¦°νŠΈ λͺ©ν‘œ β†’ λͺ©ν‘œμ™€ κ΄€λ ¨λœ 회의 주제 μ„ μ • 및 회의 진행 β†’ 업무 λΆ„λ‹΄ β†’ μŠ€ν”„λ¦°νŠΈ 회고 β†’ λ‹€μŒ μŠ€ν”„λ¦°νŠΈ κ³„νš

데일리 슀크럼 μˆœμ„œ

μŠ€νƒ€νŠΈ 슀크럼(μ „λ‚  μ•ˆκ±΄ λ…Όμ˜) β†’ TO DO β†’ μ—λ‘œ 사항 β†’ 클둜즈 슀크럼(μΆ”κ°€ λ…Όμ˜ 사항 및 내일 TO DO)

ν‰μ†Œ μ• μžμΌμ„ μ‹€μ²œν•΄λ³΄κ³  μ‹Άλ‹€λŠ” μƒκ°λ§Œ 가지고 μžˆμ—ˆκ³ , 학ꡐ ν”„λ‘œμ νŠΈμ—μ„œ μ‹œλ„ν–ˆλ‹€ 처참히 μ‹€νŒ¨ν•˜κ³  생각도 ν•˜μ§€ μ•Šμ•˜λŠ”λ°, Kλ‹˜μ˜ μ œμ•ˆμœΌλ‘œ ν•˜κ³  μ‹Άμ—ˆλ˜ μŠ€ν”„λ¦°νŠΈμ™€ 데일리 μŠ€ν¬λŸΌμ„ κ½€λ‚˜ μ²΄κ³„μ μœΌλ‘œ μ‹€μ²œν•  수 μžˆμ—ˆλ‹€.

개발 ν›„λ°˜μœΌλ‘œ λ“€μ–΄μ„œλ©΄μ„œ λ²ˆμ•„μ›ƒκ³Ό 슀트레슀둜 인해 μ–‘μ§ˆμ˜ μŠ€ν¬λŸΌμ„ 슀슀둜 λͺ»ν–ˆλ˜ κ±° κ°™μ§€λ§Œ, λ§ˆμ§€λ§‰ μŠ€ν”„λ¦°νŠΈ & 데일리 μŠ€ν¬λŸΌκΉŒμ§€ λ¬΄μ‚¬νžˆ λ§ˆλ¬΄λ¦¬ν•  수 μžˆλ„λ‘ μ—΄μ‹¬νžˆ λΆˆνƒœμ›Œμ£Όμ…”μ„œ λ§ˆμ§€λ§‰κΉŒμ§€ 진행할 수 μžˆμ—ˆλ‹€.

κ°œλ°œν•  μ»΄ν¬λ„ŒνŠΈλ“€κ³Ό νŽ˜μ΄μ§€λ“€μ΄ 정말 λ§Žμ•˜κΈ°μ— μŠ€ν”„λ¦°νŠΈ & 데일리 슀크럼이 μ•„λ‹ˆμ—ˆλ‹€λ©΄ 정말 ν”„λ‘œμ νŠΈ 완성을 ν•˜μ§€ λͺ»ν–ˆμ„ κ±° 같단 생각이 λ“€μ—ˆκ³  정말 ν•˜κΈΈ μž˜ν–ˆλ˜ 체계 쀑 ν•˜λ‚˜μ˜€λ‹€.

πŸ’» μ½”λ“œ 리뷰

μ½”λ“œ 리뷰 쀑 일뢀 λ°œμ·Œν•œ λ‚΄μš©

μ½”λ“œ 리뷰 in λ±…ν¬μƒλŸ¬λ“œ 개발 λ¬Έν™”

ν”„λ‘ νŠΈ νŒ€μ˜ 경우 뱅크 μƒλŸ¬λ“œμ˜ μ½”λ“œ 리뷰 방식을 μ±„νƒν•˜μ—¬ 개발 κΈ°κ°„ λ™μ•ˆ μ½”λ“œ 리뷰λ₯Ό μ§„ν–‰ν–ˆλ‹€. 개인적으둜 p1은 μžμ œν•˜κ³  p2~p5λ₯Ό 주둜 μ‚¬μš©ν•˜λ©° μ½”λ“œ 리뷰λ₯Ό μ§„ν–‰ν–ˆλ‹€.

p1. κΌ­ λ°˜μ˜ν•΄μ£Όμ„Έμš” (Request changes)

p1은 μ½”λ“œ 리뷰 μ‹œ μ‘΄μž¬ν•˜μ§€ μ•Šμ•˜λŠ”λ° μ•”λ¬΅μ μœΌλ‘œ p1의 경우 ν•„μˆ˜μ μœΌλ‘œ μˆ˜μ •μ„ κ°•μ œν•œλ‹€κ³  μƒκ°λ˜μ–΄ 같은 νŒ€ λ™λ£Œμ˜ 감정을 μƒν•˜κ²Œ ν•  수 μžˆλ‹€κ³  μƒκ°ν–ˆλ‹€. κ·Έλž˜μ„œ p1은 μ΅œλŒ€ν•œ μ‚¬μš©μ„ 자제 ν•˜κ²Œ λ˜μ—ˆλ‹€.

p2. 적극적으둜 κ³ λ €ν•΄μ£Όμ„Έμš” (Request changes)

p1의 μ‹€μ§ˆμ μΈ 역할을 p2둜 μ§„ν–‰ν•˜κ²Œ λ˜μ—ˆλ‹€. μ‹€μ§ˆμ μœΌλ‘œ λ¬Έμ œκ°€ λ°œμƒν•œλ‹€κ³  ν™•μ‹ ν•œ 경우 p2λ₯Ό μ‚¬μš©ν•˜μ—¬ μ½”λ“œ 리뷰λ₯Ό μ§„ν–‰ν•˜κ²Œ λ˜μ—ˆκ³ , λŒ€λΆ€λΆ„μ˜ 경우 μ‹€μ œλ‘œ λ¬Έμ œκ°€ μžˆμ—ˆμ–΄μ„œ μ½”λ“œ μˆ˜μ •μ΄ μ§„ν–‰λ˜μ—ˆλ‹€.

p3. μ›¬λ§Œν•˜λ©΄ λ°˜μ˜ν•΄ μ£Όμ„Έμš” (Comment)

p3의 경우 λ¬Έμ œκ°€ μžˆμ„ 거라고 슀슀둜 μƒκ°λ˜μ§€λ§Œ 확신이 듀지 μ•Šμ•„ 토둠이 ν•„μš” ν•  경우 p3λ₯Ό μ‚¬μš©ν•˜μ—¬ μ½”λ“œ 리뷰λ₯Ό μ§„ν–‰ν•˜λ €κ³  ν–ˆλ‹€. μ‹€μ œλ‘œ 토둠을 κ±°μΉ˜λ©΄μ„œ μ™œ 이런 μ½”λ“œλ₯Ό μ‚¬μš©ν–ˆκ³ , κ·Έ μ½”λ“œ μ‚¬μš©μœΌλ‘œ 인해 μ–΄λ–€ κ²°κ³Όλ₯Ό μ˜ˆμƒν–ˆμ„μ§€μ— λŒ€ν•΄ μ•Œ 수 μžˆμ—ˆμœΌλ©°, 문제 해결에도 도움이 λ˜λŠ” μ½”λ“œ 리뷰가 될 수 μžˆμ—ˆλ‹€.

p4. λ°˜μ˜ν•΄λ„ μ’‹κ³  λ„˜μ–΄κ°€λ„ μ’‹μŠ΅λ‹ˆλ‹€ (Approve)

p4의 경우 μ€‘μš”ν•˜μ§„ μ•Šμ§€λ§Œ λ°”λ€Œλ©΄ 쒋을거 같은 뢀뢄듀을 p4λ₯Ό μ‚¬μš©ν•˜μ—¬ μ½”λ“œ 리뷰λ₯Ό μ§„ν–‰ν•˜λ €κ³  λ…Έλ ₯ν–ˆλ‹€.

p5. κ·Έλƒ₯ μ‚¬μ†Œν•œ μ˜κ²¬μž…λ‹ˆλ‹€ (Approve)

p5의 경우 μ‚¬μ†Œν•œ 생각듀과 μ½”λ“œμ— λŒ€ν•œ 감탄 등을 μ½”λ“œ 리뷰에 λ°˜μ˜ν–ˆλ‹€.

뱅크 μƒλŸ¬λ“œμ˜ μ½”λ“œ 리뷰 λ°©μ‹μœΌλ‘œ μ§„ν–‰ν•˜λ©° μ½”λ“œμ— λŒ€ν•œ ν™•μ‹€ν•œ κ·Όκ±°λ“€κ³Ό 생각듀을 p둜 ꡬ뢄지어 λ™λ£Œμ—κ²Œ 전달할 수 μžˆλŠ” 방식이 λ§ˆμŒμ— λ“€μ—ˆκ³  무엇보닀 μ½”λ“œμ— λ¬Έμ œκ°€ μžˆλ‹€κ³  μƒκ°λ˜λŠ” λΆ€λΆ„κ³Ό μ‚¬μ†Œν•œ 문제의 μ½”λ“œλ₯Ό μ™„λ²½νžˆ 뢄리할 수 μžˆμ—ˆλ˜ 점이 κ°€μž₯ μ’‹μ•˜λ˜ κ±° κ°™λ‹€. μ•„λ§ˆ λ‹€μŒ ν”„λ‘œμ νŠΈλ₯Ό 진행해도 ν•΄λ‹Ή λ°©μ‹μ˜ μ½”λ“œ 리뷰λ₯Ό μœ μ§€ν•  κ±° κ°™λ‹€.

πŸ”₯ λ‹€μ–‘ν•œ 기술 μŠ€νƒ 적용

이번 ν”„λ‘œμ νŠΈμ˜ 기술 μŠ€νƒμ€ ν˜‘μ˜ 된 뢀뢄이 μžˆμ§€λ§Œ 슀슀둜 κ³΅λΆ€ν•˜λ©° μ‚¬μš©ν•˜κ³  μ‹Άμ—ˆλ˜ κΈ°μˆ λ“€μ„ μ‚¬μš©ν•  수 μžˆμ—ˆλ˜ 점이 μ’‹μ•˜λ‹€. 이번 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©° μƒˆλ‘­κ²Œ μ μš©ν–ˆλ˜ κΈ°μˆ λ“€μ€ λ‹€μŒκ³Ό κ°™λ‹€.

Yarn Berry

κΈ°μ‘΄ ν”„λ‘œμ νŠΈμ—μ„  npm, yarn을 주둜 μ‚¬μš©ν–ˆμ—ˆλŠ”λ°, ν”„λ‘œμ νŠΈ μ„ΈνŒ…κΈ°κ°„μ΄ κ½€ κΈΈμ—ˆμ–΄μ„œ Yarnμ—μ„œ Yarn berry둜의 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜μ„ μ œμ•ˆν–ˆλ‹€.

Yarn berryλ₯Ό μ‚¬μš©ν•˜λ©° λ§Žμ€ μž₯점듀이 μ‘΄μž¬ν•˜κ² μ§€λ§Œ κ°€μž₯ μ’‹μ•˜λ˜ 점은 λ””μŠ€ν¬ μš©λŸ‰ κ°μ†Œ μ˜€λ‹€. node_modulesλ₯Ό μ‚¬μš©ν•  경우 3.2κΈ°κ°€(μ΅œμ ν™”λ₯Ό 톡해 μš©λŸ‰μ„ 더 쀄일 μ˜ˆμ •μ΄λ‹€.)정도 μ°¨μ§€ν•˜μ˜€μ§€λ§Œ Yarn berryλ₯Ό μ‚¬μš©ν•¨μœΌλ‘œμ¨ 절반이 λ„˜λŠ” λ””μŠ€ν¬ μš©λŸ‰μ„ 쀄일 수 μžˆμ—ˆλ‹€.

λ˜ν•œ, μ •ν™•ν•œ 속도 츑정은 μ–΄λ €μ› κ² μ§€λ§Œ κΈ°μ‘΄ Yarn 보닀 install 속도가 ν™•μ—°νžˆ 차이 λ‚¬λ˜κ±° κ°™λ‹€. κ·Έ 밖에 ci/cd μ‹œκ°„ 단좕 및 zero-install의 μž₯점듀이 μ‘΄μž¬ν•˜μ§€λ§Œ 이번 ν”„λ‘œμ νŠΈμ—μ„œ κ·Έ 차이λ₯Ό λΉ„κ΅ν•˜κΈ°κ°€ μ–΄λ €μ›Œ νŒ¨μŠ€ν•˜κ² λ‹€.

Storybook

Storybook을 이번 ν”„λ‘œμ νŠΈμ—μ„œ μ’€ 더 μ œλŒ€λ‘œ 써보렀고 λ…Έλ ₯ν–ˆλ‹€. κ·Έ μ „μ—λŠ” Storybook을 μ»΄ν¬λ„ŒνŠΈ κΈ°λŠ₯, UI λͺ¨μŠ΅μ— λŒ€ν•œ λ¬Έμ„œν™” μ •λ„λ‘œ μ‚¬μš©ν–ˆμ—ˆλŠ”λ°, 이번 ν”„λ‘œμ νŠΈμ—μ„  μ œλŒ€λ‘œ μ‚¬μš©ν•΄λ³΄λ €κ³  λ…Έλ ₯ν–ˆλ‹€.

μ»΄ν¬λ„ŒνŠΈμ˜ λ‹€μ–‘ν•œ μƒνƒœλ“€μ— λŒ€ν•΄ μ—¬λŸ¬ μŠ€ν† λ¦¬λ‘œ λ‚˜λˆ  상황에 λ”°λ₯Έ μ»΄ν¬λ„ŒνŠΈ 변화에 λŒ€ν•΄ μŠ€ν† λ¦¬λΆμœΌλ‘œ κ΄€μ°°ν•˜λ €κ³  ν–ˆμœΌλ©°, Controlsλ₯Ό 적극 ν™œμš©ν•˜μ—¬ λ‹€μ–‘ν•œ 값에 λ”°λ₯Έ λ‹€μ–‘ν•œ μ»΄ν¬λ„ŒνŠΈλ₯Ό 확인할 수 μžˆμ—ˆλ‹€.

무엇보닀 λ…λ¦½λœ ν™˜κ²½μ—μ„œ μ»΄ν¬λ„ŒνŠΈ κ°œλ°œμ„ ν•  수 μžˆμ—ˆκΈ°μ— λ‘œμ»¬μ—μ„œ ꡳ이 ν…ŒμŠ€νŠΈλ₯Ό ν•˜μ§€ μ•Šκ³  μŠ€ν† λ¦¬λΆμœΌλ‘œ 확인이 κ°€λŠ₯ν–ˆκ³ , κ·Έ 점이 μ½”λ“œ 리뷰 ν•  λ•Œμ—λ„ ꡳ이 λ‘œμ»¬μ—μ„œ μ½”λ“œ 쳐가며 ν™•μΈν•˜λŠ” 것 보닀 νŽΈν•˜κ²Œ λŠκ»΄μ‘Œλ‹€.

React Query

λ¦¬μ•‘νŠΈ 쿼리λ₯Ό 주둜 CSR ν™˜κ²½μ—μ„œ μ‚¬μš©ν–ˆμ—ˆλŠ”λ°, 이번 ν”„λ‘œμ νŠΈλ₯Ό 톡해 λ¦¬μ•‘νŠΈ 쿼리λ₯Ό SSR ν™˜κ²½μ—μ„œ μ‚¬μš©ν•΄λ³Ό 수 μžˆμ—ˆλ‹€.

export const getServerSideProps: GetServerSideProps = async () => {
  const queryClient = new QueryClient()
  await Promise.all([
    queryClient.prefetchQuery(
      [...performanceKeys.all, '', '', '', '', '', 0, 6],
      () =>
        getAllPerformance({
          pageNumber: 0,
          pageSize: 6,
        }),
    ),
    queryClient.prefetchQuery(mainKeys.comment, getLatestReviews),
    queryClient.prefetchQuery(mainKeys.profile, getProfile),
  ])
  return {
    props: {
      dehydratedState: dehydrate(queryClient),
    },
  }
}

ν”„λ‘œμ νŠΈ μ½”λ“œ 쀑 일뢀인데, μ„œλ²„ μ‚¬μ΄λ“œ ν™˜κ²½(getServerSideProps)μ—μ„œ ν•΄λ‹Ή 쿼리 ν‚€μ˜ 값을 prefetch ν›„, queryClientλ₯Ό dehydrate ν•˜μ—¬ page props에 dehydratedState둜 λ‚΄λ €μ£Όλ©΄ λΈŒλΌμš°μ €μ—μ„œ μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ•„λ„ μžλ™μœΌλ‘œ νŒ¨μΉ­ν•˜λŠ” 것을 확인할 수 μžˆμ—ˆλ‹€.

πŸ™‡β€β™€οΈ Longed For (μ•žμœΌλ‘œ λ°”λΌλŠ” 점)

λ””μžμ΄λ„ˆ νŒ€

ν”„λ‘œν†  타이핑

이것도 μ§€κ·Ήνžˆ 개인적인 μƒκ°μ΄μ§€λ§Œ, ν”Όκ·Έλ§ˆμ— "ν”„λ‘œν† νƒ€μž… κΈ°λŠ₯을 톡해 ui의 flowλ₯Ό 확인할 수 μžˆμ—ˆμœΌλ©΄ μ–΄λ• μ„κΉŒ" λΌλŠ” 아쉬움이 μžˆμ—ˆλ‹€. ν”„λ‘ νŠΈ νŒ€μ—μ„  항상 flow 확인을 μœ„ν•΄ uiλ₯Ό λ§Œλ“€κ³  λ””μžμ΄λ„ˆ νŒ€μ—κ²Œ μŠ¬λž™μœΌλ‘œ μ—¬μ­€λ³Έ ν›„ 닡변을 λ“£λŠ” λ°©μ‹μ΄μ—ˆλŠ”λ°, 항상 닡변을 κΈ°λ‹€λ €μ•Όν•˜λŠ” μž…μž₯μ΄λ‹€λ³΄λ‹ˆ ui κ΅¬ν˜„ κΉŒμ§€μ˜ μ‹œκ°„μ΄ μ˜€λž˜κ±Έλ Έλ‹€κ³  μƒκ°ν–ˆλ‹€.

ν•˜μ§€λ§Œ λ””μžμ΄λ„ˆ νŒ€ 뢄듀도 μ΅œμ’… λ°œν‘œ PPT μ€€λΉ„ + λ””μžμΈ μˆ˜μ • λ“± λ°”μœ 일정을 μ†Œν™”ν•˜κ³  κ³„μ…¨μ–΄μ„œ λ”°λ‘œ 말씀은 λ“œλ¦¬μ§€ λͺ»ν–ˆλ‹€. κ·Έλž˜μ„œ λ°”λΌλŠ” 점에 μΆ”κ°€ν•˜κ²Œ λ˜μ—ˆλ‹€.

λ°±μ—”λ“œ νŒ€

Swagger

Swagger λ¬Έμ„œ λ‚΄ Request body에 λ‹€μŒκ³Ό 같이 λͺ…μ‹œλ˜μ–΄ μžˆμ–΄ μŠ¬λž™μ— μ •ν™•ν•œ 데이터 ν˜•μ‹μ— λŒ€ν•΄ λͺ‡ 번 μ§ˆλ¬Έν•œ 적이 μžˆμ—ˆλ‹€. 개인적인 μƒκ°μ΄μ§€λ§Œ, Swagger에 μ •ν™•ν•œ 데이터 ν˜•μ‹μ΄ λͺ…μ‹œ λ˜μ–΄μžˆμ—ˆλ‹€λ©΄ μ„œλ‘œ 효율적으둜 일할 수 μžˆμ„ κ±° κ°™μ•˜λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€.

λ¬Όλ‘ , λ°±μ—”λ“œ νŒ€λ„ λ‹€λ₯Έ μž‘μ—…μ΄ λ§Žμ•˜μ„ 것이기에 신경쓰지 λͺ»ν–ˆμ„ μˆ˜λ„ 있고, 미리 Swagger에 μ •ν™•ν•œ 데이터 ν˜•μ‹μ— 맞게 json ν˜•μ‹μ„ κ΅¬μ„±ν•΄λ‹¬λΌλŠ” 뢀탁을 λͺ»ν–ˆλ˜ λ‚΄ 잘λͺ»λ„ μ‘΄μž¬ν–ˆλ‹€. 그렇기에 λ°”λΌλŠ” 점에 μΆ”κ°€ν•˜κ²Œ λ˜μ—ˆλ‹€.

끝으둜

곡식 적인 DND 8κΈ° ν™œλ™μ΄ λͺ¨λ‘ 마무리 λ˜μ—ˆλ‹€. ν•˜μ§€λ§Œ 아직 ν”„λ‘ νŠΈμ—”λ“œ νŒ€μ€ Readme, 회고 μž‘μ„±, Release note & github wiki μž‘μ„±, μ½”λ“œ λ¦¬νŒ©ν† λ§, λͺ¨λ°”일 λ°˜μ‘ν˜• μž‘μ—…, og νƒœκ·Έ 적용 λ“± 아직 ν•΄μ•Όν•  일이 많이 λ‚¨μ•„μžˆκΈ°μ— 당뢄간은 1쑰의 ν”„λ‘ νŠΈμ—”λ“œ νŒ€ ν™œλ™μ€ 지속될 μ˜ˆμ •μ΄λ‹€.

첫 μ‚¬μ΄λ“œ ν”„λ‘œμ νŠΈμ—¬μ„œ λΆ€μ‘±ν•œ 점도 λ§Žμ•˜κ³ , μ„œνˆ° 점도 λ§Žμ•˜μ§€λ§Œ DND μš΄μ˜μ§„ λΆ„λ“€μ˜ κ°€μ΄λ“œ, 1μ‘° λΆ„λ“€μ˜ λ„ˆκ·ΈλŸ¬μš΄ μ΄ν•΄λ‘œ λ¬΄μ‚¬νžˆ 마칠 수 μžˆμ—ˆλ˜ κ±° κ°™λ‹€. λ‹€μ‹œ ν•œλ²ˆ 1μ‘° λΆ„λ“€κ³Ό DND μš΄μ˜μ§„ λΆ„, μš°λ¦¬νŒ€ λ©˜ν†  λ‹€μ˜λ‹˜μ—κ²Œ κ°μ‚¬λ“œλ¦¬κ³  μ‹Άλ‹€. 🫢

0개의 λŒ“κΈ€