- 1์ฅ. ๊นจ๋ํ ์ฝ๋
- 2์ฅ. ์๋ฏธ ์๋ ์ด๋ฆ
- 3์ฅ. ํจ์
- 4์ฅ. ์ฃผ์
- 5์ฅ. ํ์ ๋ง์ถ๊ธฐ
- 6์ฅ. ๊ฐ์ฒด์ ์๋ฃ ๊ตฌ์กฐ
- 7์ฅ. ์ค๋ฅ ์ฒ๋ฆฌ
- 8์ฅ. ๊ฒฝ๊ณ
- 9์ฅ. ๋จ์ ํ ์คํธ
- 10์ฅ. ํด๋์ค
- 11์ฅ. ์์คํ
- 12์ฅ. ์ฐฝ๋ฐ์ฑ
- 13์ฅ. ๋์์ฑ
- 14์ฅ. ์ ์ง์ ์ธ ๊ฐ์
- ๐ฌ ๋๋์
p2. ํ์๋ฆฌ! ์์ผ๋ก ์ฝ๋๊ฐ ์ฌ๋ผ์ง ๊ฐ๋ง์ ์ ํ ์๋ค! ์? ์ฝ๋๋ ์๊ตฌ์ฌํญ์ ์์ธํ ํํํ๋ ์๋จ์ด๋๊น! ๐ง
ํญ๊ท
: ์์ ์ธ๊ณต์ง๋ฅ์ด ๊ฐ๋ฐ์๋ฅผ ๋์ฒดํ๋ค๋ ์๋ฆฌ๊ฐ ๋์ค๋๋ฐ, ๋๋ณด๋ค๋ ์ฝ๋ฉํ ์คํธ๋ฅผ ์ ๋ณผ ์ ์๊ฒ ์ง๋ง์ ์ธ๊ณต์ง๋ฅ์ด ๊ธฐํ์์ ์ดํดํ ์ ์์ ๊ฒ ๊ฐ์ง ์๋ค.ํ๋ธ
: 10๋ ์ ์๋ ๊ฐ์ ๊ณ ๋ฏผ์ ํ๋ค๊ณ ํ๋ค. ํ์ง๋ง ์ ์ด๋ ๋น๋ถ๊ฐ์ ๊ทธ๋ฐ ์ผ์ ์ผ์ด๋ ๊ฒ ๊ฐ์ง๋ ์๋ค.
p4. ํ์ฌ๊ฐ ๋งํ ์์ธ์ ๋ฐ๋ก ๋์ ์ฝ๋ ํ์ด์๋ค. ๐ต
p7. ๋์ ์ฝ๋๋ฅผ ์์ฐํ๋ฉด ๊ธฐํ์ ๋ง์ถ์ง ๋ชปํ๋ค. ์คํ๋ ค ์๋ง์ง์ฐฝ์ธ ์ํ๋ก ์ธํด ์๋๊ฐ ๊ณง๋ฐ๋ก ๋ฆ์ด์ง๊ณ , ๊ฒฐ๊ตญ ๊ธฐํ์ ๋์น๋ค. ๊ธฐํ์ ๋ง์ถ๋ ์ ์ผํ ๋ฐฉ๋ฒ์, ๊ทธ๋ฌ๋๊น ๋นจ๋ฆฌ ๊ฐ๋ ์ ์ผํ ๋ฐฉ๋ฒ์, ์ธ์ ๋ ์ฝ๋๋ฅผ ์ต๋ํ ๊นจ๋ํ๊ฒ ์ ์งํ๋ ์ต๊ด์ด๋ค. ๐ง๐
ํญ๊ท
: ๋์ ์ฝ๋๋ฅผ ์ง๋ฉด ๋์ค์ ๊ธฐ๋ฅ ๊ตฌํ ์ ๊ทธ ์ฝ๋๋ฅผ ์ดํดํ๋๋ผ ์ถ๊ฐ๋ก ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค. ์ฒ์๋ถํฐ ์ข์ ์ฝ๋๋ฅผ ์ง์ ์ดํดํ๋ ์๊ฐ์ ์ค์ด๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค.
p7. ์ข์ ์ฝ๋๋ฅผ ์ฌ์ํ๋ ์ผ์ ๋ฐ๋ก ์ฐ๋ฆฌ ํ๋ก๊ทธ๋๋จธ๋ค์ ์ฑ ์์ด๋ค. ๐๐ต
์๋ฆฌ
: ์ฐ๋ฆฌ๋ ํ๋ก๊ทธ๋๋ฐ ๋ถ์ผ์ ์ ๋ฌธ๊ฐ๋ผ๋ ์๊ฐ๊ณผ ์ฑ ์๊ฐ์ ๊ฐ์ง๊ณ ํด๋ฆฐ์ฝ๋๋ฅผ ์ง์ผ์ผํ๋ค.ํญ๊ท
: ๋์ ์ฝ๋๋ฅผ ์งค ๋ ํญ์ ๋ค๋ฅธ ๊ณณ์์ ์์ธ์ ์ฐพ์๋๋ฐ ๊ฒฐ๊ตญ ์ง๋ ๋๋ ๋ฌธ์ ๊ฐ ์์์ ๋ช ์ฌํด์ผ ๊ฒ ๋ค.
p8. ๊นจ๋ํ ์ฝ๋์ ๋์ ์ฝ๋๋ฅผ ๊ตฌ๋ถํ ์ค ์๋ค๊ณ ๊นจ๋ํ ์ฝ๋๋ฅผ ์์ฑํ ์ค ์๋ค๋ ๋ป์ ์๋๋ค... '์ฝ๋ ๊ฐ๊ฐ'์ด ์๋ ํ๋ก๊ทธ๋๋จธ๋ ๋์ ๋ชจ๋์ ๋ณด๋ฉด ์ข์ ๋ชจ๋๋ก ๊ฐ์ ํ ๋ฐฉ์์ ๋ ์ฌ๋ฆฐ๋ค. '์ฝ๋ ๊ฐ๊ฐ'์ผ๋ก ์ต๊ณ ๋ฐฉ์์ ์ ํํ ํ ์ฌ๊ธฐ์ ๊ฑฐ๊ธฐ๊น์ง ์ด๋ํ๋ ๊ฒฝ๋ก๋ฅผ ๊ณํํ๋ค. ๐ต
p9. ๋์ ์ฝ๋๋ ๋์ ์ฝ๋๋ฅผ '์ ํน'ํ๋ค! ๐ต๐
์๋ฆฌ
: ๋์์ฝ๋๊ฐ ๋ค๋ฅธ ๋์์ฝ๋๋ฅผ ์ ํนํ๋ ์ง์ ๋ํ ์์๊ฐ ๋ ์ฌ๋๋ค. ์ ๋์์ฝ๋๋ฅผ ์ง๋ฉด ์๋๋ ์ง ์์ด๋ฒ๋ ธ์ ๋, ๋ค์ ์ฝ์ด๋ณผ๋งํ ๊ตฌ์ (5์ชฝ)
p9. ๋ ผ๋ฆฌ๊ฐ ๊ฐ๋จํด์ผ ๋ฒ๊ทธ๊ฐ ์จ์ด๋ค์ง ๋ชปํ๋ค. ๐
ํ๋ฏธ
: ์ฝ๋์ ๋ ผ๋ฆฌ๊ฐ ๋ณต์กํ๋ฉด ์ฝ๋์ ๋ฒ๊ทธ๊ฐ ์์๋ ๋๋ฒ๊น ํ๊ธฐ ๊ต์ฅํ ์ด๋ ค์. ๋ํ ๋ฒ๊ทธ๊ฐ ์๊ฒจ ์ฝ๋๋ฅผ ์์ ํ๊ฒ ๋๋ฉด ๊ทธ ์ฝ๋์ ๋ ผ๋ฆฌ๋ ๋์ฑ ๋ณต์กํด์ง๋ค.์๋ฆฌ
: ์ฝ๋์ ๊ธธ์ด๋ฅผ ์ค์ด๋ ๊ฒ์ด ๋ชฉํ๊ฐ ์๋๋ค. ๊ฐ๋จํ ๋ ผ๋ฆฌ์ ์ง๊ด์ ์ธ ์ฝ๋๊ฐ ์ค์ํ๋ค.ํญ๊ท
: ๊ฐ์๊ธฐ ์๊ฐ๋๋ ์ปด๊ณต ์งค
p10. ๊นจ๋ํ ์ฝ๋๋ ์ธ์ธํ ์ฌํญ๊น์ง ๊ผผ๊ผผํ๊ฒ ์ฒ๋ฆฌํ๋ ์ฝ๋๋ค. ๐ง
ํญ๊ท
: ์์ธ์ฒ๋ฆฌ๊ฐ ์ ๋ง ์ค์ํ ๊ฒ ๊ฐ๋ค.
p10. ๊นจ๋ํ ์ฝ๋๋ ํ๊ฐ์ง์ '์ง์ค'ํ๋ค. ๊ฐ ํจ์์ ํด๋์ค์ ๋ชจ๋์ ์ฃผ๋ณ ์ํฉ์ ํํน๋๊ฑฐ๋ ์ค์ผ๋์ง ์์ ์ฑ ํ๊ธธ๋ง ๊ฑท๋๋ค. ๐ง๐
ํญ๊ท
: ํจ์๊ฐ ํ๋์ ์ญํ ๋ง ํ๋๊ฒ ์ค์ํ ๊ฒ ๊ฐ๋คํ๋ฏธ
: ์๊ฐ ๋ณต์ก๋ VS ํจ์๋ณ ํ ๊ธฐ๋ฅํญ๊ท
,ํ๋ธ
: ์ฌ๋ฌ ์ํฉ์ ๊ณ ๋ คํด์ผํ ๊ฒ ๊ฐ๋ค.์๋ฆฌ
: ์ปดํจํฐ ์ํฉ๋ ๊ณ ๋ คํด์ผ ํ๋ค.
p11. ์ฝ๋๋ ์ถ์ธก์ด ์๋๋ผ ์ฌ์ค์ ๊ธฐ๋ฐํด์ผ ํ๋ค. ๋ฐ๋์ ํ์ํ ๋ด์ฉ๋ง ๋ด์์ผ ํ๋ค. ์ฝ๋๋ฅผ ์ฝ๋ ์ฌ๋์๊ฒ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋จํธํ๋ค๋ ์ธ์์ ์ค์ผ ํ๋ค. ๐ง๐ต
ํญ๊ท
: ์ฝ๋ํํ ๋ ๋จํธํ ํ์๊ฐ ์๋ค.ํ๋ธ
: ๋ชจํธํ์ง ์์ ์ฝ๋์๋ ์ฐ๊ด์ด ์๋ ๊ฒ ๊ฐ๋ค.
p12 - p13. ๊นจ๋ํ ์ฝ๋๋ ์ฃผ์ ๊น๊ฒ ์์ฑํ ์ฝ๋๋ค. ๋๊ตฐ๊ฐ ์๊ฐ์ ๋ค์ฌ ๊น๋ํ๊ณ ๋จ์ ํ๊ฒ ์ ๋ฆฌํ ์ฝ๋๋ค. ์์ธํ ์ฌํญ๊น์ง ๊ผผ๊ผผํ๊ฒ ์ ๊ฒฝ ์ด ์ฝ๋๋ค. ์ฃผ์๋ฅผ ๊ธฐ์ธ์ธ ์ฝ๋๋ค. ๐ง
ํญ๊ท
: ์ ์ ๊ฐ๋ฐ์ํํ ๋ ๊น๋ํ๊ณ ์ ๋ฆฌํ ์ฝ๋๋ฅผ ๊ณ ๋ฏผํ๋ ๊ฒ๋ณด๋ค๋ โ๋ด๊ฐ ๊ตฌํํ ์ ์์๊น?โ๋ฅผ ๋จผ์ ์๊ฐํ๊ฒ ๋๋ ๊ฒ ๊ฐ๋ค.
p13 - p14. ์ผํธ ๋ฐฑ์ด ์ ์ํ ๋จ์ํ ์ฝ๋ ๊ท์น์ผ๋ก ๊ตฌํ์ ์์ํ๋ค. โฆ ๋ชจ๋ ํ ์คํธ๋ฅผ ํต๊ณผํ๋ค. ๐
ํ๋ฏธ
: ํ ์คํธ ์ผ์ด์ค๋ ๋จ์ํ ์ฝ๋๋ ์ฐ๊ด์ด ์๋? ๋จ์ํ์ด ์ฝ๋๊ฐ ์๋ ์ฝ๋ ๊ท์น์ ์์ํ๋ค.
p14. ์ค๋ณต ์ค์ด๊ธฐ, ํํ๋ ฅ ๋์ด๊ธฐ, ์ด๋ฐ๋ถํฐ ๊ฐ๋จํ ์ถ์ํ ๊ณ ๋ คํ๊ธฐ. ๐ง
์๋ฆฌ
: ํํ๋ ฅ์ ๋์ธ๋ค๋ ๊ฒ์ ์๋ฏธ๋ ํ๋ก๊ทธ๋จ ์๊ตฌ์ฌํญ์ ์ ๋ฐ์ํ๋ค๋ ๊ฒ์ผ์ง๋
p15. ์ฝ๋๋ฅผ ์ฝ์ผ๋ฉด์ ์ง์ํ๋ ๊ธฐ๋ฅ์ ๊ฐ ๋ฃจํด์ด ์ํํ๋ค๋ฉด ๊นจ๋ํ ์ฝ๋๋ผ ๋ถ๋ฌ๋ ๋๊ฒ ๋ค. ๐
p18. ์ฝ๋๋ฅผ ์ฝ๋ ์๊ฐ ๋ ์ฝ๋๋ฅผ ์ง๋ ์๊ฐ ๋น์จ์ด 10๋ 1์ ํ์ฉ ๋๋๋ค. ์ ์ฝ๋๋ฅผ ์ง๋ฉด์ ์ฐ๋ฆฌ๋ ๋์์์ด ๊ธฐ์กด ์ฝ๋๋ฅผ ์ฝ๋๋ค. ๐ต๐ง๐๐
p23. ๊ฐ ๊ฐ๋ ์ ์ด๋ฆ๋ง ๋ถ์ฌ๋ ์ฝ๋๊ฐ ์๋นํ ๋์์ง๋ค. ๐ต๐ง
ํ๋ธ
: 2์ฅ์ ์์ฝํ๋ ํ ๋ง๋ ๊ฐ๋ค.
p25. ์ปดํ์ผ๋ฌ๋ ์ธํฐํ๋ฆฌํฐ๋ง ํต๊ณผํ๋ ค๋ ์๊ฐ์ผ๋ก ์ฝ๋๋ฅผ ๊ตฌํํ๋ ํ๋ก๊ทธ๋๋จธ๋ ์ค์ค๋ก ๋ฌธ์ ๋ฅผ ์ผ์ผํจ๋ค. ๐๐ต
์๋ฆฌ
: ์๋ฒ ๋๋ ์ํํธ์จ์ด ๊ณผ๋ชฉ ๋, ๋์๊ฐ๊ธฐ๋ง ํ๋ฉด ๋๋ค๋ ์๊ฐ์ผ๋ก ์งฐ์๋ค. ๊ฒฐ๊ตญ ๋ค์ ์งฐ๋ค.ํญ๊ท
: ํ์ ์คํฌ๋ฆฝํธ ํ์ ๊ฒ์ฌ ํต๊ณผํ๊ธฐ์ ์ด์ฉ ์ ์์ด any๋ฅผ ์ฐ๊ฒ ๋๋ ๋ด๊ฐ ์๊ฐ๋ฌ๋ค.ํ๋ธ
: ์ด๋ฆ ์ง๊ธฐ ๊ท์ฐฎ์์ _๋ง ๋ถ์๋ ๊ณผ๊ฑฐ์ ๋ด๊ฐ ์ฐ๋ ธ๋ค.
p25. ์ผ๊ด์ฑ์ด ๋จ์ด์ง๋ ํ๊ธฐ๋ฒ์ ๊ทธ๋ฆ๋ ์ ๋ณด๋ค. ๐๐ง
ํ๋ฏธ
: ๊ฐ์ ๋จ์ด๋ป์ ๊ฐ์ง ์ฌ๋ฌ ์๋จ์ด๋ฅผ ํผ์ฉํด์ ์ฌ์ฉํด์ ์ผ๊ด์ฑ์ด ๋จ์ด์ง์๋ฆฌ
: ์ผ๊ด์ฑ ์๋ ์ด๋ฆ์ ์ฌ์ฉํด์ผ ๋ฐ์ดํฐ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง ์ ์๊ณ , ์ฐ์ผ ์ ์๋ค.ํญ๊ท
: ํ์ฌ์์ ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ๊ตฌ์ฒดํํด์ ์ ์ผ๋ ค๊ณ ๋ ธ๋ ฅํ๋๋ฐ, ๋๋ง์ ์ปค๋ฐ๋ฃฐ์ ์ ํด์ ์ ๋ฆฌํ ๊ฒ ํฐ ๋์์ด ๋์๋ค. ๊ทธ๋งํผ ์ผ๊ด์ฑ์ด ์ค์ํ ๊ฒ ๊ฐ๋ค.ํ๋ธ
: ๋ณ์ ์ด๋ฆ ๋น๋กฏํด์ ์ฌ๋ฌ ๊ท์น์ ๋ฌธ์ํํ๋ ๊ฒ์ด ์ค์ํ ๊ฒ ๊ฐ๋ค.
p26. ๋ถ์ฉ์ด๋ฅผ ์ถ๊ฐํ ์ด๋ฆ ์ญ์ ์๋ฌด๋ฐ ์ ๋ณด๋ ์ ๊ณตํ์ง ๋ชปํ๋ค. ... ๋ถ์ฉ์ด๋ ์ค๋ณต์ด๋ค.(a, an, the, variable) ๐
์๋ฆฌ
: 1ํ๋ ๋, ์ํ ๋ ๋ณ์ ์ด๋ฆ์ผ๋ก ์์ฝ์ด๋ฅผ ์จ์ ๊ฐ์ ๋ ๊ฒฝํ์ด ์๋ค.
p27. ์ฝ๋ ์ฌ๋์ด ์ฐจ์ด๋ฅผ ์๋๋ก ์ด๋ฆ์ ์ง์ด๋ผ. ๐๐ต
ํ๋ฏธ
: ์ฝ๋ ์ฌ๋์ ์ํ ์ฝ๋๋ฅผ ์ง์โฆ ๋์ค์๋ ๋ด๊ฐ ์ฝ๋ ์ฌ๋์ด ๋๋ค.
p28. ๊ฒ์์ ๋์์ง๋ง, 7์ ์ฌ์ฉํ ์๋๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ ์๋ค. ์์๊ฐ ์ฌ๋ฌ ์ซ์์ด๊ณ ๋๊ตฐ๊ฐ ์์ ๋ด ์ซ์ ์์น๋ฅผ ๋ฐ๊ฟจ๋ค๋ฉด ๋ฌธ์ ๋ ๋์ฑ ์ฌ๊ฐํด์ง๋ค. ์์์ ๋ฒ๊ทธ๊ฐ ์์ผ๋ ๊ฒ์์ผ๋ก ์ฐพ์๋ด์ง ๋ชปํ๋ค. ๐ง๐
ํญ๊ท
: ๋ฆฌํฐ๋ด์ ์ฐ๋ ๊ฒ๋ณด๋ค๋ ์์๋ก ์ ์ํด๋๊ณ ์ฐ๋ ์ด์ .
p35. addr๋ผ๋ ์ ๋์ด๋ฅผ ์ถ๊ฐํด addrFirstName, addrLastName, addrState๋ผ ์ฐ๋ฉด ๋งฅ๋ฝ์ด ์ข ๋ ๋ถ๋ช ํด์ง๋ค. ๋ณ์๊ฐ ์ข ๋ ํฐ ๊ตฌ์กฐ์ ์ํ๋ค๋ ์ฌ์ค์ด ์ ์ด๋ ๋ ์์๊ฒ๋ ๋ถ๋ช ํด์ง๋ค. ๐ง
p37. ์ผ๋ฐ์ ์ผ๋ก ์งง์ ์ด๋ฆ์ด ๊ธด ์ด๋ฆ๋ณด๋ค ์ข๋ค. ๋จ, ์๋ฏธ๊ฐ ๋ถ๋ช ํ ๊ฒฝ์ฐ์ ํํด์๋ค. ์ด๋ฆ์ ๋ถํ์ํ ๋งฅ๋ฝ์ ์ถ๊ฐํ์ง ์๋๋ก ์ฃผ์ํ๋ค. ๐ง
ํญ๊ท
: ํ์ํ ๋งฅ๋ฝ๊ณผ ๋ถํ์ํ ๋งฅ๋ฝ ๊ทธ ์ค๊ฐ์ ์ฐพ๊ธฐ๊ฐ ์ด๋ ค์ด ๊ฒ ๊ฐ๋ค.
p38. ์ฌ๋๋ค์ด ์ด๋ฆ์ ๋ฐ๊พธ์ง ์์ผ๋ ค๋ ์ด์ ํ๋๋ ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ๋ฐ๋ํ ๊น ๋๋ ค์์๋ค. ์คํ๋ ค (์ข์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ฉด) ๋ฐ๊ฐ๊ณ ๊ณ ๋ง๋ค. ์ฐ๋ฆฌ๋ค ๋๋ค์๋ ์์ ์ด ์ง ํด๋์ค ์ด๋ฆ๊ณผ ๋งค์๋ ์ด๋ฆ์ ๋ชจ๋ ์๊ธฐํ์ง ๋ชปํ๋ค. ๐ต
p38. ์ฌ๋ ์ฝ๋ ๊ฐ์ ๋ ธ๋ ฅ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๋ฆ ์ญ์ ๋๋ฆ๋๋ก ๋ฐ๊ฟจ๋ค๊ฐ๋ ๋๊ตฐ๊ฐ ์ง์ฑ ํ ์ง๋ ๋ชจ๋ฅธ๋ค. ๊ทธ๋ ๋ค๊ณ ์ฝ๋๋ฅผ ๊ฐ์ ํ๋ ค๋ ๋ ธ๋ ฅ์ ์ค๋จํด์๋ ์ ๋๋ค. ๐ต๐
- ๋ณ์๋ช ์ ๊ผญ ํ์ํ ์ ๋ณด๋ง ๋ฃ์ด ๊ฐ๋จ๋ช ๋ฃํ๊ฒ ์ง๋๋ค.(ex. ๋ถ์ฉ์ด ์ ๊ฑฐ, ์ผ๊ด์ฑ ์๋ ์ด๋ฆ, IDE ๊ฒ์์ด ํธํ๊ฒ)
- ๋์ผํ ๋งฅ๋ฝ์์ ํ ๊ฐ๋ ์ ํ ๋จ์ด๋ฅผ ์ฌ์ฉํ์. ๋ค๋ฅธ ๋งฅ๋ฝ์ด๋ผ๋ฉด, ๋จ์ด๋ฅผ ๊ตฌ๋ถํ์ฌ ์ฐ์.
- ๋ณ์๋ช ์ ์ง์ ๋ ์ฐ์ ์์๋ ๊ฐ๋ฐ์ ์ฉ์ด, ๊ทธ ๋ค์์ ๋๋ฉ์ธ์ด๋ค.
- ์ถ๋ก ํ๊ธฐ ํ๋ ๋ณ์๋ ๋งฅ๋ฝ์ ์ถ๊ฐํ๋, ๋๊ตฌ๋ ์ ์ถ๊ฐ๋ฅํ ๋งฅ๋ฝ์ ๋ฃ์ง ๋ง์.
p43. ๊ฐ ํจ์๊ฐ ์ด์ผ๊ธฐ ํ๋ ๐
p43. ํจ์๊ฐ ์ผ๋ง๋ ์งง์์ผ ํ๋๋๊ณ ? ์ผ๋ฐ์ ์ผ๋ก ๋ชฉ๋ก 3-2๋ณด๋ค ์งง์์ผ ํ๋ค! ์ฌ์ค ๋ชฉ๋ก 3-2๋ ๋ชฉ๋ก 3-3์ผ๋ก ์ค์ฌ์ผ ๋ง๋ ํ๋ค. (3-2๋ 14์ค, 3-3์ 6์ค..) ๐ต
ํ๋ธ
: ์ ๋ง 14์ค์ด ๊ธธ๋ค๊ณ ?์๋ฆฌ
: ๋ด ์ฝ๋๋ฅผ ๋์๋ณด๋ฉด, 3-2๋ ์๋, 3-1 ์์ค์ ์ฝ๋์๋ ๊ฒ์ ๋ฐ์ฑํ๋ค.ํ๋ฏธ
: ์ด ์ ๋๋ก ์งง๊ฒ ํจ์๋ฅผ ์งค ์ ์์๊นโฆ
p44. ํจ์๋ ํ ๊ฐ์ง๋ฅผ ํด์ผ ํ๋ค. ๊ทธ ํ ๊ฐ์ง๋ฅผ ์ ํด์ผ ํ๋ค. ๊ทธ ํ ๊ฐ์ง๋ง์ ํด์ผ ํ๋ค. ๐๐
ํ๋ฏธ
: ์ง๋๋ฒ์ ๋ ผ์ ํ๋ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ณ ๋ คํ๋ฉด ํ ํจ์์ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ๋ฃ์ด๋ ๋๋๋ฐ ์๊ฐ ๋ณต์ก๋ ๋ณด๋ค๋ ํด๋ฆฐ์ฝ๋๊ฐ ๋ ์ค์ํ ๊ฒ ๊ฐ๋ค.์๋ฆฌ
: ํ ๊ฐ์ง ์ญํ ์ ํ๋ ํจ์๋ ์ด๋ป๊ฒ ์ ์๋๋๊ฐ? ๋ชจํธํ ๊ฒ ๊ฐ๋ค. (ํ๊ท ์ ๋ด๋ ํจ์๋ ๋ํ๋ ํจ์์ ๊ธธ์ด๋ก ๋๋๋ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋์ด์ผํ๋๊ฐ?)ํ๋ธ
: ์ด๋ ๋จ์๊น์ง ์ชผ๊ฐ์ผ ํ ๊น?
p45. ์ง์ ๋ ํจ์ ์ด๋ฆ ์๋์์ ์ถ์ํ ์์ค์ด ํ๋์ธ ๋จ๊ณ๋ง ์ํํ๋ค๋ฉด ๊ทธ ํจ์๋ ํ ๊ฐ์ง ์์ ๋ง ํ๋ค. ์ด์จ๊ฑฐ๋ ์ฐ๋ฆฌ๊ฐ ํจ์๋ฅผ ๋ง๋๋ ์ด์ ๋ ํฐ ๊ฐ๋ ์ (๋ค์ ๋งํด, ํจ์ ์ด๋ฆ์) ๋ค์ ์ถ์ํ ์์ค์์ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋๋ ์ํํ๊ธฐ ์ํด์๊ฐ ์๋๋๊ฐ. ๐ต
์๋ฆฌ
: ์ฝ๋๋ฅผ ์ฝ์ ๋, ์ด์ผ๊ธฐ์ ํ๋ฆ์ ์์ ์์ผ๋ก ๋ํ๋ผ ์ ์๋ค๋ฉด ๋น์ทํ ์ถ์ํ ๋จ๊ณ๋ผ๊ณ ๋ณผ ์ ์์ง ์์๊น? (๋ง์ฝ A๋ผ๋ฉด, b, c, d๋ฅผ ํ๋ผ โ ๋ง์ฝ A๋ผ๋ฉด, B๋ฅผ ํด๋ผ. B๋ b, c, d๋ก ๊ตฌ์ฑ๋์ด์๋ค. / A,B๋ ์ฌ๋์ด ์์๋ค์ ์ ์๋ ๋ง. b,c,d๋ ๊ธฐ๋ฅ์ ์ด๋ฆ)ํ๋ธ
: ํจ์ ์ด๋ฆ๊ณผ ์ญํ ์ โ์ถ์ํ ์์คโ๊ณผ ์ผ์น์ํจ๋ค๊ณ ํด์ํ ์ ์์ ๊ฒ ๊ฐ๋ค.
p45. ํจ์๊ฐ 'ํ ๊ฐ์ง'๋ง ํ๋์ง ํ๋จํ๋ ๋ฐฉ๋ฒ์ด ํ๋ ๋ ์๋ค. ๋จ์ํ ๋ค๋ฅธ ํํ์ด ์๋๋ผ ์๋ฏธ ์๋ ์ด๋ฆ์ผ๋ก ๋ค๋ฅธ ํจ์๋ฅผ ์ถ์ถํ ์ ์๋ค๋ฉด ๊ทธ ํจ์๋ ์ฌ๋ฌ ์์ ์ ํ๋ ์ ์ด๋ค. ๐ต๐
์๋ฆฌ
: ์ด๊ฑด ์ ์์ ์๊ฐ์ผ ๋ฟ, ์ฐ๋ฆฌ๋ ์ ์ฉํ ์ ์๋ ๋งํผ๋ง ๋ฐ์๋ค์ด๋ฉด ๋ ๊ฒ ๊ฐ๋ค!
p46. ์ฝ๋๋ ์์์ ์๋๋ก ์ด์ผ๊ธฐ์ฒ๋ผ ์ฝํ์ผ ์ข๋ค. ๐
ํ๋ธ
: ์์ 3-2 โ 3-3 ์์๋
p46. ํ ํจ์๋ด์ ์ถ์ํ ์์ค์ ์์ผ๋ฉด ์ฝ๋๋ฅผ ์ฝ๋ ์ฌ๋์ด ํท๊ฐ๋ฆฐ๋ค. ๐
p49. ๊ธธ๊ณ ์์ ์ ์ธ ์ด๋ฆ์ด ์งง๊ณ ์ด๋ ค์ด ์ด๋ฆ๋ณด๋ค ์ข๋ค. ๊ธธ๊ณ ์์ ์ ์ธ ์ด๋ฆ์ด ๊ธธ๊ณ ์์ ์ ์ธ ์ฃผ์๋ณด๋ค ์ข๋ค. ๐๐ต
์๋ฆฌ
: ์ ๋ช ํ๊ณ ์ ์ง์ธ ์คํ์์ค์์ ๋ด ํจ์์ ์ด๋ฆ๊ณผ ๊ตฌ์ฑ์ ์ฐธ๊ณ ํ ์ ์๊ฒ ๋ค!
p49. ํจ์๊ฐ ์๊ณ ๋จ์ ํ ์๋ก ์์ ์ ์ธ ์ด๋ฆ์ ๊ณ ๋ฅด๊ธฐ ์ฌ์์ง๋ค. ๐๐ต๐
ํ๋ฏธ
: ํจ์๋ฅผ ์งง๊ฒ ์ง๋ผ๋ ๋ฆฌ๋ง์ธ๋!!ํ๋ธ
: ๊ฑฐ๊พธ๋ก โ์ข์ ํจ์ ์ด๋ฆ์ ์ง๋ค ๋ณด๋ฉด ๊ฐ๊ฒฐํ ํจ์๋ฅผ ์งค ์ ์๋คโ๋ ์๋ฏธ๋ก ๋ณผ ์ ์์ ๊ฒ ๊ฐ๋ค.
p50. ํจ์์์ ์ด์์ ์ธ ์ธ์ ๊ฐ์๋ 0๊ฐ(๋ฌดํญ)๋ค. ๐๐ต
์๋ฆฌ
: ๋ถ์คํธ์บ ํ ํ ๋, yaml ํ์ผ์ ์ผ๋ ๊ธฐ์ต์ด ๋๋ค.
p50. 4๊ฐ ์ด์์ ํน๋ณํ ์ด์ ๊ฐ ํ์ํ๋ค. ํน๋ณํ ์ด์ ๊ฐ ์์ด๋ ์ฌ์ฉํ๋ฉด ์ ๋๋ค. ๐ต
์๋ฆฌ
: 53ํ์ด์ง์ ์ธ์๊ฐ์ฒด ์์ ๊ฐ ์ ์ ํ ๊ฒ ๊ฐ๋ค.ํ๋ธ
: ์กฐ๊ธ ๊ฐํนํ ๊ฒ ๊ฐ๊ธฐ๋ ํ๋ค. ํ์ด์ฌ ํจ์ ์๊ฐํ๋ฉด ์์ธ๋ ์๋ ๊ฒ ๊ฐ๋ค.
p50. ์ถ๋ ฅ ์ธ์๋ ์ ๋ ฅ ์ธ์๋ณด๋ค ์ดํดํ๊ธฐ ์ด๋ ต๋ค. ๐
์๋ฆฌ
: ์ฝ๋์ ์ถ๋ ฅ์ธ์๋ฅผ ํํํด๋๊ธฐ๋ ์ฝ์ง ์๋ค!
p52. ํ๋๊ทธ ์ธ์๋ ์ถํ๋ค. ํจ์๋ก ๋ถ์ธ ๊ฐ์ ๋๊ธฐ๋ ๊ด๋ก๋ ์ ๋ง๋ก ๋์ฐํ๋ค. ๐ต
p54. ํจ์์ ์ธ์ ์ด๋ฆ์ ๋ฃ๋๋ค. ๐
ํ๋ฏธ
: ํจ์๋ช ์assertEquals
๋ณด๋คassertExpectedEqualsActual
์ผ๋ก ์ฐ๋ฉด ์ด๋ค ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ์ง์ ๋ณ์ ์์น๋ฅผ ์ฝ๊ฒ ์ ์ ์๋ค.
p57. ๋ช ๋ น๊ณผ ์กฐํ๋ฅผ ๋ถ๋ฆฌํด ํผ๋์ ๋ฝ๋๋ค. ๐๐ต๐
p59. ์ ์ ๋์๊ณผ ์ค๋ฅ ์ฒ๋ฆฌ ๋์์ ๋ถ๋ฆฌํ๋ฉด ์ฝ๋๋ฅผ ์ดํดํ๊ณ ์์ ํ๊ธฐ ์ฌ์์ง๋ค. ๐๐๐ต
์๋ฆฌ
: if ๋ฌธ๊ณผ try-catch์ ๋งฅ๋ฝ์ ์ฐจ์ด๊ฐ ๋ถ๋ช ์กด์ฌํ๋ค!
p60. ์ค๋ณต์ ๋ฌธ์ ๋ค. ์ฝ๋ ๊ธธ์ด๊ฐ ๋์ด๋ ๋ฟ ์๋๋ผ ์๊ณ ๋ฆฌ์ฆ์ด ๋ณํ๋ฉด ๋ค ๊ณณ์ด๋ ์๋ด์ผ ํ๋๊น. ๐
p61. ํจ์๋ return ๋ฌธ์ด ํ๋์ฌ์ผ ํ๋ค๋ ๋ง์ด๋ค. ๋ฃจํ ์์์ break๋ continue๋ฅผ ์ฌ์ฉํด์ ์๋๋ฉฐ goto๋ ์ ๋๋ก, ์ ๋๋ก ์ ๋๋ค. โฆ ํจ์๋ฅผ ์๊ฒ ๋ง๋ ๋ค๋ฉด ๊ฐํน return, break, continue๋ฅผ ์ฌ๋ฌ ์ฐจ๋ก ์ฌ์ฉํด๋ ๊ด์ฐฎ๋ค. ์คํ๋ ค ๋๋ก๋ ๋จ์ผ ์ /์ถ๊ตฌ ๊ท์น๋ณด๋ค ์๋๋ฅผ ํํํ๊ธฐ ์ฌ์์ง๋ค. ๐ต๐
- ์๊ฒ ๋ง๋ค์ด๋ผ! ํ ๊ฐ์ง๋ง ํด๋ผ! ํจ์ ๋น ์ถ์ํ ์์ค์ ํ๋๋ก!
- ์์ ์ ์ธ ์ด๋ฆ์ ์ฌ์ฉํ๋ผ!
- ๋ถ์ ํจ๊ณผ๋ฅผ ์ผ์ผํค์ง ๋ง๋ผ!
- ๋ช ๋ น๊ณผ ์กฐํ๋ฅผ ๋ถ๋ฆฌํ๋ผ!
- ์ค๋ฅ ์ฝ๋๋ณด๋ค ์์ธ๋ฅผ ์ฌ์ฉํ๋ผ!
- ๋ฐ๋ณตํ์ง ๋ง๋ผ!
p68. ์ฌ์ค์ ์ฃผ์์ ๊ธฐ๊ปํด์ผ ํ์์ ์ด๋ค. ๐ต
ํ๋ธ
: ์กฐ๊ธ ๊ณผ์ฅ๋ ํํ์ธ ๊ฒ ๊ฐ๊ธด ํ์ง๋ง, 4์ฅ์ ์์ฝํ๋ ํ ์ค์ธ ๋ฏ
p68. ์ฐ๋ฆฌ๋ ์ฝ๋๋ก ์๋๋ฅผ ํํํ์ง ๋ชปํด, ๊ทธ๋ฌ๋๊น ์คํจ๋ฅผ ๋งํํ๊ธฐ ์ํด ์ฃผ์์ ์ฌ์ฉํ๋ค. ๐๐ต
ํ๋ฏธ
: ์ฐ๋ฆฌ์ง๋ง ์ต์ธํ๋ค..ํญ๊ท
: ์ ์์ ์๊ฐ์ด ๋ค์ ๊ทน๋จ์ ์ธ ๊ฒ ๊ฐ๋ค..
p68. ๊ทธ๋ฌ๋ฏ๋ก ์ฃผ์์ด ํ์ํ ์ํฉ์ ์ฒํ๋ฉด ๊ณฐ๊ณฐ์ด ์๊ฐํ๊ธฐ ๋ฐ๋๋ค. ์ํฉ์ ์ญ์ ํด ์ฝ๋๋ก ์๋๋ฅผ ํํํ ๋ฐฉ๋ฒ์ ์์๊น? ์ฝ๋๋ก ์๋๋ฅผ ํํํ ๋๋ง๋ค ์ค์ค๋ก๋ฅผ ์นญ์ฐฌํด์ค๋ค. ๐ง
ํญ๊ท
: ๋ณดํต ์ฃผ์์ ๋ด ์ฝ๋์ ์ค๋ช ์ ํ์ํ๋ค ์๊ฐํด ๋ฌ์๋๋ฐ, ์ด๋ฐ ํ๋๋ณด๋ค๋ ๋ ๊น๋ํ ์ฝ๋๋ฅผ ์ง๋๋ก ๋ ธ๋ ฅํด์ผ๊ฒ ๋ค.
p68. ์ฃผ์์ ์ค๋๋ ์๋ก ์ฝ๋์์ ๋ฉ์ด์ง๋ค. ์ค๋๋ ์๋ก ์์ ํ ๊ทธ๋ฆ๋ ๊ฐ๋ฅ์ฑ๋ ์ปค์ง๋ค. ๐๐ต
์๋ฆฌ
: ํนํ ์๊ธ์/ํ์ธ์ ์ฝ๋/์ฃผ์์ ๊ณ ์น๊ธฐ๋โฆ๋ถ๋ด์ค๋ฝ๋ค. ์๊ฐ์ด ์ง๋๋ฉฐ ํ๋ฆฌ๊ฒ ๋ ์ ๋ณด๋ฅผ ํฌํจํ๋๋ผ๋ ๊ทธ๋ฅ ์ง๋์น๊ฒ ๋๋ ๊ฒ ๊ฐ๋ค.ํ๋ธ
: ๋ฆฌํฉํ ๋ง ํ ๋๋ ์ผ์ด ๋์ด๋ ์๋ ์์ ๊ฒ ๊ฐ๋ค.
p73. ์ฃผ์์ด ์ฌ๋ฐ๋ฅธ์ง ๊ฒ์ฆํ๊ธฐ ์ฝ์ง ์๋ค. ์ด๊ฒ์ด ์๋ฏธ๋ฅผ ๋ช ๋ฃํ ๋ฐํ๋ ์ฃผ์์ด ํ์ํ ์ด์ ์ธ ๋์์ ์ฃผ์์ด ์ํํ ์ด์ ์ด๊ธฐ๋ ํ๋ค. ๐ง
์๋ฆฌ
: ์ฃผ์์ด ํ๋ ค๋ ์ฝ๋๋ ๋์๊ฐ๋๊น, ์ฃผ์์ด ํ๋ฆฌ๊ฒ๋ ์ ์๋ค๋ ๊ฒฝ๊ฐ์ฌ์ ๊ฐ์ ธ์ผํ ๊ฒ ๊ฐ๋ค.
p75. ์ฃผ๊ธฐ์ ์ผ๋ก todo ์ฃผ์์ ์ ๊ฒํด ์์ ๋ผ. ๐๐๐ง
ํ๋ฏธ
: todo ๋ง์ด ์ฐ๋๋ฐ todo๋ฅผ ์ผ์ผ๋ฉด ๋์ค์ ๊ทธ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ todo๋ฅผ ์ง์ฐ์..
p76. ์ดํด๊ฐ ์ ๋์ด ๋ค๋ฅธ ๋ชจ๋๊น์ง ๋ค์ ธ์ผ ํ๋ ์ฃผ์์ ๋ ์์ ์ ๋๋ก ์ํตํ์ง ๋ชปํ๋ ์ฃผ์์ด๋ค. ๐ต
์๋ฆฌ
: ์ด์ฐจํผ ์ฝ๋ ๋ค ๋ค์ด๊ฐ๋ณด๋๊ฒ ๋ง ํธํ๋ค!
p80. ๋ชจ๋ ํจ์์ Javadocs๋ฅผ ๋ฌ๊ฑฐ๋ ๋ชจ๋ ๋ณ์์ ์ฃผ์์ ๋ฌ์์ผ ํ๋ค๋ ๊ท์น์ ์ด๋ฆฌ์๊ธฐ ๊ทธ์ง์๋ค. ๐ต
ํ๋ธ
: ์ฐ๋ค ๋ณด๋ฉด ์ ๋ง๋ก ๋ค ์์ด์ผ ํ๋๊ฐ ํ๋ ์๋ฌธ์ด ๋ค ๋๊ฐ ์์๋ค. / ๊ทธ๋ฐ๋ฐ ์ฐ๋ ค๋ฉด ๋ค ์ฐ๋ ๊ฒ ๋ง์ง ์๋..?ํญ๊ท
: ์์ IDE๋ ๋ง์ฐ์ค ์ฌ๋ฆฌ๋ฉด ๋ฐ๋ก ํจ์ ์ค๋ช ์ ๋ณด์ฌ์ค ๋ฐ๋ก ์ฝ๋๋ฅผ ํ๊ณ ๋ค์ด๊ฐ์ง ์์๋ ๋์, ์ธ๋ถ์์ ์ฌ์ฉํ๋ ํจ์์ ๊ฒฝ์ฐ ์ฌ๋งํ๋ฉด Javadoc์ ๋ฌ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค. ๐
p84. ์ฃผ์์ด ํ์ํ์ง ์๋๋ก ์ฝ๋๋ฅผ ๊ฐ์ ํ๋ ๊ฒ์ด ์ข๋ค. ๐
p85. ๋ซ๋ ๊ดํธ์ ์ฃผ์์ ๋ฌ์์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ ๋ค๋ฉด ๋์ ์ ํจ์๋ฅผ ์ค์ด๋ ค ์๋ํ์. ๐
์๋ฆฌ
: โ3์ฅ ํจ์" ๋ถ๋ถ๊ณผ๋ ์ฐ๊ด์ด ์๋ ๋ถ๋ถ์ธ ๊ฒ ๊ฐ๋ค. ๋ซ๋ ๊ดํธ๊ฐ ๋์ด๋๋ค๋ฉด, ํจ์๋ก ๋นผ๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด๋ค!
p85. ๋ฐฐ๋(์์ค ํ์ผ์์ ํน์ ์์น๋ฅผ ํ์)๋ ๋ฐ๋์ ํ์ํ ๋๋ง, ์์ฃผ ๋๋ฌผ๊ฒ ์ฌ์ฉํ๋ ํธ์ด ์ข๋ค. ๐
ํ๋ฏธ
: ๋ง๋ ๋ง์ด๋ค! ํ์ง๋ง ํ์ํ ๋๋ ์๋๊ฑฐ ๊ฐ๋ค..ํญ๊ท
: ๊ฐ์/์ค์ต ์ฝ๋์์ ์ฐ์ผ ๋๋ ๊ด์ฐฎ์ ๊ฒ ๊ฐ๊ธฐ๋ ํ๋ค.
p86. ์ฃผ์์ผ๋ก ์ฒ๋ฆฌ๋ ์ฝ๋๋ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ง์ฐ๊ธฐ๋ฅผ ์ฃผ์ ํ๋ค. ์ด์ ๊ฐ ์์ด ๋จ๊ฒจ๋์์ผ๋ฆฌ๋ผ๊ณ , ์ค์ํ๋๊น ์ง์ฐ๋ฉด ์ ๋๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋์ ์ง ๋์ ์์ธ๋ณ ๋ฐ๋ฅ์ ์๊ธ์ด ์์ด๋ฏ ์ธ๋ชจ ์๋ ์ฝ๋๊ฐ ์ ์ฐจ ์์ฌ ๊ฐ๋ค. ๐๐ง
ํ๋ธ
: ๋ง๋ ๋ง์ด๋ค. ํ์ง๋ง ์ฉ๊ธฐ๊ฐ ํ์ํ๋ค.
p87. ์์ค ์ฝ๋ ๊ด๋ฆฌ ์์คํ ์ด ์ฐ๋ฆฌ๋ฅผ ๋์ ํด ์ฝ๋๋ฅผ ๊ธฐ์ตํด์ค๋ค. ๊ทธ๋ฅ ์ฝ๋๋ฅผ ์ญ์ ํ๋ผ. ๐๐ง
p88. ์ฃผ์์ ๋ฌ์์ผํ๋ค๋ฉด ๊ทผ์ฒ์ ์๋ ์ฝ๋๋ง ๊ธฐ์ ํ๋ผ. ์ฝ๋ ์ผ๋ถ์ ์ฃผ์์ ๋ฌ๋ฉด์ ์์คํ ์ ์ ๋ฐ์ ์ธ ์ ๋ณด๋ฅผ ๊ธฐ์ ํ์ง ๋ง๋ผ. ๐๐ง๐ต
p89. ์ฃผ์๊ณผ ์ฃผ์์ด ์ค๋ช ํ๋ ์ฝ๋๋ ๋ ์ฌ์ด ๊ด๊ณ๊ฐ ๋ช ๋ฐฑํด์ผ ํ๋ค. ... ์ฃผ์ ์์ฒด๊ฐ ๋ค์ ์ค๋ช ์ ์๊ตฌํ๋ ์ํ๊น๊ธฐ ๊ทธ์ง์๋ค. ๐
p89. ์งง๊ณ ํ ๊ฐ์ง๋ง ์ํํ๋ฉฐ ์ด๋ฆ์ ์ ๋ถ์ธ ํจ์๊ฐ ์ฃผ์์ผ๋ก ํค๋๋ฅผ ์ถ๊ฐํ ํจ์๋ณด๋ค ์ข๋ค. ๐
- ์ข์ ์ฃผ์: ๋ฒ์ ์ธ ์ฃผ์, ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ฃผ์, ์๋๋ฅผ ์ค๋ช ํ๋ ์ฃผ์, ์๋ฏธ๋ฅผ ๋ช ๋ฃํ๊ฒ ๋ฐํ๋ ์ฃผ์, ๊ฒฐ๊ณผ๋ฅผ ๊ฒฝ๊ณ ํ๋ ์ฃผ์, TODO ์ฃผ์, ์ค์์ฑ์ ๊ฐ์กฐํ๋ ์ฃผ์
- ๋์ ์ฃผ์: ์ฃผ์ ๊ฑฐ๋ฆฌ๋ ์ฃผ์, ๊ฐ์ ์ด์ผ๊ธฐ๋ฅผ ์ค๋ณตํ๋ ์ฃผ์, ์คํดํ ์ฌ์ง๊ฐ ์๋ ์ฃผ์, ์๋ฌด์ ์ผ๋ก ๋ค๋ ์ฃผ์, ์ด๋ ฅ์ ๊ธฐ๋กํ๋ ์ฃผ์, ์์ผ๋ ๋ง๋ ํ ์ฃผ์, ๋ฌด์์ด ์ก์, ๋ซ๋ ๊ดํธ์ ๋ค๋ ์ฃผ์, ๊ณต๋ก๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ ์๋ฅผ ํ์ํ๋ ์ฃผ์, ์ฃผ์์ผ๋ก ์ฒ๋ฆฌํ ์ฝ๋, HTML ์ฃผ์
- ํจ์๋ ๋ณ์๋ก ํํํ ์ ์๋ค๋ฉด ์ฃผ์์ ๋ฌ์ง ๋ง๋ผ!
p96. ์ ๋ฌธ๊ฐ๊ฐ ์งฐ๋ค๋ ์ธ์์ ์ฌ์ด์ฃผ๋ฉด ์ข๊ฒ ๋ค. ๊ทธ ๋์ ์ ์ ์ทจํ ๋ฑ์ฌ๋ ํ ๋ฌด๋ฆฌ๊ฐ ์ง๋์ ๋ฏ ์ด์์ ํด ๋ณด์ธ๋ค๋ฉด ๋ ์๋ค์ ํ๋ก์ ํธ์ ๋ค๋ฅธ ์ธก๋ฉด๋ ๋๊ฐ์ด ๋ฌด์ฑ์ํ ํ๋๋ก ์ฒ๋ฆฌํ์ผ๋ฆฌ๋ผ ์๊ฐํ ๊ฒ์ด๋ค. ๐
์๋ฆฌ
: ๊นจ์ง ์ ๋ฆฌ์ฐฝ ํจ๊ณผ์ฒ๋ผ!
p96. ์ค๋ ์๊ฐ์ด ์ง๋ ์๋ ์ฝ๋์ ํ์ ์ ๋ ์ด์ ์ฐพ์๋ณด๊ธฐ ์ด๋ ค์ธ ์ ๋๋ก ์ฝ๋๊ฐ ๋ฐ๋์ด๋ ๋งจ ์ฒ์ ์ก์๋์ ๊ตฌํ ์คํ์ผ๊ณผ ๊ฐ๋ ์ฑ ์์ค์ ์ ์ง๋ณด์ ์ฉ์ด์ฑ๊ณผ ํ์ฅ์ฑ์ ๊ณ์ ์ํฅ์ ๋ฏธ์น๋ค. ๐๐ต
์๋ฆฌ
: โ4์ฅ ์ฃผ์"์์๋ ์ด์ผ๊ธฐ ํ๋ฏ์ด, ์ฒ์ ์ง ์ฝ๋/์ฃผ์์ด ๋์ค์๋ ์ํฅ์ ๋ผ์น๋ค๋ ๊ฒ์ ๊ธฐ์ตํ์!
p98. ๋ ์๋ ์์์ ์๋๋ก ๊ธฐ์ฌ๋ฅผ ์ฝ๋๋ค. โฆ ์์ค ํ์ผ๋ ์ ๋ฌธ ๊ธฐ์ฌ์ ๋น์ทํ๊ฒ ์์ฑํ๋ค. ์ด๋ฆ์ ๊ฐ๋จํ๋ฉด์๋ ์ค๋ช ์ด ๊ฐ๋ฅํ๊ฒ ์ง๋๋ค. ์ด๋ฆ๋ง ๋ณด๊ณ ๋ ์ฌ๋ฐ๋ฅธ ๋ชจ๋์ ์ดํด๋ณด๊ณ ์๋์ง ์๋์ง๋ฅผ ํ๋จํ ์ ๋๋ก ์ ๊ฒฝ ์จ์ ์ง๋๋ค. ์์ค ํ์ผ ์ฒซ ๋ถ๋ถ์ ๊ณ ์ฐจ์ ๊ฐ๋ ๊ณผ ์๊ณ ๋ฆฌ์ฆ์ ์ค๋ช ํ๋ค. ์๋๋ก ๋ด๋ ค๊ฐ์๋ก ์๋๋ฅผ ์ธ์ธํ ๋ฌ์ฌํ๋ค. ๋ง์ง๋ง์๋ ๊ฐ์ฅ ์ ์ฐจ์ ํจ์์ ์ธ๋ถ๋ด์ญ์ด ๋์จ๋ค. ๐๐ง
ํญ๊ท
: ์ด๋ฒ ์ฅ์ ์์ฝํ๋ฉด ์์ ๊ฐ์ง ์์๊น?ํ๋ธ
: ์ฌ์ ํ ์ด๋ฆ ์ง๋ ๊ฒ์ด ์ค์ํ๋ค.
p98 - p100. ๋น ํ์ ์๋ก์ด ๊ฐ๋ ์ ์์ํ๋ค๋ ์๊ฐ์ ๋จ์๋ค. โฆ ์๋ก ๋ฐ์ ํ ์ฝ๋ ํ์ ์ธ๋ก๋ก ๊ฐ๊น์ด ๋์์ผ ํ๋ค๋ ๋ป์ด๋ค. ๐
์๋ฆฌ
: KNN์ด ์๊ฐ๋๋ ๊ธ..ํ๋ธ
: ๋น ํ์ ์จ์ ๊ตฌ๋ถํ๋ ๊ฒ ์ข์ง๋ง, ๋๋ฌด ๋ง์ ๋นํ์ ๋จ๋ฐํ๋ฉด ์ ๋๋ค. ์ ๋นํ ์ฐ์.
p101. ๊ฐ์ ํ์ผ์ ์ํ ์ ๋๋ก ๋ฐ์ ํ ๋ ๊ฐ๋ ์ ์ธ๋ก ๊ฑฐ๋ฆฌ๋ก ์ฐ๊ด์ฑ์ ํํํ๋ค. ์ฌ๊ธฐ์ ์ฐ๊ด์ฑ์ด๋ ํ ๊ฐ๋ ์ ์ดํดํ๋ ๋ฐ ๋ค๋ฅธ ๊ฐ๋ ์ด ์ค์ํ ์ ๋๋ค. ๐ต๐ง
ํ๋ธ
: โ์ฐ๊ด์ฑโ์ด๋ผ๋ ํํ์ด ํต์ฌ์ ์ ์ ํ ํํํ๋ ๊ฒ ๊ฐ๋ค.
p101. ๋ณ์๋ ์ฌ์ฉํ๋ ์์น์ ์ต๋ํ ๊ฐ๊น์ด ์ ์ธํ๋ค. ๐
p104. ํ ํจ์๊ฐ ๋ค๋ฅธ ํจ์๋ฅผ ํธ์ถํ๋ค๋ฉด ๋ ํจ์๋ ์ธ๋ก๋ก ๊ฐ๊น์ด ๋ฐฐ์นํ๋ค. ๋ํ ๊ฐ๋ฅํ๋ค๋ฉด ํธ์ถํ๋ ํจ์๋ฅผ ํธ์ถ๋๋ ํจ์๋ณด๋ค ๋จผ์ ๋ฐฐ์นํ๋ค. ๊ทธ๋ฌ๋ฉด ํ๋ก๊ทธ๋จ์ด ์์ฐ์ค๋ฝ๊ฒ ์ฝํ๋ค. ๐๐ง
์๋ฆฌ
: ์์ฃผ ํธ์ถํ๋ ํจ์๋ ๋ฐ๋ก ํค๋๋ก ๋นผ๋ ๊ฒ๋ ๊ด์ฐฎ์ง ์์๊น?
p106. ์ผ๋ฐ์ ์ผ๋ก ํจ์ ํธ์ถ ์ข ์์ฑ์ ์๋ ๋ฐฉํฅ์ผ๋ก ์ ์งํ๋ค. ๐ต
ํ๋ธ
: ์์ง์ ํธ์ถํ ํจ์๊ฐ ์์ ์๋ ๊ฒ์ด ์ด์ํ๊ธฐ๋ ํ๋ค.
p108. ๊ณต๋ฐฑ์ ๋ฃ์ผ๋ฉด ๋ ๊ฐ์ง ์ฃผ์ ์์๊ฐ ํ์คํ ๋๋๋ค๋ ์ฌ์ค์ด ๋์ฑ ๋ถ๋ช ํด์ง๋ค. ๐๐ต
์๋ฆฌ
: ์์ ๋งํ๋๊ฒ ์ธ๋ก ์ฐ๊ด์ฑ์ ๊ด๋ จํ ์ด์ผ๊ธฐ์๋ค๋ฉด, ์ด๊ฑด ๊ฐ๋ก ์ฐ๊ด์ฑ์ ๊ดํ ์ด์ผ๊ธฐ์ด๋ค.ํ๋ธ
: ์ฐ์ฐ์ ์ฐ์ ์์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๋ํ๋ด๋ ๊ฒ์ด ์ธ์์ ์ด์๋ค. (๊ทธ๋๋ 3*3 + 5๋ ์ข ๋ถํธ)
p110. ์ ์ธ๋ฌธ๊ณผ ํ ๋น๋ฌธ์ ๋ณ๋๋ก ์ ๋ ฌํ์ง ์๋๋ค. ๐
์๋ฆฌ
: ์คํ๋ ค ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๊ณ , ํ๋ ์์ ์ด๋ค! ๊ตณ์ด ํ์ง ๋ง์!
p113. ์ง๊ธ๊น์ง ๋๋ while๋ฌธ ๋์ ์ธ๋ฏธ์ฝ๋ก (;) ํ๋๋ฅผ ์ด์ง ๋ง๋ถ์ธ ์ฝ๋๋ก ์์์ด ๊ณจํ์ ๋จน์๋ค. ๐
์๋ฆฌ
: ๊ผญ ๊ณ ์๋ค์ด ์ด๋ฌ๋๋ผ..++a, a++
p114. ํ ์์ค ํ์ผ์์ ๋ดค๋ ํ์์ด ๋ค๋ฅธ ์์ค ํ์ผ์๋ ์ฐ์ด๋ฆฌ๋ผ๋ ์ ๋ขฐ๊ฐ์ ๋ ์์๊ฒ ์ค์ผํ๋ค. ๐๐ต
- ์ ์ ํ ํ ๊ธธ์ด๋ฅผ ์ ์งํ๋ผ!
- ์ฝ๋๋ ๊ธฐ์ฌ๋ฅผ ์ฝ๋ฏ ๋์ ์ถ์ํ๋ถํฐ ์์ํด ๊ฐ ์๋๋ฅผ ์ค๋ช ํ๋ฏ ์ง์ผํ๋ค.
p118 - p119. ์ด์งธ์ ์๋ง์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์กฐํ(get)ํจ์์ ์ค์ (set)ํจ์๋ฅผ ๋น์ฐํ๊ฒ ๊ณต๊ฐ(public)ํด ๋น๊ณต๊ฐ ๋ณ์๋ฅผ ์ธ๋ถ์ ๋ ธ์ถํ ๊น? ... ๋ณ์๋ฅผ private์ผ๋ก ์ ์ธํ๋๋ผ๋ ๊ฐ ๊ฐ๋ง๋ค ์กฐํ(get)ํจ์์ ์ค์ (set)ํจ์๋ฅผ ์ ๊ณตํ๋ค๋ฉด ๊ตฌํ์ ์ธ๋ถ๋ก ๋ ธ์ถํ๋ ์ ์ด๋ค. ๐
p119. ์ถ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํด ์ฌ์ฉ์๊ฐ ๊ตฌํ์ ๋ชจ๋ฅธ ์ฑ ์๋ฃ์ ํต์ฌ์ ์กฐ์ํ ์ ์์ด์ผ ์ง์ ํ ์๋ฏธ์ ํด๋์ค๋ค. ๐๐ต
ํ๋ธ
: ์์์ ๋งํ ์ด๋ฆ ์ง๊ธฐ์ ์ฐ์ฅ์ + ์ด ์ฅ์ ํต์ฌ ๋ด์ฉ์ธ ๊ฒ ๊ฐ๋ค.
p119. ๊ฐ์ฒด๋ ์ถ์ํ ๋ค๋ก ์๋ฃ๋ฅผ ์จ๊ธด ์ฑ ์๋ฃ๋ฅผ ๋ค๋ฃจ๋ ํจ์๋ง ๊ณต๊ฐํ๋ค. ์๋ฃ ๊ตฌ์กฐ๋ ์๋ฃ๋ฅผ ๊ทธ๋๋ก ๊ณต๊ฐํ๋ฉฐ ๋ณ๋ค๋ฅธ ํจ์๋ ์ ๊ณตํ์ง ์๋๋ค. ๐
์๋ฆฌ
: ๊ตฌ์กฐ์ฒด(์๋ฃ๊ตฌ์กฐ)์ ํด๋์ค(์ถ์ํ) ์ด์ผ๊ธฐ์ธ ๊ฒ ๊ฐ๋ค.
p122. ๊ฐ์ฒด ์งํฅ ์ฝ๋์์ ์ด๋ ค์ด ๋ณ๊ฒฝ์ ์ ์ฐจ์ ์ธ ์ฝ๋์์ ์ฌ์ฐ๋ฉฐ, ์ ์ฐจ์ ์ธ ์ฝ๋์์ ์ด๋ ค์ด ๋ณ๊ฒฝ์ ๊ฐ์ฒด ์งํฅ ์ฝ๋์์ ์ฝ๋ค! ๐
์๋ฆฌ
: ์ ์ฐจ ์งํฅ ์ฝ๋๋ ์ ํจ์๋ฅผ ์ถ๊ฐํ๊ธฐ ์ฝ๊ณ , ์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ด๋ ต๋ค. ๊ฐ์ฒด ์งํฅ ์ฝ๋๋ ๊ทธ ๋ฐ๋! ๋์ค์ ์ด ์ฐจ์ด๋ฅผ ์ ๊ณ ๋ คํ์ฌ ์ฝ๋๋ฅผ ์ง์!
p123. ๋๋ฏธํฐ ๋ฒ์น์ ์ ์๋ ค์ง ํด๋ฆฌ์คํฑ์ผ๋ก, ๋ชจ๋์ ์์ ์ด ์กฐ์ํ๋ ๊ฐ์ฒด์ ์์ฌ์ ์ ๋ชฐ๋ผ์ผ ํ๋ค๋ ๋ฒ์น์ด๋ค. ๐๐
ํ๋ฏธ
: ํจ์๋ด์์ ์ด๋ค ์ฐ์ฐ์ด ์ด๋ฃจ์ด์ง๋์ง ์ ํ์ ์๊ณ ๋จ์ง ํจ์์ ๊ฒฐ๊ณผ๊ฐ๋ง ์๋ฉด ๋๋ค!
p123.
final String outputDir = ctxt.getOptions().getScratchDir().getAbsolutePath();
ํํ ์์ ๊ฐ์ ์ฝ๋๋ฅผ ๊ธฐ์ฐจ์ถฉ๋(train wreck)์ด๋ผ ๋ถ๋ฅธ๋ค. ... ์กฐ์กํ๋ค ์ฌ๊ฒจ์ง๋ ๋ฐฉ์์ด๋ฏ๋ก ํผํ๋ ํธ์ด ์ข๋ค. ๐
ํ๋ธ
: โ๊ธฐ์ฐจ ์ถฉ๋ ํํ์ ์ฝ๋๋ ์์ฆ ๋ค์ด ์ฝ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์งํฅํ๋ fluent interface์ ๋ฑ์ฅํ๊ณ ์๋ค.โ ๊ณ ํฉ๋๋ค. (xxviii ํ์ด์ง, ๋ณต๊ฐ์ ๋ถ์ณ ์ค์) / ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฒ ๊ฐ๋ค.ํ๋ฏธ
: ๊ธฐ์ฐจ ์ถฉ๋ ๋ฐฉ์์ผ๋ก ์ฝ๋ flow๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ๋ ์ข์๊ฒ ๊ฐ์.์๋ฆฌ
: ๋ช ์์ ์ผ๋ก ํ์ ์ง์ ํ๋ ๋ฐฉ์์ ๋์์ด ๋ ๊ฒ ๊ฐ๋ค. ๋ณ์ ์ฌํ์ฉ์ฑ์ ์์ด์๋ ์ฅ์ ์ผ ๊ฒ ๊ฐ๋ค.
p124. ๊ฐ์ฒด๋ผ๋ฉด ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ์จ๊ฒจ์ผํ๋ฏ๋ก ... ๋ฐ๋ฉด, ์๋ฃ ๊ตฌ์กฐ๋ผ๋ฉด ๋น์ฐํ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๋ ธ์ถํ๋ฏ๋ก ... ๐
์๋ฆฌ
: ๊ฐ์ฒด์ ์๋ฃ ๊ตฌ์กฐ์ ์ฐจ์ด๋ฅผ ๊นจ๋ฌ์ ๊ฒ ๊ฐ๋ค.
p125. ๊ฐ์ฒด๋ผ๋ฉด ๋ญ๊ฐ๋ฅผ ํ๋ผ๊ณ ๋งํด์ผ์ง ์์ ๋๋ฌ๋ด๋ผ๊ณ ๋งํ๋ฉด ์ ๋๋ค. ๐๐๐ต
ํ๋ฏธ
: ๊ฐ์ฒด๋ ์ด๋ ๊ฒ ํด์ผ ๋ง๋๊ฒ ๊ฐ๋ค.
p126. ์๋ฃ ๊ตฌ์กฐ์ฒด์ ์ ํ์ ์ธ ํํ๋ ๊ณต๊ฐ ๋ณ์๋ง ์๊ณ ํจ์๊ฐ ์๋ ํด๋์ค๋ค. ์ด๋ฐ ์๋ฃ ๊ตฌ์กฐ์ฒด๋ฅผ ๋๋ก๋ ์๋ฃ ์ ๋ฌ ๊ฐ์ฒด(Data Transfer Object, DTO)๋ผ ํ๋ค. ๐
p126. ์ข ๋ ์ผ๋ฐ์ ์ธ ํํ๋ '๋น(bean)' ๊ตฌ์กฐ๋ค. ... ๋น์ ๋น๊ณต๊ฐ(private)๋ณ์๋ฅผ ์กฐํ/์ค์ ํจ์๋ก ์กฐ์ํ๋ค. ์ผ์ข ์ ์ฌ์ด๋น ์บก์ํ๋ก, ... ๋ณ๋ค๋ฅธ ์ด์ต์ ์ ๊ณตํ์ง ์๋๋ค. ๐
์๋ฆฌ
: ์ปคํผ"์ฝฉโ, ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ๋ฅผ ๋งํ๋ ๊ฒ ๊ฐ๋ค!
p127. ํ์ฑ ๋ ์ฝ๋๋ DTO์ ํน์ํ ํํ๋ค. ๊ณต๊ฐ ๋ณ์๊ฐ ์๊ฑฐ๋ ๋น๊ณต๊ฐ ๋ณ์์ ์กฐํ/์ค์ ํจ์๊ฐ ์๋ ์๋ฃ ๊ตฌ์กฐ์ง๋ง, ๋๊ฐ save๋ find์ ๊ฐ์ ํ์ ํจ์๋ ์ ๊ณตํ๋ค. ... ํ์ฑ ๋ ์ฝ๋๋ ์๋ฃ ๊ตฌ์กฐ๋ก ์ทจ๊ธํ๋ค. ๐๐ต
p127. ๊ฐ์ฒด๋ ๋์์ ๊ณต๊ฐํ๊ณ ์๋ฃ๋ฅผ ์จ๊ธด๋ค. ๊ทธ๋์ ๊ธฐ์กด ๋์์ ๋ณ๊ฒฝํ์ง ์์ผ๋ฉด์ ์ ๊ฐ์ฒด ํ์ ์ ์ถ๊ฐํ๊ธฐ๋ ์ฌ์ด ๋ฐ๋ฉด, ๊ธฐ์กด ๊ฐ์ฒด์ ์ ๋์์ ์ถ๊ฐํ๊ธฐ๋ ์ด๋ ต๋ค. ์๋ฃ ๊ตฌ์กฐ๋ ๋ณ๋ค๋ฅธ ๋์ ์์ด ์๋ฃ๋ฅผ ํธ์ถํ๋ค. ๊ทธ๋์ ๊ธฐ์กด ์๋ฃ ๊ตฌ์กฐ์ ์ ๋์์ ์ถ๊ฐํ๊ธฐ๋ ์ฌ์ฐ๋, ๊ธฐ์กด ํจ์์ ์ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์ถ๊ฐํ๊ธฐ๋ ์ด๋ ต๋ค. (์ด๋ค) ์์คํ ์ ๊ตฌํํ ๋, ์๋ก์ด ์๋ฃ ํ์ ์ ์ถ๊ฐํ๋ ์ ์ฐ์ฑ์ด ํ์ํ๋ฉด ๊ฐ์ฒด๊ฐ ๋ ์ ํฉํ๋ค. ๋ค๋ฅธ ๊ฒฝ์ฐ๋ก ์๋ก์ด ๋์์ ์ถ๊ฐํ๋ ์ ์ฐ์ฑ์ด ํ์ํ๋ฉด ์๋ฃ ๊ตฌ์กฐ์ ์ ์ฐจ์ ์ธ ์ฝ๋๊ฐ ๋ ์ ํฉํ๋ค. ์ฐ์ํ ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ ํธ๊ฒฌ์์ด ์ด ์ฌ์ค์ ์ดํดํด ์ง๋ฉดํ ๋ฌธ์ ์ ์ต์ ์ธ ํด๊ฒฐ์ฑ ์ ์ ํํ๋ค. ๐๐ต
- ์๋ก์ด ์๋ฃ ํ์ ์ ์ถ๊ฐํ๋ ์ ์ฐ์ฑ์ด ํ์ํ๋ฉด ๊ฐ์ฒด๊ฐ ๋ ์ ํฉํ๋ค.
- ๋ค๋ฅธ ๊ฒฝ์ฐ๋ก ์๋ก์ด ๋์์ ์ถ๊ฐํ๋ ์ ์ฐ์ฑ์ด ํ์ํ๋ฉด ์๋ฃ ๊ตฌ์กฐ์ ์ ์ฐจ์ ์ธ ์ฝ๋๊ฐ ๋ ์ ํฉํ๋ค.
p130. ๋ญ๊ฐ ์๋ชป๋๋ฉด ๋ฐ๋ก ์ก์ ์ฑ ์์ ๋ฐ๋ก ์ฐ๋ฆฌ ํ๋ก๊ทธ๋๋จธ์๊ฒ ์๋ค. ๐๐ง
ํ๋ฏธ
: ๊ฐ๋ฐ์๋ผ๋ฉด ๋น์ฐํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ฉด์ a/s๋ ํด์ผ๋๋ค.ํญ๊ท
: ์ด ์ฑ ์ ๊ฐ๋ฐ์์๊ฒ ์ฝ๋์ ๋ํ ์ฑ ์๊ฐ์ ์๊ธฐ์ํจ๋ค.
p131. ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์์ธ๋ฅผ ๋์ง๋ ํธ์ด ๋ซ๋ค. ๊ทธ๋ฌ๋ฉด ํธ์ถ์ ์ฝ๋๊ฐ ๋ ๊น๋ํด์ง๋ค. ๋ ผ๋ฆฌ๊ฐ ์ค๋ฅ ์ฒ๋ฆฌ ์ฝ๋์ ๋ค์์ด์ง ์์ผ๋๊น. ๐ต
ํ๋ธ
: ์ค๋ฅ๋ฅผ ์ ์ก๋ ๊ฒ๋ ์ค์ํ์ง๋ง ๊น๋ํ๊ฒ ์ง๋ ๊ฒ๋ ์ค์ํ๋ค. (์ด ๋ถ๋ถ ์๋ค์ ์ฝ๋๋ฅผ ์ ์ค๋ช ํด ์ฃผ๋ ๋ฏํ๋ค)ํญ๊ท
: ์ ์ ํ ์์ธ์ฒ๋ฆฌ๊ฐ ์ฝ๋๋ฅผ ๋ ๊น๋ํ๊ฒ ํ๋ค.
p133. ๋จผ์ ๊ฐ์ ๋ก ์์ธ๋ฅผ ์ผ์ผํค๋ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ ํ ํ ์คํธ๋ฅผ ํต๊ณผํ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๊ถ์ฅํ๋ค. ๊ทธ๋ฌ๋ฉด ์์ฐ์ค๋ฝ๊ฒ try ๋ธ๋ก์ ํธ๋์ญ์ ๋ฒ์๋ถํฐ ๊ตฌํํ๊ฒ ๋๋ฏ๋ก ๋ฒ์ ๋ด์์ ํธ๋์ญ์ ๋ณธ์ง์ ์ ์งํ๊ธฐ ์ฌ์์ง๋ค. ๐ต๐ง
ํญ๊ท
: ์๋๋ ๋ก์ง๋ถํฐ ๊ตฌํํ๊ณ ์ฌ๊ธฐ์ ์๋ฌ๊ฐ ๋๊ฒ ๋ค ์ถ์ผ๋ฉด ์ค๋ฅ์ฒ๋ฆฌ๋ฅผ ํด์คฌ์๋ค. ์์ ๋ฐฉ๋ฒ์ผ๋ก ํ ๋ฒ ๊ตฌํํด๋ด์ผ์ง..!ํ๋ฏธ
: ์ผ๋จ ๋นํด๋ด์ผ ๋ฏธ๋ฆฌ ์ฒ๋ฆฌ๋ฅผ ํ ๊ฒ ๊ฐ๋ค.
p135. ์์ธ๋ฅผ ๋์ง ๋๋ ์ ํ ์ํฉ์ ์ถฉ๋ถํ ๋ง๋ถ์ธ๋ค. ๐
ํ๋ฏธ
: ๋ฌด์จ ์๋ฌ์ธ์ง ์ ํํ ๋ช ์๋ฅผ ํด์ผ ๋์ค์ ๋๋ฒ๊น ํ ๋ ํธํ๋ค.ํญ๊ท
: ์๋ฌ ๋ชจ๋ํฐ๋ง ์ ์๋ฌ ๋ฉ์์ง๊ฐ ์ค์ํ๋ค.
p135. ์ค๋ฅ๊ฐ ๋ฐ์ํ ์์น๋ก ๋ถ๋ฅ๊ฐ ๊ฐ๋ฅํ๋ค. ... ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ค๋ฅ๋ฅผ ์ ์ํ ๋ ํ๋ก๊ทธ๋๋จธ์๊ฒ ๊ฐ์ฅ ์ค์ํ ๊ด์ฌ์ฌ๋ ์ค๋ฅ๋ฅผ ์ก์๋ด๋ ๋ฐฉ๋ฒ์ด ๋์ด์ผ ํ๋ค. ๐ต
ํ๋ธ
: ์์ธ๋ฅผ ์ฒ๋ฆฌํด์ ์ค์ํ ๊ฒ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋ ๊ฒ์ด๋ผ๋ ์ ์ ๋งํ๋ ๊ฒ ๊ฐ๋ค.
p137. ํํ ์์ธ ํด๋์ค๊ฐ ํ๋๋ง ์์ด๋ ์ถฉ๋ถํ ์ฝ๋๊ฐ ๋ง๋ค. ์์ธ ํด๋์ค์ ํฌํจ๋ ์ ๋ณด๋ก ์ค๋ฅ๋ฅผ ๊ตฌ๋ถํด๋ ๊ด์ฐฎ์ ๊ฒฝ์ฐ๊ฐ ๊ทธ๋ ๋ค. ๐ต
ํ๋ฏธ
: ์์ ์ฝ๋์ ์๋ ํด๋์ค๋ ๋ชจ๋ ์๋ฌ๋ฅผ ๋ชจ์๋ ํด๋์ค๋ผ๊ณ ์๊ฐ. ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํด ์์ธ์ฒ๋ฆฌ๋ฅผ ํ๋ ํจ์ฌ ์ฝ๋ ์ฝ๊ธฐ๋ ํธํด์ก์.
p138. ์ด๋ฅผ ํน์ ์ฌ๋ก ํจ๋(Special Case Pattern)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ํด๋์ค๋ฅผ ๋ง๋ค๊ฑฐ๋ ๊ฐ์ฒด๋ฅผ ์กฐ์ํด ํน์ ์ฌ๋ก๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด๋ค. ๊ทธ๋ฌ๋ฉด ํด๋ผ์ด์ธํธ ์ฝ๋๊ฐ ์์ธ์ ์ธ ์ํฉ์ ์ฒ๋ฆฌํ ํ์๊ฐ ์์ด์ง๋ค. ํด๋์ค๋ ๊ฐ์ฒด๊ฐ ์์ธ์ ์ธ ์ํฉ์ ์บก์ํํด์ ์ฒ๋ฆฌํ๋ฏ๋ก. ๐ง
ํญ๊ท
: ๋จ์ ์ฝ๋๋ฅผ ๊ณ ์น๊ธฐ ์ฝ์ง ์์ง๋ง ๋ ํจ์จ์ ์ด๊ณ ๊ฐ๊ฒฐํ ์ฝ๋๋ฅผ ์ํด์ ์ฉ๊ธฐ๋ฅผ ๋ด๋ณด์.ํ๋ธ
: ๋ฌด์กฐ๊ฑด ์์ธ ์ฒ๋ฆฌ ์ฝ๋๋ฅผ ์จ์ผ ํ๋ ๊ฒ์ด ์๋๋ผ, ์ฝ๋๋ฅผ ์ ์ง๋ฉด ํ์๊ฐ ์์ ์๋
p139. ์ ์ฝ๋๋ null ํ์ธ์ด ๋๋๋ ๋ฌธ์ ๋ผ ๋งํ๊ธฐ ์ฝ๋ค. ํ์ง๋ง ์ค์์ null ํ์ธ์ด ๋๋ฌด ๋ง์ ๋ฌธ์ ๋ค. ๋ฉ์๋์์ null์ ๋ฐํํ๊ณ ํ ์ ํน์ด ๋ ๋ค๋ฉด ๊ทธ ๋์ ์์ธ๋ฅผ ๋์ง๊ฑฐ๋ ํน์ ์ฌ๋ก ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. ์ฌ์ฉํ๋ ค๋ ์ธ๋ถ API๊ฐ null์ ๋ฐํํ๋ค๋ฉด ๊ฐ์ธ๊ธฐ ๋ฉ์๋๋ฅผ ๊ตฌํํด ์์ธ๋ฅผ ๋์ง๊ฑฐ๋ ํน์ ์ฌ๋ก ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ๋ฐฉ์์ ๊ณ ๋ คํ๋ค. ๐ต๐ง
ํญ๊ท
: ๋ง์ด ์ฐ๋ ธ๋๋ฐ, None์ ๋ฐํํ๊ธฐ ๋ณด๋ค๋ ํด๋น ์๋ฃํ์ ๋ง๊ฒ None์ ํํํ ์ ์๋ ๊ฒ์ ์ฌ์ฉํ์.
p140. null์ ๋ฐํํ๊ธฐ ๋ณด๋จ ๋น ๋ฆฌ์คํธ๋ฅผ ๋ฆฌํดํ์. ๐๐ต๐ง
ํ๋ฏธ
: ๋น๋ฆฌ์คํธ๋ ๊ณต๋ฐฑ(โโ)์ ๋ฐํํ๋๊ฒ ํต์ผ์ฑ์ธก๋ฉด์์๋ ์ข๋ค.
p142. ๋๋ค์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ํธ์ถ์๊ฐ ์ค์๋ก ๋๊ธฐ๋ null์ ์ ์ ํ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด ์๋ค. ๊ทธ๋ ๋ค๋ฉด ์ ์ด์ null์ ๋๊ธฐ์ง ๋ชปํ๋๋ก ๊ธ์งํ๋ ์ ์ฑ ์ด ํฉ๋ฆฌ์ ์ด๋ค. ์ฆ, ์ธ์๋ก null์ด ๋์ด์ค๋ฉด ์ฝ๋์ ๋ฌธ์ ๊ฐ ์๋ค๋ ๋ง์ด๋ค. ์ด๋ฐ ์ ์ฑ ์ ๋ฐ๋ฅด๋ฉด ๊ทธ๋งํผ ๋ถ์ฃผ์ํ ์ค์๋ฅผ ์ ์ง๋ฅผ ํ๋ฅ ๋ ์์์ง๋ค. ๐ต๐ง
ํญ๊ท
: return None์ lint๋ก ๊ธ์ง์์ผ์ผํ๋ค.
p142. ๊นจ๋ํ ์ฝ๋๋ ์ฝ๊ธฐ๋ ์ข์์ผ ํ์ง๋ง ์์ ์ฑ๋ ๋์์ผ ํ๋ค. ๐
๊นจ๋ํ ์ฝ๋๋ ์ฝ๊ธฐ๋ ์ข์ผ์ผ ํ์ง๋ง ์์ ์ฑ๋ ๋์์ผ ํ๋ค.
p144. ํจํค์ง ์ ๊ณต์๋ ํ๋ ์์ํฌ ์ ๊ณต์๋ ์ ์ฉ์ฑ์ ์ต๋ํ ๋ํ๋ ค ์ ์ด๋ค. ๋ ๋ง์ ํ๊ฒฝ์์ ๋์๊ฐ์ผ ๋ ๋ง์ ๊ณ ๊ฐ์ด ๊ตฌ๋งคํ๋๊น. ๋ฐ๋ฉด, ์ฌ์ฉ์๋ ์์ ์ ์๊ตฌ์ ์ง์คํ๋ ์ธํฐํ์ด์ค๋ฅผ ๋ฐ๋๋ค. ์ด๋ฐ ๊ธด์ฅ์ผ๋ก ์ธํด ์์คํ ๊ฒฝ๊ณ์์ ๋ฌธ์ ๊ฐ ์๊ธธ ์์ง๊ฐ ๋ง๋ค. ๐ต
ํ๋ธ
: ์ด ์ฅ์ ์์ฝํ๋ ํ ๋ฌธ๋จ? ํผ์์ ํจ์ ์งค ๋๋ ๋น์ทํ ๋๋์ ๋ฐ์ ๊ฒ ๊ฐ๋ค.
p146. ๊ฒฝ๊ณ ์ธํฐํ์ด์ค Map์ Sensors ์์ผ๋ก ์จ๊ธด๋ค. ๋ฐ๋ผ์ Map ์ธํฐํ์ด์ค๊ฐ ๋ณํ๋๋ผ๋ ๋๋จธ์ง ํ๋ก๊ทธ๋จ์๋ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค. ์ ๋ค๋ฆญ์ค๋ฅผ ์ฌ์ฉํ๋ ํ์ง ์๋ ๋ ์ด์ ๋ฌธ์ ๊ฐ ์ ๋๋ค. Sensors ํด๋์ค ์์์ ๊ฐ์ฒด ์ ํ์ ๊ด๋ฆฌํ๊ณ ๋ณํํ๊ธฐ ๋๋ฌธ์ด๋ค. ๐ง๐ต
ํญ๊ท
: ๋์ค์ ๊ฐ๋ฐํ ๋ ์์ด๋์ด๋ก ์จ๋จน์ด์ผ์ง.
p147. ๊ณง๋ฐ๋ก ์ฐ๋ฆฌ์ชฝ ์ฝ๋๋ฅผ ์์ฑํด ์ธ๋ถ ์ฝ๋๋ฅผ ํธ์ถํ๋ ๋์ ๋จผ์ ๊ฐ๋จํ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํด ์ธ๋ถ ์ฝ๋๋ฅผ ์ตํ๋ฉด ์ด๋จ๊น? ์ง ๋ด์ปคํฌ๋ ์ด๋ฅผ ํ์ต ํ ์คํธ๋ผ ๋ถ๋ฅธ๋ค. ๐๐ง๐ต๐
์๋ฆฌ
: ์ข ์ข STL ํ ์คํธํ๋ฏธ
: ์ข ์ข python ๋ฌธ๋ฒ ํ ์คํธ
p151. ์ฐ๋ฆฌ๊ฐ ๋ฐ๋ผ๋ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ฉด ์ฐ๋ฆฌ๊ฐ ์ธํฐํ์ด์ค๋ฅผ ์ ์ ์ผ๋ก ํต์ ํ๋ค๋ ์ฅ์ ์ด ์๊ธด๋ค. ๐
ํญ๊ท
: ํ์ ํ๋ฉด์ ์ธํฐํ์ด์ค ํน์ ์ค์ ๊ฐ๋ค์ ๋ฏธ๋ฆฌ ์ ํ ์ ์๋ ์ํฉ์ด ์๊ธฐ๋๋ฐ, ์ด๋ํฐ๋ฅผ ๋ ์ผ๋ก์จ ์๋ก ์ํ๋ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ์ ์๊ณ ๋์ค์ ์ ํ๋๋ผ๋ ๋ชจ๋ ์ ์ฉํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ์ด ์ ๋ง ์ ๋ฐํ๋ค.
p152. ๊ฒฝ๊ณ์ ์์นํ๋ ์ฝ๋๋ ๊น๋ํ ๋ถ๋ฆฌํ๋ค. ๋ํ ๊ธฐ๋์น๋ฅผ ์ ์ํ๋ ํ ์คํธ ์ผ์ด์ค๋ ์์ฑํ๋ค. ์ด์ชฝ ์ฝ๋์์ ์ธ๋ถ ํจํค์ง๋ฅผ ์ธ์ธํ๊ฒ ์์์ผ ํ ํ์๊ฐ ์๋ค. ... ์ธ๋ถ ํจํค์ง๋ฅผ ํธ์ถํ๋ ์ฝ๋๋ฅผ ๊ฐ๋ฅํ ์ค์ฌ ๊ฒฝ๊ณ๋ฅผ ๊ด๋ฆฌํ์. Map์์ ๋ดค๋ฏ์ด, ์๋ก์ด ํด๋์ค๋ก ๊ฒฝ๊ณ๋ฅผ ๊ฐ์ธ๊ฑฐ๋ ์๋๋ฉด ADAPTER ํจํด์ ์ฌ์ฉํด ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ธํฐํ์ด์ค๋ฅผ ํจํค์ง๊ฐ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค๋ก ๋ณํํ์. ๐๐ง๐ต
์๋ฆฌ
: ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ ธ๋ค ์ฌ์ฉํ๋ ํจ์๋ฅผ ๋ง๋ค์๋ ๊ธฐ์ต์ด ๋๋ค!ํญ๊ท
: ADAPTER ํจํด ์ฐธ๊ณ ์๋ฃ
p155. ์ง๊ธ ์ฆ์์ด๋ฉด TDD๊ฐ ์ค์ ์ฝ๋๋ฅผ ์ง๊ธฐ ์ ์ ๋จ์ ํ ์คํธ๋ถํฐ ์ง๋ผ๊ณ ์๊ตฌํ๋ค๋ ์ฌ์ค์ ๋ชจ๋ฅด๋ ์ฌ๋์ ์์ผ๋ฆฌ๋ผ. ...
- ์ฒซ์งธ ๋ฒ์น: ์คํจํ๋ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ ๋๊น์ง ์ค์ ์ฝ๋๋ฅผ ์์ฑํ์ง ์๋๋ค.
- ๋์งธ ๋ฒ์น: ์ปดํ์ผ์ ์คํจํ์ง ์์ผ๋ฉด์ ์คํ์ด ์คํจํ๋ ์ ๋๋ก๋ง ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ๋ค.
- ์ ์งธ ๋ฒ์น: ํ์ฌ ์คํจํ๋ ํ ์คํธ๋ฅผ ํต๊ณผํ ์ ๋๋ก๋ง ์ค์ ์ฝ๋๋ฅผ ์์ฑํ๋ค. ๐ง๐
ํญ๊ท
: TDD๊ฐ ๋ฌด์์ธ์ง ์ ๋ชฐ๋๋ค. ๋ค์ ์ฑ ์ TDD ์ถ์ฒํฉ๋๋ค..์๋ฆฌ
: ์ฒ์๋ถํฐ ๋ด๊ฐ ์๋ฒฝํ ์ฝ๋๋ฅผ ์์ฑํ ์๋ ์๊ณ , ์ฒ์๋ถํฐ ์๋ฒฝํ ํ ์คํธ ์ฝ๋๋ ์๋ค! ๋์ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ์ง๋ ๋ฐฉ์์ผ๊น? ํ ์คํธ ์ฝ๋๋ฅผ ๊น๋ํ๊ฒ ์ ์งํ๋ผ๋ ์ด ์ฑ ์ ์ฃผ์ฅ๊ณผ ์ผ๋งฅ์ํตํ๋ ๋ฏ ํ๋ค!
p157. ํ ์คํธ์ ์์ ๋ถ์ ๋ ธ๋ ฅ์ ํ์คํ ํ์ฌ์๋ค. ํ์ง๋ง ์คํจ๋ฅผ ์ด๋ํ ์์ธ์ ํ ์คํธ ์ฝ๋๋ฅผ ๋ง ์ง๋ ์ข๋ค๊ณ ํ์ฉํ ๊ฒฐ์ ์ด์๋ค. ํ ์คํธ ์ฝ๋๋ฅผ ๊นจ๋ํ๊ฒ ์งฐ๋ค๋ฉด ์์ ๋ถ์ ๋ ธ๋ ฅ์ ํ์ฌ๋ก ๋์๊ฐ์ง ์์์ ํฐ์๋ค. ๐ต
p157. ํ ์คํธ ์ฝ๋๋ฅผ ๊นจ๋ํ๊ฒ ์ ์งํ์ง ์์ผ๋ฉด ๊ฒฐ๊ตญ์ ์์ด๋ฒ๋ฆฐ๋ค. ๐
์๋ฆฌ
: ํ ์คํธ ์ฝ๋๋ฅผ ์ฌ๋ฌ๋ฒ ์ง๋ ๊ฒ๋งํผ ๋นํจ์จ์ ์ธ ์ผ์ ์๋ ๊ฒ ๊ฐ๋ค. ๋ฐ๋ผ์, ๋นํจ์จ์ ์์ ๊ธฐ ์ํด์๋ ์ฝ๋๋ฅผ ๊น๋ํ ์ง๋๋ ๊ฒ์ด ์ค์!
p157. ์ฝ๋์ ์ ์ฐ์ฑ, ์ ์ง๋ณด์์ฑ, ์ฌ์ฌ์ฉ์ฑ์ ์ ๊ณตํ๋ ๋ฒํ๋ชฉ์ด ๋ฐ๋ก ๋จ์ํ ์คํธ๋ค. ์ด์ ๋ ๋จ์ํ๋ค. ํ ์คํธ ์ผ์ด์ค๊ฐ ์์ผ๋ฉด ๋ณ๊ฒฝ์ด ๋๋ ต์ง ์์ผ๋๊น! ... ํ ์คํธ ์ผ์ด์ค๊ฐ ์๋ค๋ฉด ๋ชจ๋ ๋ณ๊ฒฝ์ด ์ ์ ์ ์ธ ๋ฒ๊ทธ๋ค. ๐ง๐๐
p157. ํ ์คํธ ์ฝ๋๊ฐ ์ง์ ๋ถํ ์๋ก ์ค์ ์ฝ๋๋ ์ง์ ๋ถํด์ง๋ค. ๐ต
p160. ํ ์คํธ ํ๊ฒฝ์ ์์์ด ์ ํ์ ์ผ ๊ฐ๋ฅ์ฑ์ด ๋ฎ๋ค. ์ด๊ฒ์ด ์ด์ค ํ์ค์ ๋ณธ์ง์ด๋ค. ์ค์ ํ๊ฒฝ์์๋ ์ ๋๋ก ์ ๋์ง๋ง ํ ์คํธ ํ๊ฒฝ์์๋ ์ ํ ๋ฌธ์ ์๋ ๋ฐฉ์์ด ์๋ค. ๐
p165. given-when-then์ด๋ผ๋ ๊ด๋ก๋ฅผ ์ฌ์ฉํ๋ค ๐๐ต
p165. ํ ์คํธ๋ฅผ ๋ถ๋ฆฌํ๋ฉด ์ค๋ณต๋๋ ์ฝ๋๊ฐ ๋ง์์ง๋ค. TEMPLATE METHOD ํจํด์ ์ฌ์ฉํ๋ฉด ์ค๋ณต์ ์ ๊ฑฐํ ์ ์๋ค. ๐
p165. ๋์ฒด๋ก ๋๋ ๋จ์ผ assert๋ฅผ ์ง์ํ๋ ํด๋น ๋ถ์ผ ํ ์คํธ ์ธ์ด๋ฅผ ๋ง๋ค๋ ค ๋ ธ๋ ฅํ๋ค. ํ์ง๋ง ๋๋ก๋ ์ฃผ์ ์์ด ํจ์ ํ๋์ ์ฌ๋ฌ assert ๋ฌธ์ ๋ฃ๊ธฐ๋ ํ๋ค. ๋จ์ง assert ๋ฌธ ๊ฐ์๋ ์ต๋ํ ์ค์ฌ์ผ ์ข๋ค๋ ์๊ฐ์ด๋ค. ๐ง๐ต
ํญ๊ท
: assert๋ฅผ ํ๋๋ง ์ธ ์ ์๋ค๋ฉด ์ข๊ฒ ์ง๋ง์, ํ๋๋ง ์จ์ผํด์ ๊ฒ์ฆ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ๋ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฐ๋ค๋ฉด ์ฐจ๋ผ๋ฆฌ ์ฌ๋ฌ ๊ฒ ์ฐ๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ๋ค. (์ ์ ๋ง์ ๊ณต๊ฐ)
p167. ๊ทธ๋ฌ๋ฏ๋ก ๊ฐ์ฅ ์ข์ ๊ท์น์ "๊ฐ๋ ๋น assert ๋ฌธ ์๋ฅผ ์ต์๋ก ์ค์ฌ๋ผ"์ "ํ ์คํธ ํจ์ ํ๋๋ ๊ฐ๋ ํ๋๋ง ํ ์คํธํ๋ผ"๋ผ ํ๊ฒ ๋ค. ๐
p168. ํ ์คํธ๋ ์ ์์ ์์ฑํด์ผ ํ๋ค. ๐
๊นจ๋ํ ํ ์คํธ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ค์ฏ ๊ฐ์ง ๊ท์น!
- Fast: ํ ์คํธ๋ ๋นจ๋ผ์ผ ํ๋ค.
- Independent: ๊ฐ ํ ์คํธ๋ ์๋ก ์์กดํ๋ฉด ์ ๋๋ค. ํ ํ ์คํธ๊ฐ ๋ค์ ํ ์คํธ๊ฐ ์คํ๋ ํ๊ฒฝ์ ์ค๋นํด์๋ ์ ๋๋ค.
- Repeatable: ํ ์คํธ๋ ์ด๋ค ํ๊ฒฝ์์๋ ๋ฐ๋ณต ๊ฐ๋ฅํด์ผ ํ๋ค.
- Self-Validating: ํ ์คํธ๋ ๋ถ์ธ(bool) ๊ฐ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ด์ผ ํ๋ค.
- Timely: ํ ์คํธ๋ ์ ์์ ์์ฑํด์ผ ํ๋ค. ๋จ์ ํ ์คํธ๋ ํ ์คํธํ๋ ค๋ ์ค์ ์ฝ๋๋ฅผ ๊ตฌํํ๊ธฐ ์ง์ ์ ๊ตฌํํ๋ค.
p172. ํด๋์ค๋ฅผ ์ ์ํ๋ ํ์ค ์๋ฐ ๊ด๋ก์ ๋ฐ๋ฅด๋ฉด, ๊ฐ์ฅ ๋จผ์ ๋ณ์ ๋ชฉ๋ก์ด ๋์จ๋ค. ์ ์ (static) ๊ณต๊ฐ(public) ์์๊ฐ ์๋ค๋ฉด ๋งจ ์ฒ์์ ๋์จ๋ค. ๋ค์์ผ๋ก ์ ์ ๋น๊ณต๊ฐ(private) ๋ณ์๊ฐ ๋์ค๋ฉฐ, ์ด์ด์ ๋น๊ณต๊ฐ ์ธ์คํด์ค ๋ณ์๊ฐ ๋์จ๋ค. ๊ณต๊ฐ ๋ณ์๊ฐ ํ์ํ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์๋ค. ๋ณ์ ๋ชฉ๋ก ๋ค์์๋ ๊ณต๊ฐ ํจ์๊ฐ ๋์จ๋ค. ๋น๊ณต๊ฐ ํจ์๋ ์์ ์ ํธ์ถํ๋ ๊ณต๊ฐ ํจ์ ์งํ์ ๋ฃ๋๋ค. ์ฆ, ์ถ์ํ ๋จ๊ณ๊ฐ ์์ฐจ์ ์ผ๋ก ๋ด๋ ค๊ฐ๋ค.
- ํด๋์ค๋ฅผ ์ ์ํ๋ ํ์ค ์๋ฐ ๊ด๋ก: ๋ณ์๋ชฉ๋ก(์ ์ ๊ณต๊ฐ ์์ โ ์ ์ ๋น๊ณต๊ฐ ๋ณ์ โ ๋น๊ณต๊ฐ ์ธ์คํด์ค ๋ณ์) โ ํจ์๋ชฉ๋ก(๊ณต๊ฐํจ์ โ ๋น๊ณต๊ฐํจ์) ๐๐ต๐ง
p172. ์บก์ํ๋ฅผ ํ์ด์ฃผ๋ ๊ฒฐ์ ์ ์ธ์ ๋ ์ตํ์ ์๋จ์ด๋ค. ๐๐ง
p175. ํด๋์ค ์ด๋ฆ์ ํด๋น ํด๋์ค ์ฑ ์์ ๊ธฐ์ ํด์ผํ๋ค. ์ค์ ๋ก ์๋ช ์ ํด๋์ค ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ์ฒซ ๋ฒ์งธ ๊ด๋ฌธ์ด๋ค. ๊ฐ๊ฒฐํ ์ด๋ฆ์ด ๋ ์ค๋ฅด์ง ์๋๋ค๋ฉด ํ๊ฒฝ ํด๋์ค ํฌ๊ธฐ๊ฐ ๋๋ฌด ์ปค์ ๊ทธ๋ ๋ค. ํด๋์ค ์ด๋ฆ์ด ๋ชจํธํ๋ค๋ฉด ํ๊ฒฝ ํด๋์ค ์ฑ ์์ด ๋๋ฌด ๋ง์์๋ค. ๐๐ต๐ง๐
ํ๋ฏธ
: ํ์คํ ์ฒ์ ํด๋์ค๋ฅผ ์ ํ๊ณ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ์ถ๊ฐ ํ ๋ ํด๋์ค๋ช ์ด ๊ธธ์ด์ง๋๋ ์๋๋ฐ ์ด๋๊ฐ ํด๋์ค๋ฅผ ๋ถ๋ฆฌํ ๋ ์ธ๊ฑฐ ๊ฐ๋ค.ํ๋ธ
: ์ด๋ฆ์ด ์ฝ๋ ํ์ง์ ๊ฒฐ์ ํ๋ค! ํจ์ ์ด๋ฆ์ด๋ ๋น์ทํ ๋งฅ๋ฝ์ธ ๊ฒ ๊ฐ๋ค.
p175. ํด๋์ค ์ค๋ช ์ ๋ง์ผ("if"), ๊ทธ๋ฆฌ๊ณ ("and"), -(ํ)๋ฉฐ("or"), ํ์ง๋ง("but")์ ์ฌ์ฉํ์ง ์๊ณ ์ 25๋จ์ด ๋ด์ธ๋ก ๊ฐ๋ฅํด์ผํ๋ค. ๐
์๋ฆฌ
: ํด๋์ค ๋ช ์ ๊ท์น๊ณผ๋ ์ฐ๊ด๋ ๊ฒ ๊ฐ๋ค.ํ๋ฏธ
: doc string์ ํจ์ ์ค๋ช ์ ์ธ๋ ํ์ค๋ก ์์จ์ง๋ฉด ํด๋์ค๋ฅผ ๋ถ๋ฆฌํด์ผ ๋ ๊ฑฐ ๊ฐ๋ค.
p175 - 176. ๋จ์ผ ์ฑ ์ ์์น(Single Responsibility Principle, SRP)์ ํด๋์ค๋ ๋ชจ๋์ ๋ณ๊ฒฝํ ์ด์ ๊ฐ ํ๋, ๋จ ํ๋๋ฟ์ด์ด์ผ ํ๋ค๋ ์์น์ด๋ค. SRP๋ '์ฑ ์'์ด๋ผ๋ ๊ฐ๋ ์ ์ ์ํ๋ฉฐ ์ ์ ํ ํด๋์ค ํฌ๊ธฐ๋ฅผ ์ ์ํ๋ค. ํด๋์ค๋ ์ฑ ์, ์ฆ ๋ณ๊ฒฝํ ์ด์ ๊ฐ ํ๋์ฌ์ผ ํ๋ค๋ ์๋ฏธ๋ค. ... ์ฑ ์, ์ฆ ๋ณ๊ฒฝํ ์ด์ ๋ฅผ ํ์ ํ๋ ค ์ ์ฐ๋ค ๋ณด๋ฉด ์ฝ๋๋ฅผ ์ถ์ํํ๊ธฐ๋ ์ฌ์์ง๋ค. ๋ ์ข์ ์ถ์ํ๊ฐ ๋ ์ฝ๊ฒ ๋ ์ค๋ฅธ๋ค. SuperDashboard์์ ๋ฒ์ ์ ๋ณด๋ฅผ ๋ค๋ฃจ๋ ๋ฉ์๋ ์ธ ๊ฐ๋ฅผ ๋ฐ๋ก ๋นผ๋ด Version์ด๋ผ๋ ๋ ์์ ์ธ ํด๋์ค๋ฅผ ๋ง๋ ๋ค(๋ชฉ๋ก 10-2, 10-3 ์ฐธ์กฐ). Version ํด๋์ค๋ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฌ์ฉํ๊ธฐ ์์ฃผ ์ฌ์ด ๊ตฌ์กฐ๋ค! ๐๐ต
์๋ฆฌ
: โ๋ณ๊ฒฝํ ์ด์ โ์ ์ ํํ ์๋ฏธโฆ?ํ๋ธ
: โ์ฑ ์'(=๋ณ๊ฒฝํ ์ด์ )์ด โ์ญํ โ์ด๋ ๋น์ทํ ์๋ฏธ..?ํญ๊ท
: ํด๋์ค๋ฅผ ์ด๋ ํ๋์ ๋ชฉ์ ์ ๋ฌ์ฑํ๊ธฐ ์ํด ์ฌ๋ฌ ๋ฉ์๋๋ฅผ ์ ์ํ๋ ๋๋์ผ๋ก ์๊ฐํ๋ฉด โ์ฑ ์"์ด ์ด๋ค ์๋ฏธ์ธ์ง ์๋ฟ์ง ์์๊นโฆ?
p176. ์ํํธ์จ์ด๋ฅผ ๋์๊ฐ๊ฒ ๋ง๋๋ ํ๋๊ณผ ์ํํธ์จ์ด๋ฅผ ๊นจ๋ํ๊ฒ ๋ง๋๋ ํ๋์ ์์ ํ ๋ณ๊ฐ๋ค. ์ฐ๋ฆฌ๋ค ๋๋ค์๋ ๋๋ ์ฉ๋์ ํ๊ณ๊ฐ ์์ด '๊นจ๋ํ๊ณ ์ฒด๊ณ์ ์ธ ์ํํธ์จ์ด'๋ณด๋ค '๋์๊ฐ๋ ์ํํธ์จ์ด'์ ์ด์ ์ ๋ง์ถ๋ค. ๐ง
์๋ฆฌ
: ํ๋ฐํ..! ๋ฆฌ๋์ ์ญํ ์ด ์ค์ํ ๊ฒ ๊ฐ๋ค. ์ฅ๋น๋ก ๋ฐ์ด๋ถ์ด๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ๋ค ใ
p177. ํฐ ํด๋์ค ๋ช ๊ฐ๊ฐ ์๋๋ผ ์์ ํด๋์ค ์ฌ๋ฟ ์ด๋ค์ง ์์คํ ์ด ๋ ๋ฐ๋์งํ๋ค. ๐๐ต
p178. 'ํจ์๋ฅผ ์๊ฒ, ๋งค๊ฐ๋ณ์ ๋ชฉ๋ก์ ์งง๊ฒ'๋ผ๋ ์ ๋ต์ ๋ฐ๋ฅด๋ค ๋ณด๋ฉด ๋๋๋ก ๋ช๋ช ๋ฉ์๋๋ง์ด ์ฌ์ฉํ๋ ์ธ์คํด์ค ๋ณ์๊ฐ ์์ฃผ ๋ง์์ง๋ค. ์ด๋ ์ญ์คํ๊ตฌ ์๋ก์ด ํด๋์ค๋ก ์ชผ๊ฐ์ผ ํ๋ค๋ ์ ํธ๋ค. ๐ต๐ง๐
p188. OCP(Open-Closed Principle)๋ ํด๋์ค ํ์ฅ์ ๊ฐ๋ฐฉ์ ์ด๊ณ ์์ ์ ํ์์ ์ด์ด์ผ ํ๋ค๋ ์์น์ด๋ค. ... ์ ๊ธฐ๋ฅ์ ์์ ํ๊ฑฐ๋ ๊ธฐ์กด ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ ๋ ๊ฑด๋๋ฆด ์ฝ๋๊ฐ ์ต์์ธ ์์คํ ๊ตฌ์กฐ๊ฐ ๋ฐ๋์งํ๋ค. ์ด์์ ์ธ ์์คํ ์ด๋ผ๋ฉด ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋ ์์คํ ์ ํ์ฅํ ๋ฟ ๊ธฐ์กด ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง๋ ์๋๋ค. ๐๐ง๐
์๋ฆฌ
: ์ฒ์์ ์ดํด๊ฐ ์๋ผ์ ์ฌ๋ฌ๋ฒ ์ฝ์๋๋ฐ, ์ด๋ก ์ ์ผ๋ก ๋ง๋๋ง์ธ ๊ฒ ๊ฐ๋ค. ๊ทผ๋ฐ ์ด๋ก ์ ์ด๋ก ์ผ ๋ฟ.. ์ด๋ ค์ธ ๊ฒ ๊ฐ๋ค.ํ๋ฏธ
: ๋์ค์ ์๊ฐํ๋ฉด OCP๋ฅผ ๋ฐ๋ผ ํด๋์ค๋ฅผ ์ง๋๊ฒ์ด ์ข๊ฒ ๋ค.
p190. ์์คํ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๋ฉด ์ ์ฐ์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ๋ ๋์ฑ ๋์์ง๋ค. ๊ฒฐํฉ๋๊ฐ ๋ฎ๋ค๋ ์๋ฆฌ๋ ๊ฐ ์์คํ ์์๊ฐ ๋ค๋ฅธ ์์๋ก๋ถํฐ ๊ทธ๋ฆฌ๊ณ ๋ณ๊ฒฝ์ผ๋ก๋ถํฐ ์ ๊ฒฉ๋ฆฌ๋์ด ์๋ค๋ ์๋ฏธ๋ค. ์์คํ ์์๊ฐ ์๋ก ์ ๊ฒฉ๋ฆฌ๋์ด ์์ผ๋ฉด ๊ฐ ์์๋ฅผ ์ดํดํ๊ธฐ๋ ๋ ์ฌ์์ง๋ค. ๐๐
ํ๋ฏธ
: ํจ์ ๊ฐ์ dependency๋ฅผ ์ต์ํ ํ๋ ๊ฒ์ด ๋ง๋ค์ด์ง ํจ์๋ฅผ ๊ฐ์ ธ๋ค ์ฌ์ฉํ๊ธฐ ๊ฐํธํด ์ง๋ค.์๋ฆฌ
: ๊ฒฐํฉ๋๋ผ๋ ๊ฐ๋ ์ ์ฒ์ ์๊ฐํด๋ณธ ๊ฒ ๊ฐ๋ค. ์์ผ๋ก ํด๋์ค๋ฅผ ์ชผ๊ฐค ๋ ์ ์ฉํ๊ฒ ์ฐ์ผ ๊ฐ๋ !
p190. ๊ฒฐํฉ๋๋ฅผ ์ต์๋ก ์ค์ด๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๋ ๋ค๋ฅธ ํด๋์ค ์ค๊ณ ์์น์ธ DIP(Dependency Inversion Principle)๋ฅผ ๋ฐ๋ฅด๋ ํด๋์ค๊ฐ ๋์จ๋ค. ๋ณธ์ง์ ์ผ๋ก DIP๋ ํด๋์ค๊ฐ ์์ธํ ๊ตฌํ์ด ์๋๋ผ ์ถ์ํ์ ์์กดํด์ผ ํ๋ค๋ ์์น์ด๋ค. ๐
์๋ฆฌ
: ์ถ์ํ๋ฅผ ์ ๋๋ก ๊ตฌํํ๋ค๋ฉด 188 ํ์ด์ง์์ ์ธ๊ธํ โํ์ฅ์ ์ฝ๊ฒ, ์์ ์ ์ด๋ ต๊ฒโ๋ฅผ ๋ง์กฑํ ์ ์์ ๊ฒ ๊ฐ๋ค.
p194. ๋์๊ฐ ๋์๊ฐ๋ ๋ ๋ค๋ฅธ ์ด์ ๋ ์ ์ ํ ์ถ์ํ์ ๋ชจ๋ํ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ํฐ ๊ทธ๋ฆผ์ ์ดํดํ์ง ๋ชปํ ์ง๋ผ๋ ๊ฐ์ธ๊ณผ ๊ฐ์ธ์ด ๊ด๋ฆฌํ๋ โ๊ตฌ์ฑ์์โ๋ ํจ์จ์ ์ผ๋ก ๋์๊ฐ๋ค. ๐๐ต๐ง
ํ๋ธ
: ๊ฑด์ถ๊ณผ์ ๋น์ ๊ฐ ๋ค์๋ ์ด์ด์ง๋๋ฐ ์ ์ ํ ๋น์ ์ธ๋ฏ!
p195. ์ํํธ์จ์ด ์์คํ ์ (์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ฒด๋ฅผ ์ ์ํ๊ณ ์์กด์ฑ์ ์๋ก โ์ฐ๊ฒฐโํ๋) ์ค๋น ๊ณผ์ ๊ณผ (์ค๋น ๊ณผ์ ์ดํ์ ์ด์ด์ง๋) ๋ฐํ์ ๋ก์ง์ ๋ถ๋ฆฌํด์ผ ํ๋ค. ๐
ํญ๊ท
: ์๋ฒ ๊ฐ๋ฐํ ๋ ๋ณด๋ฉด, DB์ธ์ ์ ์์ฑํ๋ ๊ณผ์ ๊ณผ ์ค์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ก์ง์ด ๋ถ๋ฆฌ๋์ด ์๋๋ฐ ๊ทธ๊ฒ ์๊ฐ์ด ๋ฌ๋ค.์๋ฆฌ
: ํจ์๋ฅผ ๋ถ๋ฆฌํ๋ ๊ธฐ์ค์ ์กฐ๊ธ ๋ ๋ช ํํ๊ฒ ์ธ์ธ ์ ์๊ฒ ๋์๋ค. ์์๊ณผ์ ์ ์ด๊ธฐํ์ ๋ฐํ์ ์ค ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํ๋ ์ด๊ธฐํ๋ ๋ค๋ฅด๋ฏ์ด!
p195. ์ด๊ธฐํ ์ง์ฐ(Lazy Initialization)ํน์ ๊ณ์ฐ ์ง์ฐ(Lazy Evaluation)์ด๋ผ๋ ๊ธฐ๋ฒ์ด๋ค. ... ์ฑ ์์ด ๋์ด๋ผ๋ ๋ง์ ๋ฉ์๋๊ฐ ์์ ์ ๋ ๊ฐ์ง ์ด์ ์ํํ๋ค๋ ์๋ฏธ๋ค. ์ฆ, ์๊ฒ๋๋ง ๋จ์ผ ์ฑ ์ ์์น(Single Responsibility Principle, SRP)์ ๊นฌ๋ค๋ ๋ง์ด๋ค. ๐๐ต
ํญ๊ท
: ๋จ์ผ ์ฑ ์ ์์น์ด ์ ์ ๋ฆฌ๋ ๋ธ๋ก๊ทธ
p196 - p197. ์์คํ ์์ฑ๊ณผ ์์คํ ์ฌ์ฉ์ ๋ถ๋ฆฌํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก, ์์ฑ๊ณผ ๊ด๋ จํ ์ฝ๋๋ ๋ชจ๋ main์ด๋ main์ด ํธ์ถํ๋ ๋ชจ๋๋ก ์ฎ๊ธฐ๊ณ , ๋๋จธ์ง ์์คํ ์ ๋ชจ๋ ๊ฐ์ฒด๊ฐ ์์ฑ๋์๊ณ ๋ชจ๋ ์์กด์ฑ์ด ์ฐ๊ฒฐ๋์๋ค๊ณ ๊ฐ์ ํ๋ค. โฆ main ํจ์์์ ์์คํ ์ ํ์ํ ๊ฐ์ฒด๋ฅผ ์์ฑํ ํ ์ด๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๊ธด๋ค. โฆ ๋ชจ๋ ํ์ดํ๊ฐ main ์ชฝ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ชฝ์ ํฅํ๋ค. ์ฆ, ์ ํ๋ฆฌ์ผ์ด์ ์ main์ด๋ ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ ๊ณผ์ ์ ์ ํ ๋ชจ๋ฅธ๋ค๋ ๋ป์ด๋ค. ๋จ์ง ๋ชจ๋ ๊ฐ์ฒด๊ฐ ์ ์ ํ ์์ฑ๋์๋ค๊ณ ๊ฐ์ ํ๋ค. ๐๐๐ง๐ต
ํ๋ฏธ
: main๊ณผ ๋ค๋ฅธ ๊ธฐ๋ฅ๋ค์ ๋ถ๋ฆฌํ์. ์ค์ ๊ณผ, ๋ถ๋ฆฌํ๋ ๋ถ๋ถ(์ฝ๋)๋ฅผ ๋ถ๋ฆฌ
p197. LineItem์ ์์ฑํ๋ ์์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ฒฐ์ ํ์ง๋ง LineItem์ ์์ฑํ๋ ์ฝ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ชจ๋ฅธ๋ค. ๐๐ต๐ง
ํญ๊ท
: โํฉํ ๋ฆฌ ๋ฉ์๋ ํจํด vs ์ถ์ํ ํฉํ ๋ฆฌ ํจํดโ ๊ด๋ จํด์ ์ฐพ์๋ณด์๋ฉด ์ข์ ๊ฒ ๊ฐ์์!
p198. ์ฌ์ฉ๊ณผ ์ ์์ ๋ถ๋ฆฌํ๋ ๊ฐ๋ ฅํ ๋ฉ์ปค๋์ฆ ํ๋๊ฐ ์์กด์ฑ ์ฃผ์ (Dependency Injection, DI)์ด๋ค. ์์กด์ฑ ์ฃผ์ ์ ์ ์ด ์ญ์ (Inversion of Control, IoC) ๊ธฐ๋ฒ์ ์์กด์ฑ ๊ด๋ฆฌ์ ์ ์ฉํ ๋ฉ์ปค๋์ฆ์ด๋ค. ์ ์ด ์ญ์ ์์๋ ํ ๊ฐ์ฒด๊ฐ ๋งก์ ๋ณด์กฐ ์ฑ ์์ ์๋ก์ด ๊ฐ์ฒด์๊ฒ ์ ์ ์ผ๋ก ๋ ๋๊ธด๋ค. ๐๐ต
ํ๋ธ
: ์์กด์ฑ ์ฃผ์ํญ๊ท
: ์ด ์ฅ์ ๋ณด๋ ์๊ฐ์ ๋ฐ๊ฟ์ค ๋ฌธ์ฅ. ์ฌ๊ธฐ์๋ถํฐ ๋ค์ ๋ด์ฉ์ 100% ์ดํดํ๋ ค๋ฉด ์๋ฐ ์คํ๋ง ๋ถํธ๋ฅผ ๊ณต๋ถํด์ผ ํ๋ค.
p198. ์ง์ ํ ์์กด์ฑ ์ฃผ์ ์ ์ฌ๊ธฐ์ ํ ๊ฑธ์ ๋ ๋๊ฐ๋ค. ํด๋์ค๊ฐ ์์กด์ฑ์ ํด๊ฒฐํ๋ ค ์๋ํ์ง ์๋๋ค. ํด๋์ค๋ ์์ ํ ์๋์ ์ด๋ค. ๋์ ์ ์์กด์ฑ์ ์ฃผ์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ค์ ์(setter) ๋ฉ์๋๋ ์์ฑ์ ์ธ์๋ฅผ ์ ๊ณตํ๋ค. โฆ ๋๋ค์ DI ์ปจํ ์ด๋๋ ํ์ํ ๋๊น์ง๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์๊ณ , ๋๋ถ๋ถ์ ๊ณ์ฐ ์ง์ฐ์ด๋ ๋น์ทํ ์ต์ ํ์ ์ธ ์ ์๋๋ก ํฉํ ๋ฆฌ๋ฅผ ํธ์ถํ๊ฑฐ๋ ํ๋ก์๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค. ๐
์๋ฆฌ
: ์์กด์ฑ ์ฃผ์ ๊ณผ ๊ณ์ฐ์ง์ฐ๊ณผ ๊ฐ์ ์ต์ ํ๋ ๋ฌด์จ ๊ด๊ณ๊ฐ ์์๊น?
p199. ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ(Test-driven Development, TDD), ๋ฆฌํฉํฐ๋ง, ๊นจ๋ํ ์ฝ๋๋ ์ฝ๋ ์์ค์์ ์์คํ ์ ์กฐ์ ํ๊ณ ํ์ฅํ๊ธฐ ์ฝ๊ฒ ๋ง๋ ๋ค. ๐
์๋ฆฌ
: ๊ธฐ์ตํด์ผํ ์์๋ค!
p199. โ์ฒ์๋ถํฐ ์ฌ๋ฐ๋ฅด๊ฒโ ์์คํ ์ ๋ง๋ค ์ ์๋ค๋ ๋ฏฟ์์ ๋ฏธ์ ์ด๋ค. ๋์ ์ ์ฐ๋ฆฌ๋ ์ค๋ ์ฃผ์ด์ง ์ฌ์ฉ์ ์คํ ๋ฆฌ์ ๋ง์ถฐ ์์คํ ์ ๊ตฌํํด์ผ ํ๋ค. ๋ด์ผ์ ์๋ก์ด ์คํ ๋ฆฌ์ ๋ง์ถฐ ์์คํ ์ ์กฐ์ ํ๊ณ ํ์ฅํ๋ฉด ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ณต์ ์ด๊ณ ์ ์ง์ ์ธ ์ ์์ผ ๋ฐฉ๋ฒ์ ํต์ฌ์ด๋ค. ๐๐ต๐ง
ํ๋ฏธ
: ์ฒ์๋ถํฐ ์ ๋๋ก๋ ์์คํ ์ ๋ง๋ค ์๋์์ด ๋ฐ๋ณต์ ์ผ๋ก ๋ง๋ค์ด๊ฐ์๋ ๋ง์ด ๊ณต๊ฐ๋จ
p200. ์ํํธ์จ์ด ์์คํ ์ โ์๋ช ์ด ์งง๋คโ๋ ๋ณธ์ง๋ก ์ธํด ์ํคํ ์ฒ์ ์ ์ง์ ์ธ ๋ฐ์ ์ด ๊ฐ๋ฅํ๋ค. ๐๐ต
p210. ์ฝ๋ ์์ค์์ ์ํคํ ์ฒ ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํ ์ ์๋ค๋ฉด, ์ง์ ํ ํ ์คํธ ์ฃผ๋ ์ํคํ ์ฒ ๊ตฌ์ถ์ด ๊ฐ๋ฅํด์ง๋ค. ๊ทธ๋๊ทธ๋ ์๋ก์ด ๊ธฐ์ ์ ์ฑํํด ๋จ์ํ ์ํคํ ์ฒ๋ฅผ ๋ณต์กํ ์ํคํ ์ฒ๋ก ํค์๊ฐ ์๋ ์๋ค. ๐๐ต
p211. ๋ชจ๋์ ๋๋๊ณ ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํ๋ฉด ์ง์ฝ์ ์ธ ๊ด๋ฆฌ์ ๊ฒฐ์ ์ด ๊ฐ๋ฅํด์ง๋ค. ๐
p211. ์ฐ๋ฆฌ๋ ๋๋๋ก ๊ฐ๋ฅํ ๋ง์ง๋ง ์๊ฐ๊น์ง ๊ฒฐ์ ์ ๋ฏธ๋ฃจ๋ ๋ฐฉ๋ฒ์ด ์ต์ ์ด๋ผ๋ ์ฌ์ค์ ๊น๋จน๊ณค ํ๋ค. ๊ฒ์ผ๋ฅด๊ฑฐ๋ ๋ฌด์ฑ ์ํด์๊ฐ ์๋๋ค. ์ต๋ํ ์ ๋ณด๋ฅผ ๋ชจ์ ์ต์ ์ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ธฐ ์ํด์๋ค. ๐๐ต
p213. ๋ชจ๋ ์ถ์ํ ๋จ๊ณ์์๋ ์๋๋ ๋ช ํํ ํํํด์ผ ํ๋ค. ๊ทธ๋ฌ๋ ค๋ฉด POJO๋ฅผ ์์ฑํ๊ณ ๊ด์ ํน์ ๊ด์ ๊ณผ ์ ์ฌํ ๋ฉ์ผ๋์ฆ์ ์ฌ์ฉํด ๊ฐ ๊ตฌํ ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํด์ผ ํ๋ค. ์์คํ ์ ์ค๊ณํ๋ ๊ฐ๋ณ ๋ชจ๋์ ์ค๊ณํ๋ , ์ค์ ๋ก ๋์๊ฐ๋ ๊ฐ์ฅ ๋จ์ํ ์๋จ์ ์ฌ์ฉํด์ผ ํ๋ค๋ ์ฌ์ค์ ๋ช ์ฌํ์. ๐๐ง๐ต
ํญ๊ท
: EJB์ EJB์ ๋จ์ , POJO๊ฐ ๋์ค๊ฒ ๋ ๊ณ๊ธฐ, Spring์ ํ์ ๋ฐฐ๊ฒฝ์ ์ฐพ์๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ์์!
p216. ์ฐ๋ฆฌ๋ค ๋๋ค์๋ ์ผํธ ๋ฐฑ์ด ์ ์ํ ๋จ์ํ ์ค๊ณ ๊ท์น ๋ค ๊ฐ์ง๊ฐ ์ํํธ์จ์ด ์ค๊ณ ํ์ง์ ํฌ๊ฒ ๋์ฌ์ค๋ค๊ณ ๋ฏฟ๋๋ค. ์ผํธ ๋ฒก์ ๋ค์ ๊ท์น์ ๋ฐ๋ฅด๋ฉด ์ค๊ณ๋ '๋จ์ํ๋ค'๊ณ ๋งํ๋ค. ์๋ ๋ชฉ๋ก์ ์ค์๋ ์์ด๋ค. ๐ต๐ง
- ๋ชจ๋ ํ
์คํธ๋ฅผ ์คํํ๋ค.
- ์ค๋ณต์ ์์ค๋ค.
- ํ๋ก๊ทธ๋๋จธ ์๋๋ฅผ ํํํ๋ค.
- ํด๋์ค์ ๋ฉ์๋ ์๋ฅผ ์ต์๋ก ์ค์ธ๋ค.
p217. ์ฆ, ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ๋ฉด ์ค๊ณ ํ์ง์ด ๋์์ง๋ค. ๐ง
ํญ๊ท
: ์์ ๊ฐ์ฅ ํฐ ๊ณ ๋ฏผ์ด ํ ์คํธ ์ฝ๋ ์ง๋ ๊ฒ์ธ๋ฐ, ๋๋ฌด ์์ ๋จ์์ ๊ธฐ๋ฅ์ ํ ์คํธ ํ๊ธฐ์๋ ์๋ฏธ๊ฐ ์๊ณ ๋๋ฌด ํฐ ๋จ์์ ๊ธฐ๋ฅ์ ํ ์คํธ ํ๊ธฐ์๋ ๋๋ฌด ๋ณต์กํ ๊ฒ ๊ฐ๋ค. ํ ์คํธ๊ฐ ํ์ํ ์ง์ ์ ์ฐพ๊ธฐ๊ฐ ์ด๋ ค์ด ๊ฒ ๊ฐ๋ค.์๋ฆฌ
: A-B-C๋ก ์ฐ๊ฒฐ๋ ์ํคํ ์ฒ๊ฐ ์๋ค๊ณ ํ๋ฉด, A-B์ ๊ฒฝ์ฐ๊ฐ 100๊ฐ์ง, B-C์ ๊ฒฝ์ฐ๊ฐ 100๊ฐ์ง์ผ ๋, ํฐ ๋จ์(ABC)๋ก ํ ์คํธ ํ๋ ๊ฒฝ์ฐ๋ 100x100๊ฐ์ง ๊ฒฝ์ฐ์ ์๊ฐ ์๊ธฐ๊ณ , ์์ ๋จ์๋ก ํ ์คํธ ํ๋ ๊ฒฝ์ฐ(AB, BC)์๋ 100+100๊ฐ์ง ๊ฒฝ์ฐ์ ์๊ฐ ์๊ธธ ๊ฒ์ด๋ค. ํญ๊ท๋ ๋ง์์ฒ๋ผ ์ด๋ค ๋จ์๋ก ํ ์คํธ๋ฅผ ํ๋์ง, ์ธ์ ํ ์คํธ๋ฅผ ์งํํ๊ณ ์ธ์ ํ ์คํธ ์ฝ๋๋ฅผ ์ง์ผํ๋์ง์ ๋ํ ๊ณ ๋ฏผ์ด ํ์ํ ๊ฒ ๊ฐ๋ค.
p217. ๋ฆฌํฉํ ๋ง ๋จ๊ณ์์ ์์ง๋๋ฅผ ๋์ด๊ณ , ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ณ , ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฆฌํ๋ ๋ฑ..ํ๋ก๊ทธ๋๋จธ์ ์๋๋ฅผ ํํํ๊ณ , ํด๋์ค์ ๋ฉ์๋ ์๋ฅผ ์ต์๋ก ์ค์ด๋ ๋จ๊ณ์ด๊ธฐ๋ ํ๋ค. ๐
ํ๋ฏธ
: ํ๋ฒ์ ๋ง์๊ฒ์ ํ์ง ๋ง๊ณ . ์ฝ๋ ์ปจ๋ฒค์ ์ ์งํค๋ ๊ฒ์ ์ข์๋ฐ, ๋ฆฌํฉํ ๋ง๋ ์ฝ๋๋ฅผ ์ง๋ ๊ณผ์ ์ด๋. ๋ฆฌํฉํ ๋ง์์ ๋๋จธ์ง๋ฅผ ์๊ฐํ์.
p222. ๊ทธ๋ฌ๋ฏ๋ก ์์ ์ ์ํ์ ์กฐ๊ธ ๋ ์๋ํ์. ํจ์์ ํด๋์ค์ ์กฐ๊ธ ๋ ์๊ฐ์ ํฌ์ํ์. ๋ ๋์ ์ด๋ฆ์ ์ ํํ๊ณ , ํฐ ํจ์๋ฅผ ์์ ์ฌ๋ฟ์ผ๋ก ๋๋๊ณ , ์์ ์ ์ํ์ ์กฐ๊ธ๋ง ๋ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด์. ๐๐ง
์๋ฆฌ
: ์ฒ์์๋ ์ค๋๊ฑธ๋ฆฌ์ง๋ง, ์ฐ์ฐจ๊ฐ ์์ผ์๋ก ๋ ๋น ๋ฅด๊ฒ, ๊ฒฌ๊ณ ํ ์ฝ๋๋ฅผ ์งค ์ ์์ ๊ฒ์ด๋ค!
p228. ๋์์ฑ์ '๋๋ก' ์ฑ๋ฅ์ ๋์ฌ์ค๋ค. ๐ต๐๐ง
ํ๋ฏธ
: ์๋ฌ์ ๋ฒ์นํ๋ธ
: ๋์์ฑ์ด ์ฑ๋ฅ์ ๋์ด๊ธฐ ์ํ ๊ฒ์ ๋ง์ง๋ง ํญ์ ๊ทธ๋ฐ ๊ฒ์ ์๋๋ค.
p228. ์ผ๋ฐ์ ์ผ๋ก ๋์์ฑ ๋ฒ๊ทธ๋ ์ฌํํ๊ธฐ ์ด๋ ต๋ค. ๊ทธ๋์ ์ง์ง ๊ฒฐํจ์ผ๋ก ๊ฐ์ฃผ๋์ง ์๊ณ ์ผํ์ฑ ๋ฌธ์ ๋ก ์ฌ๊ฒจ ๋ฌด์ํ๊ธฐ ์ฝ๋ค. ๐๐ต๐๐ง
p230. ๋์์ฑ ์ฝ๋๋ ๋ค๋ฅธ ์ฝ๋์ ๋ถ๋ฆฌํ๋ผ. ๐๐ต
์๋ฆฌ
: ๋์์ฑ ๊ด๋ จํ์ฌ ํ ์คํธ, ์ค๋ฅ ๊ฒ์ถ์ด ์ด๋ ค์ฐ๋ฏ๋ก ๋ค๋ฅธ ์ฝ๋์ ๋ถ๋ฆฌํ๋ผ๋ ์ด ์ฝ๋ฉํธ๊ฐ ๊ณต๊ฐ๊ฐ๋ค.ํ๋ธ
: ๋์์ฑ ํ๋๋ง์ผ๋ก๋ ์ถฉ๋ถํ ์ด๋ ต๋ค.
p231. ์ด๋ค ๊ฒฝ์ฐ์๋ ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํด ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ๊ฐ๋ฅํ๋ค. ์ด๋ค ๊ฒฝ์ฐ์๋ ๊ฐ ์ค๋ ๋๊ฐ ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํด ์ฌ์ฉํ ํ ํ ์ค๋ ๋๊ฐ ํด๋น ์ฌ๋ณธ์์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ๋ ๊ฐ๋ฅํ๋ค. ๐
์๋ฆฌ
: ์ด๋ป๊ฒ ์ฌ๋ณธ์ด lock์ ๋์ ํ ์ ์์๊น? / ์ฌ๋ณธ์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ์ค๋ ๋์์ ๋์์ ์ฒ๋ฆฌ๋ฅผ ํ ํ, ์ด๋ค ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์๋ค์ผ์ง ์ ํํ๋ ๋ฐฉ๋ฒ์ด๋ผ๋ ์ค๋ช ์ด ์์ ์๋ฟ์๋ค!ํญ๊ท
: ์ ๋ ๋ฌธ์ฅ์ ๋ ๊ฐ์ง ํด๊ฒฐ์ฑ ์ ์ ์๋ฅผ ํ ๊ฒ.
p232. ๋ ์์ ์ธ ์ค๋ ๋๋ก, ๊ฐ๋ฅํ๋ค๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์์์, ๋๋ ค๋ ๊ด์ฐฎ๋๋ก ์๋ฃ๋ฅผ ๋ ๋ฆฝ์ ์ธ ๋จ์๋ก ๋ถํ ํ๋ผ. ๐๐ต
์๋ฆฌ
: ํฐ ๋จ์์ ์๋ฃ๋ฅผ ์์ ๋จ์๋ก ์๋ผ์ ๊ณต์ ์์์ ๊ณต์ ๋ฒ์๋ฅผ ์ค์ด๋ผ๋ ๋ง์ผ๊น? / ์ต๋ํ ๊ณต์ ์์์ ์ค์ด๋ผ๋ ๊ฑธ๊น?
p232. ์ผ๋ถ ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ค๋ ๋์ ์์ ํ์ง ๋ชปํ๋ค. ๐
ํ๋ฏธ
: ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋งน์ ํ์ง๋ง์.. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ๋์ด ์ง ์ฝ๋์๋ฆฌ
: ๋ด๊ฐ ๋ชจ๋ฅด๊ฒ ๋ฐ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์กฐ์ฌํด๋ผ..
p234. ์ฒ๋ฆฌ์จ์ ๊ฐ์กฐํ๋ฉด ๊ธฐ์ ํ์์ด ์๊ธฐ๊ฑฐ๋ ์ค๋๋ ์ ๋ณด๊ฐ ์์ธ๋ค. ๊ฐฑ์ ์ ํ์ฉํ๋ฉด ์ฒ๋ฆฌ์จ์ ์ํฅ์ ๋ฏธ์น๋ค. ๐
์๋ฆฌ
: ์ฌ๊ธฐ์ ์ฒ๋ฆฌ์จ์ ์๋ฏธ๋ ํ๋ฒ์ ์ฒ๋ฆฌํ๋ ์ผ์ ํฌ๊ธฐ์ผ๊น? / ์คํฐ๋ ๋ฏธํ ๋์ค ์ดํดํด๋ฒ๋ ธ๋ค.. ์งง์ ํ์คํฌ๋ง ์ฒ๋ฆฌํ๋ค ๋ณด๋ฉด, ์ฒ๋ฆฌ์จ์ ๋๊ฒ ์ง๋ง ๊ธฐ์ํ์์ ํผํ ์ ์์ ๊ฒ!
p234. ๋๊ฐ๋ ์ฐ๊ธฐ ์ค๋ ๋๊ฐ ๋ฒํผ๋ฅผ ์ค๋ซ๋์ ์ ์ ํ๋ ๋ฐ๋์ ์ฌ๋ฌ ์ฝ๊ธฐ ์ค๋ ๋๊ฐ ๋ฒํผ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋๋ผ ์ฒ๋ฆฌ์จ์ด ๋จ์ด์ง๋ค. ๐
์๋ฆฌ
: ํ๋ฒ๋ ์ฐ๊ธฐ ์ค๋ ๋์ ์ฝ๊ธฐ ์ค๋ ๋์ ์๋/์ฒ๋ฆฌ์จ์ ๋ํ ์๊ฐ์ ๋ชปํด๋ดค๋ ๊ฒ ๊ฐ๋ค. ์ฐ๊ธฐ/์ฝ๊ธฐ ์ค๋ ๋๊ฐ ๋ชจ๋ ๋์ผํ ์กฐ๊ฑด ๋ด์ ์์ ๊ฒฝ์ฐ, ์ฐ๊ธฐ ์ค๋ ๋๊ฐ ๋ ๋๋ฆด๊น? ์ฐ๊ธฐ๊ฐ ๋ ๋๋ฆฌ๋ค๋ฉด ์ ๋ ๋๋ฆด๊น? ANS: ์ฐ๊ธฐ๋ฅผ ์ํด์๋ FAKE READ๋ฅผ ํ๋ฒ ๋ ๊ฑฐ์น๋ค๊ณ ํ๋ค!
p235. ์ฃผ์ํด์ ์ค๊ณํ์ง ์์ผ๋ฉด ๋ฐ๋๋ฝ, ๋ผ์ด๋ธ๋ฝ, ์ฒ๋ฆฌ์จ ์ ํ, ํจ์จ์ฑ ์ ํ ๋ฑ์ ๊ฒช๋๋ค. ๐
p235. ๊ณต์ ๊ฐ์ฒด ํ๋์๋ ๋ฉ์๋ ํ๋๋ง ์ฌ์ฉํ๋ผ. ๐๐ง
์๋ฆฌ
: ํ๋์ ๊ณต์ ์์์ ๋๋๋ก ํ๋์ ๋ฉ์๋๋ง ์ ๊ทผํ ์ ์๋๋ก ํ๋ผ๋ ๋ง์ผ๊น? ์ต๋ํ ๋์์ฑ ๊ตฌํํ ๊ฑฐ๋ฆฌ๋ฅผ ์ค์ด๋ผ๋ ๋ง์ผ์ง๋? ํ๋์ ๋ฉ์๋๋ง ๊ณต์ ์์์ ์ ๊ทผํ๋๋ก ํ๊ธฐ.ํญ๊ท
: p424๋ฅผ ์์ธํ ์ฝ์ด๋ด์ผ ํ์คํ ์๊ฒ ์ง๋ง, ๋ฉ์๋ ์ฌ์ด ์์กด์ฑ์ ์ฐ๋ฆฌ๊ฐ ์ด๋ค ์ฝ๋๋ฅผ ์งฐ์ ๋ ๋ ๋ฉ์๋ ์ฌ์ด์ ์์กด์ฑ์ด ์๊ธฐ๋๋ก ์ง๋ ๊ฒ์ ๋งํ๋ ๊ฒ์ด๊ณ , ๊ทธ ์์กด์ฑ์ผ๋ก ์ธํด ํน์ด ์ผ์ด์ค์์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ ๊ณต์ ๊ฐ์ฒด ํ๋์ ๋ฉ์๋ ํ๋๋ง ์ฌ์ฉํ๋ผ๋ ๋ง์ด ๋์จ ๊ฒ ๊ฐ๋ค.
p236. ์ฝ๋๋ฅผ ์งค ๋๋ ์๊ณ์์ญ ์๋ฅผ ์ต๋ํ ์ค์ฌ์ผ ํ๋ค. ... ํ์ ์ด์์ผ๋ก ์๊ณ์์ญ ํฌ๊ธฐ๋ฅผ ํค์ฐ๋ฉด ์ค๋ ๋ ๊ฐ์ ๊ฒฝ์์ด ๋์ด๋๊ณ ํ๋ก๊ทธ๋จ ์ฑ๋ฅ์ด ๋จ์ด์ง๋ค. ๐
์๋ฆฌ
: ๋น์ฐํ ์์ ํ๊ฒ ์๊ณ์์ญ์ ํฌ๊ธฐ๋ฅผ ๋ํ์ผํ๋ค๊ณ ์๊ฐํ๋๋ฐ, ์ด๋ฌํ ์ ์ด ์ค๋ ๋๊ฐ ๊ฒฝ์๊ณผ ๊ฐ์ด ์์คํ ์ฑ๋ฅ์ ๋ฎ์ถ๋ ์์ธ์ด ๋ ์ ์๋ค๋ ์ ์ ๋ฐฐ์๊ฐ๋ค.
p236. ์๊ตฌ์ ์ผ๋ก ๋์๊ฐ๋ ์์คํ ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ๊ณผ ์ ์ ๋๋ค ๊น๋ํ๊ฒ ์ข ๋ฃํ๋ ์์คํ ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฅด๋ค. ๐๐ต
ํ๋ธ
: ์ฒ์๋ถํฐ ์ข ๋ฃ ์ฝ๋๋ฅผ ์ผ๋ํด ๋๊ณ ํ๋ก๊ทธ๋จ์ ์ค๊ณํด์ผ ํ๋ค.
p237. ์ฝ๋๊ฐ ์ฌ๋ฐ๋ฅด๋ค๊ณ ์ฆ๋ช ํ๊ธฐ๋ ํ์ค์ ์ผ๋ก ๋ถ๊ฐ๋ฅํ๋ค. ํ ์คํธ๊ฐ ์ ํ์ฑ์ ๋ณด์ฅํ์ง๋ ์๋๋ค. ๐
p237. ํ ์คํธ๊ฐ ์คํจํ๋ฉด ์์ธ์ ์ถ์ ํ๋ผ. ๋ค์ ๋๋ ธ๋๋ ํต๊ณผํ๋๋ผ๋ ์ด์ ๋ก ๊ทธ๋ฅ ๋์ด๊ฐ๋ฉด ์ ๋๋ก ์ ๋๋ค. ๐
์๋ฆฌ
: ๊ทธ๋ฌ๋ ๋์์ฑ ๋ฌธ์ ๋ผ๋ฉด ๋ฐ๊ฒฌ๊ณผ ์ฒ๋ฆฌ๊ฐ ์ด๋ ค์ด ๊ฒ ๊ฐ๋ค.
p238. ์ผํ์ฑ ๋ฌธ์ ๋ ์กด์ฌํ์ง ์๋๋ค๊ณ ๊ฐ์ ํ๋ ํธ์ด ์์ ํ๋ค. '์ผํ์ฑ' ๋ฌธ์ ๋ฅผ ๊ณ์ ๋ฌด์ํ๋ค๋ฉด ์๋ชป๋ ์ฝ๋ ์์ ์ฝ๋๊ฐ ๊ณ์ ์์ธ๋ค. ๐
์๋ฆฌ
: ์ผํ์ฑ ์ค๋ฅ๋ผ๊ณ ์น๋ถํ๋ฉฐ, ์๋ชป๋ ์ฝ๋ ์์ ๊ณ์ ์ฝ๋๋ฅผ ์์ง ๋ง์. ์ด๋ฐ ์์ผ๋ก ํ์ฌ์์ ์ผ์ ํ๋ฉด, ์กฐ๋ง๊ฐ ๋ด์ค์ ๋์ค๊ฒ ๋ ๊ฒ์ด๋ค.
p238. ๋ค๋ฅธ ํ๋ซํผ์์ ๋๋ ค๋ด๋ผ ๐
ํ๋ฏธ
: os๋ง๋ค ๋ฉ๋ชจ๋ฆฌ ์ ์ฑ , ์ค์ผ์ฅด๋ฌ๊ฐ ๋ค๋ฅด๋โฆ
p238. ์ค๋ ๋ ํ๊ฒฝ ๋ฐ์์ ์๊ธฐ๋ ๋ฒ๊ทธ์ ์ค๋ ๋ ํ๊ฒฝ์์ ์๊ธฐ๋ ๋ฒ๊ทธ๋ฅผ ๋์์ ๋๋ฒ๊น ํ์ง ๋ง๋ผ. ๋จผ์ ์ค๋ ๋ ํ๊ฒฝ ๋ฐ์์ ์ฝ๋๋ฅผ ์ฌ๋ฐ๋ก ๋๋ ค๋ผ. ๐๐ต๐๐ง
ํ๋ฏธ
: ๋ฉํฐ์ค๋ ๋,ํ๋ก์ธ์ค ํ๊ฒฝ์์ ๋๋ฒ๊น ์ ๋๋ฌด ํ๋ค๋ค..์๋ฆฌ
: ์ผ๋จ ํ ๊ฐ์ ์ค๋ ๋๋ก ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๊ณ , ๊ทธ ์ดํ์ โํ๋์ ๋ฉ์๋๋ง ํ๋์ ๊ณต์ ์์์ ์ ๊ทผํ ์ ์๋คโ ๋ฑ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋๋ก ์ฝ๋๋ฅผ ์์ ํจ์ด ์ข์ ๊ฒ ๊ฐ๋ค.ํ๋ธ
: ์ผ๋จ ๋จ์ผ ์ค๋ ๋๋ก ์ ๋๋ก ๋์๊ฐ๊ฒ ๋ง๋ ํ, ์ ์ ํ ์ค๋ ๋ ๊ฐ์๋ฅผ ํ์ ํ์ฌ ๋ฉํฐ ์ค๋ ๋ ๊ตฌํํ๊ธฐ
p239. ์ค์ํ์ ์ผ์ผํค๋ ค๋ฉด ํ๋ก์ธ์ ์๋ณด๋ค ๋ง์ ์ค๋ ๋๋ฅผ ๋๋ฆฐ๋ค. ์ค์ํ์ด ์ฆ์์๋ก ์๊ณ์์ญ์ ๋นผ๋จน์ ์ฝ๋๋ ๋ฐ๋๋ฝ์ ์ผ์ผํค๋ ์ฝ๋๋ฅผ ์ฐพ๊ธฐ ์ฌ์์ง๋ค. ๐
์๋ฆฌ
: ์ฃผ์๋ค์ ์ด์ผ๊ธฐ์ง๋ง, โ์ค์ํ์ด ์ผ์ด๋๋ ์๊ฐ๋ถํฐ ๊ทธ ์ฝ๋๋ ๋ชป์ด๋ค.โ๋ผ๋ ๋ง์ด ์๋ค.
p240. ๋ค์ค ์ค๋ ๋ ์ฝ๋๋ ํ๋ซํผ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋์๊ฐ๋ค. ๋ฐ๋ผ์ ์ฝ๋๊ฐ ๋์๊ฐ ๊ฐ๋ฅ์ฑ์ด ์๋ ํ๋ซํผ ์ ๋ถ์์ ํ ์คํธ๋ฅผ ์ํํด์ผ ๋ง๋ ํ๋ค. ๐
p241. yield()๋ฅผ ์ฝ์ ํ๋ฉด ์ฝ๋๊ฐ ์คํ๋๋ ๊ฒฝ๋ก๊ฐ ๋ฐ๋๋ค. ๐๐
ํ๋ฏธ
: ๋ณ๋ ฌํ ์คํ์์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ yield๋ฅผ ์ฌ์ฉํ๋๋ฐ ์ด๋ฐ ์ด์ ์ผ๋ ค๋โฆ ๊ณต๋ถ์ข ํ์์๋ฆฌ
: ๋๋คํจ์ ๋ถ์ฌํ์ฌ ํ ์คํธ ์ ๋ขฐ๋๋ฅผ ๋์ด๋ ๋ฐฉ๋ฒ์ด๋ผ๋!
p243. ํด๋ผ์ด์ธํธ์๊ฒ ๊ณต์ ์ํ๋ฅผ ๊ด๋ฆฌํ๋ ์ฑ ์์ ๋ ๋๊ธฐ์ง ์๋๋ค. ํ์ํ๋ค๋ฉด ๊ฐ์ฒด ์ค๊ณ๋ฅผ ๋ณ๊ฒฝํด ํด๋ผ์ด์ธํธ์๊ฒ ํธ์๋ฅผ ์ ๊ณตํ๋ค. ๐๐ง
์๋ฆฌ
: ํด๋ผ์ด์ธํธ๋ ์ด๋ค ์๋ก์ด ์ด์๋ฅผ ๋ง๋ค์ด์ค์ง ๊ฑฑ์ ๋ ์ ์๋ค.
p254. ํ๋ก๊ทธ๋๋ฐ์ ๊ณผํ๋ณด๋ค๋ ๊ณต์์ ๊ฐ๊น๋ค. ๊นจ๋ํ ์ฝ๋๋ฅผ ์ง๋ ค๋ฉด ์ง์ ๋ถํ ์ฝ๋๋ฅผ ์ง ๋ค์ ์ ๋ฆฌํด์ผ ํ๋ค๋ ์๋ฏธ๋ค. ๐ต๐
ํ๋ธ
: ํ๋ก๊ทธ๋๋ฐ์ ์ ํด์ง ๋ฐฉ๋ฒ์ด ์๋ค๊ธฐ ๋ณด๋ค ์ง์ ๋ถํ ์ฝ๋๋ฅผ ์ ์ฐจ ์ ๋ฆฌํด ๊ฐ๋ ๊ณผ์ ์ด๋ค.
p264. ๋๋ ๋ ์ธ์ ์ ํ์ ๋จ๊ณ์ ์ผ๋ก ์ถ๊ฐํ๋ค. ๋จผ์ String ์ธ์ ์ ํ์ ์ถ๊ฐํด ๋ค์ ์ฝ๋๋ฅผ ์ป์๋ค. ๐
์๋ฆฌ
: ๋ชจ๋ ์ธ์๋ฅผ ํ๊บผ๋ฒ์ ์ฒ๋ฆฌํ๋ ค๊ณ ํ๋ ๊ฒ๋ณด๋ค๋, ์ฌ์ด ์ธ์๋ถํฐ ๋จ๊ณ์ ์ผ๋ก ์ฒ๋ฆฌํ์.
p269. ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์ ์ง๋ณด์ํ๊ธฐ ์ข์ ์ํ๋ก ๋ง๋ค๋ ค๋ฉด ์ง๊ธ์ด ์ ๊ธฐ๋ผ ํ๋จํ๋ค. ๊ทธ๋์ ๋๋ ๊ธฐ๋ฅ์ ๋ ์ด์ ์ถ๊ฐํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ ๋ฆฌํฉํฐ๋ง์ ์์ํ๋ค. ๐ง
-
ํญ๊ท
: ๋ฆฌํฉํ ๋ง์ ํ์ด๋ฐ์ด ์ ๋ง ์ค์ํ๊ณ ๊ทธ ํ์ด๋ฐ์ ๋์น๋ฉด ๋ค ๋ค์๋ ์ ํ ๋ฐ์ ์์ ๊ฒ ๊ฐ๋ค. -
ํ๋ฏธ
: ๊ด๋ จ ๋งํฌ โRecode๋ 2๋ณด ์ ์ง์ ์ํ 1๋ณด ํํด์ ๋๋ค.โ๋ผ๋ ๋ง์ด ์๋ฟ์์ต๋๋ค.
p269. ์ฒซ์งธ, ์ธ์ ์ ํ์ ํด๋นํ๋ HashMap์ ์ ํํ๊ธฐ ์ํด ์คํค๋ง ์์์ ๊ตฌ๋ฌธ์ ๋ถ์ํ๋ค. ๋์งธ, ๋ช ๋ นํ ์ธ์์์ ์ธ์ ์ ํ์ ๋ถ์ํด ์ง์ง ์ ํ์ผ๋ก ๋ณํํ๋ค. ์ ์งธ, getXXX ๋ฉ์๋๋ฅผ ๊ตฌํํด ํธ์ถ์์๊ฒ ์ง์ง ์ ํ์ ๋ฐํํ๋ค. ๐ต
p270. ํ๋ก๊ทธ๋จ์ ๋ง์น๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ ์ค ํ๋๋ ๊ฐ์ ์ด๋ผ๋ ์ด๋ฆ ์๋ ๊ตฌ์กฐ๋ฅผ ํฌ๊ฒ ๋ค์ง๋ ํ์๋ค. ์ด๋ค ํ๋ก๊ทธ๋จ์ ๊ทธ์ ๊ทธ๋ฐ '๊ฐ์ '์์ ๊ฒฐ์ฝ ํ๋ณตํ์ง ๋ชปํ๋ค. '๊ฐ์ '์ ๊ณผ ๋๊ฐ์ด ํ๋ก๊ทธ๋จ์ ๋๋ฆฌ๊ธฐ๊ฐ ์์ฃผ ์ด๋ ต๊ธฐ ๋๋ฌธ์ด๋ค. ๐๐ต๐ง
-
์๋ฆฌ
: ์์ ๊ฐ์ ์๋ ๋ฌด๋์ง๋ ์ฝ๋๊ฐ ์ข์ ์ฝ๋์์๊น? ์๋ฌดํผ ๋์ ๊ฒฝ์ฐ์๋, ์์ ๊ฐ์ ๋ง์ผ๋ก๋ ๋์๊ฐ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธดํ๋ค. -
ํญ๊ท
: โ๊ฐ์ ์ด๋ผ๋ ์ด๋ฆ ์๋ ๊ตฌ์กฐ๋ฅผ ํฌ๊ฒ ๋ค์ง๋ ํ์"๊ฐ ์ ๋ง ์ด๋ ค์ด ๊ฒ ๊ฐ๋ค. ๋ด ์ฝ๋๋ถํฐ ์์ํด์ ๊ฐ์ ํ๋ค ๋ณด๋ฉด ๋ค๋ฅธ ๋ถ๋ถ๋ ๊ฑด๋๋ ค์ผ ํ๋ ์ํฉ์ด ์จ๋ค. ์ด ํ์๊ฐ ํ์ํ๋ค๋ฉด, ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ์์ ๋ง๋จน๊ณ ์์ํด์ผ ๊ฐ๋ฅํ ๊ฒ ๊ฐ๋ค.
p270. TDD๋ ์ธ์ ์ด๋ ๋๋ผ๋ ์์คํ ์ด ๋์๊ฐ์ผ ํ๋ค๋ ์์น์ ๋ฐ๋ฅธ๋ค. ๋ค์ ๋งํด TDD๋ ์์คํ ์ ๋ง๊ฐ๋จ๋ฆฌ๋ ๋ณ๊ฒฝ์ ํ์ฉํ์ง ์๋๋ค. ๐ต๐ง
ํญ๊ท
: ํ ์คํธ์ฝ๋๊ฐ ์ ๋ง ์ค์ํ ๊ฒ ๊ฐ์๋ฐ, ์ ๋ฌด์ ์น์ฌ ํ ์คํธ์ฝ๋๋ฅผ ๋ชป(์) ์ง๋ ๊ฒ ์์ฌ์ ๋ค.
p272. ๊ธด ๋ณ์ ์ด๋ฆ์ด ์ซ์๋ค. ๐ต
-
์๋ฆฌ
: ํ์ฌ ์ฝ๋์์ ๊ฐ์ฅ ํ๋ ๊ฒ์ ์ค์๋งโฆ ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ์ด๋ค ๋ง์ ์ฝ์์ธ์ง ์๋ฌด๋ ๋ชจ๋ฅด๋๋ผ.. -
ํ๋ฏธ
: ์ค์๋ง ์ฐ๋๊ฑด ์ข์๋ฐ ๋ชจ๋ฅด๋ ์ฌ๋์ด ์์ ์ ๋ ์์ผ๋.. ๊ฐ์ ํ๋ก์ ํธ๋ฅผ ํ๋ ์ฌ๋๋ค๋ผ๋ฆฌ๋ ๊ณต์ ๊ฐ ํ์ ์ธ๊ฒ ๊ฐ๋ค. -
ํ๋ธ
: ๋ช ํํ ๋ณ์ ์ด๋ฆ์ ๊ฐ์กฐํ๋ ์ ์๋ ์ค์๋ง์ ์ฐ๋๊ตฌ๋โฆ
p274. ์ผ๋จ ๊ฐ ์ธ์ ์ ํ์ ์ฒ๋ฆฌํ๋ ์ฝ๋๋ฅผ ๋ชจ๋ ArgumentMarshaler ํด๋์ค์ ๋ฃ๊ณ ๋์ ArgumentMarshaler ํ์ ํด๋์ค๋ฅผ ๋ง๋ค์ด ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ ์์ ์ด์๋ค. ๊ทธ๋ฌ๋ฉด ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ๋ฅผ ์กฐ๊ธ์ฉ ๋ณ๊ฒฝํ๋ ๋์์๋ ์์คํ ์ ์ ์ ๋์์ ์ ์งํ๊ธฐ ์ฌ์์ง๊ธฐ ๋๋ฌธ์ด๋ค. ๐
p320. ํ์ง๋ง ๊ทธ๋ ๋ค๊ณ ArgsException ํด๋์ค๊ฐ ์ค๋ฅ ๋ฉ์์ง ํ์์ ์ฒ๋ฆฌํด์ผ ์ณ์๊น? ์์งํ๊ฒ ๋งํด, ์ด๊ฒ์ ์ ์ถฉ์์ด๋ค. ArgsException์๊ฒ ๋งก๊ฒจ์๋ ์ ๋๋ค๊ณ ์๊ฐํ๋ ๋ ์๋ผ๋ฉด ์๋ก์ด ํด๋์ค๊ฐ ํ์ํ๋ค. ๐ง
ํญ๊ท
: SRP ์์น์ด ์ ๋์ ์ธ ์์น์ด๋ผ๊ธฐ ๋ณด๋ค๋ ๊ถ์ฅ ์ฌํญ์ธ ๊ฒ ๊ฐ๋ค. ๋น์ฐํ ์ง์ผ์ผ ๋์ง๋ง ๋์ ๋ฐ๋ผ ์ ์ถฉ๋ ๊ฐ๋ฅํ ๋๋?
p321.๊ทธ์ ๋์๊ฐ๋ ์ฝ๋๋ง์ผ๋ก๋ ๋ถ์กฑํ๋ค. ๋์๊ฐ๋ ์ฝ๋๊ฐ ์ฌํ๊ฒ ๋ง๊ฐ์ง๋ ์ฌ๋ก๋ ํํ๋ค. ๋จ์ํ ๋์๊ฐ๋ ์ฝ๋์ ๋ง์กฑํ๋ ํ๋ก๊ทธ๋๋จธ๋ ์ ๋ฌธ๊ฐ ์ ์ ์ด ๋ถ์กฑํ๋ค. ๐ง
ํ์ | ๋๋์ |
---|---|
ํญ๊ท |
์ด ์ฑ ์ ์ฝ๊ณ ๋๋ฉด ๋ด ์ฝ๋ ํ ์ค์ ํฐ ์ฑ ์๊ฐ์ ๋๋ผ๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ์ฝ๋๊ฐ ์ผ๋ง๋ ๋์์ง๋ ๊นจ๋ซ๊ฒ ๋๋ค. ์ ์๊ฐ ์ด์ํ๋ ์ฌ์ดํธ์ ๊ฐ์ฐ ์ ํ๋ธ ๋งํฌ๋ ์์ผ๋ ๊ฐ์ด ๋ณด๋ฉด์ ์ฝ์ด๋ณด๋ ๊ฑธ ์ถ์ฒํ๋ค. ๋ค๋ง ์ด ์ฑ ์ ๊ฐ๋ฐ ์ด๋ณด์๋ฅผ ์ํ ์ฑ ์ด ์ ๋ ์๋๋ฉฐ, ์ด๋ ์ ๋ ๊ฐ๋ฐ์ด ์๋ จ๋ ์ฃผ๋์ด ๊ฐ๋ฐ์๋ฅผ ์ํ ์ฑ ์ด๋ค. ๋ํ ์์ ์ฝ๋๊ฐ ๋ชจ๋ ์๋ฐ์ด๊ธฐ ๋๋ฌธ์ ์๋ฐ์ ๋น์ทํ ์ธ์ด๋ฅผ ํ ๋ฒ๋ ์จ๋ณด์ง ์์๋ค๋ฉด ์ฝ๊ธฐ ์ฝ์ง ์์ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์๋ถํฐ๋ TMI์ธ๋ฐ, ์ ์๋ "๋์ ์ฝ๋์์ ์ ์ทจ๊ฐ ๋๋ค"๋ ํํ์ ์์ฃผ ์ฐ๋๋ฐ ์ง์ง ๋ด ์ฝ๋์์ ๋์๊ฐ ๋ ๊ฒ ๊ฐ์ ๊ธฐ๋ถ์ด ๋ ๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์๊ฐ ์ด ์ฑ ๋ค์ ์ ๋ชฉ์ ๋ณด๋ฉด ๋งจ ์ ๋จ์ด๊ฐ ๊ฑฐ์ ํญ์ "Clean"์ด๋ค. |
์๋ฆฌ |
ํด๋ฆฐ์ฝ๋์ ๋ํ ์๊ฐ์ ์ฒ์์ผ๋ก ํ๊ฒ ๋ ๊ณ๊ธฐ๊ฐ ๋๋ค. ์์งํ ๋งํ์๋ฉด, ์ด ์ฑ ๋ด์ฉ์ด ์ดํดํ๊ธฐ ๋งค์ฐ ์ฌ์ด ํธ์ ์๋ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ๋ค๋ฅธ ์๋ฃ(๋ธ๋ก๊ทธ๋ ์ ํฌ๋ธ)๋ฅผ ์ฐธ๊ณ ํด์๋ผ๋ ์ฝ์ผ๋ฉด ๋์์ด ๋ ๊ธฐ๋ณธ์ ์ธ ์์ ์ด๋ผ๊ณ ์๊ฐํ๋ค. Java Spring์ ๋ํ ๋ด์ฉ์ด ์์๋ก ๋ค์ด๊ฐ์์ด์ ๊ทธ๋ฐ์ง, ํ๋ฐ๋ถ๋ก ๊ฐ์๋ก ์ ์๊ฐ ๋งํ๊ณ ์ ํ๋ ํฌ์ธํธ๋ฅผ ์ฐพ๊ธฐ ์ด๋ ค์ ๋ค. ๊ทธ๋ฌ๋ ํ์๋ค์ ์๊ฐ์ด๋ ๊ฒฝํ์ ๊ณต์ ๋ฐ์ผ๋ฉด์ ๋ง์ ๊นจ๋ฌ์์ ์ป์ ์ ์์๋ค. ํ์ ์ค, ์ด ์ฑ ์์ ๋ฐฐ์ด ๋ด์ฉ๊ณผ ๊ด๋ จ๋ ์ด์ผ๊ธฐ๋ ์ฝ๋๊ฐ ๋์ค๋ฉด ๊ฝค ์ฌ๋ฏธ์๋ค. |
ํ๋ฏธ |
์ด ์ฑ ๋๋ถ์ ๋จ์์ฑ, ๋จ์ผ ์ฑ ์ ๋ฑ ์ข์ ์ฝ๋์ ๊ธฐ์ค์ ๋ํด ๋ฐฐ์ธ ์ ์์๊ณ , ์์ผ๋ก ์ฝ๋๋ฅผ ์ง๋๋ฐ ์์ด ๊ณ์ ์๊ฐ ํ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ์ด ์ฑ ์ ์ฝ์ผ๋ฉด์ ๋ช๋ช ๊ณต๊ฐ๋์ง ์๋ ๊ธ๊ท๋ค์ด ์์๋๋ฐ ์ด๋ฐ ๊ธ๊ท๋ค์ ๋ณธ์ธ์ ํ๋จํ์ ์ ๋นํ ๊ฑธ๋ฌ ๋ค์ผ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ์ฝ๋ฉ ์ปจ๋ฒค์ ์๋ ์ ๋์ ์ธ ์ ๋ต์ ์๋๊ฒ ๊ฐ๋ค. ์ฝ๋ฉ ์ปจ๋ฒค์ ์ ํ๋ฐํ, ํ๋ฐํ, ์ธ๋ฐ์ธ(์ธ์ด๋ฐ์ด์ธ์ด)๋ฑ ์ํ ๋จ์ฒด์ ์ฝ์์ผ ๋ฟ์ธ๊ฒ ๊ฐ๋ค. |