What I learned/CodeSquad Log

CodeSquad Day 75 : Team Project 2 - Day 5

Millie 2022. 4. 22. 21:00

CodeSquadπŸ”ΉDay 75

ν•˜λ£¨ 꽉 μ°¨μžˆλŠ” κΈˆμš”μΌμ˜ μ½”λ“œμŠ€μΏΌλ“œ 일정

 

1. 데일리 슀크럼 (10:00~10:30AM)

μ˜€λŠ˜μ€ λ‚΄κ°€ 회의둝 λ‹΄λ‹Ήμžμ—¬μ„œ λ…Έμ…˜μ— 였늘의 μŠ€ν¬λŸΌμ„ κΈ°λ‘ν–ˆλ‹€. 그런데 ν–„λ””κ°€ 슀크럼이 끝날 λ•ŒκΉŒμ§€ μ˜€μ§€ μ•Šμ•˜λ‹€! μ•Œκ³ λ³΄λ‹ˆ λŠ¦μž μ΄μ—ˆλ‹€. ν–„λ”” 없이 μ€€, 동기와 μ…‹μ΄μ„œ μ§„ν–‰ν–ˆλ‹€. μ»¨λ””μ…˜μ„ κ°„λ‹¨νžˆ κ³΅μœ ν•œ ν›„, 였늘의 할일과 2μ‹œ λ°˜λΆ€ν„° 3μ‹œκΉŒμ§€ 전체 곡유 μ‹œκ°„μ— μ–΄λ–€ μ‹μœΌλ‘œ κ³΅μœ ν• μ§€λ₯Ό μ •ν•΄λ³΄μ•˜λ‹€. 우리 νŒ€μ΄ μ–΄λ–€ μ‹μœΌλ‘œ ν˜‘μ—…μ„ μ§„ν–‰ν–ˆλŠ”μ§€μ™€ ν”„λ‘ νŠΈ, λ°±μ—”λ“œ 각각의 진행 상황을 κ°„κ²°ν•˜κ²Œ κ³΅μœ ν•˜κΈ°λ‘œ ν–ˆλ‹€. 

 

2. Team Project (10:30~12:30, 1:30~2:30PM)

였늘 μ˜€μ „κ³Ό μ˜€ν›„ μ‹œκ°„μ„ μ΄μš©ν•΄μ„œ μ•„λž˜μ™€ 같은 일듀을 μ§„ν–‰ν–ˆλ‹€. μ˜€λŠ˜μ€ PR λ§ˆκ°μ‹œκ°„λ„ 2μ‹œκΉŒμ§€λ‘œ 맀우 μ•žλ‹Ήκ²¨μ‘Œκ³  λ°œν‘œλ„ μ€€λΉ„ν•΄μ•Ό ν–ˆκΈ°μ— μ μ‹¬μ‹œκ°„μ„ μ’€ μ΄μš©ν•΄μ„œ μ§„ν–‰ν–ˆλ‹€. 쀑간에 λ„ˆλ¬΄ ν”Όκ³€ν•΄μ„œ 10λΆ„ λ™μ•ˆ μͺ½μž μ„ 자고 λ‹€μ‹œ μ‹œμž‘ν–ˆλ‹€. 

1. PR ν”Όλ“œλ°±μ„ λ°˜μ˜ν•˜μ—¬ 컀밋함 

2. λ°˜λ³΅λ˜λŠ” 데이터 js의 λ°°μ—΄λ‘œ λ³€κ²½ν•΄μ„œ map ν™œμš©ν•˜κΈ°

3. PR 보내고 질문 μ •λ¦¬ν•˜κΈ°

4. ν”Όμ–΄ μ„Έμ…˜μ—μ„œ λ°œν‘œν•  λ•Œ ν‚€μ›Œλ“œ μ •λ¦¬ν•˜κΈ° 

 

3. 전체 곡유 μ‹œκ°„ (2:30~3:00PM)

