Amy = {afterMobi, ...mobi}

55555-JyeonΒ·2024λ…„ 3μ›” 4일
0

Memoirs

λͺ©λ‘ 보기
4/7
post-thumbnail
post-custom-banner
πŸ’¬ Mobi 2κΈ° 수료 ν›„ μž‘μ„±ν•œ 회고둝

Mobi?

MobiλŠ” μ—¬νƒœκΉŒμ§€ κ²Œμ‹œκΈ€μ— μ’…μ’… λ‚˜νƒ€λ‚œ Peanut λ‹˜μ΄ μš΄μ˜ν•˜λŠ” λΉ„μ˜λ¦¬ λ‹¨μ²΄μž…λ‹ˆλ‹€.

λͺ¨λΉ„λŠ” κ°’λΉ„μ‹Ό μ‚¬κ΅μœ‘, ν˜„μ‹€μ  μ‹œκ°„ 투자의 결여에 겁먹은 μ„Έμƒμ˜ λͺ¨λ“  λΉ„μ „κ³΅μžλ“€μ„ μœ„ν•΄ 무료둜 κ΅μœ‘μ„ μ œκ³΅ν•˜κ³  μ·¨μ—… μ΄ν›„μ˜ 인프라 ν˜•μ„±μ„ 톡해 μƒˆλ‘œμš΄ μ‹œμž‘μ„ μ‘μ›ν•˜λŠ” λΉ„μ˜λ¦¬ λ‹¨μ²΄μž…λ‹ˆλ‹€. ν˜„μž¬λŠ” λ‚΄λΆ€ μΆ”μ²œμœΌλ‘œλ§Œ 운영되고 있으며 ν–₯ν›„ ν™ˆνŽ˜μ΄μ§€ κ°œμ„€ 및 μ™ΈλΆ€ 곡개λ₯Ό 톡해 μ˜μ—­μ„ 점차 ν™•μž₯ν•΄ λ‚˜κ°ˆ μ˜ˆμ •μž…λ‹ˆλ‹€.


λ•ŒλŠ” λ°”μ•Όνλ‘œ 2022λ…„...

2022λ…„ μƒλ°˜κΈ°, 처음 ν•™μ›μ—μ„œ ν”„λ‘ νŠΈμ—”λ“œ κ΄€λ ¨ μˆ˜μ—…μ„ λ“£κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ‹Ήμ‹œμ— μžλ°”μŠ€ν¬λ¦½νŠΈκ°€ λ„ˆλ¬΄ μ–΄λ €μ› κ³ , κ²°λ‘ λΆ€ν„° λ§ν•˜λ©΄ κ°•μ˜λŠ” 진도λ₯Ό 채 따라가기도 전에 λλ‚˜ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

ν•΄λ‹Ή μˆ˜μ—…μ΄ λλ‚˜κ°ˆ 무렡, λ”± 3번 Peanut λ‹˜μ΄ λŒ€λ¦¬λ‘œ κ°•μ˜λ₯Ό 진행해주신 적이 μžˆμŠ΅λ‹ˆλ‹€. κ·Έλ•Œ λŒ€λž΅μ μΈ Peanut λ‹˜μ˜ κ°•μ˜ 진행 방식과 mobi에 λŒ€ν•΄μ„œ μ•Œκ²Œ λ˜μ—ˆκ³ , λ“£λŠ” κ·Έ μˆœκ°„ "μ•„, μ € κ°•μ˜λ‹€." λΌλŠ” 확신이 λ“€μ—ˆμŠ΅λ‹ˆλ‹€.

그리고 2023λ…„ 4μ›”

기쑴에 λ“£λ˜ κ°•μ˜κ°€ 23λ…„ 1월에 μ’…λ£Œλ˜κ³  κ³§λ°”λ‘œ λ‹€μ‹œ 학원을 μ°Ύμ•„κ°€ Peanut λ‹˜μ˜ κ°•μ˜κ°€ μžˆλŠ”μ§€ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. 저에겐 두 κ°€μ§€μ˜ 선택지가 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

1. 1κΈ°κ°€ μˆ˜κ°• μ€‘μ΄λ˜ κ°•μ˜ (쀑도 νˆ¬μž…)
2. 2κΈ°κ°€ μˆ˜κ°•ν•  κ°•μ˜ (μ²˜μŒλΆ€ν„° ν•¨κ»˜)

μ €λŠ” 2λ²ˆμ„ 선택 ν›„ 3μ›” ν•œ λ‹¬λ™μ•ˆ 유튜브둜 μžλ°”μŠ€ν¬λ¦½νŠΈ μ˜μƒλ„ 쀑간 쀑간 보고, DeepDive 책도 ꡬ맀해 읽으며 4μ›” κ°•μ˜λ₯Ό κΈ°λ‹€λ ΈμŠ΅λ‹ˆλ‹€.

λ‹Ήμ‹œ Peanut λ‹˜μ΄ 22년도 κ°•μ˜ μˆ˜κ°•μƒλ“€μ—κ²Œ μžλ°”μŠ€ν¬λ¦½νŠΈ λ¬Έμ œκ°€ μžˆμ„ λ•Œ 슀슀둜 μ½”λ“œλ₯Ό κ΅¬μƒν•˜λŠ” λŠ₯λ ₯이 λΆ€μ‘±ν•˜λ‹€λ©° DeepDive μ±… 읽기 등을 μΆ”μ²œν•΄μ£Όμ…¨μŠ΅λ‹ˆλ‹€.

