200803-200809

πŸ‘©β€πŸ’» Dev

TDD 그리고 λ¦¬νŒ©ν„°λ§

μš”μ¦˜ TDD, λ¦¬νŒ©ν„°λ§, 그리고 λ””μžμΈνŒ¨ν„΄ 같은 ν‚€μ›Œλ“œλ“€μ— 관심이 λ§Žλ‹€.

  • 쒋은 μ„€κ³„λž€ λ¬΄μ—‡μΌκΉŒ?
  • κΈ°λŠ₯ μš”κ΅¬μ‚¬ν•­μ΄ λ°”λ€” λ•Œλ§ˆλ‹€ μ½”λ“œμ˜ 변경은 μ΅œμ†Œν™” ν•˜λ©΄μ„œ 변경사항에 λŒ€μ‘ν•˜λ €λ©΄ μ–΄λ–»κ²Œ 섀계해야 ν• κΉŒ? (μœ μ§€λ³΄μˆ˜ κ΄€μ μ—μ„œ μ½”λ“œμ˜ ν™•μž₯μ„±κ³Ό μ•ˆμ •μ„±μ— λŒ€ν•œ κ³ λ―Ό)
  • λ‹€λ₯Έ μ‚¬λžŒμ΄ μ΄ν•΄ν•˜κ³  μˆ˜μ •ν•˜κΈ° μ‰¬μš΄ μ½”λ“œλž€? (ν˜‘μ—…μ˜ κ΄€μ μ—μ„œ)

κ·Έλž˜μ„œ μ΄λ²ˆμ£Όμ—λŠ” TDD λ°©μ‹μœΌλ‘œ κ°„λ‹¨ν•œ μΉ΄μš΄ν„°λ₯Ό κ΅¬ν˜„ν•΄λ³΄κ³ , λ¦¬νŒ©ν„°λ§ 2판 1μž₯을 읽고 μ‹€μŠ΅ν•΄λ³΄λ©΄μ„œ λͺ‡κ°€μ§€ λ¦¬νŒ©ν„°λ§ 기법을 μ‚¬μš©ν•˜μ—¬ μ½”λ“œλ₯Ό κ°œμ„ ν•΄λ³΄μ•˜λ‹€. κ°€μž₯ 기얡에 λ‚¨λŠ”κ±΄ switch문으둜 κ΅¬ν˜„λœ 쑰건뢀 λ‘œμ§μ„ λ‹€ν˜•μ„±μœΌλ‘œ λŒ€μ²΄ν•˜λŠ” λΆ€λΆ„μ΄μ—ˆλ‹€.

덕뢄에 OOP의 4가지 νŠΉμ§•(좔상화, μΊ‘μŠν™”, 상속, λ‹€ν˜•μ„±)κ³Ό μžλ°”μŠ€ν¬λ¦½νŠΈμ—μ„œ 각각을 κ΅¬ν˜„ν•˜λŠ” 방식에 λŒ€ν•΄ ν•™μŠ΅ν•  수 μžˆμ—ˆκ³ , λ¦¬νŒ©ν„°λ§ν›„ μ½”λ“œμ˜ 역할이 λͺ…확해지고 μˆ˜μ •μ΄ μš©μ΄ν•΄μ§€λŠ” κ±Έ κ²½ν—˜ν•˜λ©΄μ„œ 이런게 λ¦¬νŒ©ν„°λ§μ˜ μž¬λ―ΈμΈκ°€ μ‹Άμ—ˆλ‹€. ν•œλ§ˆλ””λ‘œ μž¬λ―Έμžˆμ—ˆλ‹€.

λ‹€μŒμ£ΌλΆ€ν„°λŠ” μ‹€μ œλ‘œ ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μž‘μ„±ν•˜κ³  TDD λ°©μ‹μœΌλ‘œ λ‹€λ₯Έ 무언가λ₯Ό λ§Œλ“€μ–΄λ΄μ•Όκ² λ‹€.
무엇을 λ§Œλ“€λ©΄ 쒋을지, μ–΄λ–€ ν…ŒμŠ€νŠΈ ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν• μ§€ 고민이닀.