μœ„μ˜ λ©€λ²„λ‘œ 전체 곡유 μ‹œκ°„μ„ 30λΆ„ μ •λ„λ‘œ 짧게 κ°€μ‘Œλ‹€. λ°±μ—”λ“œ 8λͺ…, ν”„λ‘ νŠΈμ—”λ“œ 8λͺ…μœΌλ‘œ νŒ€μ€ 총 4νŒ€μ΄μ—ˆλ‹€. 각 μ‘°λ§ˆλ‹€ 진행 상황, νŒ€ ν”„λ‘œμ νŠΈ 진행 방식을 κ³΅μœ ν•˜κ³ , ꡬ글 μ‹œνŠΈμ— 각 μ‘°λ§ˆλ‹€ ν”Όλ“œλ°±μ„ 남겼닀. 

λ‚˜λŠ” 2쑰와 3쑰의 λ…Έμ…˜ ν™œμš©μ΄ μΈμƒκΉŠμ—ˆλ‹€. 우리 쑰도 λ‚΄κ°€ λ§Œλ“  λ…Έμ…˜μ„ μ‚¬μš©ν•˜κ³  있긴 ν•˜μ§€λ§Œ 3쑰처럼 곡유 μžλ£Œκ°™μ€ 것도 ν‘œλ‘œ κΉ”λ”ν•˜κ²Œ μ •λ¦¬ν•˜λŠ” μ‹μœΌλ‘œ ν•˜μ§€λŠ” μ•Šκ³  μžˆμ—ˆλŠ”λ° 정말 잘 ν™œμš©ν•˜κ³  μžˆλ‹€λŠ” 생각이 λ“€μ—ˆλ‹€. 

κ·Έλž˜μ„œ 우리 νŒ€ λ…Έμ…˜λ„ μ’€ κΉ”λ”ν•œ 정리가 ν•„μš”ν•  것 κ°™μ•„μ„œ 손을 ν•œ 번 봐 μ£Όμ—ˆλ‹€!

쒀더 정리λ₯Ό 잘 ν•œλ‹€λ©΄ μ•žμœΌλ‘œμ˜ νŒ€ν”Œμ—μ„œ 마치 ν…œν”Œλ¦Ώμ²˜λŸΌ ν™œμš©ν•  수 μžˆμ§€ μ•Šμ„κΉŒ μ‹Άλ‹€. 

 

우리 μ‘°κ°€ 받은 ν”Όλ“œλ°± (ν΄λ¦­ν•˜λ©΄ 크게 λ³΄μž„!)

 

4. νŒ€ μ£Όκ°„ 회고 (3:00~3:30PM)

3μ‹œλΆ€ν„° 3μ‹œ 30λΆ„κΉŒμ§€λŠ” κ²Œλ”νƒ€μš΄μ— λͺ¨μ—¬μ„œ ν•œ μ£Όλ₯Ό λ˜λŒμ•„λ³΄λŠ” 회고λ₯Ό 진행해 λ³΄μ•˜λ‹€. 잘 ν•œ 점, μ•„μ‰¬μš΄ 점, νŒ€μ› μΉ­μ°¬ν•˜κΈ° μ •λ„λ‘œ 주제λ₯Ό μ •ν•΄μ„œ λ§ν•΄λ³΄μ•˜λ‹€. 

λ‚΄κ°€ 적은 νšŒκ³ λŠ” λ‹€μŒκ³Ό κ°™λ‹€. μ λ‹€λ³΄λ‹ˆ κ½€λ‚˜ ν•  말이 λ§Žμ•„μ Έμ„œ 길게 적게 λ˜μ—ˆλ‹€. 

이번 μ£Ό 일주일 쀑 3일(ν™”, 수, λͺ©)은 햄디와 λ§Œλ‚˜μ„œ 뢄업이 μ•„λ‹Œ νŽ˜μ–΄ ν”„λ‘œκ·Έλž˜λ°μœΌλ‘œ 진행을 ν–ˆμŠ΅λ‹ˆλ‹€. 

μ˜€ν”„λΌμΈμ˜ 생생함, 즉각적인 μ†Œν†΅μ΄ 맀우 μ’‹μ•˜κ³  ν•¨κ»˜ μ§„ν–‰ν•˜λ©΄μ„œ μ†Œμ†Œν•˜κ²Œ 재미있던 μ—ν”Όμ†Œλ“œλ„ μžˆμ–΄μ„œ 이번 ν”„λ‘œμ νŠΈλŠ” νŠΉλ³„ν•œ κΈ°μ–΅μœΌλ‘œ 남을 것 κ°™μŠ΅λ‹ˆλ‹€. 