이전 κ°•μ˜μ™€λŠ” 달리 λκΉŒμ§€ 진도λ₯Ό 따라가기 μœ„ν•΄ λ™λ£Œ ν•™μŠ΅μ—λ„ μ°Έμ—¬ν–ˆκ³  μ΅œμ’…μ μœΌλ‘œ mobi도 ν•¨κ»˜ν•  수 있게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

Mobi의 κΈ°μ€€ 쀑 ν•˜λ‚˜κ°€ 잘 μ†Œν†΅ν•  수 μžˆλŠ”κ°€μ˜€κ³  μ €λŠ” 이 뢀뢄을 μ‘°κΈˆμ΄λΌλ„ λ³΄μ™„ν•˜κΈ° μœ„ν•΄ λ™λ£Œ ν•™μŠ΅μ— 참여도 ν–ˆμ§€λ§Œ μ—¬μ „νžˆ λΆ€μ‘±ν–ˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜λ„ λΆ€μ‘±ν•œ 뢀뢄을 Mobiλ₯Ό 톡해 극볡할 수 μžˆμ„ 것 κ°™λ‹€λŠ” Peanut λ‹˜μ˜ 의견으둜 μ΅œμ’… 합격이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.πŸ™‚


πŸ’¬ memoirs

πŸ“– during Mobi

Mobiλ₯Ό 톡해 얻은 것이 정말 λ§Žμ§€λ§Œ κ·Έ μ€‘μ—μ„œ 크게 두 가지 정도λ₯Ό 꼽을 수 μžˆμ„ 것 κ°™μŠ΅λ‹ˆλ‹€.


  1. λ―Έλž˜μ— λŒ€ν•œ λ°©ν–₯μ„±

Mobiμ—μ„œ μ œκ³΅λ˜λŠ” μ»€λ¦¬ν˜λŸΌμ„ ν† λŒ€λ‘œ ν•™μŠ΅ν•˜λ©΄μ„œ ꡬ체적으둜 λ‚΄κ°€ μ–΄λ–€ 뢀뢄이 λΆ€μ‘±ν•œμ§€ μ•Œ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. μ•„λ§ˆ μˆ˜μ—… μ‹œκ°„μ— 배운 todolistλ“€λ§Œ λ³΅μŠ΅ν•˜λ‹€κ°€ "이제 λ­ν•˜μ§€...?" ν•˜λ©° μ‚½μ§ˆλ§Œ ν–ˆμ„ 것 κ°™μ•„μš”. Mobiλ₯Ό 톡해 배운 λ‚΄μš©μ„ 슀슀둜 μ°Ύμ•„μ„œ κ³΅λΆ€ν•˜κΈ°κΉŒμ§€ κ³Όμ—° λͺ‡ 달이 걸렸을지...
2κΈ°κ°€ μ’…λ£Œλœ ν˜„μž¬, Mobiλ₯Ό 톡해 μ•Œκ²Œλœ 것듀을 ν† λŒ€λ‘œ μ΄μ œλŠ” 놓고 온 뢀뢄듀이 μžˆλ‹€λ©΄ λ³΄μ™„ν•΄κ°€λ©΄μ„œ NextJS 곡뢀λ₯Ό ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

Mobi에 λ“€μ–΄μ˜€μ§€ μ•Šμ•˜λ”λΌλ©΄ μ–΄λ–€ κ±Έ 더 곡뢀해야 ν•˜λŠ”μ§€ λͺ°λΌ 많이 λ°©ν™©ν–ˆμ„ 것 κ°™μŠ΅λ‹ˆλ‹€.


  1. ν˜‘μ—…μ˜ μ€‘μš”μ„±κ³Ό ν•„μš”μ„±

무엇보닀 같은 μ²˜μ§€μ— λ†“μΈμ˜ μ‚¬λžŒλ“€κ³Ό ν•¨κ»˜ 곡뢀λ₯Ό ν•˜λ©΄μ„œ μ„œλ‘œ μ˜μ§€ν•˜λ©° κ°™μ΄μ˜ κ°€μΉ˜λ₯Ό κ²½ν—˜ν•  수 μžˆμ—ˆλ˜ 것이 κ°€μž₯ μ˜ˆμƒ λͺ»ν•œ λ°°μ›€μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

mobi μ΄μ „μ—λŠ” "쑰별 κ³Όμ œλŠ” μ‚¬νšŒμ•…μ΄λ‹€,"λΌλŠ” 말을 지지할 μ •λ„λ‘œ 같이 과제λ₯Ό ν•˜λŠ” 것을 μ„ ν˜Έν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 같이 μ‘°μœ¨ν•΄μ„œ μ§„ν–‰ν•˜λŠ” 것보닀 ν˜Όμžν–ˆμ„ λ•Œμ˜ κ²°κ³Όκ°€ μ’‹μ•˜λ˜ κ²½ν—˜μ΄ 지배적이라 ν›„μžκ°€ 더 효율적이라 νŒλ‹¨ν•˜κ²Œ 됐던 것 κ°™μŠ΅λ‹ˆλ‹€.

