βš™οΈ CS & 기타 개발 자료

λ””λ²„κΉ…μ˜ μ€‘μš”μ„±

μ†Œμ˜ πŸ€ 2025. 5. 14. 00:28
ν•˜λ£¨μ½”λ”©λ‹˜μ˜ μ•Œκ³ λ¦¬μ¦˜ μ½”λ”©ν…ŒμŠ€νŠΈ κ°•μ˜λ₯Ό λ“£κ³  배운 점, λŠλ‚€ 점을 μ •λ¦¬ν•œ ν¬μŠ€νŒ…μž…λ‹ˆλ‹€.

 

λ””λ²„κΉ…μ˜ μ€‘μš”μ„±

λ””λ²„κΉ…μ΄λž€ ν”„λ‘œκ·Έλž¨μ—μ„œ λ°œμƒν•˜λŠ” 문법 였λ₯˜λ‚˜ 논리 였λ₯˜λ₯Ό μ°Ύμ•„ λ°”λ‘œμž‘λŠ” κ³Όμ •μž…λ‹ˆλ‹€.

논리 였λ₯˜λŠ” μ»΄νŒŒμΌλŸ¬κ°€ μžλ™μœΌλ‘œ μ°Ύμ•„ μ£ΌλŠ” 문법 였λ₯˜μ™€ 달리 μ½”λ“œκ°€ μ‚¬μš©μžμ˜ μ˜λ„μ™€ λ‹€λ₯΄κ²Œ λ™μž‘ν•˜λŠ” 것이며

였λ₯˜λ₯Ό 이해해야 μ›ν•˜λŠ” λ™μž‘μ„ κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

μ΅œκ·Όμ— μš°μ—°νžˆ μ•Œκ²Œ 된 λ©˜ν† λ‹˜μ΄ 남기신 말이 μžˆμŠ΅λ‹ˆλ‹€. (이 뢄은 λ””λ²„κΉ…λ³΄λ‹€λŠ” νƒœλ„μ— λŒ€ν•΄ 이야기해주신 κ±°μ§€λ§Œ)

 

1. κ°œλ°œμžλŠ” 문제λ₯Ό ν•΄κ²°ν•˜λŠ” μ‚¬λžŒμ΄λ‹€.

2. 아무 생각 없이 μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄ μ•ˆλœλ‹€. λ‚΄κ°€ μž‘μ„±ν•œ μ½”λ“œμ—λŠ” κ·Έλ ‡κ²Œ μž‘μ„±λœ μ΄μœ κ°€ μžˆμ–΄μ•Ό ν•œλ‹€.

3. λ¬Έμ œκ°€ 생기면 κ³ λ―Όν•΄λ³΄λ˜ λ„ˆλ¬΄ 였랜 μ‹œκ°„μ΄ μ†Œμš”λ˜λ©΄ νŒ€μ›λ“€κ³Ό μƒμ˜ν•΄λ³΄λŠ”κ²ƒμ΄ νš¨μœ¨μ μ΄λ‹€.

4. λ‹€λ₯Έ μ‚¬λžŒλ“€μ˜ μ½”λ“œλ₯Ό 많이 보아야 ν•œλ‹€. κ·Έλž˜μ•Ό 같은 κΈ°λŠ₯을 ν•˜λŠ” μ½”λ“œμž„μ—λ„ λΆˆκ΅¬ν•˜κ³  λ‹€λ₯΄κ²Œ μž‘μ„±ν•  수 μžˆλ‹€λŠ”κ²ƒμ„ 배울 수 μžˆλ‹€.

 

μ½”λ“œμ™€ 개발 지식에 λŒ€ν•œ 큰 관심 없이 검색도 ν•˜κΈ° 전에 chat gptμ—λ§Œ 물어보고 κ·Έ κ²°κ³Όλ₯Ό μ‹ λ’°ν•΄μ„œλŠ” μ•ˆ λœλ‹€...

 

이 말을 λ“£κ³  λ°˜μ„±ν•˜κ²Œ λμŠ΅λ‹ˆλ‹€. μ „ chat gptλ₯Ό 정말 많이 μ¨μ™”μœΌλ‹ˆκΉŒ γ…Žγ…Ž.. μ•žμœΌλ‘œλŠ” 디버깅과 ꡬ글링을 μš°μ„ ν•΄μ•Ό κ² λ‹€κ³  λŠκΌˆμŠ΅λ‹ˆλ‹€.

 