λ§Œλ‚˜μ„œ 직접 νŽ˜μ–΄ν”„λ‘œκ·Έλž˜λ°μœΌλ‘œ ν•˜μžλŠ” μ œμ•ˆμ„ ν”μΎŒνžˆ λ°›μ•„λ“€μ—¬ μ€€ ν–„λ”” 정말 κ°μ‚¬ν•΄μš”! 

λ°±μ—”λ“œ 뢄듀이 μ—΄μ •μ μœΌλ‘œ μ°Έμ—¬ν•΄μ£Όμ‹œκ³  ν”„λ‘ νŠΈμ—”λ“œλ₯Ό μ΅œλŒ€ν•œ λ°°λ €ν•΄μ„œ APIλ₯Ό κ΅¬μ„±ν•˜λ €κ³  ν•˜μ‹  게 λŠκ»΄μ Έμ„œ κ°μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€. 

μ—΄μ •μ μ΄λ©΄μ„œλ„ κ²Έμ†ν•˜μ‹  μ€€, μ€€κ³Ό 재미있게 ν˜‘μ—…ν•˜μ‹œλ©° μ›ν™œν•˜κ²Œ μ†Œν†΅μ„ 잘 ν•΄μ£Όμ‹œλŠ” 동기 덕뢄에 일주일이 μ¦κ±°μ› μŠ΅λ‹ˆλ‹€.  

μž˜ν–ˆλ˜ 점은 νŒ€ ν”„λ‘œμ νŠΈ μ‹œμž‘ 전에 미리 λ…Έμ…˜ ν…œν”Œλ¦Ώμ„ μ€€λΉ„ν•΄μ„œ νŒ€ ν”„λ‘œμ νŠΈκ°€ μ›ν™œν•˜κ²Œ μ§„ν–‰λ˜λŠ” 것에 κΈ°μ—¬ν–ˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. 

νŒ€μ›λΆ„λ“€μ΄ 잘 λ°›μ•„λ“€μ—¬μ£Όμ‹  덕뢄도 있고, 맀일 회의둝과 회고λ₯Ό μž‘μ„±ν•˜λ©΄μ„œ 그날에 무엇을 ν–ˆλŠ”μ§€ λͺ…ν™•ν•˜κ²Œ λ³΄μ—¬μ„œ μ’‹μ•˜μŠ΅λ‹ˆλ‹€. 

기둝의 μ€‘μš”μ„±μ„ λ‹€μ‹œν•œ 번 눈으둜 확인할 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 

κ°œμΈμ μœΌλ‘œλ„ λΈ”λ‘œκ·Έμ— 였늘 μž‘μ—…ν•œ 일듀을 μƒμ„Έν•˜κ²Œ κΈ°λ‘ν•˜λ €κ³  λ…Έλ ₯ν–ˆμŠ΅λ‹ˆλ‹€. 

μ•„μ‰¬μš΄ 점은 μ‹œκ°„ ν™œμš©μ„ μ’€ 더 잘 ν•΄μ„œ ν”„λ‘œμ νŠΈμ— μŸλŠ” μ‹œκ°„μ„ 늘리고 μ‹Άμ—ˆλŠ”λ° κ·ΈλŸ¬μ§€ λͺ»ν–ˆλ‹€λŠ” μ μž…λ‹ˆλ‹€. 

ν‰μ†Œμ™€ λ‹€λ₯Έ ν™˜κ²½μ—μ„œ 적응해 κ°€λ©΄μ„œ μƒˆλ‘œμš΄ 것을 ν•™μŠ΅κΉŒμ§€ ν•˜λ €κ³  ν•˜λ‹ˆ 생각보닀 쉽지 μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 

λ‹€μŒ μ£Όμ—λŠ” ν•™μŠ΅κ³Ό ν”„λ‘œμ νŠΈμ— νˆ¬μžν•˜λŠ” μ‹œκ°„μ„ 많이 늘리고 μ‹ΆμŠ΅λ‹ˆλ‹€. Reactλ₯Ό μ’€ 더 심도 있게 κ³΅λΆ€ν•˜κ³  κΈ°λŠ₯κ΅¬ν˜„μ„ 잘 ν•΄λ‚΄κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