κ·Έλž˜μ„œ mobiμ—μ„œλ„ 이런 인식에 λ³€ν™”κ°€ 생길 κ±°λΌκ³ λŠ” 생각도 λͺ»ν–ˆκ³ , κ·Έμ € 'νŽ˜μ–΄λ‘œμ¨ μ†Œν†΅λ§Œ μž˜ν•˜λ©΄ λ˜κ² μ§€,' β†’ 'μ†Œν†΅μ΄ 잘 되렀면 μ–΄λ–»κ²Œ 말을 ν•˜λ©΄ μ’‹μ„κΉŒ?' μ •λ„λ§Œ 고민을 ν•΄λ΄€μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ ν›„λ°˜λΆ€λ‘œ 갈수둝 ν•¨κ»˜ 토이 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ κ°™μ΄ν–ˆμ„ λ•Œμ˜ μ‹œλ„ˆμ§€λ₯Ό μ²΄κ°ν•˜κ²Œ λ˜μ—ˆκ³  μ΄μ œλŠ” 였히렀 같이 진행할 λ•Œ λ”μš± μ—΄μ •μ μœΌλ‘œ μž„ν•˜κ²Œ λ˜λŠ” μ‚¬λžŒμ΄ 된 것 κ°™μŠ΅λ‹ˆλ‹€.

mobiμ—μ„œ 맀주 μΌμš”μΌ ν•œ 주에 λ‚΄κ°€ κ³΅λΆ€ν•œ 것이 무엇인지 κ³΅μœ ν•˜λŠ” μ‹œκ°„μΈ Weekly I Learned(WIL)을 κ°€μ‘ŒλŠ”λ° 같이 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜κ±°λ‚˜ 곡뢀λ₯Ό ν•˜λ‹€λ³΄λ©΄ WIL을 λ§€μΌν•˜κ³  μžˆλ‹€λŠ” 생각이 λ“€λ©΄μ„œλΆ€ν„° 같이 μ§„ν–‰ν•˜λŠ” 것에 즐거움을 느끼게 된 것 κ°™μŠ΅λ‹ˆλ‹€.


Details

ꡬ체적으둜 μ–΄λ–€ μ»€λ¦¬ν˜λŸΌμ„ ν† λŒ€λ‘œ μ–΄λ–»κ²Œ μ„±μž₯ν•΄ λ‚˜κ°€κ³  μžˆλŠ”μ§€ μ •λ¦¬ν•΄λ³΄μžλ©΄ :


1️⃣ κΎΈμ€€ν•œ ν•™μŠ΅ μŠ΅κ΄€ λ§Œλ“€κΈ° (평균 ν•™μŠ΅λŸ‰μ˜ 증가)

μ €λ₯Ό 포함해 μ „μ²΄μ μœΌλ‘œ λͺ¨λ“  μΈμ›μ˜ 평균 ν•™μŠ΅λŸ‰μ΄ μ¦κ°€ν–ˆμŠ΅λ‹ˆλ‹€.
μ΄ˆλ°˜μ—λŠ” 1인 λ‹Ή ν•˜λ£¨ 곡뢀 μ‹œκ°„μ΄ μ•½ 2μ‹œκ°„ 정도 λ˜μ—ˆλŠ”λ° 끝날 λ•Œ μ¦ˆμŒμ—” 6~8μ‹œκ°„ 정도가 λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 같이 토이 ν”„λ‘œμ νŠΈλ₯Ό 진행할 λ•Œλ§ŒνΌ 열정적이진 μ•Šμ§€λ§Œ mobiκ°€ μ’…λ£Œλœ μ§€κΈˆλ„ 맀일 곡뢀λ₯Ό κΎΈμ€€νžˆ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

λ””μŠ€μ½”λ“œμ— μΆœμ„λΆ€ κΈ°λŠ₯이 μΆ”κ°€λ˜κ³  λ”μš± μ§κ΄€μ μœΌλ‘œ λ‚΄ 곡뢀 μ‹œκ°„μ„ 확인할 수 있게 λ˜λ©΄μ„œλΆ€ν„° 더 μ—΄μ‹¬νžˆ ν•˜κ²Œ λμŠ΅λ‹ˆλ‹€.

생각보닀 λͺ‡ μ‹œκ°„ 집쀑 λͺ»ν–ˆμ„ λ•Œμ—λŠ” 'μ–Όλ₯Έ μž¬μ •λΉ„ν•˜κ³  λ‹€μ‹œ 해봐야겠닀,' λΌκ±°λ‚˜ 'μ˜€λŠ˜μ€ μ΄μ―€ν•΄λ³ΌκΉŒ' 싢닀가도 λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ μ—΄μ‹¬νžˆ ν•˜κ³  있으면 'μ’€ 더 νž˜λ‚΄λ³΄μž' λ“± 쒋은 μžκ·Ήμ œκ°€ λ˜μ–΄μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.




2️⃣ λ””μžμΈ μ‹œμŠ€ν…œ 적용과 κ΄€λ ¨ λ‹€μ–‘ν•œ 라이브러리의 μ‚¬μš©