WSL (Windows Subsystem for Linux) 2

λ…Έλ§ˆλ“œμ½”λ”μ˜ 개발자λ₯Ό μœ„ν•œ μœˆλ„μš° 셋업을 μ°Έκ³ ν•΄μ„œ λ¦¬λˆ…μŠ€ 터미널 ν™˜κ²½μ„ μ„ΈνŒ…ν–ˆλ‹€. 이제 둜컬 Windows ν™˜κ²½μ—μ„œ shell scriptλ₯Ό μ‚¬μš©ν•΄μ„œ Windows와 Ubuntu의 파일 μ‹œμŠ€ν…œμ„ μ œμ–΄ν•˜κ±°λ‚˜ ν”„λ‘œκ·Έλž¨μ„ 관리할 수 있게 λ˜μ—ˆλ‹€!

Linux ν™˜κ²½μ— ν”„λ‘œκ·Έλž¨λ“€(nvm, node, git, github cli, yarn λ“±)을 λ‹€μ‹œ μ„€μΉ˜ν•˜κ³  VSCode의 default 터미널을 WSL둜 μ„€μ •ν•œ λ’€ κΈ°μ‘΄ ν”„λ‘œμ νŠΈκ°€ μ œλŒ€λ‘œ λ™μž‘ν•˜λ„λ‘ μ„ΈνŒ…ν•˜λŠ”λ° κΌ¬λ°• ν•˜λ£¨κ°€ κ±Έλ¦° 것 κ°™λ‹€. 기본적으둜 νŠœν† λ¦¬μ–Όμ„ 따라가긴 ν–ˆμ§€λ§Œ μƒκ°ν•˜μ§€ λͺ»ν•œ κ³³μ—μ„œ μ΄μŠˆλ“€μ΄ ν„°μ Έμ„œ μ†Œμœ„ λ§ν•˜λŠ” μ‚½μ§ˆμ„ 많이 ν–ˆλ‹€.

이슈라면 이런걸 예둜 λ“€ 수 μžˆλ‹€. git status둜 파일 μƒνƒœλ₯Ό ν™•μΈν–ˆλ”λ‹ˆ μˆ˜μ •ν•˜μ§€ μ•Šμ€ νŒŒμΌλ“€μ΄ modifiedμƒνƒœλ‘œ λ‚˜νƒ€λ‚˜λŠ” 것이닀.

원인은 Windows와 Linux의 κ°œν–‰λ¬Έμž(crlf)κ°€ λ‹¬λΌμ„œ μˆ˜μ •ν•˜μ§€ μ•Šμ€ μ†ŒμŠ€κ°€ μˆ˜μ •λœ 것 처럼 인식됐기 λ•Œλ¬Έμ΄μ—ˆλ‹€. 이 경우 해결책을 μ°Ύμ•„ ν„°λ―Έλ„μ—μ„œ git config --global core.autocrlf false을 μž…λ ₯ν•˜μ—¬ git 섀정을 λ°”κΏ”μ„œ ν•΄κ²°ν–ˆλ‹€.


local wsl@2 screenshot of windows terminal VSCode wsl@2 screenshot of vscode


μ–΄μ¨Œλ“  μ£Όλ§λ™μ•ˆ μ—΄μ‹¬νžˆ μ„ΈνŒ…μ„ λ§ˆμ³€λ‹€. 달라진 점이라면 λ‹€μŒκ³Ό κ°™λ‹€.