μ§€κΈˆλ³΄λ‹€ μ’€ 더 μ—΄μ‹¬νžˆ ν•΄μ„œ ν”„λ‘œμ νŠΈλ₯Ό 잘 λ§ˆλ¬΄λ¦¬ν•  수 μžˆλ„λ‘ ν•΄μ•Όκ² μŠ΅λ‹ˆλ‹€!

ν–„λ””κ°€ 회고λ₯Ό λ‚¨κ²ΌλŠ”λ° μ§‘μˆœμ΄μΈ 본인을 λ‚΄κ°€ 끄집어 λƒˆλ‹€κ³  ν‘œν˜„ν•΄μ„œ 웃겼닀 γ…‹γ…‹ μ§‘μˆœμ΄μž„μ—λ„ μ˜€ν”„λΌμΈμ—μ„œ λ§Œλ‚˜μ„œ ν”„λ‘œμ νŠΈλ₯Ό ν•˜μžλŠ” λ‚˜μ˜ μ œμ•ˆμ„ λ°›μ•„λ“€μ—¬μ€€ ν–„λ””μ—κ²Œ 정말 λ¬΄ν•œ 감사!λ₯Ό μ˜¬λ¦°λ‹€.   

 

5. ν”Όμ–΄μ„Έμ…˜ (4:00~5:30PM)

2μ‹œ 30뢄에 μ§„ν–‰ν–ˆλ˜ 전체 곡유 μ‹œκ°„μ˜ νŒ€μ—μ„œ ν”„λ‘ νŠΈμ—”λ“œ 8λͺ…λ§Œ λͺ¨μ—¬μ„œ ν”Όμ–΄μ„Έμ…˜μ„ μ§„ν–‰ν–ˆλ‹€. 1μ‹œκ°„ λ°˜μ΄λΌλŠ” μ‹œκ°„μ΄ λΆ„λ°°λ˜μ–΄μ„œ 밀도 μžˆλŠ” κ³΅μœ μ™€ μ§ˆμ˜μ‘λ‹΅μ΄ κ°€λŠ₯ν–ˆλ‹€. λ‹€λ₯Έ μ‘°λŠ” μ–΄λ–€ μ‹μœΌλ‘œ μ§„ν–‰λ˜κ³  μžˆλŠ”μ§€, 그리고 ν‰μ†Œμ— κΆκΈˆν–ˆλ˜ 것듀을 νŽΈν•˜κ²Œ μ§ˆλ¬Έν•  수 μžˆμ–΄μ„œ μ’‹μ•˜λ‹€.  

λ‚˜μ™€ ν–„λ””λŠ” 1쑰이기 λ•Œλ¬Έμ— κ°€μž₯ λ¨Όμ € λ°œν‘œλ₯Ό μ‹œμž‘ν–ˆλ‹€. μ‘°λ³„λ‘œ μ•½ 20λΆ„μ˜ μ‹œκ°„μ„ μ‚¬μš©ν•  수 μžˆμ—ˆκ³  κ·Έλž˜μ„œ μš°λ¦¬λŠ” 1λΆ€λŠ” ν–„λ””κ°€, 2λΆ€λŠ” λ‚΄κ°€ λ§‘μ•„μ„œ λ°œν‘œλ₯Ό μ€€λΉ„ν–ˆμ—ˆλ‹€. ν–„λ””λŠ” λ°±μ—”λ“œμ™€μ˜ ν˜‘μ—…μ΄ μ–΄λ–»κ²Œ μ§„ν–‰λ˜κ³  μžˆλŠ”μ§€, 그리고 ν”„λ‘œμ νŠΈμ˜ 진행 λ°©ν–₯이 어떀지λ₯Ό μƒμ„Έν•˜κ²Œ λ°œν‘œν–ˆλ‹€.