μ™œ 이런 μ‹μœΌλ‘œ μ½”λ“œκ°€ λ™μž‘ν•˜λŠ”μ§€ μ œλŒ€λ‘œ μ•Œμ•„μ•Ό 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλŠ” κ²ƒμž…λ‹ˆλ‹€.

 

ν•˜λ£¨μ½”λ”©λ‹˜μ€ 이런 ν•™μƒλ“€μ˜ μ˜ˆμ‹œλ₯Ό λ“œμ…¨μ–΄μš”.

μ½”λ”© ν…ŒμŠ€νŠΈμ— λ–¨μ–΄μ§„ 학생듀 μ™ˆ,

 

"μ•„! index λ²”μœ„ 1개 차이둜 이번 μ‹œν—˜μ— λ–¨μ–΄μ‘Œμ–΄μš”."

"μ•Œκ³  λ³΄λ‹ˆ intλ₯Ό long으둜만 λ°”κΎΈλ©΄ λ˜λŠ” κ±°μ˜€μ–΄μš”."

 

이 학생듀은 디버깅(λ˜λŠ” λ‘œκΉ…)을 ν–ˆλ‹€λ©΄ ν’€ 수 μžˆμ—ˆμ„ κ²ƒμž…λ‹ˆλ‹€.

 

λ””λ²„κΉ…ν•˜λŠ” 법

μ½”λ“œμ—μ„œ λ””λ²„κΉ…ν•˜κ³ μž ν•˜λŠ” 쀄에 쀑단점을 μ„€μ •ν•˜κ³ , IDE의 디버깅 κΈ°λŠ₯을 μ‹€ν–‰ν•˜λ©΄ λ©λ‹ˆλ‹€.

μžμ„Έν•œ μ ˆμ°¨λŠ”

  1. μ½”λ“œμ—μ„œ λ””λ²„κΉ…ν•˜κ³ μž ν•˜λŠ” 쀄에 쀑점을 μ„€μ •ν•©λ‹ˆλ‹€. μ΄λ•Œ 쀑단점은 μ—¬λŸ¬ 개 μ„€μ • κ°€λŠ₯ν•©λ‹ˆλ‹€.
  2. IDE의 디버깅 κΈ°λŠ₯을 μ‹€ν–‰ν•˜λ©΄, μ½”λ“œλ₯Ό 1쀄씩 μ‹€ν–‰ν•˜κ±°λ‚˜ λ‹€μŒ μ€‘λ‹¨μ κΉŒμ§€ μ‹€ν–‰ν•  수 있으며, 이 κ³Όμ •μ—μ„œ 좔적할 λ³€μˆ«κ°’λ„ μ§€μ • κ°€λŠ₯ν•©λ‹ˆλ‹€. λ³€μˆ«κ°’μ΄ μžμ‹ μ΄ μ˜λ„ν•œ λŒ€λ‘œ λ°”λ€Œκ³  μžˆλŠ”κ°€?
  3. λ³€μˆ«κ°’ 이외에도 μ›ν•˜λŠ” μˆ˜μ‹μ„ μž…λ ₯ν•΄ 논리 였λ₯˜λ₯Ό νŒŒμ•…ν•©λ‹ˆλ‹€.

디버깅 툴 λ²„νŠΌμ˜ 의미

  • Step Into: ν•¨μˆ˜ λ‚΄λΆ€λ‘œ μ§„μž…ν•˜μ—¬ ν•œ 쀄씩 μ‹€ν–‰ν•©λ‹ˆλ‹€. (ν•¨μˆ˜ λ‚΄λΆ€ 흐름을 보고 싢을 λ•Œ)
  • Step Over: ν•¨μˆ˜ λ‚΄λΆ€λ‘œ λ“€μ–΄κ°€μ§€ μ•Šκ³ , λ‹€μŒ μ€„λ‘œ λ„˜μ–΄κ°‘λ‹ˆλ‹€. (ν•¨μˆ˜ 결과만 μ•Œκ³  싢을 λ•Œ)
  • Resume: λ‹€μŒ 쀑단점 μ „κΉŒμ§€ μˆ˜ν–‰ν•©λ‹ˆλ‹€.
λ°˜μ‘ν˜•