πŸ‘ 터미널이 μ˜ˆλ»μ§€λ‹ˆ μ½”λ”© μš•κ΅¬κ°€ 마ꡬ마ꡬ 생긴닀. (κ°€μž₯ μ€‘μš”)
πŸ‘ tabν‚€, λ°©ν–₯ν‚€λ₯Ό μ‚¬μš©ν•΄μ„œ 경둜 탐색을 μ‰½κ²Œ ν•  수 μžˆλ‹€.
πŸ‘ κ²½λ‘œκ°€ 길어지면 μžλ™μœΌλ‘œ μΆ•μ•½ν˜•μœΌλ‘œ ν‘œμ‹œλ˜λ‹ˆ λΆˆν•„μš”ν•œ μ€„λ°”κΏˆ 없이 scriptλ₯Ό μž‘μ„±ν•  수 μžˆλ‹€.
πŸ‘ λͺ…λ Ήμ–΄ μžλ™μ™„μ„±μ„ μ§€μ›ν•΄μ£ΌλŠ” λ‹€μ–‘ν•œ ν”ŒλŸ¬κ·ΈμΈμ΄ μ œκ³΅λœλ‹€.
πŸ‘ λ‚˜μ€‘μ— Mac OSλ₯Ό μ‚¬μš©ν•˜κ²Œ λ˜λ”λΌλ„ 터미널에 μ μ‘ν•˜κΈ° μœ„ν•œ 기간이 ν•„μš”μ—†λ‹€.

기타 λ“±λ“±..

λ‹€μŒμ£ΌλΆ€ν„° μƒˆλ‘œμš΄ κΈ°λΆ„μœΌλ‘œ μ—΄μ½”ν•  수 μžˆμ„ 것 κ°™λ‹€!


TIL

TIL μž‘μ„±μ„ λ‹€μ‹œ μ‹œμž‘ν–ˆλ‹€. 사싀 μ΄λ²ˆμ£Όμ— 이것저것 많이 κ³΅λΆ€ν–ˆλŠ”λ° κ³΅λΆ€λ§Œ ν•˜κ³  정리λ₯Ό μ•ˆν–ˆλ‹€.. λ‹€μŒμ£Όμ— ν‹ˆν‹ˆμ΄ 정리해야지.

  • Git-flow
  • CSRκ³Ό SSR
  • JS Class
  • OOP
  • TDD
  • SOLID
  • μ •μ νƒ€μž…μ–Έμ–΄, λ™μ νƒ€μž…μ–Έμ–΄

πŸ“– Reading

  • λ‚˜λ§Œμ˜ 길을 κ±·λŠ” 것 ─ β€œλ¬΄μ–Έκ°€μ— 맀우 λŠ₯μˆ™ν•΄μ§€κ³ μž ν•œλ‹€λ©΄ 내적 동기λ₯Ό μ°Ύκ³  μ›ν•˜λŠ” λ³΄μƒμ˜ ν˜•νƒœλ₯Ό μƒκ°ν•˜κ³  κ·Έ 이미지λ₯Ό 더 μ„ λͺ…ν•˜κ²Œ λ§Œλ“€μ–΄ λ³΄μžβ€ ν•œ ꡬ절 ν•œ ꡬ절 κ³΅κ°κ°€λŠ” 뢀뢄이 정말 λ§Žμ•˜λ‹€. 그리고 이 λΆ„ 글을 정말 잘 μ“°μ‹ λ‹€.
  • React State Management in 2020 ─ Reactμ—μ„œ μƒνƒœκ΄€λ¦¬λ₯Ό μ–΄λ–»κ²Œ ν•˜λ©΄ 쒋을지 μ •λ¦¬ν•œ 글이닀. μ–Όλ§ˆμ „ Reduxλ₯Ό λ„μž…ν•œ ν”„λ‘œμ νŠΈμ—μ„œ Redux둜 μ–΄λ””κΉŒμ§€ μƒνƒœκ΄€λ¦¬λ₯Ό 할건지에 λŒ€ν•œ 고민이 μžˆμ—ˆλŠ”λ°, 여기에 λŒ€ν•œ 해닡을 μ°ΎλŠ”λ° 도움이 됐닀.

@Reese
Sin Prosa Sin Pausa