λ‚˜λŠ” 햄디에 이어 μ½”λ“œλ₯Ό κ³΅μœ ν•˜λ©΄μ„œ ν”„λ‘œμ νŠΈμ˜ μ„ΈλΆ€ 상황을 λ°œν‘œν–ˆλ‹€. Styled Componentsλ₯Ό ν™œμš©ν•˜μ˜€κ³  GlobalStyle, ThemeProviderλ₯Ό ν™œμš©ν•œ 것, svg, useEffect와 fetch μ‚¬μš©, 데이터λ₯Ό js νŒŒμΌμ— λ”°λ‘œ λ§Œλ“€μ–΄μ„œ map을 돌렀 μ»΄ν¬λ„ŒνŠΈλ₯Ό λ™μ μœΌλ‘œ μƒμ„±ν•œ 것 λ“± μ§€κΈˆκΉŒμ§€ ν•œ κ²ƒλ“€μ˜ μ„ΈλΆ€ 사항을 λ°œν‘œν–ˆλ‹€. 

λ„λ¦¬μ—κ²Œμ„œ ν”Όλ“œλ°±μ„ λ°›μ•˜λŠ”λ° useEffectλ₯Ό μ’€ 더 μ•Œκ³  μ¨μ•Όκ² λ‹€λŠ” 생각이 λ“€μ—ˆλ‹€. 

 

6. 크둱의 ν”Όλ“œλ°± (5:30~7:00PM)

본래 1μ‹œκ°„ μ •λ„λ‘œ λΆ„λ°°λ˜μ–΄ μžˆμ—ˆλ˜ ν”Όλ“œλ°± μ‹œκ°„μ€ 크둱의 ν’λΆ€ν•œ ν”Όλ“œλ°± 덕에 κΈΈμ–΄μ§€κ²Œ λ˜μ—ˆλ‹€. μ§ˆμ˜μ‘λ‹΅κ³Ό λ‹€λ₯Έ μ‘° μ½”λ“œλ¦¬λ·° λͺ¨λ‘ μ•žμœΌλ‘œ ν”„λ‘œμ νŠΈλ₯Ό ν•  λ•Œ 맀우 도움이 λ˜λŠ” μ‹œκ°„μ΄μ—ˆλ‹€. 

 

(1) μ§ˆμ˜μ‘λ‹΅ 

μ΄ˆλ°˜μ—λŠ” ꡬ글 μ‹œνŠΈμ— μžμ‹ μ΄ λŠλ‚€ μ λ“€μ΄λ‚˜ κΆκΈˆν•œ 점듀을 읡λͺ…μœΌλ‘œ 자유둭게 적으며 크둱이 그에 λŒ€ν•œ 닡을 ν•˜λŠ” λ°©μ‹μœΌλ‘œ μ§„ν–‰λ˜μ—ˆλ‹€. 

# 개발 νƒœλ„ κ΄€λ ¨ μ‘°μ–Έ 

  • 생각을 ν•˜λ©΄μ„œ κ°œλ°œν•΄μ•Ό ν•œλ‹€. 특히 μ–΄λ–€ 생각과 λ…Έλ ₯을 ν–ˆλŠ”μ§€κ°€ μ€‘μš”ν•˜λ‹€. μ–΄λ–€ 문제λ₯Ό μœ„ν•΄ 깊이있게 νŒŒκ³ λ“œλŠ” 것이 μ€‘μš”ν•˜λ‹€. μ–΄λ–€ 버그λ₯Ό λ§Œλ‚¬μ„ λ•Œ λ‹¨νŽΈμ μœΌλ‘œ μƒκ°ν•˜λŠ” 것이 μ•„λ‹Œ 근본적으둜 해결책을 μ°ΎλŠ” 것이 μ€‘μš”ν•˜λ‹€. 생각을 많이 ν•˜κ³  μ§„μ§€ν•˜κ²Œ 문제λ₯Ό λŒ€ν•  것 
  • μ§€κΈˆ ν”„λ‘œμ νŠΈμ˜ λ‹Ήμž₯의 κ²°κ³Όλ³΄λ‹€λŠ” 과정이 μ€‘μš”ν•˜λ‹€λŠ” 것을 κΈ°μ–΅ν•˜μž. 문제λ₯Ό λŒ€ν•˜λŠ” νƒœλ„μ™€ ν•΄κ²° 과정이 더 μ€‘μš”ν•˜λ‹€. 

 