λ””μžμΈ μ‹œμŠ€ν…œμ΄ 적용된 μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ»΄ν¬λ„ŒνŠΈλ₯Ό λ§Œλ“€μ–΄λ³΄λ©΄μ„œ λ‹€μ–‘ν•œ css κ΄€λ ¨ 라이브러리λ₯Ό μ‚¬μš©ν•΄λ΄€μŠ΅λ‹ˆλ‹€.

μ»΄ν¬λ„ŒνŠΈ 주도 개발(CDD)에 λŒ€ν•΄ μ•Œμ•„λ³΄λ©΄μ„œ μž¬μ‚¬μš©μ΄ μš©μ΄ν•œ μ»΄ν¬λ„ŒνŠΈμ— λŒ€ν•΄μ„œ, 그리고 λ””μžμ΄λ„ˆμ™€μ˜ ν˜‘μ—…μ— λŒ€ν•΄μ„œ ν•œ 번 더 생각해볼 수 μžˆλŠ” μ‹œκ°„μ„ κ°€μ§ˆ 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

  • κ΄€λ ¨ μ£Όμ°¨ github 보러 κ°€κΈ° πŸ‘‰ story-book repo
  • κ΄€λ ¨ μ£Όμ°¨ 진행 ν›„ μž‘μ„±ν•œ κ²Œμ‹œκΈ€ 보러 κ°€κΈ° πŸ‘‰ let's storybook
  • story-book에 λŒ€ν•΄μ„œ μ •λ¦¬ν•œ κ²Œμ‹œκΈ€ 보러 κ°€κΈ° πŸ‘‰ what's storybook



μ΄μ „κΉŒμ§€λŠ” 라이브러리 μ‚¬μš©μ— 거뢀감이 μ’€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 곡식 λ¬Έμ„œλ₯Ό μ½λŠ” 것도 λ―Έμˆ™ν–ˆκ³ , μ½λŠ” κ±° 뿐인데도, λΆ„λͺ… 읽고 μ‹œλ„ν•œ 건데도 였λ₯˜κ°€ λ°œμƒν•˜λŠ” 것 λ•Œλ¬Έμ— μ‹«μ—ˆμŠ΅λ‹ˆλ‹€. 라이브러리λ₯Ό μ‚¬μš©ν•  λ°”μ—” κ·Έλƒ₯ μ†μˆ˜ λ‹€ λ§Œλ“ λ‹€λŠ” 생각이 μžλ¦¬μž‘ν˜€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ λ§Žμ€ 라이브러리λ₯Ό μ‚¬μš©ν•  수 밖에 μ—†λŠ” 과제λ₯Ό λ§Œλ‚˜ νŽ˜μ–΄μ™€ ν•¨κ»˜ 곡식 λ¬Έμ„œλ₯Ό 읽어가며 μ‚¬μš©ν•΄λ³΄λ‹ˆ "별 κ±° μ—†λ„€," 싢을 μ •λ„λ‘œ 잘 μ‚¬μš©ν–ˆλ˜ 것 κ°™μ•„μš”.
막상 μ‚¬μš©ν•΄λ³΄λ‹ˆ λ‹€ λ‹€λ₯Έκ²Œ μ•„λ‹Œ λΌμ΄λΈŒλŸ¬λ¦¬λ“€ κ°„μ˜ λΉ„μŠ·ν•œ μ‚¬μš©λ²•λ“€μ΄ 보여 μ‹ κΈ°ν–ˆκ³ , 라이브러리 μ‚¬μš©μ— λŒ€ν•œ 두렀움이 쑰금 사그라든 계기가 λμŠ΅λ‹ˆλ‹€.




3️⃣ μ˜μ‘΄μ„± μ£Όμž…κ³Ό 관심사 뢄리

μ˜μ‘΄μ„± μ£Όμž…κ³Ό 관심사 λΆ„λ¦¬λŠ” μˆ˜μ—… λ•ŒλΆ€ν„° Peanut λ‹˜μ΄ κ°•μ‘°ν•˜λ˜ 뢀뢄이라 μ€‘μš”ν•˜λ‹€λŠ” 것은 읡히 μ•Œκ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
κ°•μ˜λ₯Ό 듀을 λ•Œμ—λŠ” μ˜μ‘΄μ„± μ£Όμž…(DI) === 관심사 λΆ„λ¦¬λΌκ³ λ§Œ μƒκ°ν–ˆλŠ”λ° κ·Έμ € λŒ€ν‘œμ μΈ μ‚¬λ‘€μ˜€λ‹€λŠ” 것을 μ•Œκ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
Mobiμ—μ„œ 주어진 과제λ₯Ό ν•˜λ©΄μ„œ λŠμŠ¨ν•œ 관계에 λŒ€ν•΄ ν•œ 번 더 생각해보고 μ•„λž˜ μ„Έ κ°€μ§€μ˜ 사둀λ₯Ό μ‚΄νŽ΄λ³΄λ©° μ˜μ‘΄μ„± μ£Όμž…μ— λŒ€ν•΄ λ‹€μ‹œ μƒκ°ν•΄λ³΄λŠ” 계기가 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

(1) μ „μ—­ μƒνƒœκ΄€λ¦¬λ₯Ό ν™œμš©ν•œ 관심사 뢄리
(2) λͺ¨λ“ˆν™”λ₯Ό ν™œμš©ν•œ 관심사 뢄리
(3) μ»€μŠ€ν…€ ν›…ν•¨μˆ˜λ₯Ό ν™œμš©ν•œ 관심사 뢄리

μ΄μ „μ—λŠ” μ˜μ‘΄μ„± μ£Όμž…μ„ μœ„ν•΄ 관심사 뢄리λ₯Ό ν•˜κΈ° κΈ‰κΈ‰ν–ˆμ§€λ§Œ μ΄μ œλŠ” κ³΅ν†΅λœ 뢀뢄을 λ¬Άμ–΄ 관리할 포인트λ₯Ό μ€„μ΄λŠ” 것이 μ€‘μš”ν•˜λ‹€λŠ” 것을 μ•Œκ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.




4️⃣ RHF와 YUP을 ν™œμš©ν•œ μœ νš¨μ„± 검사

처음 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•œ MMMμ—μ„œλŠ” ν›…ν•¨μˆ˜λ₯Ό 직접 λ§Œλ“€μ–΄ 관리λ₯Ό ν–ˆλ˜ 게 μƒκ°λ‚©λ‹ˆλ‹€... λ‹Ήμ‹œμ—” κ³΅λΆ€ν•˜λ©΄μ„œ 진행할 μ—¬μœ κ°€ μ—†λ‹€κ³  μƒκ°ν•΄μ„œ 라이브러리 μ‚¬μš©μ„ 거의 λͺ»ν–ˆλŠ”데 μ‚¬μš©μ„ ν•΄λ³Έ λ’€ 돌이켜보면 μ‹œκ°„μ  μ—¬μœ κ°€ μ—†μ—ˆλ˜ 게 μ•„λ‹ˆλΌ 심적 μ—¬μœ κ°€ μ—†μ—ˆλ˜ 게 μ•„λ‹κΉŒ μ‹ΆμŠ΅λ‹ˆλ‹€.

RHF둜 form을 κ΄€λ¦¬ν•˜κ³ , μœ νš¨μ„± 검사 λΌμ΄λΈŒλŸ¬λ¦¬κΉŒμ§€ μ‚¬μš©ν–ˆμ„ λ•Œ λ„ˆλ¬΄ κ°„κ²°ν•˜κ³  λΉ λ₯΄κ²Œ νšŒμ›κ°€μž…/둜그인 둜직이 μ™„μ„±λΌμ„œ λ†€λžλ˜ 기얡이 λ‚©λ‹ˆλ‹€. 마치 λΆˆμ„ λ°œκ²¬ν•œ λŠλ‚Œ? πŸ‘€

  • RHF + yup ν™œμš©ν•œ github repo 보러 κ°€κΈ° πŸ‘‰ RHF
  • RHF + zod ν™œμš©ν•œ 토이 ν”„λ‘œμ νŠΈ 보러 κ°€κΈ° πŸ‘‰ chap-chap
  • chap-chap 회고 κ²Œμ‹œκΈ€ 보러 κ°€κΈ° πŸ‘‰ chap-chap memoirs

5️⃣ 보일러 ν…œν”Œλ¦Ώμ„ ν™œμš©ν•œ 폴더 및 μ»΄ν¬λ„ŒνŠΈ ꡬ쑰 섀계

ν”„λ‘œμ νŠΈλ₯Ό 진행할 λ•Œλ§ˆλ‹€ μƒˆλ‘œμš΄ 폴더 ꡬ쑰λ₯Ό μƒκ°ν•΄λ‚΄λŠ” 것보닀 기쑴의 ν‹€μ—μ„œ νŠΉμ„±μ— 맞게 μˆ˜μ •μ„ ν•˜λŠ” μͺ½μ΄ μ’€ 더
λ‚˜μ•„κ°€ μž¬ν™œμš© κ°€λŠ₯성이 높은 νŒŒμΌλ“€μ˜ 경우 λ§Œλ“€μ–΄λ‘” 폴더에 미리 λ„£μ–΄λ‘ μœΌλ‘œμ¨ λ”μš± 효율적인 개발 ν™˜κ²½μ—μ„œ μ½”λ“œλ₯Ό μΉ  수 있게 λ˜μ—ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€.

  • 보일러 ν…œν”Œλ¦Ώμ— λŒ€ν•œ κ²Œμ‹œκΈ€ 보러 κ°€κΈ° πŸ‘‰ let's boiler-template
  • 보일러 ν…œν”Œλ¦Ώμ„ μ μš©ν•œ github repo 보러 κ°€κΈ° πŸ‘‰ boilerplate



6️⃣ μƒνƒœ μ΅œμ ν™”

λΆ€μ£Όμ˜ν•œ λΆ€λͺ¨, 독립적인 μžμ‹ : μžμ‹ μ»΄ν¬λ„ŒνŠΈκ°€ ν•˜λŠ” 일을 λ°˜λ“œμ‹œ λΆ€λͺ¨κ°€ μ•Œ ν•„μš”κ°€ μ—†λ‹€!