# React κ΄€λ ¨ μ‘°μ–Έ 

  • κ³΅μ‹λ¬Έμ„œκ°€ ꡉμž₯히 μ²΄κ³„μ μœΌλ‘œ 잘 λ˜μ–΄ μžˆλ‹€. 이것을 κΌΌκΌΌν•˜κ²Œ λ³΄λ©΄μ„œ ν•™μŠ΅ν•΄ λ³Ό 것. 
  • 바닐라 μžλ°”μŠ€ν¬λ¦½νŠΈμ™€ React의 λ Œλ”λ§ 차이 같은 것듀을 κ²½ν—˜ν•΄λ³΄λ©΄μ„œ κΈ€λ‘œ 남겨 봐라. κ²½ν—˜μ—μ„œ λ‚˜μ˜¬ 수 μžˆλŠ” 글이 μ’‹λ‹€. 

 

(2) μ½”λ“œλ¦¬λ·° 

ν›„λ°˜μ—λŠ” μ½”λ“œλ₯Ό 직접 λ³΄λ©΄μ„œ ν”Όλ“œλ°±μ„ ν–ˆλ‹€. 첫 λ²ˆμ§ΈλŠ” μ˜λƒμ™€ λ‚œμ • μ‘°, 두 λ²ˆμ§ΈλŠ” λ² λ‹ˆμ™€ 포킀 μ‘°μ˜€λ‹€. 

# μ˜λƒ & λ‚œμ • μ‘°

  • μ»΄ν¬λ„ŒνŠΈ map λŒλ €μ„œ 생산 μ‹œ key 값은 κ³ μœ ν•œ κ²ƒμœΌλ‘œ 쀄 것 - λ°±μ—”λ“œμ—μ„œ λ°›μ•„μ„œ μ“°κΈ°
  • 파일 ν™•μž₯자 js, jsxλ‘œλ„ μ»΄ν¬λ„ŒνŠΈμΈμ§€ μ•„λ‹Œμ§€λ₯Ό κ΅¬λΆ„ν•œλ‹€.
  • μ»΄ν¬λ„ŒνŠΈλ₯Ό λ„ˆλ¬΄ 크지 μ•Šκ²Œ λ§Œλ“€μž 
  • Styled Components λ‚΄λΆ€μ—μ„œ sass 문법을 ν™œμš©ν•  수 μžˆλ‹€.
  • μ—λŸ¬ 핸듀링 - console.errorλŠ” 개발자λ₯Ό μœ„ν•œ 방법이닀.

 

# λ² λ‹ˆ & 포킀 μ‘° 

  • WS와 WAS의 차이 μ„€λͺ…
  • awaitλ₯Ό μ—¬λŸ¬ 번 계속 μ“°κ²Œ 되면 λΈ”λ‘œν‚Ήμ΄ μƒκΈ°κ²Œ λ˜λ―€λ‘œ 병렬 μš”μ²­μ΄ λ˜λŠ” κ²ƒμœΌλ‘œ λ°”κΏ€ 것
  • μ»΄ν¬λ„ŒνŠΈ 이름 지을 λ•Œ κ·Έλƒ₯ Modal.jsx 이런 μ‹μœΌλ‘œ μ§“κ²Œ 되면 μ’€ 좔상적이고 μž¬μ‚¬μš©μ΄ κ°€λŠ₯ν•œ κ²ƒμ²˜λŸΌ 보인닀. κ·Έλž˜μ„œ νŠΉμ • λͺ¨λ‹¬μ΄λΌλ©΄ κ·Έλƒ₯ DetailViewModal.jsx 이런 μ‹μœΌλ‘œ ꡬ체적인 이름을 λΆ™μ—¬μ„œ μ§“λŠ” 것이 λ‚«λ‹€. 
  • setterλ₯Ό μ“Έ ν•„μš”κ°€ μ—†λ‹€λ©΄ ꡳ이 useStateλ₯Ό μ“Έ ν•„μš”κ°€ μ—†λ‹€.  

 


μƒν™œμ½”λ”© OAuth (11:00~12:30)