ν•΄λ‹Ή μ»΄ν¬λ„ŒνŠΈμ—μ„œ props 전달이 μ΄λ£¨μ–΄μ‘Œμ„ λ•Œ 이 μƒνƒœλŠ” λΆ€λͺ¨ μ»΄ν¬λ„ŒνŠΈκ°€
μ•Œ ν•„μš”κ°€ μžˆλŠ” μƒνƒœμΈμ§€ 확인 ν›„ 상황에 맞게 μƒνƒœκ°€ ν”„λ‘­μŠ€ λ“œλ¦΄λ§(props drilling)되고 μžˆλŠ” 것인지, μƒνƒœ 해체(μƒνƒœ 올리기)κ°€ ν•„μš”ν•œμ§€ 등을 κ³ λ €ν•΄ μ»΄ν¬λ„ŒνŠΈμ˜ ꡬ쑰λ₯Ό λ‚˜λˆ„λŠ” 것에 λŒ€ν•΄μ„œ λ°°μ› μŠ΅λ‹ˆλ‹€. 그리고 μ˜λ„ν•˜μ§€ μ•Šμ€ λ¦¬λžœλ”λ₯Ό 방지λ₯Ό μœ„ν•΄ μƒνƒœμ˜ 개수λ₯Ό μ΅œμ†Œν™”ν•˜λŠ” 것을 염두에 두고 μ½”λ“œλ₯Ό 짜게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ»΄ν¬λ„ŒνŠΈ ꡬ쑰 λ‚˜λˆ„κΈ°μ— λŒ€ν•˜μ—¬ 생각해보기
  1. 가독성이 쒋지 μ•Šμ„ λ•Œ
  2. 관심사 뢄리λ₯Ό ν•΄μ•Όν•  λ•Œ
  3. μƒνƒœλ₯Ό μ΅œμ ν™” ν•΄μ•Όν•  λ•Œ
  4. μž¬μ‚¬μš©μ΄ λ˜λŠ” μ»΄ν¬λ„ŒνŠΈμΌ λ•Œ

[사둀 01]

νŠΉμ • 배열을 map λŒλ¦¬λŠ” 뢀뢄이 λ“€μ–΄κ°€ μžˆλ‹€λ©΄ 가독성이 쒋지 μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 이럴 λ•Œμ—λŠ” map 뢀뢄을 λ”°λ‘œ 뢄리해 μΆ”μƒν™”μ˜ λ ˆλ²¨μ„ κ°™κ²Œ 해쀄 수 μžˆμŠ΅λ‹ˆλ‹€. 이와 λ§ˆμ°¬κ°€μ§€λ‘œ νŠΉμ • μ½”λ“œκ°€ λ°˜λ³΅λœλ‹€λ©΄ 이λ₯Ό μž¬μ‚¬μš©ν•  수 μžˆλŠ”μ§€ ν•œ 번 고민해봐야 ν•©λ‹ˆλ‹€.

[사둀 02]

todoListμ—μ„œ props λ“œλ¦΄λ§ 및 λΆ€λͺ¨κ°€ μ•Œ ν•„μš”κ°€ μ—†λŠ” μƒνƒœλ₯Ό contextλ₯Ό 톧해 관리 ν–ˆμŠ΅λ‹ˆλ‹€.

νŽ˜μ΄μ§€λ„€μ΄μ…˜κ³Ό ν•„ν„° λ“± λ‹€μ–‘ν•œ κΈ°λŠ₯을 ν•˜λŠ” μ½”λ“œλ“€μ΄ ν•œ 파일 μ•ˆμ— μ ν˜€ μžˆμ–΄ 가독성이 쒋지 μ•ŠμŠ΅λ‹ˆλ‹€. ν•œ νŽ˜μ΄μ§€μ—λŠ” ν•œ κ°€μ§€μ˜ κΈ°λŠ₯λ§Œμ„ λΆ„λ¦¬ν•˜λŠ” 것이 읽기에도 μœ μ§€λ³΄μˆ˜λ₯Ό ν•˜κΈ°μ—λ„ μš©μ΄ν•˜λ―€λ‘œ 관심사에 따라 뢄리λ₯Ό ν•΄μ£ΌλŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

before

after

[사둀 03]
refλ₯Ό μ‚¬μš©ν•˜κΈ° 이전에 stateλ₯Ό μ •μ˜ν•˜κ³  onChange ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ ContentBox의 값을 μ—…λ°μ΄νŠΈ ν•˜λŠ” λ°©μ‹μœΌλ‘œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ˜€μ§€λ§Œ, μ΄λ ‡κ²Œ μ½”λ“œλ₯Ό μž‘μ„±ν•  경우 ContentBox의 값이 변경될 λ–„ λ§ˆλ‹€ μƒνƒœκ°€
λ³€κ²½λ˜κ³  λ¦¬λ Œλ” λ˜λŠ” λ¬Έμ œκ°€ λ°œμƒν•˜μ—¬ refλ₯Ό μ‚¬μš©ν•˜μ—¬ μƒνƒœλ₯Ό μ΅œμ ν™” μ‹œμΌ°μŠ΅λ‹ˆλ‹€.

μƒνƒœμ˜ μ΅œμ ν™”κ°€ μ œλŒ€λ‘œ 이뀄지지 μ•Šμ•„ props의 전달이 λ„ˆλ¬΄ λ§Žμ•„μ§„ μ‚¬λ‘€μž…λ‹ˆλ‹€. μƒνƒœλͺ…에 'νŽ˜μ΄μ§€'κ°€ λ“€μ–΄κ°„ 것듀은 μ „λΆ€ νŽ˜μ΄μ§€λ„€μ΄μ…˜κ³Ό κ΄€λ ¨λœ μƒνƒœλ“€λ‘œ λΆ€λͺ¨μ™€ filter νŒŒμΌμ—μ„  ꡳ이 μ•Œ ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.
μ•„λž˜ μ½”λ“œλ₯Ό 보면 userListPerPageλ₯Ό map λŒλ¦¬λŠ” κ³Όμ •μ—μ„œ ν•„μš”ν•œ μƒνƒœλ“€μ΄ νŽ˜μ΄μ§€λ„€μ΄μ…˜μœΌλ‘œ 듀어가지 λͺ»ν•˜κ³  μƒμœ„ ν΄λ”λ‘œ λ‚˜μ™€ μžˆμŠ΅λ‹ˆλ‹€.
이 뢀뢄을 user_table.js둜 λΆ„λ¦¬ν•˜κ²Œ 되면 λΆ€λͺ¨λ‘œλΆ€ν„° μžμ‹μ΄ κ³Όλ„ν•œ props의 전달 λ°›λŠ” 것을 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€.

before

after

[사둀 04]
μž¬μ‚¬μš©μ΄ λ˜λŠ” μ»΄ν¬λ„ŒνŠΈλΌλ©΄ μƒνƒœλ„ μ „μ—­μœΌλ‘œ κ΄€λ¦¬ν•˜λŠ” κ²ƒμ²˜λŸΌ μ»΄ν¬λ„ŒνŠΈλ„ μ „μ—­μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλ„λ‘ μ»΄ν¬λ„ŒνŠΈν™”ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.
μ΅œμƒμœ„ 폴더에 λΆ„λ¦¬μ‹œμΌœ importν•˜λŠ” 것이 전체적인 μ½”λ“œμ˜ 길이도 쀄어듀어 가독성이 μ’‹μ•„μ§ˆ 뿐 μ•„λ‹ˆλΌ μœ μ§€ λ³΄μˆ˜μ—λ„ μš©μ΄ν•©λ‹ˆλ‹€.

μ•„λž˜μ™€ 같이 userListλŠ” μ—¬λŸ¬ νŒŒμΌμ—μ„œ μž¬μ‚¬μš©μ΄ λ©λ‹ˆλ‹€. μ•„λž˜ μ½”λ“œκ°€ λͺ¨λ“  νŒŒμΌλ§ˆλ‹€ λ“€μ–΄κ°€ μžˆλ‹€λ©΄ μ½”λ“œμ˜ 길이도 λ„ˆλ¬΄ 길어지고
μ•„λž˜μ˜ μ½”λ“œκ°€ 각각 νŽ˜μ΄μ§€λ„€μ΄μ…˜κ³Ό ν•„ν„° νŒŒμΌμ— λ“€μ–΄κ°„λ‹€λ©΄ μ •μž‘ μ–΄λ–€ μ½”λ“œκ°€ νŽ˜μ΄μ§€λ„€μ΄μ…˜/ν•„ν„°μ˜ κΈ°λŠ₯을 ν•˜λŠ” μ½”λ“œμΈμ§€ μ΄ν•΄ν•˜κΈ° μ–΄λ €μ›Œμ§‘λ‹ˆλ‹€.
λ”°λΌμ„œ μž„μ˜μ˜ user 배열을 μƒμ„±ν•˜λŠ” ν•¨μˆ˜μ™€ κ·Έ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•΄ userListλ₯Ό λ§Œλ“€μ–΄λ‚΄λŠ” μ½”λ“œλ“€μ„ μ „μ—­μœΌλ‘œ 관리할 수 μžˆλ„λ‘ μ΅œμƒμœ„ 폴더 components에 λΆ„λ¦¬μ‹œμΌ°μŠ΅λ‹ˆλ‹€.

after




7️⃣ μ£Όμ†Œλ₯Ό ν™œμš©ν•œ URL νžˆμŠ€ν† λ¦¬ κ΄€λ¦¬ν•˜κΈ°

  • 필터링
  • νŽ˜μ΄μ§€λ„€μ΄μ…˜
  • μ£Όμ†Œλ‘œ κ°’ κ΄€λ¦¬ν•˜κΈ°

μœ„ μƒνƒœ μ΅œμ ν™”λ₯Ό κ³ λ―Όν•˜λ©° μ§„ν–‰ν•œ κ³Όμ œλŠ” admin-toggle-page μž…λ‹ˆλ‹€.
μƒνƒœ μ΅œμ ν™”λ₯Ό κ³ λ―Όν•˜λ©° 필터링과 νŽ˜μ΄μ§€λ„€μ΄μ…˜ κΈ°λŠ₯을 κ΅¬ν˜„ν–ˆκ³  μ£Όμ†Œλ‘œ 값을 관리해 λ’€λ‘œκ°€κΈ°κ°€ κ°€λŠ₯ν•˜λ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€.

  • github repo 보러 κ°€κΈ° πŸ‘‰ admin-toggle-page
  • μ£Όμ†Œ κ΄€λ ¨ κ²Œμ‹œκΈ€ 보러 κ°€κΈ° πŸ‘‰ URLsearchparams



8️⃣ νƒ€μž…μŠ€ν¬λ¦½νŠΈ κ°œλ…μ— λŒ€ν•œ 이해와 λ¦¬μ•‘νŠΈ ν”„λ‘œμ νŠΈ ν™œμš©

  • νƒ€μž…μŠ€ν¬λ¦½νŠΈ νƒ€μž… μ •λ¦¬ν•œ κ²Œμ‹œκΈ€ λ³΄λŸ¬κ°€κΈ° πŸ‘‰ TypeScript Types
  • effective typescript 정리 κ²Œμ‹œκΈ€ 보러 κ°€κΈ° πŸ‘‰ what's TypeScript
  • νƒ€μž…μŠ€ν¬λ¦½νŠΈμ™€ open APIλ₯Ό ν™œμš©ν•œ 토이 ν”„λ‘œμ νŠΈ πŸ‘‰ chap-chap
  • chap-chap 회고 πŸ‘‰ chap-chap memoirs



9️⃣ λͺ¨λΉ„톀을 ν™œμš©ν•œ ν”„λ‘œμ νŠΈ κ²½ν—˜

  • νƒ€μž…μŠ€ν¬λ¦½νŠΈ ν™œμš©
  • λ¬΄ν•œμŠ€ν¬λ‘€λ§
  • λ°±μ—”λ“œ API 뢄석

μ—¬νƒœκΉŒμ§€ λ‹€λ₯Έ νŽ˜μ–΄μ™€ ν•¨κ»˜ ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ λ°±μ—”λ“œ APIλ₯Ό μ œλŒ€λ‘œ λΆ„μ„ν•˜μ§€ μ•Šμ•˜λ‹€λŠ” 사싀을 λ’€λŠ¦κ²Œ κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€. λ°±μ—”λ“œκ°€ μ–΄λ–€ ν˜•νƒœλ‘œ 데이터λ₯Ό μ£Όκ³  μžˆλŠ”μ§€ 확인을 μ œλŒ€λ‘œ ν•˜μ§€ μ•Šμ€ 채 μž„μ˜λ‘œ 퍼블리싱 및 κΈ°λŠ₯을 κ΅¬ν˜„ν•œ λ’€ APIλ₯Ό μ μš©ν•˜λŠλΌ 또 μ½”λ“œλ₯Ό λ³€κ²½ν•˜λŠλΌ μ‹œκ°„μ„ 많이 λ‚­λΉ„ν•˜κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€.
κ·Έλž˜μ„œ mobiμ—μ„œμ˜ λ§ˆμ§€λ§‰ 토이 ν”„λ‘œμ νŠΈλ₯Ό 진행할 λ•Œμ—λŠ” μ‹œν€ΈμŠ€ λ‹€μ΄μ–΄κ·Έλž¨(sequence diagram), 썬더 ν΄λΌμ΄μ–ΈνŠΈ 등을 ν™œμš©ν•΄ λ°μ΄ν„°μ˜ ν˜•νƒœμ™€ λ‚΄μš©μ„ ν™•μΈν•œ ν›„ 진행할 수 μžˆλ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€.

  • 토이 ν”„λ‘œμ νŠΈ github repo 보러 κ°€κΈ° πŸ‘‰ postMobism
  • postMobism 회고 κ²Œμ‹œκΈ€ 보러 κ°€κΈ° πŸ‘‰ postMobism memoirs



after Mobi

mobiλ₯Ό ν†΅ν•΄μ„œ ν”„λ‘œμ νŠΈλ₯Ό μ–΄λ–»κ²Œ μ§„ν–‰ν•˜λ©΄ λ˜λŠ”μ§€μ— λŒ€ν•œ μ „λ°˜μ μΈ 과정을 μ œλŒ€λ‘œ νŒŒμ•…ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ mobi에 λͺ¨μ—¬ 있던 μ‚¬λžŒλ“€μ€ 아직 FEκ°œλ°œμžλ“€ λΏμ΄μ—ˆκΈ° λ•Œλ¬Έμ— λ””μžμ΄λ„ˆ 그리고 BEκ°œλ°œμžμ™€μ˜ μ†Œν†΅ 및 ν˜‘μ—…μ„ μ œλŒ€λ‘œ 진행해 λ³Έ 적이 μ—†μŠ΅λ‹ˆλ‹€.
FEκ°œλ°œμžλ„ 같은 κ°•μ‚¬λ‹˜κ»˜ 배운 μ‚¬λžŒλ“€μ΄λΌ μ»¨λ²€μ…˜μ΄λ‚˜ 폴더 ꡬ쑰 λ“± 의견이 λΆˆμΌμΉ˜ν•˜λŠ” κ²½μš°κ°€ 거의 μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

κ·Έλž˜μ„œ μœ„μ˜ λΆ€μ‘±ν•œ 뢀뢄듀은 μš°μ„  nextJS 곡뢀λ₯Ό 마친 λ’€ μ™ΈλΆ€ ν”„λ‘œμ νŠΈλ₯Ό 톡해 κ²½ν—˜ν•΄λ³Ό μƒκ°μž…λ‹ˆλ‹€.

profile
πŸ₯ž Stack of Thoughts
post-custom-banner

0개의 λŒ“κΈ€