๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿค” Chapter 7: ์ฝ”๋”ฉํ•˜๋Š” ๋™์•ˆ

๐Ÿญ Topic 37. ํŒŒ์ถฉ๋ฅ˜์˜ ๋‡Œ์— ๊ท€ ๊ธฐ์šธ์ด๊ธฐโ€‹

ํ”„๋กœ๊ทธ๋ž˜๋จธ๋กœ์„œ ๊ฒฝํ—˜์ด ๋Š˜์–ด ๊ฐˆ์ˆ˜๋ก ์—ฌ๋Ÿฌ๋ถ„์˜ ๋‡Œ์—๋Š” ์•”๋ฌต์ ์ธ ์ง€์‹์ด ์ผœ์ผœ์ด ์Œ“์ธ๋‹ค. ์ž˜ ๋˜๋Š” ๋ฐฉ๋ฒ•, ์ž˜ ์•ˆ๋˜๋Š” ๋ฐฉ๋ฒ•, ์˜ค๋ฅ˜ ํ˜•ํƒœ๋ณ„๋กœ ๊ฐ€๋Šฅํ•œ ์›์ธ ๋“ฑ ์ผํ•˜๋Š” ๋™์•ˆ ๋ณด๊ณ  ๋“ฃ๊ณ  ๋Š๋ผ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์Œ“์ธ๋‹ค.
์–ด๋””์—์„œ ์™”๋Š”์ง€์— ์ƒ๊ด€์—†์ด ๋ชจ๋“  ๋ณธ๋Šฅ์—๋Š” ๊ณตํ†ต์ ์ด ์žˆ๋‹ค. ๋ฐ”๋กœ ๋ง๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ, ์ƒ๊ฐ์ด ์•„๋‹ˆ๋ผ ๋Š๋‚Œ์ด๋ผ๋Š” ์ ์ด๋‹ค. ๋ณธ๋Šฅ์ด ๋ฐ˜์‘ํ•œใ„ด๋‹ค๊ณ  ๋จธ๋ฆฌ ์œ„์— ๋ฐ˜์ง์ด๋Š” ์ „๊ตฌ๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€๋Š” ์•Š๋Š”๋‹ค. ์˜คํžˆ๋ ค ๊ทธ์ € ๋ถˆ์•ˆํ•˜๊ณ  ์ดˆ์กฐํ•ด์ง€๊ธฐ๋งŒ ํ•œ๋‹ค. ๊ฐ๋‹นํ•˜๊ธฐ ์–ด๋ ค์šด ์ผ์ฒ˜๋Ÿผ ๋Š๊ปด์งˆ ์ˆ˜๋„ ์žˆ๋‹ค.
์ด๋Ÿด ๋•Œ์˜ ํ•ด๊ฒฐ์ฑ…์€ ์ผ๋‹จ ๋ณธ๋Šฅ์ด ๋ฐ˜์‘ํ•˜๊ณ  ์žˆ์Œ์„ ์ธ์ง€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์™œ ๊ทธ๋Ÿฐ ๋Š๋‚Œ์ด ๋“œ๋Š”์ง€ ์•Œ์•„๋‚ด์•ผ ํ•œ๋‹ค.

๐Ÿฅ• ๋ฐฑ์ง€์˜ ๊ณตํฌโ€‹

์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ์ผ๋„ ๋‘๋ ต๊ธฐ๋Š” ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. ์‹ฌ์ง€์–ด ์ด๋ฏธ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์— ์ƒˆ๋กœ์šด ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ํ•˜๋Š” ์ผ๋„ ๊ทธ๋ ‡๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ์ด ์ผ์„ ์‹œ์ž‘ํ•˜๋Š” ์ฒซ ๋ฐœ์ง์„ ๋ฏธ๋ฃจ๊ณ  ์‹ถ์–ด ํ•œ๋‹ค. ์šฐ๋ฆฌ ์ƒ๊ฐ์— ์ด๋Ÿฐ ๋ฌธ์ œ์—๋Š” ๋‘ ๊ฐ€์ง€ ์›์ธ์ด ์žˆ๋Š”๋ฐ, ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋‘˜๋‹ค ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์›์ธ์€ ํŒŒ์ถฉ๋ฅ˜์˜ ๋‡Œ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ๋ฌด์–ธ๊ฐ€ ํ•  ๋ง์ด ์žˆ์–ด์„œ๋‹ค. ์ธ์‹์˜ ์ง€ํ‰ ๋ฐ”๋กœ ๋ฐ‘์— ๋„์‚ฌ๋ฆฌ๊ณ  ์žˆ๋Š” ๋ชจ์ข…์˜ ์˜์‹ฌ์ด ์žˆ๋‹ค. ์ด๋Ÿฐ ์˜์‹ฌ์€ ์ค‘์š”ํ•˜๋‹ค.
์—ฌ๋Ÿฌ๋ถ„์€ ๊ฐœ๋ฐœ์ž๋กœ์„œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋ฅผ ์‹œ๋„ํ•ด ๋ณด๋ฉด์„œ ์ž˜ ๋˜๋Š” ๊ฒƒ๊ณผ ์•ˆ๋˜๋Š” ๊ฒƒ๋“ค์„ ๋ณด์•„ ์™”๋‹ค. ๊ฒฝํ—˜๊ณผ ์ง€ํ˜œ๋ฅผ ์ถ•์ ํ•ด ์˜จ ๊ฒƒ์ด๋‹ค. ์–ด๋–ค ์ž‘์—…์„ ์•ž๋‘๊ณ  ๋งˆ์Œ ์†์— ์˜์‹ฌ์ด ๊ณ„์† ๋‚จ์•„ ์žˆ๊ฑฐ๋‚˜ ์™ ์ง€ ๊บผ๋ฆผ์น™ํ•˜๋‹ค๋ฉด, ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ฒฝํ—˜์ด ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ๋ง์„ ๊ฑฐ๋Š” ์ค‘์ผ์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ๊ทธ ๋Š๋‚Œ์„ ๋”ฐ๋ผ๋ผ. ์–ด๋–ค ๊ฒƒ์ด ๋ฌธ์ œ๋ผ๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์งš์ง€๋Š” ๋ชปํ•˜๋”๋ผ๋„, ์‹œ๊ฐ„์„ ์ข€ ์ฃผ๋ฉด ์—ฌ๋Ÿฌ๋ถ„์˜ ์˜์‹ฌ์€ ์•„๋งˆ๋„ ์ข€ ๋” ์‹ค์ฒด๊ฐ€ ์žˆ๊ณ  ๋Œ€์‘์ฑ…์„ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌด์—‡์œผ๋กœ ๊ตฌ์ฒดํ™”๋  ๊ฒƒ์ด๋‹ค. ์ง๊ฐ์ด ์—ฌ๋Ÿฌ๋ถ„์˜ ์—ญ๋Ÿ‰์— ์ผ์กฐํ•˜๋„๋ก ํ•˜๋ผ.

๋‹ค๋ฅธ ์›์ธ์€ ์ข€ ๋” ์ง„๋ถ€ํ•œ๋ฐ, ์—ฌ๋Ÿฌ๋ถ„์€ ๊ทธ์ € ์‹ค์ˆ˜ํ• ๊นŒ ๋ด ๋‘๋ ค์šด ๊ฒƒ์ผ ์ˆ˜ ์žˆ๋‹ค.
ํ•ฉ๋ฆฌ์ ์ธ ๋‘๋ ค์›€์ด๋‹ค. ์šฐ๋ฆฌ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ฝ”๋“œ์— ๋งŽ์€ ๊ฒƒ์„ ํˆฌ์žํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ฝ”๋“œ์˜ ์˜ค๋ฅ˜๋ฅผ ์ž์‹ ์˜ ๋ถ€์กฑํ•œ ๋Šฅ๋ ฅ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ๋ฐ›์•„๋“ค์ผ ์ˆ˜๋„ ์žˆ๋‹ค. ์•„๋งˆ ๊ฐ€๋ฉด ์ฆํ›„๊ตฐ์˜ ์š”์†Œ ๋˜ํ•œ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ž์‹ ์˜ ๋Šฅ๋ ฅ ๋ฐ–์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ๊ธธ์˜ ๋์— ๋ฌด์—‡์ด ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค. ์–ด์ฉŒ๋ฉด ๋„ˆ๋ฌด ๋ฉ€๋ฆฌ๊นŒ์ง€ ๊ฐ€๋ฒ„๋ฆฐ ํ›„์— ์‚ฌ์‹ค์€ ๊ธธ์„ ์žƒ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ์ธ์ •ํ•˜๊ฒŒ ๋ ์ง€๋„ ๋ชจ๋ฅธ๋‹ค.

๐Ÿฅ• ์ž์‹ ๊ณผ ์‹ธ์šฐ๊ธฐโ€‹

์ฝ”๋”ฉ์ด ์ง„์ฐฝ์—์„œ ์˜ค๋ฅด๋ง‰๊ธธ์„ ๊ฑท๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋Š๊ปด์ง€๋Š” ๋‚ ์ด ์žˆ๋‹ค. ํ•œ ๊ฑธ์Œ์„ ๋–ผ๋ ค๋ฉด ์–ด๋งˆ์–ด๋งˆํ•œ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•˜๊ณ , ์„ธ ๊ฑธ์Œ ๋‚˜์•„๊ฐ”๋”๋‹ˆ ๋‘ ๊ฑธ์Œ ๋ฏธ๋„๋Ÿฌ์ง€๊ธฐ๋„ ํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์ „๋ฌธ๊ฐ€๋ผ๋ฉด ์—ฌ๋Ÿฌ๋ถ„์€ ๊ณ„์†ํ•ด ๋‚˜๊ฐ€์•ผ ํ•˜์ง€ ์•Š์„๊นŒ? ์•ˆํƒ€๊น์ง€๋งŒ ์ง„์งœ๋กœ ์—ฌ๋Ÿฌ๋ถ„์ด ํ•ด์•ผ ํ•˜๋Š” ์ผ์€ ์ •๋ฐ˜๋Œ€๋‹ค.
์—ฌ๋Ÿฌ๋ถ„์˜ ์ฝ”๋“œ๊ฐ€ ๋ฌด์–ธ๊ฐ€ ๋งํ•˜๋ ค๋Š” ๊ฒƒ์ด๋‹ค. ์ง€๊ธˆ ํ•˜๋Š” ์ž‘์—…์ด ํ•„์š” ์ด์‚ฌ์œผ๋กœ ํž˜๋“ค๋‹ค๊ณ  ๋ง์ด๋‹ค. ์–ด์ฉŒ๋ฉด ๊ตฌ์กฐ๋‚˜ ์„ค๊ณ„๊ฐ€ ํ‹€๋ ธ์„ ์ˆ˜๋„ ์žˆ๊ณ , ์—‰๋šฑํ•œ ๋ฌธ์ œ๋ฅผ ๋ถ™๋“ค๊ณ  ์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด์œ ๊ฐ€ ๋ฌด์—‡์ด๋“  ์ฝ”๋“œ๊ฐ€ ๋ณด๋‚ด๋Š” ํ”ผ๋“œ๋ฐฑ์„ ํŒŒ์ถฉ๋ฅ˜์˜ ๋‡Œ๊ฐ€ ๋Š๋ผ๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ฃผ์˜๋ฅผ ๋Œ๊ธฐ ์œ„ํ•ด ํ•„์‚ฌ์ ์œผ๋กœ ๋…ธ๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๐Ÿฅ• ํŒŒ์ถฉ๋ฅ˜์™€ ์ด์•ผ๊ธฐํ•˜๋Š” ๋ฒ•โ€‹

์—ฌ๋Ÿฌ๋ถ„์˜ ๋ณธ๋Šฅ, ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ฌด์˜์‹, ํŒŒ์ถฉ๋ฅ˜์˜ ๋‡Œ์—๊ฒŒ ๊ท€ ๊ธฐ์šธ์ด๊ณ  ๋˜ ๊ธฐ์šธ์ด๊ธฐ ๋ฐ”๋ž€๋‹ค. ๋น„๋ฒ•์€ ์–ธ์ œ๋‚˜ ๋™์ผํ•˜๋‹ค.

Tip 61. ์—ฌ๋Ÿฌ๋ถ„ ๋‚ด๋ฉด์˜ ํŒŒ์ถฉ๋ฅ˜์—๊ฒŒ ๊ท€ ๊ธฐ์šธ์—ฌ๋ผ.

์ผ๋‹จ, ํ•˜๊ณ  ์žˆ๋Š” ์ผ์„ ๋ฉˆ์ถฐ๋ผ. ์—ฌ๋Ÿฌ๋ถ„์˜ ๋‡Œ๊ฐ€ ์ •๋ฆฌ๋ฅผ ์ข€ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์•ฝ๊ฐ„์˜ ์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„์„ ํ™•๋ณด๋ผ๋ผ. ์ฝ”๋“œ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜์ง€ ๋ง๊ณ  ํ‚ค๋ณด๋“œ์—์„œ ๋–จ์–ด์ ธ์„œ ์ž ๊น ๋จธ๋ฆฌ๋ฅผ ๋น„์šด ์ฑ„๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์„ ํ•˜๋ผ. ์ƒ๊ฐ์ด ์ €์ ˆ๋กœ ์—ฌ๋Ÿฌ๋ถ„์˜ ๋‡Œ ์ธต์ธต์ด ์Šค๋ฉฐ๋“ค๋„๋ก ๋†”๋‘ฌ๋ผ. ์–ต์ง€๋กœ ์‘ค์…”๋„ฃ์„ ์ˆ˜๋Š” ์—†๋‹ค.

์ด ๋ฐฉ๋ฒ•์ด ์ž˜ ์•ˆ๋˜๋ฉด ๋ฌธ์ œ๋ฅผ ํ‘œ๋ฉด์œผ๋กœ ๋„์ง‘์–ด๋‚ด ๋ณด๋ผ. ์ž‘์„ฑํ•˜๋Š” ์ฝ”๋“œ์— ๋Œ€ํ•œ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค ๋ณด๋ผ. ๋™๋ฃŒ์—๊ฒŒ ์„ค๋ช…ํ•ด ๋ณด๋ผ. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ๋ถ„์ด ์–ด๋ ค์›€์„ ๊ฒช๋Š” ๋ถ€๋ถ„์„ ๋” ์ž˜ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€์œ„๊ฐ€ ์žˆ๋Š”์ง€ ๋ณด๋ผ. ์šฐ๋ฆฌ ๋‘˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ด๋ ‡๊ฒŒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•˜๋‹ค๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋Œ€ํ™”๊ฐ€ ์ค‘๋‹จ๋œ ์ ์€ ๊ทธ ์ˆ˜๋ฅผ ํ—ค์•„๋ฆด ์ˆ˜ ์—†์„ ๋งŒํผ ๋งŽ๋‹ค.

ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ๋ถ„์ด ์ด๋Ÿฐ ๋ฐฉ๋ฒ•๋“ค์„ ์‹œ๋„ํ•ด ๋ณด์•˜๋Š”๋ฐ๋„ ์—ฌ์ „ํžˆ ๋ง‰ํ˜€ ์žˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค. ํ–‰๋™ํ•ด์•ผ ํ•  ์‹œ๊ฐ„์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜ ๋‡Œ์— ์—ฌ๋Ÿฌ๋ถ„์ด ํ•˜๋ ค๋Š” ์ผ์€ ๋ณ„ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๊ณ  ์•Œ๋ ค์ค˜์•ผ ํ•œ๋‹ค. ๋ฐ”๋กœ ํ”„๋กœํ† ํƒ€์ดํ•‘์„ ํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿฅ• ๋†€์ด ์‹œ๊ฐ„์ด๋‹ค!โ€‹

๋นˆ ์Šคํฌ๋ฆฐ์„ ๋งˆ์ฃผํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ํ”„๋กœ์ ํŠธ์—์„œ ์‹œ๋„ํ•ด ๋ณด๊ณ  ์‹ถ์€ ํŠน์ •ํ•œ ์ธก๋ฉด์„ ์ฐพ์•„๋ณด๋ผ. ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์ด ์–ด๋–ป๊ฒŒ ์ผ์–ด๋‚˜๋Š”์ง€ ๋ณด๊ณ  ์‹ถ์„ ์ˆ˜ ์žˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํŠน์ˆ˜ํ•œ ์ƒํ™ฉ์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€ ๊ณ ์ฐฐํ•ด ๋ณด๊ณ  ์‹ถ์„ ์ˆ˜ ์žˆ๋‹ค.

์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์ฝ”๋“œ ์œ„์—์„œ ์ž‘์—…ํ•˜๊ณ  ์žˆ์–ด์„œ ๊ธฐ์กด ์ฝ”๋“œ ๋•Œ๋ฌธ์— ๋ฌธ์ œ ํ•ด๊ฒฐ์ด ์—ฌ์˜์น˜ ์•Š๋‹ค๋ฉด, ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ์ž ์‹œ ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ๋ฐ€์–ด ๋‘๊ณ  ๋น„์Šทํ•œ ๊ฒƒ์„ ๋Œ€์‹  ํ”„๋กœํ† ํƒ€์ดํ•‘์œผ๋กœ ๋งŒ๋“ค์–ด๋ผ.

  1. ํฌ์ŠคํŠธ์ž‡์— "ํ”„๋กœํ† ํƒ€์ดํ•‘ ์ค‘"์ด๋ผ๊ณ  ์จ์„œ ๋ชจ๋‹ˆํ„ฐ ์˜†์— ๋ถ™์—ฌ๋ผ.
  2. ํ”„๋กœํ† ํƒ€์ดํ•‘์€ ์›๋ž˜ ์‹คํŒจํ•œ๋‹ค๊ณ  ์ž์‹ ์—๊ฒŒ ์ƒ๊ธฐ์‹œ์ผœ๋ผ. ์‹คํŒจํ•˜์ง€ ์•Š๋”๋ผ๋„ ํ”„๋กœํ† ํƒ€์ดํ•‘์€ ๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ด๋ผ๋Š” ์ ๋„ ํ•จ๊ป˜ ์ƒ๊ธฐ์‹œ์ผœ์•ผ ํ•œ๋‹ค. ํ”„๋กœํ† ํƒ€์ดํ•‘์œผ๋กœ ์†ํ•ด ๋ณผ ์ผ์€ ์—†๋‹ค.
  3. ํ…… ๋นˆ ์—๋””ํ„ฐ ํ™”๋ฉด์— ์—ฌ๋Ÿฌ๋ถ„์ด ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ๊ฒƒ ํ˜น์€ ํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ์„ ํ•œ ๋ฌธ์žฅ์˜ ์ฃผ์„์œผ๋กœ ํ‘œํ˜„ํ•ด ๋ณด๋ผ.
  4. ์ฝ”๋”ฉ์„ ์‹œ์ž‘ํ•˜๋ผ.

์˜์‹ฌ์ด ๋“ค๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ํฌ์ŠคํŠธ์ž‡์„ ๋ณด๋ผ. ๊บผ๋ฆผ์น™ํ–ˆ๋˜ ๋Š๋‚Œ์ด ์ฝ”๋”ฉ ๋„์ค‘์— ๊ฐ‘์ž๊ธฐ ๋ช…ํ™•ํ•œ ๋ฌธ์ œ๋กœ ๊ตฌ์ฒดํ™”๋˜๋ฉด ์ฆ‰๊ฐ ํ•ด๊ฒฐํ•˜๋ผ. ์‹คํ˜์ด ๋๋งˆ์ณค๋Š”๋ฐ๋„ ์—ฌ์ „ํžˆ ๋ถˆ์•ˆํ•œ ๋งˆ์Œ์ด ๋“ค๋ฉด ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ผ. ์ฒซ ๋‹จ๊ณ„๋Š” ์‚ฐ์ฑ…๊ณผ ์ˆ˜๋‹ค, ๊ทธ๋ฆฌ๊ณ  ํœด์‹์ด๋‹ค.

๐Ÿฅ• "์—ฌ๋Ÿฌ๋ถ„"์˜ ์ฝ”๋“œ๋ฟ์ด ์•„๋‹ˆ๋‹คโ€‹

๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์ฝ”๋“œ๋ฅผ ๊ธฐ๊ณ„์ ์œผ๋กœ ์ฝ์œผ๋ฉด์„œ ์ค‘์š”ํ•ด ๋ณด์ด๋Š” ๋Œ€๋ชฉ์€ ๋ฉ”๋ชจํ•ด ๊ฐ€๋ฉฐ ๋ฌต๋ฌตํžˆ ์‹œ๊ฐ„์„ ํˆฌ์žํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋”ฐ๋ถ„ํ•œ ์ผ์ด๊ธฐ๋Š” ํ•˜์ง€๋งŒ ๊ฐ€๋Šฅํ•œ ์ผ์ด๋‹ค.
์•„๋‹ˆ๋ฉด ์‹คํ—˜์„ ํ•ด ๋ณผ ์ˆ˜๋„ ์žˆ๋‹ค. ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ด ์ด์ƒํ•ด ๋ณด์ด๋Š” ๋ถ€๋ถ„์ด ๋ˆˆ์— ๋„๋ฉด ์ ์–ด ๋†“์•„๋ผ. ๊ณ„์™ ์ž‘์—…ํ•˜๋ฉด์„œ ํŒจํ„ด์„ ์ฐพ์•„๋ณด๋ผ. ๋งŒ์•ฝ ๊ทธ๋Ÿฐ ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ๋งŒ ํ–ˆ๋˜ ์›์ธ์„ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” ์ผ์ด ํ›จ์”ฌ ๋” ์‰ฌ์›Œ์งˆ์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์€์—ฐ์ค‘์— ์ ์šฉํ•œ ํŒจํ„ด์„ ์—ฌ๋Ÿฌ๋ถ„์€ ์˜์‹์ ์œผ๋กœ ์ ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ ๊ณผ์ •์—์„œ ์—ฌ๋Ÿฌ๋ถ„์ด ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฐฐ์šธ ์ˆ˜๋„ ์žˆ๋‹ค.

๐Ÿฅ• ์ฝ”๋“œ๋ฟ์ด ์•„๋‹ˆ๋‹คโ€‹

์ง๊ฐ์— ๊ท€ ๊ธฐ์šธ์ด๋Š” ๋ฐฉ๋ฒ•์€ ๊ณ„์† ๊ฐˆ๊ณ ๋‹ฆ์•„์•ผ ํ•  ์ค‘์š”ํ•œ ๊ธฐ์ˆ ์ด๋‹ค. ๊ฐ€๋”์€ ์„ค๊ณ„๊ฐ€ ์™ ์ง€ ์ด์ƒํ•˜๊ฒŒ ๋Š๊ปด์งˆ ์ˆ˜๋„ ์žˆ๊ณ , ์–ด๋–ค ์š”๊ตฌ ์‚ฌํ•ญ์ด ๋งˆ์Œ์„ ๋ถˆํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ํ•˜๋˜ ์ผ์„ ๋ฉˆ์ถ”๊ณ  ๊ทธ ๋Š๋‚Œ์„ ๋ถ„์„ํ•˜๋ผ. ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ชฉ์†Œ๋ฆฌ์— ๊ท€๋ฅผ ๊ธฐ์šธ์—ฌ ์ฃผ๋Š” ํ™˜๊ฒฝ์— ์žˆ๋‹ค๋ฉด ์ ๊ทน์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ผ. ํƒํ—˜ํ•˜๋ผ. ์–ด๋‘์šด ์ถœ๊ตฌ์— ๋ฌด์–ธ๊ฐ€๊ฐ€ ์ˆจ์–ด์žˆ์„ ๊ฒƒ์ด๋‹ค.
๋ณธ๋Šฅ์— ๊ท€๋ฅผ ๊ธฐ์šธ์ด๊ณ  ๋ฌธ์ œ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„ ์•ž์— ํŠ€์–ด๋‚˜์˜ค๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ๋Œ€์ฒ˜ํ•˜๋ผ.

๐Ÿญ Topic 38. ์šฐ์—ฐ์— ๋งก๊ธฐ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐโ€‹

๊ฐœ๋ฐœ์ž์ธ ์šฐ๋ฆฌ๋Š” ์ง€๋ขฐ๋ฐญ์—์„œ ์ผํ•œ๋‹ค. ํ•˜๋ฃจ์—๋„ ์ˆ˜๋ฐฑ ๊ฐœ๊ฒŒ ๋„˜๋Š” ํ•จ์ •์ด ์šฐ๋ฆฌ๊ฐ€ ๋น ์ง€๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์šฐ์—ฐ์— ๋งก๊ธฐ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๊ณง ํ–‰์šด๊ณผ ์šฐ์—ฐํ•œ ์„ฑ๊ณต์— ์˜์กดํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. ๋Œ€์‹  "์˜๋„์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ"ํ•ด์•ผ ํ•œ๋‹ค.

๐Ÿฅ• ์šฐ์—ฐ์— ๋งก๊ธฐ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•˜๊ธฐโ€‹

ํ”„๋ ˆ๋“œ๋ผ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ํ•  ์ผ์ด ํ•˜๋‚˜ ์ƒ๊ฒผ๋‹ค๊ณ  ํ•ด ๋ณด์ž. ํ”„๋ ˆ๋“œ๋Š” ํ‚ค๋ณด๋“œ๋ฅผ ๋‘๋“ค๊ฒจ ์ฝ”๋“œ๋ฅผ ์•ฝ๊ฐ„ ์ž‘์„ฑํ•œ๋‹ค. ์‹œํ—˜ ์‚ผ์•„ ๋Œ๋ ค๋ณด๋‹ˆ ์ž˜ ๋Œ์•„๊ฐ€๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์ฝ”๋“œ๋ฅผ ์กฐ๊ธˆ ๋” ๋ง๋ถ™์ด๊ณ , ๋˜ ๋Œ๋ ค๋ณธ๋‹ค. ์ด๋Ÿฐ์‹์œผ๋กœ ๋ช‡ ์ฃผ ๋™์•ˆ ๊ณ„์† ์ฝ”๋”ฉ์„ ํ•˜๋Š”๋ฐ ๊ฐ‘์ž๊ธฐ ํ”„๋กœ๊ทธ๋žจ์ด ์ž˜ ๋Œ์•„๊ฐ€์ง€ ์•Š๋Š”๋‹ค. ๋ช‡ ์‹œ๊ฐ„ ๋™์•ˆ ๊ณ ์น˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ํ”„๋ ˆ๋“œ๋Š” ๊ธ€๋„ ์›์ธ์„ ๋ชจ๋ฅธ๋‹ค.

์™œ ์ฝ”๋“œ๊ฐ€ ๋ง๊ฐ€์กŒ๋Š”์ง€ ํ”„๋ ˆ๋“œ๊ฐ€ ๋ชจ๋ฅด๋Š” ๊นŒ๋‹ญ์€ ์• ์ดˆ์— ์ฝ”๋“œ๊ฐ€ ์™œ ์ž˜ ๋Œ์•„๊ฐ€๋Š”์ง€๋„ ๋ชฐ๋ž๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ”„๋ ˆ๋“œ๊ฐ€ ์ œํ•œ์ ์œผ๋กœ "ํ…Œ์ŠคํŠธ"๋ฅผ ํ–ˆ์„ ๋•Œ๋Š” ์ฝ”๋“œ๊ฐ€ ์ž˜ ๋Œ์•„๊ฐ€๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€์ง€๋งŒ, ๊ทธ๊ฒƒ์€ ๋‹จ์ง€ ๊ทธ๋•Œ ์šด์ด ์ข‹์•˜์„ ๋ฟ์ด๋‹ค.

๊ตฌํ˜„์—์„œ ์ƒ๊ธฐ๋Š” ์šฐ์—ฐโ€‹

๋‹จ์ˆœํžˆ ์ฝ”๋“œ๊ฐ€ ์ง€๊ธˆ ์ž‘์„ฑ๋œ ๋ฐฉ์‹์ด ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๊ธฐ๋Š” ์šฐ์—ฐํ•œ ์ผ๋“ค์ด ์žˆ๋‹ค. ์ด๋Ÿฐ ์šฐ์—ฐ์— ๊ธฐ๋Œ€๋‹ค ๋ณด๋ฉด ๊ฒฐ๊ตญ ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ ์—๋Ÿฌ๋‚˜ ์˜ˆ์™ธ์ ์ธ ๊ฒฝ์šฐ์˜ ๋™์ž‘์— ์˜์กดํ•˜๊ฒŒ ๋˜๊ณ  ๋งŒ๋‹ค.

์ž˜ ์ž‘๋™ํ•˜๋Š” ๋ฐ ๊ดœํžˆ ๊ฑด๋“œ๋ ค์„œ ์ผ์„ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์žˆ์„๊นŒ? ์šฐ๋ฆฌ๊ฐ€ ๋ณด๊ธฐ์—๋Š” ๊ทธ๋ž˜์•ผ ํ•  ์ด์œ ๊ฐ€ ๋ช‡ ๊ฐ€์ง€ ์žˆ๋‹ค.

  • ์ •๋ง๋กœ ์ œ๋Œ€๋กœ ๋Œ์•„๊ฐ€๋Š” ๊ฒŒ ์•„๋‹์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ๊ทธ์ € ๋Œ์•„๊ฐ€๋Š” ๋“ฏ์ด ๋ณด์ด๋Š” ๊ฒƒ์ผ ์ˆ˜๋„ ์žˆ๋‹ค.
  • ์—ฌ๋Ÿฌ๋ถ„์ด ์˜์กดํ•˜๋Š” ์กฐ๊ฑด์ด ๋‹จ์ง€ ์šฐ์—ฐ์ธ ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. ํšŒ๋ฉด ํ•ด์ƒ๋„๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ๋‚˜ CPU ์ฝ”์–ด๊ฐ€ ๋” ๋งŽ์€ ๊ฒฝ์šฐ ๋“ฑ ๋‹ค๋ฅธ ์ƒํ™ฉ์—์„œ๋Š” ์ด์ƒํ•˜๊ฒŒ ์ž‘๋™ํ• ์ง€๋„ ๋ชจ๋ฅธ๋‹ค.
  • ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ ๋™์ž‘์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋‹ค์Œ ๋ฆด๋ฆฌ์ฆˆ์—์„œ ๋ณ€๊ฒฝ๋  ์ˆ˜๋„ ์žˆ๋‹ค.
  • ๋ถˆํ•„์š”ํ•œ ์ถ”๊ฐ€ ํ˜ธ์ถœ์€ ์ฝ”๋“œ๋ฅผ ๋” ๋Š๋ฆฌ๊ฒŒ ๋งŒ๋“ ๋‹ค.
  • ์ถ”๊ฐ€๋กœ ํ˜ธ์ถœํ•œ ๋ฃจํ‹ด์— ์ƒˆ๋กœ์šด ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ๋‹ค.

๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ํ˜ธ์ถœํ•  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๋ชจ๋“ˆํ™”๋ฅผ ์ž˜ํ•˜๋Š” ๊ฒƒ, ๊ทธ๋ฆฌ๊ณ  ์ž˜ ๋ฌธ์„œํ™”ํ•œ ์ ์€ ์ˆ˜์˜ ์ธํ„ฐํŽ˜์ด์Šค ์•„๋ž˜์— ๊ตฌํ˜„์„ ์ˆจ๊ธฐ๋Š” ๊ฒƒ ๊ฐ™์€ ๊ธฐ๋ณธ ์›์น™๋“ค์ด ๋ชจ๋‘ ๋„์›€์ด ๋œ๋‹ค.

๋‹ค๋ฅธ ๋ฃจํ‹ด์„ ํ˜ธ์ถœํ•  ๋–„๋„ ๋ฌธ์„œํ™”๋œ ๋™์ž‘์—๋งŒ ์˜์กดํ•˜๋ผ. ์–ด๋–ค ์ด์œ ๋กœ๋“  ๊ทธ๋Ÿด ์ˆ˜ ์—†๋‹ค๋ฉด ์ถ”์ธก์„ ๋ฌธ์„œ๋กœ ์ƒ์„ธํžˆ ๋‚จ๊ฒจ๋ผ.

์œ ๋ น ํŒจํ„ดโ€‹

๋กœ๊ทธ ํŒŒ์ผ์— ์š”์ฒญ 1,000๊ฐœ๋‹น ํ•œ ๋ฒˆ๊ผด๋กœ ๊ฐ„ํ—์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋‚จ์•„์žˆ๋‹ค๋ฉด ๋ถ„์„ํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒฝํ•ฉ ์กฐ๊ฑด์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๊ทธ๋ƒฅ ์˜ค๋ž˜๋œ ๋ฒ„๊ทธ์ผ ์ˆ˜๋„ ์žˆ๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์˜ ์žฅ๋น„์—์„œ๋Š” ํ†ต๊ณผํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ ์„œ๋ฒ„์—์„œ๋Š” ํ†ต๊ณผํ•˜์ง€ ๋ชปํ•˜๋Š” ์ด์œ ๋Š” ๋‘ ํ™˜๊ฒฝ์˜ ์ฐจ์ด ๋–„๋ฌธ์ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์–ด์ฉŒ๋ฉด ๊ทธ์ € ์šฐ์—ฐ์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

๊ฐ€์ •ํ•˜๋ฆฌ ๋ง๋ผ. ์ฆ๋ช…ํ•˜๋ผ.

์ƒํ™ฉ์—์„œ ์ƒ๊ธฐ๋Š” ์šฐ์—ฐโ€‹

์—ฌ๋Ÿฌ๋ถ„์€ ์‚ฌ์šฉ์ž์˜ ์–ธ์–ด๊ฐ€ ์–ธ์ œ๋‚˜ ํ•œ๊ตญ์–ด์ด๊ฑฐ๋‚˜ ์˜์–ด์ผ ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์žˆ์ง€๋Š” ์•Š๋Š”๊ฐ€? ์–ธ์ œ๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธ€์„ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š”๊ฐ€? ํ™•์‹คํ•œ ๊ฒƒ์ด ์•„๋‹Œ๋ฐ๋„ ์˜์กดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์€ ๋˜ ๋ฌด์—‡์ด ์žˆ์„๊นŒ?
์ธํ„ฐ๋„ท ๊ฒ€์ƒ‰์œผ๋กœ ์ฐพ์€ ์ฒซ ๋ฒˆ์งธ ๋‹ต์—์„œ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•ด ์˜ฌ ๋•Œ ์—ฌ๋Ÿฌ๋ถ„๊ณผ ๋™์ผํ•œ ์ƒํ™ฉ์ด๋ผ๊ณ  ํ™•์‹ ํ•˜๋Š”๊ฐ€? ์•„๋‹ˆ๋ฉด ์˜๋ฏธ๋Š” ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ๋”ฐ๋ผ ํ•˜๋Š” ํ™”๋ฌผ ์ˆญ๋ฐฐ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ๋‚˜?
์ž˜ ๋˜๋Š” ๋“ฏํ•œ ๋‹ต์„ ์ฐพ๋Š” ๊ฒƒ๊ณผ ์˜ฌ๋ฐ”๋ฅธ ๋‹ต์„ ์ฐพ๋Š” ๊ฒƒ์€ ๋‹ค๋ฅด๋‹ค.

Tip 62. ์šฐ์—ฐ์— ๋งก๊ธฐ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜์ง€ ๋ง๋ผ.

์•”๋ฌต์ ์ธ ๊ฐ€์ •โ€‹

์šฐ์—ฐ์€ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์—์„œ ์šฐ๋ฆฌ๋ฅผ ์˜ค๋„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๋‹จ๊ณ„๋ถ€ํ„ฐ ํ…Œ์Šคํ‹์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ์ด ๋ชจ๋“  ๋‹จ๊ณ„์—์„œ ๋ง์ด๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ํŠนํžˆ ๊ฐ€์งœ ์›์ธ๊ณผ ์šฐ์—ฐํ•œ ๊ฒฐ๊ณผ๋กœ ๊ฐ€๋“ ์ฐฌ ์˜์—ญ์ด๋‹ค. ๊ฐ€์ •ํ•˜์ง€ ๋ง๋ผ. ์ฆ๋ช…ํ•˜๋ผ

ํ™•๊ณ ํ•œ ์‚ฌ์‹ค์— ๊ทผ๊ฑฐํ•˜์ง€ ์•Š์€ ๊ฐ€์ •์€ ์–ด๋–ค ํ”„๋กœ์ ํŠธ์—์„œ๋“  ์žฌ์•™์˜ ๊ทผ์›์ด ๋œ๋‹ค.

๐Ÿฅ• ์˜๋„์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ธฐโ€‹

  • ์–ธ์ œ๋‚˜ ์—ฌ๋Ÿฌ๋ถ„์ด ์ง€๊ธˆ ๋ฌด์—‡์„ ํ•˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ์•„์•ผ ํ•œ๋‹ค.
  • ๋” ๊ฒฝํ—˜์ด ์ ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ์—๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ƒ์„ธํžˆ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€? ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ์•„๋งˆ ์šฐ์—ฐ์— ๊ธฐ๋Œ€๊ณ  ์žˆ๋Š” ๊ฒƒ์ผ ํ„ฐ์ด๋‹ค.
  • ์ž์‹ ๋„ ์ž˜ ๋ชจ๋ฅด๋Š” ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์ง€ ๋ง๋ผ.
  • ๊ณ„ํš์„ ์„ธ์šฐ๊ณ  ๊ทธ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ง„ํ–‰ํ•˜๋ผ.
  • ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์—๋งŒ ๊ธฐ๋Œ€๋ผ. ๊ฐ€์ •์— ์˜์กดํ•˜์ง€ ๋ง๋ผ. ๋ฌด์–ธ๊ฐ€๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์„์ง€ ํŒ๋‹จํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋ฉด ์ผ๋‹จ ์ตœ์•…์˜ ์ƒํ™ฉ์„ ๊ฐ€์ •ํ•˜๋ผ.
  • ๊ฐ€์ •์„ ๊ธฐ๋ก์œผ๋กœ ๋‚จ๊ฒจ๋ผ.
  • ์ฝ”๋“œ๋ฟ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ๋ถ„์ด ์„ธ์šด ๊ฐ€์ •๋„ ํ…Œ์ŠคํŠธํ•ด ๋ณด์•„์•ผ ํ•œ๋‹ค. ์–ด๋–ค ์ผ์ด๋“  ์ถ”์ธก๋งŒ ํ•˜์ง€ ๋ง๊ณ  ์‹ค์ œ๋กœ ์‹œํ—˜ํ•ด ๋ณด๋ผ. ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ฐ€์ •์„ ์‹œํ—˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์ •๋ฌธ์„ ์ž‘์„ฑํ•˜๋ผ.
  • ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์ผ ๋Œ€์ƒ์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•˜๋ผ. ์ค‘์š”ํ•œ ๊ฒƒ์— ๋จผ์ € ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜๋ผ. ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด ๊ฐ€์žฅ ์–ด๋ ค์šด ๋ถ€๋ถ„์ด๊ธฐ๋„ ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.
  • ๊ณผ๊ฑฐ์˜ ๋…ธ์˜ˆ๊ฐ€ ๋˜์ง€ ๋ง๋ผ. ๊ธฐ์กด ์ฝ”๋“œ๊ฐ€ ์•ž์œผ๋กœ ์งค ์ฝ”๋“œ๋ฅผ ์ง€๋ฐฐํ•˜๋„๋ก ๋†“์•„ ๋‘์ง€ ๋ง๋ผ. ๋”๋Š” ์ ์ ˆํ•œ ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋‹ค ์‹ถ์œผ๋ฉด ์–ด๋–ค ์ฝ”๋“œ๋ผ๋„ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค. ์–ธ์ œ๋‚˜ ๋ฆฌํŒฉํ„ฐ๋งํ•  ์ž์„ธ๊ฐ€ ๋˜์–ด์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฐ ๊ฒฐ์ •์ด ํ”„๋กœ์ ํŠธ ์ผ์ •์— ์˜ํ–ฅ์„ ์ค„์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ํ•„์š”ํ•œ ๋ณ€๊ฒฝ์„ ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์˜ ๋น„์šฉ๋ณด๋‹ค ์ผ์ •์ด ๋Šฆ์–ด์ ธ์„œ ๋ฐœ์ƒํ•˜๋Š” ๋น„์šฉ์ด ์ ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์—ผ๋‘์— ๋‘์–ด๋ผ.

๐Ÿญ Topic 39. ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์†๋„โ€‹

๐Ÿฅ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ถ”์ •ํ•œ๋‹ค๋Š” ๋ง์˜ ์˜๋ฏธโ€‹

์šฐ๋ฆฌ๋Š” ๋ฐ˜๋ณต๋ฌธ์ด๋‚˜ ์žฌ๊ท€ ํ˜ธ์ถœ์„ ๋‹ด๊ณ  ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋ฉด ์–ธ์ œ๋‚˜ ๋ฌด์˜์‹์ ์œผ๋กœ ์ˆ˜ํ–‰ ์‹œ๊ฐ„๊ณผ ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์–‘์„ ๊ณ„์‚ฐํ•œ๋‹ค. ์ •์‹ ๊ณ„์‚ฐ์€ ์•„๋‹ˆ๊ณ , ์ฃผ์–ด์ง„ ํ™˜๊ฒฝ์—์„œ ์šฐ๋ฆฌ๊ฐ€ ํ•˜๋Š” ์ผ์ด ๋ง์ด ๋˜๋Š”์ง€ ๊ฐ€๋ณ๊ฒŒ ํ™•์ธํ•ด ๋ณด๋Š” ์ •๋„์— ๊ฐ€๊น๋‹ค. ํ•˜์ง€๋งŒ ์ƒ๊ฐ๋ณด๋‹ค ํ›จ์”ฌ ์ƒ์„ธํ•œ ๋ถ„์„์„ ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์ข…์ข… ์‹ค์ œ๋กœ ์žˆ๋‹ค. ์ด๋Ÿด ๋•Œ ๋Œ€๋ฌธ์ œ O ํ‘œ๊ธฐ๋ฒ•์ด ์œ ์šฉํ•˜๋‹ค.

๐Ÿฅ• ๋Œ€๋ฌธ์ž O ํ‘œ๊ธฐ๋ฒ•โ€‹

๋Œ€๋ฌธ์ž O ํ‘œ๊ธฐ๋ฒ•์€ ๊ทผ์‚ฟ๊ฐ’์„ ๋‹ค๋ฃจ๋Š” ์ˆ˜ํ•™์  ๋ฐฉ๋ฒ•์œผ๋กœ O()์™€ ๊ฐ™์ด ํ‘œ๊ธฐํ•œ๋‹ค. ์–ด๋–ค ์ •๋ ฌ ๋ฃจํ‹ด์ด ์›์†Œ n๊ฐœ๋ฅผ ์ •๋ ฌํ•˜๋Š” ๋ฐ O(n^2^) ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค๊ณ  ๋งํ•  ๋•Œ, ์ด๋Š” ๊ทธ์ € ์ตœ์•…์˜ ๊ฒฝ์šฐ์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด n์˜ ์ œ๊ณฑ์— ๋น„๋ก€ํ•˜์—ฌ ๋Š˜์–ด๋‚œ๋‹ค๊ณ  ์–˜๊ธฐํ•˜๋Š” ๊ฒƒ์ด๋‹ค..

O() ํ‘œ๊ธฐ๋ฒ•์€ ์šฐ๋ฆฌ๊ฐ€ ์ธก์ •ํ•˜๋Š” ๊ฐ’-์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ-์˜ ์ƒํ•œ์„ ๊ธฐ์ˆ ํ•˜๋Š” ํ‘œ๊ธฐ๋ฒ•์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์–ด๋–ค ํ•จ์ˆ˜๊ฐ€ O(n^2^) ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค๊ณ  ํ•˜๋ฉด, ์ด ๋ง์€ ์ด ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์ตœ๋Œ“๊ฐ’์ด n^2^๋ณด๋‹ค ๋” ๋นจ๋ฆฌ ๋Š˜์–ด๋‚˜์ง€ ์•Š๋Š” ๋‹ค๋Š” ๋œป์ด๋‹ค.

O(n^2^/2 + 3n)์€ O(n^2^/2)์™€ ๊ฐ™๊ณ , O(n^2^)๊ณผ๋„ ๊ฐ™๋‹ค.

๋Œ€๋ฌธ์ž O ํ‘œ๊ธฐ๋ฒ•์€ ์ˆ˜ํ–‰ ์‹œ๊ฐ„์ด๋“  ๋ฉ”๋ชจ๋ฆฌ๋“ , ์•„๋‹ˆ๋ฉด ๋‹ค๋ฅธ ๋ฌด์—‡์„ ๋‚˜ํƒ€๋‚ด๋“  ์‹ค์ œ ์ˆซ์ž๋ฅผ ์•Œ๋ ค์ฃผ์ง€ ์•Š๋Š”๋‹ค. ๊ทธ์ € ์ž…๋ ฅ์˜ ํฌ๊ธฐ๊ฐ€ ๋ฐ”๋€œ์— ๋”ฐ๋ผ ์ด ๊ฐ’์ด ์–ด๋–ป๊ฒŒ ๋ฐ”๋€”์ง€๋ฅผ ์•Œ๋ ค์ค„ ๋ฟ์ด๋‹ค.

O() ํ‘œ๊ธฐ๋ฒ•์€ ์‹œ๊ฐ„์—๋งŒ ๊ตญํ•œ๋˜์ง€ ์•Š๋Š”๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‚ฌ์šฉํ•˜๋Š” ์–ด๋–ค ๋ฆฌ์†Œ์Šค๋“  O() ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๋ชจ๋ธ๋งํ•˜๋Š” ๋ฐ์—๋„ ์œ ์šฉํ•˜๋‹ค.

๐Ÿฅ• ์‹ค์ „์—์„œ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์†๋„โ€‹

ํšŒ์‚ฌ์—์„œ๋Š” ๋Œ€๊ฒŒ ์ •๋ ฌ ๋ฃจํ‹ด์„ ์ž‘์„ฑํ•˜๋Š๋ผ ์‹œ๊ฐ„์„ ๋งŽ์ด ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ์ด๋ฏธ ๋‚˜์™€ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋“ค์–ด ์žˆ๋Š” ์ •๋ ฌ ๋ฃจํ‹ด์ด ์ƒ๋‹นํ•œ ๋…ธ๋ ฅ์„ ๋“ค์ด์ง€ ์•Š๋Š” ํ•œ ๋Œ€๋ถ€๋ถ„ ์—ฌ๋Ÿฌ๋ถ„์ด ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋” ๋‚˜์„ ๊ฒƒ์ด๋‹ค.

์ž…๋ ฅ๊ฐ’์œผ๋กœ ์–ผ๋งˆ๋‚˜ ํฐ ์ˆซ์ž๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋Š”์ง€ ์Šค์Šค๋กœ์—๊ฒŒ ๋ฌผ์–ด๋ด์•ผ ํ•œ๋‹ค. ๋งŒ์•ฝ์— ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’์ด ์ •ํ•ด์ ธ ์žˆ๋‹ค๋ฉด ๊ทธ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ์–ผ๋งˆ๋‚˜ ๊ฑธ๋ฆด์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

Tip 63. ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์ฐจ์ˆ˜๋ฅผ ์ถ”์ •ํ•˜๋ผ.

์ž ์žฌ์ ์ธ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๊ฐํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๋ช‡ ๊ฐ€์ง€ ์žˆ๋‹ค. ์ฝ”๋“œ์˜ ์‹คํ–‰ ์‹œ๊ฐ„์ด ์–ผ๋งˆ๋‚˜ ๋ ์ง€ ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์–ผ๋งˆ๋‚˜ ์‚ฌ์šฉํ• ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š๋‹ค๋ฉด ์ง์ ‘ ์‹คํ–‰ํ•ด ๋ณด๋ผ. ์–ด๋–ค ์ผ์„ ํ•˜๋Š” ์ฝ”๋“œ์ธ์ง€ ์ฝ”๋“œ ์ž์ฒด์— ๋Œ€ํ•ด์„œ๋„ ์ƒ๊ฐํ•ด ๋ณด๋ผ. ์ž…๋ ฅ๊ฐ’ n์ด ์ž‘์„ ๊ฒฝ์šฐ, ๋‹จ์ˆœํ•œ O(n^2^) ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•œ O(nlgn) ์ฝ”๋“œ๋ณด๋‹ค ๋” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ด๊ธฐ๋„ ํ•œ๋‹ค. O(nlgn) ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ฐ˜๋ณต๋ฌธ ์•ˆ์— ๋ฌด๊ฑฐ์šด ์ž‘์—…์ด ๋“ค์–ด ์žˆ๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด ํŠนํžˆ ๋” ๊ทธ๋ ‡๋‹ค.

์ด๋ก ์  ์š”์ธ๊ณผ ์‹ค๋ฌด์  ์š”์ธ์„ ๋ชจ๋‘ ๊ณ ๋ คํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋ผ. ์ถ”์ •์„ ์ด๋ฏธ ํ–ˆ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ์‹ค์ œ ์„œ๋น„์Šค์—์„œ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋กœ ๋Œ์•„๊ฐ€๋Š” ์ฝ”๋“œ์˜ ์ˆ˜ํ–‰ ์‹œ๊ฐ„๋งŒ์ด ์ •๋ง๋กœ ์˜๋ฏธ ์žˆ๋Š” ์ˆ˜์น˜๋‹ค. ์ด ์‚ฌ์‹ค์—์„œ ์šฐ๋ฆฌ์˜ ๋‹ค์Œ ํŒ์ด ๋‚˜์˜จ๋‹ค.

Tip 64. ์—ฌ๋Ÿฌ๋ถ„์˜ ์ถ”์ •์„ ํ…Œ์ŠคํŠธํ•˜๋ผ.

์ตœ๊ณ ๋ผ๊ณ  ์–ธ์ œ๋‚˜ ์ตœ๊ณ ๋Š” ์•„๋‹ˆ๋‹คโ€‹

์ ๋‹นํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•  ๋•Œ๋„ ์‹ค์šฉ์ ์ด์–ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ๊ฐ€์žฅ ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์–ธ์ œ๋‚˜ ๊ฐ€์žฅ ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•„๋‹ˆ๋‹ค. ์ž…๋ ฅ๊ฐ’์˜ ๊ทœ๋ชจ๊ฐ€ ์ž‘๋‹ค๋ฉด ๋‹จ์ˆœํ•œ ์‚ฝ์ž… ์ •๋ ฌ๋„ ํ€ต ์ •๋ ฌ๊ณผ ๋น„์Šทํ•œ ์„ฑ๋Šฅ์„ ๋‚ธ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‚ฝ์ž… ์ •๋ ฌ์„ ์ž‘์„ฑํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ํ€ต ์ •๋ ฌ๋ณด๋‹ค ์ ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ์„ ํƒํ•œ ์ผ๊ณ ๋ฆฌ์ฆ˜์ด ์š”๊ตฌํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•˜๋Š” ๋ฐ ๋น„์šฉ์ด ๋งŽ์ด ๋“œ๋Š” ๊ฒƒ์€ ์•„๋‹Œ์ง€ ์ฃผ์˜ ๊นŠ๊ฒŒ ๋ณด์•„์•ผ ํ•œ๋‹ค.
์ผ๋ฒฝ ๋ฐ์ดํ„ฐ์˜ ๊ทœ๋ชจ๊ฐ€ ์ž‘์œผ๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋Œ๋ฆฌ๋Š” ์‹œ๊ฐ„๋ณด๋‹ค ์˜คํžˆ๋ ค ๋” ๊ธธ์–ด์ง€๋Š” ์ผ์ด ์ƒ๊ธฐ๊ธฐ๋„ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ ์ ˆํ•œ ์„ ํƒ์ด ์•„๋‹ ๊ฒƒ์ด๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์„ฑ๊ธ‰ํ•œ ์ตœ์ ํ™”๋ฅผ ์กฐ์‹ฌํ•˜๋ผ. ์–ธ์ œ๋‚˜ ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ์„ ํ•˜๋Š๋ผ ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ท€์ค‘ํ•œ ์‹œ๊ฐ„์„ ํˆฌ์ง€ํ•˜๊ธฐ ์ „์— ๊ทธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ •๋ง ๋ณ‘๋ชฉ์ธ์ง€ ๋จผ์ € ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๐Ÿญ Topic 40. ๋ฆฌํŒฉํ„ฐ๋งโ€‹

ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ ์ ์  ์ดˆ๊ธฐ์— ๋‚ด๋ฆฐ ๊ฒฐ์ •์„ ๋‹ค์‹œ ๊ณ ๋ คํ•˜๊ณ  ์ฝ”๋“œ์˜ ์ผ๋ถ€๋ถ„์„ ๋‹ค์‹œ ์ž‘์„ฑํ•  ์ผ์ด ์ƒ๊ธด๋‹ค. ์ฝ”๋“œ๋Š” ์ •์ ์ธ ์กด์žฌ๊ฐ€ ์•„๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” ๋ฐœ์ „ํ•ด์•ผ ํ•œ๋‹ค.

๋ฆฌํŒฉํ„ฐ๋ง์—์„œ ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ๋Š” "๋ฆฌํŒฉํ„ฐ๋ง"์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•œ๋‹ค.

๋ฐ–์—์„œ ๋“œ๋Ÿฌ๋‚˜๋Š” ๋™์ž‘์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ ์ฑ„ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•จ์œผ๋กœ์จ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ์ฒด๊ณ„์  ๊ธฐ๋ฒ•.

์ด ์ •์˜์—์„œ ํ•ต์‹ฌ์ ์ธ ๋ถ€๋ถ„์€ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€๋‹ค.

  1. ์ด ํ™œ๋™์€ ์ฒด๊ณ„์ ์ด๋‹ค. ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.
  2. ๋ฐ–์œผ๋กœ ๋“œ๋Ÿฌ๋‚˜๋Š” ๋™์ž‘์€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค. ๊ธฐ๋Š”์„ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์ด ์•„๋‹ˆ๋‹ค.

๋ฌด์งˆ์„œํ•˜๊ฒŒ ๋Œ€๊ทœ๋ชจ๋กœ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ์“ฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ •ํ™•ํ•œ ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ์ •๋ฐ€ํ•˜๊ฒŒ ์ ‘๊ทผํ•˜๋Š” ํ™œ๋™์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ฝ”๋“œ๋ฅผ ๋ฐ”๊พธ๊ธฐ ์‰ฝ๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
๋ฐ–์œผ๋กœ ๋“œ๋Ÿฌ๋‚˜๋Š” ๋™์ž‘์ด ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•˜๋ ค๋ฉด ์ฝ”๋“œ์˜ ๋™์ž‘์„ ๊ฒ€์ฆํ•˜๋Š” ์ข‹์€ ์ž๋™ํ™”๋œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

๐Ÿฅ• ๋ฆฌํŒฉํ„ฐ๋ง์€ ์–ธ์ œ ํ•˜๋Š”๊ฐ€?โ€‹

๋ฆฌํŒฉํ„ฐ๋ง์€ ์—ฌ๋Ÿฌ๋ถ„์ด ๋ฌด์–ธ๊ฐ€๋ฅผ ์•Œ๊ฒŒ ๋˜์—ˆ์„ ๋•Œ ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ์ž‘๋…„์ด๋‚˜ ์–ด์ œ, ์‹ฌ์ง€์–ด 10๋ถ„ ์ „๊ณผ ๋น„๊ตํ•ด์„œ ๋” ๋งŽ์ด ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค๋ฉด, ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•œ๋‹ค.

์–ด์ฉŒ๋ฉด ์ฝ”๋“œ๊ฐ€ ๋”๋Š” ์ž˜ ๋งž์ง€ ์•Š์•„์„œ ์žฅ์• ๋ฌผ์— ๋ถ€๋”ชํ˜”์„ ๋–„, ๋‘ ๊ฐ€์ง€๊ฐ€ ์‚ฌ์‹ค์€ ํ•˜๋‚˜๋กœ ํ•ฉ์ณ์ ธ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์„ ๋•Œ, ๋ฌด์—‡์ด๋“  "์ž˜๋ชป"๋˜์—ˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค ๋•Œ๊ฐ€ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ฃผ์ €ํ•˜์ง€ ๋ง๊ณ  ๋ณ€๊ฒฝํ•˜๋ผ. ์–ธ์ œ๋‚˜ ๋ฐ”๋กœ ์ง€๊ธˆ์ด ์ตœ์ ๊ธฐ๋‹ค. ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ„ฐ๋งํ•  ์ด์œ ๋Š” ์•„์ฃผ ๋งŽ๋‹ค.

์ค‘๋ณต

  • DRY ์›์น™ ์œ„๋ฐ˜์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.

์ง๊ต์ ์ด์ง€ ์•Š์€ ์„ค๊ณ„

  • ๋” ์ง๊ต์ ์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.

๋” ์ด์ƒ ์œ ํšจํ•˜์ง€ ์•Š์€ ์ง€์‹

  • ์‚ฌ๋ฌผ์€ ๋ณ€ํ•˜๊ณ , ์š”๊ตฌ ์‚ฌํ•ญ์€ ๋ณ€๊ฒฝ๋˜๋ฉฐ, ์ง€๊ธˆ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ง€์‹์€ ์ ์  ๋Š˜์–ด๋‚œ๋‹ค. ์ฝ”๋“œ๋Š” ์ง€๊ธˆ ์ƒํ™ฉ์— ๋’ค๋–จ์–ด์ง€์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

์‚ฌ์šฉ ์‚ฌ๋ก€

  • ์ง„์งœ ์‚ฌ๋žŒ๋“ค์ด ์‹ค์ œ ์ƒํ™ฉ์—์„œ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด, ์—ฌ๋Ÿฌ๋ถ„์€ ์–ด๋–ค ๊ธฐ๋Šฅ์€ ์˜ˆ์ „์— ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ๋ณด๋‹ค ๋” ์ค‘์š”ํ•˜๊ณ , "๊ผญ ํ•„์š”ํ•˜๋‹ค"๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ๊ธฐ๋Šฅ์€ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

์„ฑ๋Šฅ

  • ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋ ค๋ฉด ์‹œ์Šคํ…œ์˜ ํ•œ ์˜์—ญ์—์„œ ๋‹ค๋ฅธ ์˜์—ญ์œผ๋กœ ๊ธฐ๋Šฅ์„ ์˜ฎ๊ฒจ์•ผ ํ•œ๋‹ค.

ํ…Œ์ŠคํŠธ ํ†ต๊ณผ

  • ๋งž๋‹ค. ์ง„์งœ๋‹ค. ์•ž์—์„œ ์„ค๋ช…ํ–ˆ๋“ฏ์ด ๋ฆฌํŒฉํ„ฐ๋ง์€ ์ž‘์€ ๊ทœ๋ชจ์˜ ํ• ๋™์ด๊ณ , ์ข‹์€ ํ…Œ์ŠคํŠธ๊ฐ€ ๋’ท๋ฐ›์นจ๋˜์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ์—ฌ๋Ÿฌ๋ถ„์ด ์ฝ”๋“œ๋ฅผ ์กฐ๊ธˆ ์ถ”๊ฐ€ํ•œ ํ›„ ์ถ”๊ฐ€ํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ–ˆ์„ ๋•Œ๊ฐ€, ๋ฐฉ๊ธˆ ์ถ”๊ฐ€ํ•œ ์ฝ”๋“œ๋กœ ๋‹ค์‹œ ๋›ฐ์–ด๋“ค์–ด ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๊ธฐ์— ์ตœ๊ณ ์˜ ํƒ€์ด๋ฐ์ด๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์˜ ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ„ฐ๋งํ•˜๋Š” ๊ฒƒ - ๊ธฐ๋Šฅ์„ ์ด๋ฆฌ์ €๋ฆฌ ์˜ฎ๊ธฐ๊ณ  ์ด์ „์— ๋‚ด๋ฆฐ ๊ฒฐ์ •์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ - ์€ ์‚ฌ์‹ค ๊ณ ํ†ต ๊ด€๋ฆฌ๋ฅผ ์‹ค์ฒœํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ˜„์‹ค์„ ํ”ผํ•˜์ง€ ๋ง์ž. ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ด๊ณณ์ €๊ณณ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ๊ด‘์žฅํžˆ ๊ณ ํ†ต์Šค๋Ÿฌ์šด ์ž‘์—…์ผ ์ˆ˜๋„ ์žˆ๋‹ค. ์ž‘๋™ํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ˆ ๊ดœํžˆ ๊ธ์–ด ๋ถ€์Šค๋Ÿผ ๋งŒ๋“ค์ง€ ์•Š๋Š” ํŽธ์ด ๋‚˜์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ฝ”๋“œ์— ์กฐ๊ธˆ ๊ฐœ์„ ํ•  ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋Š” ์ด์œ ๋งŒ์œผ๋กœ๋Š” ๋‹ค์‹œ ๋Œ์•„๊ฐ€์„œ ์ฝ”๋“œ ์—ด๊ธฐ๋ฅผ ์ฃผ์ €ํ•œ๋‹ค.

ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋ณต์žกํ•œ ๋ฌธ์ œ๋“คโ€‹

์ผ์ •์˜ ์••๋ฐ•์€ ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•˜์ง€ ์•Š๋Š” ๋‹จ๊ณจ ํ•‘๊ณ„๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ์„ค๋“๋ ฅ์ด ๋–จ์–ด์ง„๋‹ค. ์ง€๊ธˆ ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•˜์ง€ ์•Š์œผ๋ฉด ์ผ์ด ๋” ์ง„์ฒ™๋˜์—ˆ์„ ๋•Œ, ์ฆ‰ ์‹ ๊ฒฝ ์จ์•ผ ํ•  ์˜์กด์„ฑ์ด ๋” ๋งŽ์•„์กŒ์„ ๋•Œ ๋ฌธ์ œ๋ฅผ ๊ณ ์ณ์•ผ ํ•˜๊ณ , ๋”ฐ๋ผ์„œ ํ›จ์”ฌ ๋” ๋งŽ์€ ์‚ฌ๊ธด์„ ํˆฌ์žํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋•Œ๊ฐ€ ๋˜๋ฉด ์ผ์ •์— ๋” ์—ฌ์œ ๊ฐ€ ์ƒ๊ธธ๊นŒ? ๊ทธ๋Ÿด ๋ฆฌ๊ฐ€.

๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ์ด ์ ์„ ์„ค๋ช…ํ•  ๋•Œ๋Š” ๋ณ‘์— ๋น„์œ ํ•˜๋ฉด ์ข‹๋‹ค. ๋ฆฌํŒฉํ„ฐ๋ง์ด ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ์ผ์ข…์˜ "์ข…์–‘"์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ž. ์ข…์–‘์„ ์ œ๊ฑฐํ•˜๋ ค๋ฉด ์ˆ˜์ˆ ์ด ํ•„์š”ํ•˜๋‹ค. ์ง€๊ธˆ ๋ฐ”๋กœ ์ˆ˜์ˆ ํ•ด์„œ ์•„์ง ์ข…์–‘์ด ์ž‘์„ ๋•Œ ์ œ๊ฑฐํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์ข…์–‘์ด ์ž๋ผ๊ณ  ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ์ „์ดํ•  ๋•Œ๊นŒ์ง€ ๋†“์•„๋‘˜ ์ˆ˜๋„ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋•Œ๊ฐ€ ๋˜๋ฉด ์ œ๊ฑฐํ•˜๋Š” ๋ฐ ๋“œ๋Š” ๋น„์šฉ๋„ ๋” ๋Š˜์–ด๋‚ ๋ฟ๋”๋Ÿฌ ์œ„ํ—˜๋„ ํ›จ์”ฌ ์ปค์ง„๋‹ค. ์‹œ๊ฐ„์„ ๋” ๋Œ๋ฉด ํ™˜์ž๋Š” ์ƒ๋ช…์„ ์žƒ์„์ง€๋„ ๋ชจ๋ฅธ๋‹ค.

Tip 65. ์ผ์ฐ ๋ฆฌํŒจํ„ฐ๋งํ•˜๊ณ , ์ž์ฃผ ๋ฆฌํŒฉํ„ฐ๋งํ•˜๋ผ.

๋Œ€๋ถ€๋ถ„์˜ ์ผ์ฒ˜๋Ÿผ ๋ฆฌํŒฉํ„ฐ๋ง๋„ ๋ฌธ์ œ๊ฐ€ ์ž‘์„ ๋•Œ, ์ฝ”๋”ฉํ•˜๋Š” ๋™์•ˆ ํ•จ๊ผ ์ง„ํ–‰ํ•˜๋Š” ํŽธ์ด ๋” ์‰ฝ๋‹ค. ์ฝ”๋“œ ํ•œ ๋ถ€๋ถ„ ๋–„๋ฌธ์— "๋ฆฌํŒฉํ„ฐ๋ง๋งŒ ํ•˜๋Š” ์ผ์ฃผ์ผ"์ด ํ•„์š”ํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ๊ทธ๊ฑด ์™„์ „ ์žฌ์ž‘์„ฑ์ด๋‹ค. ๋งŒ์•ฝ ์ด ์ •๋„๋กœ ์‹œ๊ฐ„์ด ๋งŽ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ์ฆ‰์‹œ ํ•ด์น˜์šธ ์ˆ˜ ์—†๋Š” ๊ฒƒ๋„ ๋‹น์—ฐํ•˜๋‹ค. ๊ทธ ๋Œ€์‹  ์ผ์ •์— ๋ฆฌํŒฉํ„ฐ๋งํ•  ์‹œ๊ฐ„์„ ํ™•์‹คํžˆ ํฌํ•จ์‹œ์ผœ ๋‘๋„๋ก ํ•˜๋ผ. ๊ทธ ์ฝ”๋“œ๋ฅผ ์‹œ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ฝ”๋“œ๊ฐ€ ์กฐ๋งŒ๊ฐ„ ์žฌ์ž‘์„ฑ๋  ๊ฒƒ์ด๋ผ๋Š” ์‚ฌ์‹ค๊ณผ ์žฌ์ž‘์„ฑ์ด ๊ทธ๋“ค์˜ ์ฝ”๋“œ์— ๋ฏธ์น  ์˜ํ–ฅ์ด ์ธ์ง€ํ•˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค.

๐Ÿฅ• ๋ฆฌํŒฉํ„ฐ๋ง์€ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”๊ฐ€?โ€‹

๋ฆฌํŒฉํ„ฐ๋ง์˜ ๋ณธ์งˆ์€ ์žฌ์„ค๊ณ„๋‹ค. ์—ฌ๋Ÿฌ๋ถ„ ๋˜๋Š” ์—ฌ๋Ÿฌ๋ถ„ ํŒ€์˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ์„ค๊ณ„ํ•œ ๋ชจ๋“  ๊ฒƒ์€ ์ƒˆ๋กœ์šด ์‚ฌ์‹ค์ด ๋ฐํ˜€์ง€๊ฑฐ๋‚˜, ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๋” ๊นŠ์–ด์ง€๊ฑฐ๋‚˜, ์š”๊ตฌ ์‚ฌํ•ญ์ด ๋ฐ”๋€๋‹ค๋ฉด ์–ธ์ œ๋ผ๋„ ์žฌ์„ค๊ณ„์˜ ๋Œ€์ƒ์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๋‹ค๊ณ  ๊ฑฐ๋Œ€ํ•œ ๊ทœ๋ชจ์˜ ์ฝ”๋“œ๋ฅผ ๋‹ฅ์น˜๋Š” ๋Œ€๋กœ ํ—ค์ง‘์–ด ๋†“์œผ๋ฉด, ๋‚˜์ค‘์—๋Š” ๋ฆฌํŒจํ„ฐ๋ง ์ „๋ณด๋‹ค ๋” ์•ˆ ์ข‹์€ ์ฒ˜์ง€์— ๋†“์ผ์ง€๋„ ๋ชจ๋ฅธ๋‹ค.

๋ถ„๋ช…ํžˆ ๋ฆฌํŒฉํ„ฐ๋ง์€ ์ฒœ์ฒœํžˆ, ์‹ ์ค‘ํ•˜๊ฒŒ, ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์ž‘์—…์ด๋‹ค. ๋งˆํ‹ด ํŒŒ์ด๋ฃฐ๋Ÿฌ๋Š” ์˜คํžˆ๋ ค ์†ํ•ด ๋ณด๋Š” ์ผ์ด ์—†๋„๋ก ๋ฆฌํŒฉํ„ฐ๋ง ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•˜์—ฌ ๋ช‡ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ์กฐ์–ธ์„ ํ•ด ์ฃผ์—ˆ๋‹ค.

  1. ๋ฆฌํŒฉํ„ฐ๋ง๊ณผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋ฅผ ๋™์‹œ์— ํ•˜์ง€ ๋ง๋ผ.
  2. ๋ฆฌํŒฉํ„ฐ๋ง์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „ ๋“ ๋“ ํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ๋Š”์ง€ ๋จผ์ € ํ™•์ธํ•˜๋ผ. ํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ์ž์ฃผ ํ…Œ์ŠคํŠธ๋ฅผ ๋Œ๋ ค ๋ณด๋ผ. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์—ฌ๋Ÿฌ๋ถ„์ด ๋ฐ”๊พผ ๊ฒƒ ๋–„๋ฌธ์— ๋ฌด์–ธ๊ฐ€ ๋ง๊ฐ€์กŒ์„ ๊ฒฝ์šฐ ๊ทธ ์‚ฌ์‹ค์„ ์žฌ๋นจ๋ฆฌ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
  3. ๋‹จ๊ผ๋ฅผ ์ž‘๊ฒŒ ๋‚˜๋ˆ„์–ด์„œ ์‹ ์ค‘ํ•˜๊ฒŒ ์ž‘์—…ํ•˜๋ผ. ํด๋ž˜์Šค์˜ ํ•„๋“œ ํ•˜๋‚˜๋ฅผ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋กœ ์˜ฎ๊ธฐ๊ธฐ, ๋ฉ”์„œ๋“œ ํ•˜๋‚˜ ์ชผ๊ฐœ๊ธฐ, ๋ณ€์ˆ˜๋ช… ํ•˜๋‚˜ ๋ฐ”๊พธ๊ธฐ ๊ฐ™์ด ์ž‘์€ ๋‹จ์œ„๋กœ ์ž‘์—…ํ•ด์•ผ ํ•œ๋‹ค. ๋‹จ๊ผ๋ฅผ ์ž‘๊ฒŒ ๋‚˜๋ˆ„๊ณ , ํ•œ ๋‹จ๊ป˜๊ฐ€ ๋๋‚  ๋•Œ๋งˆ๋‹ค ํ…Œ์ŠคํŠธ๋ฅผ ๋Œ๋ฆฐ๋‹ค๋ฉด ๊ธฐ๋‚˜๊ธด ๋””๋ฒ„๊น… ์ž‘์—…์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค.

๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ๊ฐ€ ํ•œ ์กฐ์–ธ์˜ ํ•ต์‹ฌ์€ ํƒ„ํƒ„ํ•œ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด์•ผ๋ง๋กœ ์•ˆ์ „ํ•œ ๋ฆฌํŒฉํ„ฐ๋ง์˜ ๋น„๊ฒฐ์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

๋ฆฌํŒฉํ„ฐ๋ง๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•ด์„œ ๊ฒฐ๊ตญ ์™ธ๋ถ€์—์„œ ๋ณด์ด๋Š” ๋™์ž‘์ด๋‚˜ API๋ฅผ ๋ฐ”๊ฟ”์•ผ ํ•œ๋‹ค๋ฉด, ์ผ๋ถ€๋Ÿฌ ๋นŒ๋“œ๋ฅผ ๊นจํŠธ๋ ค ๋ณด๋Š” ๊ฒƒ์ด ์œ ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋ฆฌํŒฉํ„ฐ๋ง ๋Œ€์ƒ ์ฝ”๋“œ์— ์˜์กดํ•˜๋Š” ์˜›๋‚  ์ฝ”๋“œ๋“ค์€ ์ปดํŒŒ์ผ์ด ์•ˆ ๋˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ณ ์ณ์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์ด ์–ด๋””์ธ์ง€ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ์— ์—ฌ๋Ÿฌ๋ถ„์ด ๊ธฐ๋Œ€ํ•˜๋Š” ์ˆ˜์ค€์— ๋ชป ๋ฏธ์น˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด, ๊ณ ์ณ๋ผ. ๊ณ ํ†ต์„ ๊ด€๋ฆฌํ•˜๋ผ. ์ง€๊ธˆ์€ ๊ณ ํ†ต์Šค๋Ÿฌ์šธ์ง€๋ผ๋„ ์•ž์œผ๋กœ ๋”์šฑ ๊ณ ํ†ต์Šค๋Ÿฌ์›Œ์งˆ ๊ฒƒ ๊ฐ™์œผ๋ฉด ์ง€๊ธˆ ๊ณ ์น˜๋Š” ํŽธ์ด ๋‚ซ๋‹ค.

๐Ÿญ Topic 41. ํ…Œ์ŠคํŠธ๋กœ ์ฝ”๋”ฉํ•˜๊ธฐโ€‹

๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ์™œ ํ…Œ์ŠคํŠธ๋ฅผ ์“ฐ๋ƒ๊ณ  ๋ฌผ์–ด๋ณด๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์ฒœ๊ณต ์นด๋“œ์— ์ฝ”๋”ฉํ•˜๋ƒ๊ณ  ๋ฌผ์–ด๋ณธ ๊ฒƒ์ฒ˜๋Ÿผ ์šฐ๋ฆฌ๋ฅผ ์ฒ˜๋‹ค๋ณธ๋‹ค. ๊ทธ๋Ÿฌ๊ณ ๋Š” "์šฐ๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ดํ•˜๋ ค๋Š” ๊ฑฐ์ฃ ."๋ผ๊ณ  ๋Œ€๋‹ตํ•œ๋‹ค. ๋ง๋์— ์ฐจ๋งˆ ์ž…์— ๋‹ด์ง€ ๋ชปํ•œ "๋ฐ”๋ณด๊ฐ™์ด"๊ฐ€ ๋“ค๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ์ด ๋Œ€๋‹ต์ด ํ‹€๋ ธ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ํ…Œ์ŠคํŠธ์˜ ์ค‘์š”ํ•œ ๊ฐ€์น˜๋Š” ๋ฌด์—‡์ผ๊นŒ? ์—ฌ๋Ÿฌ๋ถ„์€ ์™œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š”๊ฐ€?

Tip 66. ํ…Œ์ŠคํŠธ๋Š” ๋ฒ„๊ทธ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ํ…Œ์ŠคํŠธ์˜ ์ฃผ์š”ํ•œ ์ด๋“์ด ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๊ฐ€ ์•„๋‹ˆ๋ผ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ณ , ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์ƒ๊ธด๋‹ค๊ณ  ๋ฏฟ๋Š”๋‹ค.

๐Ÿฅ• ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ธฐโ€‹

์ผ๋‹จ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์ž. ์ด์ œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ? ์ผ๋‹จ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค. ์•„๋งˆ ์—ฌ๋Ÿฌ๋ถ„์ด ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๊ฒฐํ•  ๊ฒƒ์ด๋‹ค.

def return_avid_users(db) do

๊ทธ๋‹ค์Œ์œผ๋กœ๋Š” ์–ด๋–ป๊ฒŒ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฑ„์šธ์ง€ ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค. ์š”๊ตฌ ์‚ฌํ•ญ์€ "ํ•œ ์ฃผ์— ๋™์˜์ƒ์„ 10๊ฐœ ๋„˜๊ฒŒ ๋ณด๋Š” ์‚ฌ๋žŒ ๋ชฉ๋ก"์ด๋‹ค. ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๋ฉด ์–ด๋–ค ํ•„๋“œ๋ฅด ์“ธ์ง€ ์•Œ์•„์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ •ํ™•ํ•˜๊ฒŒ ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ๋ชจ๋ฅด๊ณ  ์‚ฌ์—… ๋ถ€์„œ ๋‹ด๋‹น์ž๋Š” ์—ฐ๋ฝ์ด ์•ˆ ๋œ๋‹ค. ํ•„๋“œ ์ด๋ฆ„์„ ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ ๋„˜๊ธฐ๋Š” ๊ผผ์ˆ˜๋ฅผ ์“ฐ์ž. ๊ทธ๋Ÿฌ๋ฉด ์ผ๋‹จ ํ˜„์žฌ ์ฝ”๋“œ์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•„์š”ํ•˜๋ฉด ๋‚˜์ค‘์— ๋ฐ”๊พธ๋ฉด ๋  ๊ฒƒ์ด๋‹ค.

def return_avid_users(db, qualifying_fields_name) do

ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ์ฝ”๋“œ ํ•œ ์ค„ ์“ฐ์ง€ ์•Š๊ณ ๋„ ๋‘ ๊ฐ€์ง€๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์šฐ๋ฆฌ ๋ฉ”์„œ๋“œ์˜ API๋ฅผ ๋ณ€๊ฒฝํ–ˆ๋‹ค.

๐Ÿฅ• ํ…Œ์ŠคํŠธ๊ฐ€ ์ฝ”๋”ฉ์„ ์ฃผ๋„ํ•œ๋‹คโ€‹

์ด์ „ ์˜ˆ์—์„œ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•จ์œผ๋กœ์จ ์šฐ๋ฆฌ ์ฝ”๋“œ์˜ ๊ฒฐํ•ฉ๋„๋Š” ๋‚ฎ์ถ”๊ณ  ์œ ์—ฐ์„ฑ์€ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์šฐ๋ฆฌ ๋ฉ”์„œ๋“œ์˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•จ์œผ๋กœ์จ ์ฝ”๋“œ์˜ ์ž‘์„ฑ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฉ”์„œ๋“œ๋ฅผ ์™ธ๋ถ€์˜ ์‹œ์„ ์œผ๋กœ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค.

Tip 67. ํ…Œ์ŠคํŠธ๊ฐ€ ์ฝ”๋“œ์˜ ์ฒซ ๋ฒˆ์งธ ์‚ฌ์šฉ์ž๋‹ค.

์ด๊ฒƒ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ์ฃผ๋Š” ๊ฐ€์žฅ ํฐ ์ด๋“์ผ์ง€ ๋ชจ๋ฅธ๋‹ค. ํ…Œ์ŠคํŠธ๋Š” ์šฐ๋ฆฌ์˜ ์ฝ”๋”ฉ์„ ์ธ๋„ํ•˜๋Š” ํ•„์ˆ˜ ํ”ผ๋“œ๋ฐฑ์ด๋‹ค.
๋‹ค๋ฅธ ์ฝ”๋“œ์™€ ๊ธด๋ฐ€ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋œ ํ•จ์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๋Š” ํ…Œ์ŠคํŠธํ•˜๊ธฐ ํž˜๋“ค๋‹ค. ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ๋„ ์ „์— ์˜จ๊ฐ– ํ™˜๊ฒฝ ๊ตฌ์„ฑ์„ ํ•œ์ฐธ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ฆ‰, ๋ฌด์–ธ๊ฐ€๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์ข‹๊ฒŒ ๋งŒ๋“ค๋ฉด ๊ฒฐํ•ฉ๋„๋„ ๋‚ฎ์•„์ง„๋‹ค.

๊ฒŒ๋‹ค๊ฐ€ ๋ฌด์–ธ๊ฐ€๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด ๊ทธ๊ฒƒ์„ ์ดํ•ดํ•ด์•ผ๋งŒ ํ•œ๋‹ค. ์ฝ”๋”ฉ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๊ฒฝ๊ณ„ ์กฐ๊ฑด์˜ ํ…Œ์ŠคํŠธ์™€ ๊ฒฝ๊ณ„ ์กฐ๊ฑด์—์„œ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•ด๋ณธ๋‹ค๋ฉด, ์•„๋งˆ ํ•จ์ˆ˜๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์ฝ”๋“œ ํŒจํ„ด์„ ์ฐพ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•˜๋Š” ์˜ค๋ฅ˜ ์กฐ๊ฑด์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด ๋ณธ๋‹ค๋ฉด ๊ทธ์— ๋งž๊ฒŒ ํ•จ์ˆ˜ ๊ตฌ์กฐ๋ฅผ ์žก์„ ๊ฒƒ์ด๋‹ค.

ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœโ€‹

ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์˜ ์ด์ ์ด ์ด๋ ‡๊ฒŒ ๋งŽ๋‹ค ๋ณด๋‹ˆ ์•„์˜ˆ ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜์ž๊ณ  ์ฃผ์žฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์œ ํŒŒ๋„ ์žˆ๋‹ค. ๊ทธ๋“ค์€ "ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ(TDD)"์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. ํ…Œ์ŠคํŠธ ์šฐ์„  ๊ฐœ๋ฐœ์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.

TDD์˜ ๊ธฐ๋ณธ ์ฃผ๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ์ž‘์€ ๊ธฐ๋Šฅ ํ•˜๋‚˜๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.
  2. ๊ทธ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„๋˜์—ˆ์„ ๋•Œ ํ†ต๊ณผํ•˜๊ฒŒ ๋  ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋‚˜ ์ž‘์„ฑํ•œ๋‹ค.
  3. ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ๋‹ค๋ฅธ ํ…Œ์ŠคํŠธ๋Š” ํ†ต๊ณผํ•˜๊ณ  ๋ฐฉ๊ธˆ ์ถ”๊ฐ€ํ•œ ํ…Œ์ŠคํŠธ ๋”ฑ ํ•˜๋‚˜๋งŒ ์‹คํŒจํ–์•„ ํ•œ๋‹ค.
  4. ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œํ•œ์˜ ์ฝ”๋“œ๋งŒ ์ž‘์„ฑํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด์ œ ๋ชจ๋“  ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
  5. ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ„ฐ๋งํ•œ๋‹ค. ๋ฐฉ๊ธˆ ์ž‘์„ฑํ•œ ํ…Œ์ŠคํŠธ๋‚˜ ํ•จ์ˆ˜๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ์—†๋Š”์ง€ ์‚ดํŽด๋ณธ๋‹ค. ๊ฐœ์„ ํ•œ ํ›„์—๋„ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ณ„์† ํ†ต๊ณผํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

TDD ๋ฐœ์ƒ์˜ ํ•ต์‹ฌ์€ ์ด ๋ฐ˜๋ณต ์ฃผ๊ธฐ๊ฐ€ ๊ธฐ๊ปํ•ด์•ผ ๋ช‡ ๋ถ„ ์ •๋„๋กœ ๋งค์šฐ ์งง์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋Š์ž„์—†์ด ํ…Œ์ŠคํŠธ ์ž‘์„ฑ๊ณผ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ๋ฅผ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค. TDD ์ž‘์—… ๋ฐฉ์‹์„ ๋”ฐ๋ฅด๋ฉด ์—ฌ๋Ÿฌ๋ถ„์˜ ์ฝ”๋“œ๋Š” ์–ธ์ œ๋‚˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์„ ์ˆ˜๋ฐ–์— ์—†๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Š” ์–ธ์ œ๋‚˜ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ฒŒ ๋œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.
ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” TDD์˜ ๋…ธ์˜ˆ๊ฐ€ ๋œ ์‚ฌ๋žŒ๋“ค๋„ ๋ณด์•˜๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ง•ํ›„๋กœ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  • ๋Š˜ ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ 100%๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๊ณผ๋„ํ•˜๊ฒŒ ๋งŽ์€ ์‹œ๊ฐ„์„ ํˆฌ์žํ•œ๋‹ค.
  • ๋งŽ์€ ์ˆ˜์˜ ์ค‘๋ณต ํ…Œ์ŠคํŠธ๊ฐ€ ์ƒ๊ธด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋งŽ์€ TDD ์ง€์ง€์ž๋“ค์€ ํฌ๋ž˜์Šค๋ฅผ ์ฒ˜์Œ์œผ๋กœ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— ๋‹จ์ˆœํžˆ ํด๋ž˜์Šค ์ด๋ฆ„๋งŒ ์ฐธ์กฐํ•ด์„œ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•˜๊ณ  ๋‚˜๋ฉด ๊ทธ์ œ์•ผ ๋นˆ ํด๋ž˜์Šค ์ •์˜๋ฅผ ์ž‘์„ฑํ•˜๊ณ , ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ด์ œ ๊ทธ ํ…Œ์ŠคํŠธ๋Š” ์•„๋ฌด ์ผ๋„ ํ•˜์ง€ ์•Š๋Š” ํ…Œ์Šคํƒ ๋˜๊ณ  ๋งŒ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ํ…Œ์ŠคํŠธ๋„ ๋‹น์—ฐํžˆ ํด๋ž˜์Šค๋ฅผ ์ฐธ์กฐํ•  ๊ฒƒ์ด๋ฏ€๋กœ ์ฒซ ๋ฒˆ์งธ ํ…Œ์ŠคํŠธ๋Š” ๋ถˆํ•„์š”ํ•ด์ง„๋‹ค. ๋‚˜์ค‘์— ํด๋ž˜์Šค ์ด๋ฆ„์„ ๋ฐ”๊ฟ”์•ผ ํ•˜๋Š” ๊ณณ๋งŒ ๋งŽ์•„์งˆ ๋ฟ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฑด ์ค‘๋ณต ํ…Œ์ŠคํŠธ์˜ ์‚ฌ์†Œํ•œ ์˜ˆ์ผ ๋ฟ์ด๋‹ค.
  • ๋ฐ‘์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„๋ฅผ ํ•œ๋‹ค.

์–ด๋–ป๊ฒŒ๋“  TDD๋ฅผ ์‹ค์ฒœํ•˜๋ผ. ํ•˜์ง€๋งŒ ๋„์ค‘์— ์ด๋”ฐ๊ธˆ ๋ฉˆ์ถ”์–ด ํฐ ๊ทธ๋ฆฌ์„ ์‚ดํ”ผ๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋ง๋ผ. ์ดˆ๋ก์ƒ‰ "ํ…Œ์ŠคํŠธ ํ†ต๊ณผ" ๋ฉ”์‹œ์ง€์— ์ค‘๋…๋œ ๋‚˜๋จธ์ง€ ์ง„์งœ ๋ฌธ์ œ ํ•ด๊ฒฐ์—๋Š” ๋ณดํƒฌ์ด ์•ˆ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ํ•œ ๋ฌด๋”๊ธฐ๋‚˜ ์“ฐ๊ฒŒ ๋˜๊ธฐ ์‰ฝ๋‹ค.

๐Ÿฅ• TDD: ๋ชฉํ‘œ๊ฐ€ ์–ด๋””์ธ์ง€ ์•Œ์•„์•ผ ํ•œ๋‹คโ€‹

์ „์ฒด ๋ฌธ์ œ๋ฅผ ์™„์ „ํžˆ ํŒŒ์•…ํ•˜๊ธฐ ํž˜๋“ค ๋•Œ ํ•œ ๋ฒˆ์— ํ…Œ์ŠคํŠธ ํ•˜๋‚˜์”ฉ ์ž‘์€ ๋‹จ๊ณ„๋“ค์„ ๋ฐŸ๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์ด ์—ฌ๋Ÿฌ๋ถ„์„ ์ž˜๋ชป๋œ ๊ธธ๋กœ ์ธ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋”ฉ์„ ํ•˜๋Š” ์ง„์งœ ์ด์œ ๋Š” ๋ฌด์‹œํ•œ ์ฑ„ ๊ณ„์†ํ•ด์„œ ์‰ฌ์šด ๋ฌธ์ œ๋“ค๋งŒ ๋งŒ์ง€์ž‘๊ฑฐ๋ฆฌ๋„๋ก ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ƒํ–ฅ์‹ ๋Œ€ ํ•˜ํ–ฅ์‹, ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ๋ถ„์ด ๋”ฐ๋ผ์•ผ ํ•˜๋Š” ๋ฐฉ์‹
์ƒํ–ฅ์‹ ํ•˜ํ–ฅ์‹ ๋‘˜ ๋‹ค ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ธก๋ฉด์„ ๋†“์น˜๊ณ  ์žˆ๋‹ค. ๋ฐ”๋กœ ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์‹œ์ž‘ํ•  ๋•Œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋ฌด์—‡์„ ํ•˜๊ณ  ์žˆ๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜ํ–ฅ์‹ ์„ค๊ณ„๋Š” ์ „์ฒด ์š”๊ตฌ์‚ฌํ•ญ์„ ์‹œ์ž‘ํ•  ๋•Œ ๋‹ค ์•Œ๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€๋งŒ ์‚ฌ์‹ค์€ ์•Œ ์ˆ˜ ์—†๋‹ค. ์ƒํ–ฅ์‹ ์„ค๊ณ„๋Š” ์ถ”์ƒํ™” ๊ณ„์ธต์„ ์Œ“๋‹ค ๋ณด๋ฉด ๊ฒฐ๊ตญ์—๋Š” ํ•˜๋‚˜์˜ ์ตœ์ƒ์œ„ ํ•ด๊ฒฐ ๊ณ„์ธต์— ๋„์ฐฉํ•  ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ง€๋งŒ, ๋ชฉํ‘œ๊ฐ€ ์–ด๋””์ธ์ง€ ๋ชจ๋ฅด๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ๊ฐ ๊ณ„์ธต์˜ ๊ธฐ๋Šฅ์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹จ ๋ง์ธ๊ฐ€?
Tip 68. ์ƒํ–ฅ์‹์ด๋‚˜ ํ•˜ํ–ฅ์‹์ด ์•„๋‹ˆ๋ผ ๋์—์„œ ๋๊นŒ์ง€(end to-end) ๋งŒ๋“ค์–ด๋ผ.
์šฐ๋ฆฌ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด ์ ์ง„์ ์ธ ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ๊ตณ๊ฒŒ ๋ฏฟ๋Š”๋‹ค. ํ•œ์ชฝ ๋๊ณผ ๋‹ค๋ฅธ ์ชฝ ๋์„ ์ž‡๋Š” ์กฐ๊ทธ๋งŒ ๊ธฐ๋Šฅ ์กฐ๊ฐ๋“ค์„ ๋งŒ๋“ค๊ณ , ๊ทธ ๊ณผ์ •์—์„œ ๋ฌธ์ œ์— ๋Œ€ํ•˜์—ฌ ๋ฐฐ์›Œ๋ผ. ์ฝ”๋“œ๋ฅผ ์ฑ„์›Œ ๋‚˜๊ฐ€๋ฉด์„œ ๋ฐฐ์šด ๊ฒƒ์„ ์ ์šฉํ•˜๊ณ , ๊ฐ ๋‹จ๊ณ„๋งˆ๋‹ค ๊ณ ๊ฐ์„ ์ฐธ์—ฌ์‹œ์ผœ์„œ ์ „์ฒด ๊ณผ์ •์„ ์•ˆ๋‚ดํ•˜๋„๋ก ํ•˜๋ผ.

๐Ÿฅ• ๋‹ค์‹œ ์ฝ”๋“œ๋กœโ€‹

์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ค ๋•Œ ๋งจ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ค๊ณ , ์ฝ”๋“œ๋“ค์„ ์„œ๋กœ ์—ฐ๊ฒฐํ•˜๊ธฐ ์ „์— ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ์ฒ ์ €ํ•˜๊ฒŒ ํ…Œ์ŠคํŠธํ•ด์•ผ๋งŒ ํ•œ๋‹ค.

๐Ÿฅ• ๋‹จ์œ„ ํ…Œ์ŠคํŠธโ€‹

์†Œํ”„ํŠธ์›จ์–ด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ž€ ์ผ์ข…์˜ ์ธ์œ„์ ์ธ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•œ ๋‹ค์Œ, ํ…Œ์ŠคํŠธํ•  ๋ชจ๋“ˆ์˜ ๋ฃจํ‹ด๋“ค์„ ํ˜ธ์ถœํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฐ˜ํ™˜๋œ ๊ฒฐ๊ณผ๋“ค์„ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ๊ฐ’๊ณผ ๋น„๊ตํ•ด ๋ณด๊ฑฐ๋‚˜ ๋˜‘๊ฐ™์€ ํ…Œ์ŠคํŠธ๋ฅผ ์ด์ „์— ๋Œ๋ ธ์„ ๋•Œ ๋‚˜์˜จ ๊ฐ’๊ณผ ๋น„๊ตํ•˜์—ฌ ์˜ฌ๋ฐ”๋ฅธ์ง€ ๊ฒ€์‚ฌํ•œ๋‹ค. ๋™์ผํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ฝ”๋“œ ์ˆ˜์ • ํ›„ ๋‹ค์‹œ ๋Œ๋ ค๋ณด๋Š” ๊ฒƒ์„ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๋ผ๊ณ  ํ•œ๋‹ค.

๐Ÿฅ• ๊ณ„์•ฝ์„ ์ง€ํ‚ค๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๊ธฐโ€‹

์šฐ๋ฆฌ๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ๊ณ„์•ฝ์„ ์ž˜ ์ง€ํ‚ค๋Š”์ง€ ๋ณด๋Š” ํ…Œ์ŠคํŠธ๋ผ๊ณ  ์—ฌ๊ธด๋‹ค. ์šฐ๋ฆฌ๋Š” ์–ด๋–ค ์ฝ”๋“œ ๋‹จ์œ„๊ฐ€ ์ž์‹ ์ด ๋งบ์€ ๊ณ„์•ฝ์„ ์ง€ํ‚ค๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ž‘์„ฑํ•˜๊ณ ์ž ํ•œ๋‹ค. ์ด๋Ÿฐ ํ…Œ์ŠคํŠธ๋Š” ์šฐ๋ฆฌ์—๊ฒŒ ๋‘ ๊ฐ€์ง€๋ฅผ ์•Œ๋ ค์ค€๋‹ค. ํ•˜๋‚˜๋Š” ์ฝ”๋“œ๊ฐ€ ๊ณ„์•ฝ์„ ์ง€ํ‚ค๋Š”์ง€ ์—ฌ๋ถ€๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์ฝ”๋“œ๋กœ ํ‘œํ˜„๋œ ๊ณ„์•ฝ์˜ ์˜๋ฏธ๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•œ ๊ฒƒ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์™€ ๊ฒฝ๊ณ„ ์กฐ๊ฑด์—์„œ๋„ ๋ชจ๋“ˆ์ด ์•ฝ์†ํ•œ ๋Œ€๋กœ ๊ธฐ๋Šฅ์„ ์ž˜ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ๋‹ค.

์–ด๋–ค ๋ชจ๋“ˆ์ด ์žˆ์„ ๋–„ ๊ทธ ๋ชจ๋“ˆ์˜ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๋จผ์ € ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๋ชจ๋‘ ๊ฒ€์ฆํ•œ ํ›„์—์•ผ ํ•ด๋‹น ๋ชจ๋“ˆ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ DataFeed์™€ LinearRegression์€ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š”๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๋ฉด, ๋ฌธ์ œ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์•„๋‹˜ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์— ์žˆ๋‹ค๊ณ  ๊ฑฐ์˜ ํ™•์‹ ํ•  ์ˆ˜ ์žˆ๋”ฐ. ์ด ๊ธฐ๋ฒ•์€ ๋””๋ฒ„๊น…์— ๋“ค์–ด๊ฐ€๋Š” ๋…ธ๋ ฅ์„ ์ค„์—ฌ ์ฃผ๋Š” ๋ฉ‹์ง„ ๋ฐฉ๋ฒ•์ด๋‹ค.

์™œ ์ด๋ ‡๊ฒŒ ๋ฒˆ์žกํ•œ ์ผ์„ ํ•˜๋Š” ๊ฒƒ์ผ๊นŒ? ๋ฌด์—‡๋ณด๋‹ค๋„ "์‹œํ•œํญํƒ„", ์ฆ‰ ๋ฌธ์ œ๊ฐ€ ํ”„๋กœ์ ํŠธ์—์„œ ์•Œ๋ ค์ง€์ง€ ์•Š์€ ์ฑ„๋กœ ์ˆจ์–ด ์žˆ๋‹ค๊ฐ€ ๋‚˜์ค‘์— ๊ณค๋ž€ํ•œ ์‹œ์ ์— ํ„ฐ์ ธ ๋ฒ„๋ฆฌ๋Š” ์ผ์„ ํ”ผํ•˜๊ณ  ์‹ถ์–ด์„œ๋‹ค. ๊ณ„์•ฝ์„ ์ž˜ ์ง€ํ‚ค๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ๊ฐ•์กฐํ•จ์œผ๋กœ์จ ํ”„๋กœ์ ํŠธ์—์„œ ์ดํ›„์— ๋ฒŒ์–ด์งˆ์ง€ ๋ชจ๋ฅผ ์žฌ์•™์„ ํ”ผํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

Tip 69. ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ•˜๋ผ.

๐Ÿฅ• ์ž„์‹œ ํ…Œ์ŠคํŠธโ€‹

์ž„์‹œ(Ad-hoc) ํ…Œ์ŠคํŠธ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ์ฝ”๋“œ๋ฅผ ์ด๋ฆฌ์ €๋ฆฌ ์ฐ”๋Ÿฌ๋ณด๋Š” ๊ฒƒ์ด๋‹ค. console.log() ํ•œ ์ค„์ผ ์ˆ˜๋„ ์žˆ๊ณ , ๋””๋ฒ„๊ฑฐ๋‚˜ IDE ํ™˜๊ฒฝ, REPL์— ์ง์ ‘ ์‹คํ–‰ํ•˜๋ฉด์„œ ์ž…๋ ฅํ•˜๋Š ์ฝ”๋“œ ์กฐ๊ฐ์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

๋””๋ฒ„๊น… ์ž‘์—…์ด ๋๋‚˜๋ฉด ์ด๋Ÿฐ ์ž„์‹œ ํ…Œ์ŠคํŠธ๋ฅผ ์ •์‹ ํ…Œ์ŠคํŠธ์˜ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด๋‘์–ด์•ผ ํ•œ๋‹ค. ํ•œ ๋ฒˆ ์ž˜๋ชป๋œ ์ฝ”๋“œ๋ผ๋ฉด ๋‹ค์‹œ ์ž˜๋ชป๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ๋งŒ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ๊ทธ๋ƒฅ ๋ฒ„๋ฆฌ์ง€ ๋ง๊ณ  ๊ธฐ์กด์˜ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๊ตฐ๋‹จ์— ํ•ฉ๋ฅ˜์‹œ์ผœ๋ผ.

๐Ÿฅ• ํ…Œ์ŠคํŠธ ์ ‘์  ๋งŒ๋“ค๊ธฐโ€‹

์•„๋ฌด๋ฆฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ž˜ ๊ฐ–์ถ”์—ˆ์–ด๋„ ๋ชจ๋“  ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜๋Š” ์—†๋‹ค.

์ด ๋ง์€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ฐฐํฌํ•œ ํ›„์—๋„ ํ…Œ์ŠคํŠธํ•  ์ผ์ด ์ž์ฃผ ์ƒ๊ธด๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋•Œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ฐฐํฌํ•œ ํ›„์—๋„ ํ…Œ์ŠคํŠธํ•  ์ผ์ด ์ž์ฃผ ์ƒ๊ธด๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์–ด๋–ค ๋ชจ๋“ˆ์˜ ๋‚ด๋ถ€ ์ƒํƒœ๋ฅผ ๋””๋ฒ„๊ฑฐ ์—†์ด ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
๋กœ๊ทธ ํŒŒ์ผ์— ์Œ“์ด๋Š” ์ถ”์  ๋ฉ”์‹œ์ง€๊ฐ€ ์ด๋Ÿฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๊ฐ€์šด๋ฐ ํ•˜๋‚˜๋‹ค. ๋กœ๊ทธ ๋ฉ”์‹œ์ง€๋Š” ๋ฐ˜๋“œ์‹œ ๊ทœ์น™์ ์ด๊ณ  ์ผ๊ด€๋œ ํ˜•์‹์ด์–ด์•ผ ํ•œ๋‹ค.

์‹คํ–‰ ์ค‘์ธ ์ฝ”๋“œ์˜ ๋‚ด๋ถ€๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฉ”์ปค๋‹ˆ์ฆ๋ฏ€๋กœ ๋‹จ์ถ•ํ‚ค ์กฐํ•ณใ…‚์ด๋‚˜ ์ˆจ๊ฒจ์ง„ URL ๋ฐฉ์‹์ด ์žˆ๋‹ค. ์–ด๋–ค ํŠน์ •ํ•œ ํ‚ค ์กฐํ•ฉ์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ํŠน์ • URL์— ์ ‘์†ํ•˜๋ฉด, ์ƒํƒœ ์ •๋ณด์™€ ๊ทธ ์™ธ์˜ ๊ฒƒ๋“ค์ด ๋“ค์–ด ์žˆ๋Š” ์ง„๋‹จ ์ œ์–ด ์ฐฝ์ด ์—ด๋ฆฌ๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.

๋” ์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ๊ธฐ๋Šฅ ์Šค์œ„์น˜๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํŠน์ • ์‚ฌ์šฉ์ž๋‚˜ ์‚ฌ์šฉ์ž ์ง‘๋‹จ์— ๋Œ€ํ•ด์„œ๋Š” ์ง„๋‹จ ๋ฉ”์‹œ์ง€๋ฅผ ๋” ๋งŽ์ด ๋‚จ๊ธฐ๋„๋ก ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๐Ÿฅ• ํ…Œ์ŠคํŠธ ๋ฌธํ™”โ€‹

์—ฌ๋Ÿฌ๋ถ„์ด ์ž‘์„ฑํ•˜๋Š” ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์–ธ์  ๊ฐ€๋Š” ํ…Œ์ŠคํŠธ๋œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด๋‚˜ ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒ€์ด ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฒฐ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉ์ž๋“ค์ด ํ…Œ์ŠคํŠธํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ฒ ์ €ํ•˜๊ฒŒ ํ…Œ์ŠคํŠธํ•  ๊ณ„ํš์„ ์„ธ์šฐ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ์žˆ๋Š” ์„ ํƒ์ง€๋Š” ๊ทธ๋ฆฌ ๋งŽ์ง€ ์•Š๋‹ค. "ํ…Œ์ŠคํŠธ ๋จผ์ €", "์ฝ”๋“œ์™€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•จ๊ป˜", "ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์Œ" ์…‹ ์ค‘ ํ•˜๋‚˜๋‹ค.

"ํ…Œ์ŠคํŠธ ๋จผ์ €"๊ฐ€ ๋Œ€๋ถ€๋ถ„์˜ ์ƒํ™ฉ์—์„œ ์ตœ์ƒ์˜ ์„ ํƒ์ผ ๊ฒƒ์ด๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ํ•  ์ˆ˜ ๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ…Œ์ŠคํŠธ ์ฃผ๋„ ์„ค๊ณ„๋„ ์—ฌ๊ธฐ์— ํฌํ•จ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๋•Œ์— ๋”ฐ๋ผ ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ์“ฐ๊ธฐ๊ฐ€ ์–ด๋ ต๊ฑฐ๋‚˜ ์˜๋ฏธ๊ฐ€ ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด "์ฝ”๋“œ์™€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•จ๊ผ"๊ฐ€ ๋Œ€์•ˆ์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์กฐ๊ธˆ ์ž‘์„ฑํ•˜๊ณ , ์ด๋ฆฌ์ €๋ฆฌ ๋งŒ์ง€์ž‘์ €๋ฆฌ๋‹ค๊ฐ€ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋ผ. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ์ฝ”๋“œ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ์ตœ์•…์˜ ์„ ํƒ์€ ํ”ํžˆ๋“ค "๋‚˜์ค‘์— ํ…Œ์ŠคํŠธ"๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ์ธ๋ฐ, ์™„์ „ ํ—›์†Œ๋ฆฌ๋‹ค. "๋‚˜์ค‘์— ํ…Œ์ŠคํŠธ"๋Š” ์‚ฌ์‹ค "ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์Œ"์ด๋ž€ ๋œป์ด๋‹ค.

์ œ๋Œ€๋กœ ๋œ ํ…Œ์ŠคํŠธ ๋ฌธํ™”๋ฅผ ๊ฐ€์กŒ๋‹ค๋ฉด ๋ชจ๋“  ํ…Œ์ŠคํŠธ๊ฐ€ ์–ธ์ œ๋‚˜ ํ†ต๊ณผํ•ด์•ผ ํ•œ๋‹ค.
"์–ธ์ œ๋‚˜ ์‹คํŒจ"ํ•˜๋Š” ๋ถˆ๋Ÿ‰ ํ…Œ์ŠคํŠธ๋ฅผ ๋ฌด์‹œํ•˜๋‹ค ๋ณด๋ฉด ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ๋ฌด์‹œํ•˜๊ฒŒ ๋˜๊ธฐ ์‰ฝ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•…์ˆœํ™˜์˜ ๊ณ ๋ฆฌ๊ฐ€ ์‹œ์ž‘๋œ๋‹ค.

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๋‹ค๋ฅธ ์ œํ’ˆ ์ฝ”๋“œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‹ค๋ค„๋ผ. ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๊ณ , ๊บ ๋—ํ•˜๊ณ  ๊ฒฌ๊ณ ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ผ. GUI ์‹œ์Šคํ…œ์˜ ์œ„์ ฏ ์œ„์น˜๋‚˜ ์„œ๋ฒ„ ๋กœ๊ทธ์— ์ฐํžŒ ํ˜„์žฌ ์‹œ๊ฐ„, ์—๋Ÿฌ ๋ฉ”์‹œ์ง€์˜ ๋ฌธ๊ตฌ์ฒ˜๋Ÿผ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์— ์˜์กดํ•˜์ง€ ๋ง๋ผ. ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•˜๋ฉด ํ…Œ์ŠคํŠธ๊ฐ€ ๋” ์ž˜ ๊นจ์ง€๊ฒŒ ๋œ๋‹ค.

Tip 70. ์—ฌ๋Ÿฌ๋ถ„์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋ผ. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ํ…Œ์ŠคํŠธํ•˜๊ฒŒ ๋œ๋‹ค.

๋ช…์‹ฌํ•˜๋ผ. ํ…Œ์ŠคํŠธ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ผ๋ถ€๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด๋‚˜ ๋‹ค๋ฅธ ๋ถ€์„œ์— ๋– ๋„˜๊ธธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.
ํ…Œ์ŠคํŠธ, ์„ค๊ณ„, ์ฝ”๋”ฉ, ์ด ๋ชจ๋“  ๊ฒƒ์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‹ค.

๊ณ ๋ฐฑ
๋‚˜ ๋ฐ์ด๋ธŒ๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋”๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋งํ•ด ์™”๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ์ข…๊ต์ฒ˜๋Ÿผ ๋– ๋ฐ›๋“œ๋Š” ์‚ฌ๋žŒ๋“ค์˜ ๋ฏฟ์Œ์„ ํ”๋“ค๊ธฐ ์œ„ํ•œ ๊ฒƒ๋„ ์žˆ๊ณ , ๋˜ ์–ด๋Š ์ •๋„๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์“ฐ์ง€ ์•Š๋Š” ๊ฒƒ์ด ์‚ฌ์‹ค์ด๊ธฐ ๋•Œ๋ฌธ์ด๊ธฐ๋„ ํ•˜๋‹ค.
๋‚˜๋Š” 45๋…„๊ฐ„ ์ฝ”๋”ฉ์„ ํ•ด ์™”๊ณ , 30๋…„ ๋„˜๊ฒŒ ๋Š˜ ์ž๋™ํ™” ํ…Œ์ŠคํŠธ๋ฅผ ์จ ์™”๋‹ค. ์ฝ”๋”ฉ์„ ์‹œ์ž‘ํ•  ๋•Œ๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•œ๋‹ค. ์•„์ฃผ ํŽธ์•ˆํ•˜๊ฒŒ ๋Š๊ปด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š ใ„ด๋ฌด์–ธ๊ฐ€๊ฐ€ ํŽธ์•ˆํ•˜๊ฒŒ ๋Š๊ปด์ง€๋ฉด ๋˜ ๋‹ค๋ฅธ ์‹œ๋„๋ฅผ ํ•ด ๋ด์•ผ ํ•˜๋Š” ์ฒœ์„ฑ์„ ํƒ€๊ณ ๋‚ฌ๋‹ค.
๊ทธ๋ž˜์„œ ๋‚˜๋Š” ๋ช‡ ๋‹ฌ ์ „ ํ…Œ์ŠคํŠธ ์“ฐ๊ธฐ๋ฅผ ๊ทธ๋งŒ๋‘๊ณ  ๋‚ด ์ฝ”๋“œ์— ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง€๋Š”์ง€ ํ•œ๋ฒˆ ๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋†€๋ž๊ฒŒ๋„ ๋ณ€ํ™”๋Š” "ํฌ์ง€ ์•Š์•˜๋‹ค." ๊ทธ๋ž˜์„œ ์™œ ๊ทธ๋Ÿฐ์ง€ ๊ณฐ๊ณฐ์ด ์ƒ๊ฐํ•ด ๋ณด์•˜๋‹ค.
๋‚ด ์ƒ๊ฐ์— ๋‚˜์—๊ฒŒ ์žˆ์–ด ํ…Œ์ŠคํŠธ์˜ ์ด๋“์€ ๋Œ€๋ถ€๋ถ„ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•˜์—ฌ, ๊ทธ๋ฆฌ๊ณ  ํ…Œ์ŠคํŠธ๊ฐ€ ์ฝ”๋“œ์— ์ฃผ๋Š” ์˜ํ–ฅ์— ๋Œ€ํ•˜์—ฌ ๊ณ ๋ฏผํ•˜๋Š” ๊ณผ์ •์—์„œ ์ƒ๊ธฐ๋Š” ๋“ฏ ํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฝค ์˜ค๋ž˜ ์ด ์ผ์„ ํ•ด ์˜ค๋‹ค๋ณด๋‹ˆ ์‹ค์ œ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์“ฐ์ง€ ์•Š๊ณ ๋„ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‚ด ์ฝ”๋“œ๋Š” ์—ฌ์ „ํžˆ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์‰ฝ๋‹ค. ์•„์ง ํ…Œ์ŠคํŠธํ•˜์ง€ ์•Š์•˜์„ ๋ฟ์ด๋‹ค.
ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๊ด€์ ์€ ํ…Œ์ŠคํŠธ๊ฐ€ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ์†Œํ†ตํ•˜๋Š” ์ˆ˜๋‹จ์ด๊ธฐ๋„ ํ•˜๋‹ค๋Š” ์ธก๋ฉด์„ ๋ฌด์‹œํ•œ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ด์ œ๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ณต์œ ํ•˜๋Š” ์ฝ”๋“œ ํ˜น์€ ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์–ด๋–ค ํŠน์„ฑ์— ์˜์กดํ•˜๋Š” ์ฝ”๋“œ๋งŒ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
์•ค๋””๋Š” ์ด ์ƒ์ž์˜ ๋‚ด์šฉ์„ ์‹ฃ์ง€ ๋ง์ž๊ณ  ํ–ˆ๋‹ค. ๊ฒฝํ—˜์ด ๋ถ€์กฑํ•œ ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ดœํžˆ ๋”ฐ๋ผ์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์“ฐ์ง€ ์•Š์„๊นŒ ๋ด ๊ฑฑ์ •์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜์˜ ํƒ€ํ˜‘์•ˆ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
์—ฌ๋Ÿฌ๋ถ„์ด ํ…Œ์ŠคํŠธ๋ฅผ ์จ์•ผ ํ• ๊นŒ? ๊ทธ๋ ‡๋‹ค. ํ•˜์ง€๋งŒ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๊ฒฝํ—˜์ด 30๋…„ ์ •๋„ ์Œ“์˜€๋‹ค๋ฉด ํ…Œ์ŠคํŠธ๊ฐ€ ์–ด๋–ค ๋ฉด์—์„œ ๋„์›€์ด ๋˜๋Š”์ง€ ์ง์ ‘ ์‹คํ—˜์„ ํ•ด ๋ด๋„ ์ข‹์„ ๊ฒƒ์ด๋‹ค.

๐Ÿญ Topic 42. ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธโ€‹

๐Ÿฅ• ๊ณ„์•ฝ, ๋ถˆ๋ณ€์‹, ์†์„ฑโ€‹

์„ ํ–‰ ์กฐ๊ฑด์— ๋งž์ถ”์–ด ์ž…๋ ฅ์„ ๋„ฃ์œผ๋ฉด ์ฝ”๋“œ๊ฐ€ ์ƒ์‚ฐํ•˜๋Š” ์ถœ๋ ฅ์ด ์ฃผ์–ด์ง„ ํ›„ํ–‰ ์กฐ๊ฑด์— ๋งž์Œ์„ ๋ณด์žฅํ•ด ์ค€๋‹ค.

๋ถˆ๋ณ€์‹์ด๋ผ๋Š” ๊ฒƒ๋„ ์žˆ์—ˆ๋Š”๋ฐ, ํ•จ์ˆ˜ ์‹คํ–‰ ์ „ํ›„๋กœ ๊ณ„์† ์–ด๋–ค ๋ถ€๋ถ„์˜ ์ƒํƒœ์— ๋Œ€ํ•˜์—ฌ ์ฐธ์ด ๋˜๋Š” ์กฐ๊ฑด์„ ๋งํ•œ๋‹ค. ์ฝ”๋“œ์— ์กด์žฌํ•˜๋Š” ๊ณ„์•ฝ๊ณผ ๋ถˆ๋ณ€์‹์„ ๋ญ‰๋šฑ๊ทธ๋ ค์„œ ์†์„ฑ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ฝ”๋“œ์—์„œ ์†์„ฑ์„ ์ฐพ์•„๋‚ด์„œ ํ…Œ์ŠคํŠธ ์ž๋™ํ™”์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ์„ ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ(property-based testing)๋ผ๊ณ  ํ•œ๋‹ค.

Tip 71. ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ๋กœ ๊ฐ€์ •์„ ๊ฒ€์ฆํ•˜๋ผ.

์ธ์œ„์ ์ธ ์˜ˆ๋ฅผ ํ•˜๋‚˜ ์ƒ๊ฐํ•ด ๋ณด์ž๋ฉด ๋ฆฌ์ŠคํŠธ ์ •๋ ฌ ๊ธฐ๋Šฅ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ๋Š” ์›๋ž˜ ๋ฆฌ์ŠคํŠธ์™€ ๊ธธ์ด๊ฐ€ ๊ฐ™๋‹ค. ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ์—์„œ ๋ชจ๋“  ์›์†Œ๋Š” ๋‹ค์Œ ์›์†Œ๋ณด๋‹ค ํด ์ˆ˜ ์—†๋‹ค๋Š” ์†์„ฑ๋„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

from hypothesis import given
import hypothesis.strategies as some

@given(some.lists(some.integers()))
def test_list_size_is_invariant_across_sorting(a_list):
original_length = len(a_list)
a_list.sort()
assert len(a_list) == original_length

@given(some.lists(some.text()))
def test_sorted_result_is_ordered(a_list):
a_list.sort()
for i in range(len(a_list) - 1):
assert a_list[i] <= a_list[i + 1]

์˜ˆ์ƒ ๊ฐ€๋Šฅํ•œ ๊ฒฐ๊ณผ๋‹ค. ํ•˜์ง€๋งŒ ๋ณด์ด์ง€ ์•Š์€ ๊ณณ์—์„œ hypothesis๋Š” ์šฐ๋ฆฌ ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐฑ ๋ฒˆ์”ฉ์ด๋‚˜ ๋Œ๋ ธ๋‹ค. ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๋„ ๋ฐ”๊พธ๊ณ  ๋‚ด์šฉ๋„ ๋ฐ”๊ฟ” ๊ฐ€๋ฉด์„œ ๋งค๋ฒˆ ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋„˜๊ฒผ๋‹ค.

๐Ÿฅ• ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ๋Š” ์šฐ๋ฆฌ๋ฅผ ์ž์ฃผ ๋†€๋ž˜ํ‚จ๋‹คโ€‹

์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ•๋ ฅํ•œ ๊นŒ๋‹ญ์€ ๊ทธ์ € ์ž…๋ ฅ์„ ์ƒ์„ฑํ•˜๋Š” ๊ทœ์น™๊ณผ ์ถœ๋ ฅ์„ ๊ฒ€์ฆํ•˜๋Š” ๋‹จ์ •๋ฌธ๋งŒ ์„ค์ •ํ•œ ์ฑ„ ์ œ๋ฉ‹๋Œ€๋กœ ์ž‘๋™ํ•˜๋„๋ก ๋†”๋‘๊ธฐ ๋–„๋ฌธ์ด๋‹ค. ์ •ํ™•ํžˆ ์–ด๋–ค ์ผ์ด ์ผ์–ด๋‚ ์ง€ ์ ˆ๋Œ€ ์•Œ ์ˆ˜ ์—†๋‹ค. ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•  ์ˆ˜๋„, ๋‹จ์ •๋ฌธ์ด ์‹คํŒจํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์ฝ”๋“œ๊ฐ€ ์ฃผ์–ด์ง„ ์ž…๋ ฅ์„ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜๊ณ  ์ค‘๊ฐ„์— ๋ฉˆ์ถฐ๋ฒ„๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค.

์ขŒ์ ˆ๊ฐ์€ ์ •ํ™•ํžˆ ๋ฌด์—‡์ด ์‹คํŒจํ–ˆ๋Š”์ง€ ์ฐพ์•„๋‚ด๊ธฐ ๊นŒ๋‹ค๋กœ์šธ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ–ˆ๋‹ค๋ฉด ํ…Œ์ŠคํŠธ ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ค ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”์ง€ ์•Œ์•„๋‚ธ ๋‹ค์Œ ๊ทธ ๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ๋ณ„๋„์˜ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ •์‹์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ์ด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋Š” ๋‘ ๊ฐ€์ง€ ์—ญํ• ์„ ํ•œ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ์˜ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ์™€ ์ƒ๊ด€์—†์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ƒํ™ฉ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ค€๋‹ค. ๋‘ ๋ฒˆ์งธ๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ "ํšŒ๊ท€ ํ…Œ์ŠคํŠธ" ์—ญํ• ์„ ํ•œ๋‹ค.
์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ๋Š” ์ž„์˜์˜ ๊ฐ’์„ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ๋ฒˆ์— ์‹คํ–‰ํ–ˆ์„ ๋•Œ ๋˜‘๊ฐ™์€ ๊ฐ’์„ ํ…Œ์ŠคํŠธ ํ•จ์ˆ˜์— ๋„˜๊ธด๋‹ค๋Š” ๋ณด์žฅ์ด ์—†๋‹ค. ๋ฌด์ œ๋ฅผ ์ผ์œผ์ผฐ๋˜ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋‘๋ฉด ๋ฒ„๊ทธ๊ฐ€ ์™„์ „ํžˆ ํ•ด๊ฒฐ๋˜์—ˆ์Œ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿฅ• ์†์„ฑ ๊ธฐ๋ฒค ํ…Œ์ŠคํŠธ๋Š” ์„ค๊ณ„์—๋„ ๋„์›€์„ ์ค€๋‹คโ€‹

๋‹จ์œ„ ํ…Œ์ŠคํŠธ์˜ ์ฃผ์š” ์žฅ์  ์ค‘์— ์ฝ”๋“œ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ž‡๋‹ค๊ณ  ์„ค๋ช…ํ–ˆ์—ˆ๋‹ค. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์ด ๋งŒ๋“œ๋Š” API์˜ ์ฒซ ๋ฒˆ์งธ ๊ณ ๊ฐ์ด๋ผ๊ณ  ํ–ˆ๋‹ค.

์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์ฝ”๋“œ๋ฅผ ๋ถˆ๋ณ€์‹๊ณผ ๊ณ„์•ฝ์ด๋ผ๋Š” ๊ด€์ ์œผ๋กœ ๋ฐ”๋ผ๋ณด๊ฒŒ ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ๋ฌด์—‡์ด ๋ณ€ํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๊ณ , ์–ด๋–ค ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•˜๋Š”์ง€ ์ƒ๊ฐํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฐ ๊ด€์ ์œผ๋กœ ๋ณด๋ฉด ์ฝ”๋“œ์— ๋งˆ๋ฒ•๊ณผ ๊ฐ™์€ ํšจ๊ณผ๊ฐ€ ์ผ์–ด๋‚œ๋‹ค. ๊ฒฝ๊ณ„ ์กฐ๊ฑด์€ ์ค„์–ด๋“ค๊ณ , ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์„ ํ•ด์น˜๋Š” ํ•จ์ˆ˜๋Š” ๋” ๋„๋“œ๋ผ์ง„๋‹ค.

์šฐ๋ฆฌ๋Š” ์†์„ฑ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ๊ฐ€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ๋ณด์™„ํ•œ๋‹ค๊ณ  ๋ฏฟ๋Š”๋‹ค. ๋‘˜์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๊ฐ๊ฐ์˜ ์žฅ์ ์ด ์žˆ๋‹ค. ๋‘˜ ์ค‘์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์žˆ๋‹ค๋ฉด ํ•œ๋ฒˆ ์‹œ๋„ํ•ด ๋ณด๋ผ.

๐Ÿญ Topic 43. ๋ฐ”๊นฅ์—์„œ๋Š” ์•ˆ์ „์— ์ฃผ์˜ํ•˜๋ผโ€‹

๐Ÿฅ• ๋‚˜๋จธ์ง€ 90%โ€‹

๊ณ ๋œ ์˜ค๋ฅด๋ง‰๊ธธ์„ ์˜ค๋ฅด๋Š”๋™์•ˆ ๊ณ ๋น„์™€ ๋‚œ๊ด€์„ ์—ฌ๋Ÿฟ ๊ฑฐ์น˜๊ณ ๋‚˜๋ฉด ์ž์‹ ์—๊ฒŒ ์ด๋ ‡๊ฒŒ ๋งํ•˜๊ธฐ ์ผ์‘ค๋‹ค. "ํœด, ์ด์ œ ๋œ๋‹ค!" ๊ทธ๋Ÿฌ๊ณ ๋Š” ์ฝ”๋“œ๊ฐ€ ์™„์„ฑ๋˜์—ˆ์Œ์„ ์„ ํฌํ•œ๋‹ค. ๋ฌผ๋ก  ์•„์ง ์™„์„ฑ๋˜์ง€ ์•Š์•˜๋”ฐ. ์—ฌ๋Ÿฌ๋ถ„์€ 90% ์™„์„ฑํ•œ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ด์ œ ๋‚˜๋จธ์ง€ 90%๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์ด ๋‹ค์Œ์œผ๋กœ ํ•ด์•ผ ํ•˜๋Š” ์ผ์€ ์ฝ”๋“œ๊ฐ€ ์ž˜๋ชป๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์ฐพ์•„๋ณด๊ณ , ๊ฐ ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ž˜๋ชป๋œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋„˜๊ธฐ๊ฑฐ๋‚˜ ๋ฆฌ์†Œ์Šค๋ฅผ ํ˜๋ฆฌ๊ฑฐ๋‚˜ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ชจ์ž๋ผ๋Š” ๊ฒฝ์šฐ ๋”ฐ์œ„๋ฅผ ์ƒ๊ฐํ•ด ๋ณด์•„์•ผ ํ•œ๋‹ค.

๋‚ด๋ถ€์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋ฟ ์•„๋‹ˆ๋ผ ์™ธ๋ถ€์—์„œ ์‹œ์Šคํ…œ์„ ๋ง๊ฐ€ํŠธ๋ฆฌ๋ ค ํ•˜๋Š” ์‹œ๋„๊นŒ์ง€ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค. ์กฐ์šฉํžˆ ์ˆจ์–ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์•ˆ์„ ๋Œ€์‹ ํ•˜๋ ค๋Š” ์ƒ๊ฐ์€ ํ†ตํ•˜์ง€ ์•Š๋Š”๋‹ค.

๐Ÿฅ• ๊ธฐ๋ณธ ๋ณด์•ˆ ์›์น™โ€‹

์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์‹ค์ˆ˜๋„ ํ•˜๊ณ  ํ•œ๊ณ„๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•ˆ๋‹ค. ์™ธ๋ถ€์˜ ๊ณต๊ฒฉ์ž๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ๋‚จ๊ฒจ ๋†“์€ ์–ด๋–ค ํ‹ˆ์ด๋“  ๋ฒŒ๋ฆฌ๊ณ  ๋“ค์–ด์™€ ์‹œ์ŠคํŒ€์„ ๋ง๊ฐ€ํŠธ๋ฆฌ๋ ค ํ•  ๊ฒƒ๋„ ์•ˆ๋‹ค. ๊ฐœ๋ฐœํ•˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์ œ๊ฐ๊ฐ ๋ณด์•ˆ์„ ์œ„ํ•ด ํ•ด์•ผ ํ•  ์ผ๋“ค์ด ์žˆ๊ฒ ์ง€๋งŒ, ์šฐ๋ฆฌ๊ฐ€ ์–ธ์ œ๋‚˜ ๋ช…์‹ฌํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋ณธ ์›์น™์ด ๋ช‡ ๊ฐ€์ง€ ์žˆ๋‹ค.

  1. ๊ณต๊ฒฉ ํ‘œ๋ฉด์„ ์ตœ์†Œํ™”ํ•˜๋ผ.
  2. ์ตœ์†Œ ๊ถŒํ•œ ์›์น™.
  3. ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’.
  4. ๋ฏผ๊ฐ ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋ผ.
  5. ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ๋ฅผ ์ ์šฉํ•˜๋ผ.

๊ณต๊ฒฉ ํ‘œ๋ฉด์„ ์ตœ์†Œํ™”ํ•˜๋ผโ€‹

์‹œ์Šคํ…œ์˜ ๊ณต๊ฒฉ ํ‘œ๋ฉด ์˜์—ญ์€ ๊ณต๊ฒฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜, ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ฑฐ๋‚˜ ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ ‘๊ทผ ์ง€์ ์„ ํ•ฉํ•œ ๊ฒƒ์ด๋‹ค.

  • ์ฝ”๋“œ์˜ ๋ณต์žก์„ฑ์€ ๊ณต๊ฒฉ ๋งค๊ฐœ์ฒด๋ฅผ ์œ ๋ฐœํ•œ๋‹ค. ๋ณต์žกํ•œ ์ฝ”๋“œ๋Š” ์˜ˆ์ƒ ์™ธ์˜ ๋ถ€์ž‘์šฉ์ด ์ผ์–ด๋‚  ํ™•๋ฅ ์„ ๋†’์ด๊ณ , ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ณต๊ฒฉ ํ‘œ๋ฉด์„ ๋„“ํžŒ๋‹ค.

  • ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ๊ณต๊ฒฉ ๋งค๊ฐœ์ฒด๋‹ค. ์™ธ๋ถ€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ ˆ๋Œ€ ์‹ ๋ขฐํ•˜์ง€ ๋ง๋ผ. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ํ™”๋ฉด ๋ Œ๋”๋ง, ๊ทธ ๋ฐ–์˜ ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ ๋ฃจํ‹ด์— ์ „๋‹ฌํ•˜๊ธฐ ์ „์— ์–ธ์ œ๋‚˜ ๋‚˜์œ ๋‚ด์šฉ์„ ์ œ๊ฑฐํ•˜๋ผ.

  • ์ธ์ฆ์ด ์—†๋Š” ์„œ๋น„์Šค๋Š” ๊ณต๊ฒฉ ๋งค๊ฐœ์ฒด๋‹ค. ๋ณธ์งˆ์ ์œผ๋กœ ์ธ์ฆ์ด ์—†๋Š” ์„œ๋น„์Šค๋Š” ์ „ ์„ธ๊ณ„ ๋ˆ„๊ตฌ๋“ ์ง€ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณ„๋„๋กœ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ์ œํ•œ์„ ๋‘๋Š” ์กฐ์น˜๋ฅผ ํ•˜์ง€ ์•Š์œผ๋ฉด ์ตœ์†Œํ•œ "์„œ๋น„์Šค ๊ฑฐ๋ถ€ ๊ณต๊ฒฉ, DoS"์€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

  • ์ธ์ฆ์„ ์š”๊ตฌํ•˜๋Š” ์„œ๋น„์Šค๋„ ๊ณต๊ฒฉ ๋งค๊ฐœ์ฒด๋‹ค. ์ธ์ฆ ๋ฐ›์€ ์‚ฌ์šฉ์ž์˜ ์ˆ˜๋ฅผ ์–ธ์ œ๋‚˜ ์ตœ์†Œ๋กœ ์œ ์ง€ํ•˜๋ผ. ์“ฐ์ด์ง€ ์•Š๊ฑฐ๋‚˜, ์˜ค๋ž˜๋˜๊ณ , ์œ ํšจํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋‚˜ ์„œ๋น„์Šค๋ฅผ ์ •๋ฆฌํ•˜๋ผ.

  • ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ๊ณต๊ฒฉ ๋งค๊ฐœ์ฒด๋‹ค. ์ •๋ณด๋ฅผ ๋ˆ„์„คํ•˜์ง€ ๋ง๋ผ. ์‘๋‹ต์— ๋“ค์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์— ์ ์ ˆํ•œ์ง€ ๋Š˜ ํ™•์ธํ•˜๋ผ. ์ฃผ๋ฏผ ๋“ฑ๋ก ๋ฒˆํ˜ธ๋‚˜ ๋‹ค๋ฅธ ์‹ ์› ์ •๋ณด์ฒ˜๋Ÿผ ์œ„ํ—˜๋„๊ฐ€ ๋†’์€ ์ •๋ณด๋Š” ์ผ๋ถ€๋งŒ ๋…ธ์ถœํ•˜๊ฑฐ๋‚˜ ์•Œ์•„๋ณผ ์ˆ˜ ์—†๊ฒŒ ๋ณ€ํ˜•ํ•˜๋ผ.

  • ๋””๋ฒ„๊น… ์ •๋ณด๋Š” ๊ณต๊ฒฉ ๋งค๊ฐœ์ฒด๋‹ค. ํ…Œ์ŠคํŠธ ์ ‘์  ๋งŒ๋“ค๊ธฐ์ด๋‚˜ ์‹คํ–‰ ์‹œ์  ์˜ˆ์™ธ ์ •๋ณด๊ฐ€ ํ›”์ณ๋ณด๋Š” ์ด๋“ค์˜ ๋ˆˆ์— ๋„์ง€ ์•Š๋„๋ก ์ž˜ ๋ณดํ˜ธํ•˜๋ผ.

Tip 72. ๋‹จ์ˆœํ•จ์„ ์œ ์ง€ํ•˜๊ณ  ๊ณต๊ฒฉ ํ‘œ๋ฉด์„ ์ตœ์†Œํ™”ํ•˜๋ผ.

์ตœ์†Œ ๊ถŒํ•œ ์›์น™โ€‹

์ตœ์†Œํ•œ์˜ ๊ถŒํ•œ๋งŒ์„ ๊ผญ ํ•„์š”ํ•œ ์‹œ๊ฐ„๋งŒํผ๋งŒ ์ œ์ผ ์งง๊ฒŒ ๋ถ€์—ฌํ•˜๋ผ๋Š” ๊ฒŒ ๋˜๋‹ค๋ฅธ ํ•ต์‹ฌ ์›์น™์ด๋‹ค. ๋‹ค์‹œ ๋งํ•˜์ž๋ฉด ์•„๋ฌด ์ƒ๊ฐ ์—†์ด root๋‚˜ Administrator ๊ฐ™์€ ์ตœ๊ณ  ์ˆ˜์ค€ ๊ถŒํ•œ์„ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

์ด ๊ธฐ๋ฒ•์€ ๊ณต๊ฒฉ ํ‘œ๋ฉด์„ ์ตœ์†Œํ™”ํ•œ๋‹ค๋Š” ๋ฐœ์ƒ๊ณผ๋„ ์ผ๋งฅ์ƒํ†ตํ•œ๋‹ค. ์‹œ๊ฐ„๊ณผ ๊ถŒํ•œ ์ฐจ์›์—์„œ ๊ณต๊ฒฉ ๋งค๊ฐœ์ฒด์˜ ์œ ํšจ ๋ฒ”์œ„๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์ด๋‹ค. ๊ถŒํ•œ์ด์•ผ๋ง๋กœ "์ ์„์ˆ˜๋ก ๋‚ซ๋‹ค."

์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’โ€‹

์—ฌ๋Ÿฌ๋ถ„์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ˜น์€ ์›น ์‚ฌ์ดํŠธ ์‚ฌ์šฉ์ž์˜ ๊ธฐ๋ณธ ์„ค์ •์€ ๊ฐ€์žฅ ์•ˆ์ „ํ•œ ๊ฐ’์ด์–ด์•ผ ํ•œ๋‹ค. ๊ฐ€์žฅ ์•ˆ์ „ํ•œ ๊ฐ’์ด ๊ฐ€์žฅ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ๊ฐ’์ด๋‚˜ ํŽธ๋ฆฌํ•œ ๊ฐ’์€ ์•„๋‹ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ, ๊ฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋ณด์•ˆ๊ณผ ํŽธ๋ฆฌํ•จ ์‚ฌ์ด์—์„œ ๊ณ ๋ฅด๋„๋ก ํ•˜๋Š” ํŽธ์ด ๋‚ซ๋‹ค.

๋ฏผ๊ฐ ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋ผโ€‹

๊ฐœ์ธ ์‹ใ…‚์ก€ ์ •๋ณด๋‚˜ ๊ธˆ์œต ๋ฐ์ดํ„ฐ, ๋น„๋ฐ€๋ฒˆํ˜ธ, ๋‹ค๋ฅธ ์ธ์ฆ ์ •๋ณด๋ฅผ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ๋‚จ๊ธฐ์ง€ ๋ง๋ผ. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋“  ๋‹ค๋ฅธ ํŒŒ์ผ์ด๋“  ๋™์ผํ•˜๋‹ค. ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ถœ๋˜๋”๋ผ๋„ ์•”ํ˜ธ๊ฐ€ ์•ˆ์ „์žฅ์น˜ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์•”ํ˜ธ๋‚˜ APIํ‚ค, SSH ํ‚ค, ์•”ํ˜ธํ™” ๋น„๋ฐ€๋ฒˆํ˜ธ, ๊ทธ ๋ฐ–์˜ ๋‹ค๋ฅธ ์ธ์ฆ ์ •๋ณด๋ฅผ ์†Œ์Šค ์ฝ”๋“œ์šฉ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ๋„ฃ์ง€ ๋ง๋ผ.
ํ‚ค๋‚˜ ์•”ํ˜ธ๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. ๋ณดํ†ต ๋นŒ๋“œ๋‚˜ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์„ค์ • ํŒŒ์ผ์ด๋‚˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.

๋ณด์•ˆ ์—…๋ฐ์ดํŠธ๋ฅผ ์ ์šฉํ•˜๋ผโ€‹

๋ณด์•ˆ ํŒจ์น˜๋Š” ๋ฌผ๋ก  ํ•„์š”ํ•˜์ง€๋งŒ, ํŒจ์น˜์˜ ๋ถ€์ž‘์šฉ์œผ๋กœ ์—ฌ๋Ÿฌ๋ถ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ถ€๊ฐ€ ๋ง๊ฐ€์ง„๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ์ผ๋‹จ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ๋กœ ํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋ฅผ ๋‚˜์ค‘์œผ๋กœ ๋ฏธ๋ฃฐ์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ํ•˜์ง€๋งŒ ๋”์ฐํ•œ ์ƒ๊ฐ์ด๋‹ค. ์ด์ œ ์—ฌ๋Ÿฌ๋ถ„์˜ ์‹œ์Šคํ…œ์€ ์•Œ๋ ค์ง„ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์œผ๋กœ ๋šซ๋ฆด ์ˆ˜ ์žˆ๋‹ค.

Tip 73. ๋ณด์•ˆ ํŒจ์น˜๋ฅผ ์‹ ์†ํžˆ ์ ์šฉํ•˜๋ผ.

์ด ํŒ์€ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์žฅ๋น„์— ํ•ด๋‹น๋œ๋‹ค. ๊ผญ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์•ผ ํ•˜๋‚˜ ์‹ถ์€ ์ƒ๊ฐ์ด ๋“ ๋‹ค๋ฉด, ์ง€๊ธˆ๊นŒ์ง€ ๋ฐœ์ƒํ•œ ๋ฐ์ดํ„ฐ ์œ ์ถœ ์‚ฌ๊ณ  ์ค‘ ๊ฐ€์žฅ ํฐ ์‚ฌ๊ณ ๋Š” ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜์ง€ ์•Š์€ ์‹œ์Šคํ…œ ๋–„๋ฌธ์— ๋ฐœ์ƒํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค๋งŒ ๊ธฐ์–ตํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค.

๐Ÿฅ• ์ƒ์‹ ๋Œ€ ์•”ํ˜ธโ€‹

์•”ํ˜ธํ•™์— ์žˆ์–ด์„œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ์ƒ์‹์ด ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๋ช…์‹ฌํ•ด์•ผ ํ•œ๋‹ค. ์•”ํ˜ธํ™”์— ์žˆ์–ด์„œ ์ฒซ ๋ฒˆ์งธ ๊ทœ์น™์ด์ž ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ทœ์น™์€ ์ ˆ๋Œ€ ์ง์ ‘ ๋งŒ๋“ค์ง€ ๋ง๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ์ฒ˜๋Ÿผ ๊ฐ„๋‹จํ•œ ๊ฒƒ๋งˆ์ €๋„ ์ผ๋ฐ˜์ ์ธ ๊ด€ํ–‰์ด ํ‹€๋ ธ์„ ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์ด ๋งŒ๋“  ๊ธฐ๋ฐœํ•œ ์ˆ˜์ œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ „๋ฌธ๊ฐ€๊ฐ€ ๋ช‡ ๋ถ„ ๋‚ด๋กœ ํ’€์–ด ๋ฒ„๋ฆด ๊ฒƒ์ด๋‹ค. ์—„ํ˜ธํ™”๋Š” ์ง์ ‘ ํ•˜์ง€ ์•Š๋Š” ํŽธ์ด ๋‚ซ๋‹ค.

์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์—๋งŒ ์˜์ง€ํ•˜๋ผ. ๋งŽ์ด ๊ฒ€ํ† ํ•˜๊ณ , ์ฒ ์ €ํ•˜๊ฒŒ ๊ฒ€์‚ฌํ•˜๊ณ , ์ž˜ ์œ ์ง€ ๋ณด์ˆ˜๋˜๋ฉฐ ์ž์ฃผ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌใ…์šฉํ•˜๋ผ. ๊ฐ€๊ธ‰์  ์˜คํ”ˆ ์†Œ์Šค๊ฐ€ ์ข‹๋‹ค.

๊ฐ„๋‹จํ•œ ์•”ํ˜ธํ™” ์ž‘์—… ์™ธ์—๋„ ์—ฌ๋Ÿฌ๋ถ„์˜ ์›น ์‚ฌ์ดํŠธ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณด์•ˆ ๊ด€๋ จ ๊ธฐ๋Šฅ์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ๊ฒ€ํ† ํ•˜๋ผ.
์•„๋‹ˆ๋ฉด ์‹ค์šฉ์ฃผ์˜์  ์ ‘๊ทผ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜์—ฌ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋Œ€์‹  ๊ณ ๋ฏผํ•˜๋„๋ก ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์™ธ๋ถ€์˜ ์ธ์ฆ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜ ์กฐ์ง ๋‚ด์—์„œ ์šด์˜ํ•˜๋Š” ์ธ์ฆ ์„œ๋น„์Šค๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๊ณ , ์™ธ๋ถ€ ํด๋ผ์šฐ๋“œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๐Ÿญ Topic 44. ์ด๋ฆ„ ์ง“๊ธฐโ€‹

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ์ด๋ฆ„์ด "๋ชจ๋“  ๊ฒƒ!"์ด๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด๋ฆ„์„ ๋ถ™์ธ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์„œ๋ธŒ์‹œ์Šคํ…œ, ๋ชจ๋“ˆ, ํ•จ์ˆ˜, ๋ณ€์ˆ˜ ๋“ฑ ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋Š์ž„์—†์ด ๋งŒ๋“ค๊ณ  ๊ทธ๊ฒƒ์— ์ด๋ฆ„์ด ๋ถ€์—ฌํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„์ฃผ์•„์ฃผ ์ค‘์š”ํ•˜๋‹ค. ์ด๋ฆ„์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ์˜๋„์™€ ๋ฏฟ์Œ์„ ์ž”๋œฉ ๋“œ๋Ÿฌ๋‚ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์šฐ๋ฆฌ๋Š” ์ฝ”๋“œ์—์„œ ํ•˜๋Š” ์—ญํ• ์„ ๋”ฐ๋ผ ์ด๋ฆ„์„ ์ง€์–ด์•ผ ํ•œ๋‹ค๊ณ  ๋ฏฟ๋Š”๋‹ค. ์ด ๋ง์€ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ง๋“ค ๋•Œ๋งˆ๋‹ค ์ž ์‹œ ๋ฉˆ์ถฐ์„œ "๋‚ด๊ฐ€ ์ด๊ฒƒ์„ ์™œ ๋งŒ๋“œ๋Š” ๊ฑฐ์ง€?"ํ•˜๊ณ  ์ƒ๊ฐํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.

๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜์˜ ์—ญํ• ์„ ๊ณ ๋ คํ•˜๋ ค๋ฉด ๊ทธ ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜๊ฐ€ ๋ฌด์—‡์ด ํŠน๋ณ„ํ•œ์ง€, ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€, ๋ฌด์—‡๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€๋ฅผ ์ƒ๊ฐํ•ด์•ผ๋งŒ ํ•œ๋‹ค.

์ด๋ฆ„์„ ์ง€์„ ๋–„๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ์„ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ๋‹ค๋“ฌ๊ธฐ ์œ„ํ•ด ๋Š์ž„์—†์ด ๋…ธ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ช…ํ™•ํ•˜๊ฒŒ ๋‹ค๋“ฌ๋Š” ์ž‘์—…์ด ์—ฌ๋Ÿฌ๋ถ„์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์ฝ”๋“œ๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์šธ ๊ฒƒ์ด๋‹ค.
ํ•˜์ง€๋งŒ ๋ชจ๋“  ์ด๋ฆ„์€ ๋ฌธํ•™์ƒ ํ›„๋ณด์— ์˜ฌ๋ผ์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

๐Ÿฅ• ๋ฌธํ™”๋ฅผ ์กด์ค‘ํ•˜๋ผโ€‹

์ปดํ“จํ„ฐ ๊ณผํ•™์—๋Š” ์–ด๋ ค์šด ๋ฌธ์ œ๊ฐ€ ๋”ฑ ๋‘ ๊ฐœ ์žˆ๋‹ค. ์บ์‹œ ๋ฌดํšจํ™”์™€ ์ด๋ฆ„ ์ง“๊ธฐ.

๋Œ€๋ถ€๋ถ„์˜ ์ปดํ“จํ„ฐ ์ž…๋ฌธ์šฉ ๊ต์žฌ๋Š” i, j, k ๊ฐ™์€ ํ•œ ๊ธ€์ž ๋ณ€์ˆ˜๋ช…์„ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ๊ณ  ๊ฐ•์กฐํ•œ๋‹ค.
์šฐ๋ฆฌ๋Š” ์ด๋Ÿฐ ๊ฒฌํ•ด๊ฐ€ ์กฐ๊ธˆ์€ ํ‹€๋ ธ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

์‚ฌ์‹ค ์ด๋Š” ๊ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋‚˜ ํ™˜๊ฒฝ์˜ ๋ฌธํ™”์— ๋‹ฌ๋ฆฐ ๊ฒƒ์ด๋‹ค. C ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ i, j, k๋Š” ์ „ํ†ต์ ์œผ๋กœ ๋ฐ˜๋ณต๋ฌธ์—์„œ ์ฆ๊ฐ€ํ•˜๋Š” ๋ณ€์ˆ˜๋กœ ์“ฐ์—ฌ ์™”๋‹ค. ์ด๋Ÿฐ ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•œ๋‹ค๋ฉด ์ด๋Ÿฐ ์ฝ”๋“œ์™€ ๊ณ„์™ ๋งž๋‹ฅํŠธ๋ฆฌ๊ฒŒ ๋  ๊ฒƒ์ด๊ณ , ์ด ๊ด€์Šต์„ ์–ด๊ธด๋‹ค๋ฉด ๋ฌธ์ œ๊ฐ€ ๋  - ๊ทธ๋ฆฌ๊ณ  ์•„๋งˆ ํด๋ฆฐ ๊ฒƒ์ผ - ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋ฉด์— ์ด๋Ÿฐ ๊ด€์Šต์ด ์—†๋Š” ํ™˜๊ฒฝ์ด๋ผ๋ฉด ๋‹น์—ฐํžˆ ํ•œ ๊ธ€์ง€ ๋ณ€์ˆ˜๋ช…์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

์–ด๋–ค ์–ธ์–ด ์‚ฌ์šฉ์ž๋“ค์€ ์ด๋ฆ„ ๊ฐ€์šด๋ฐ์— ๋Œ€๋ฌธ์ž๋ฅผ ๋„ฃ๋Š” ๋‚™ํƒ€ ํ‘œ๊ธฐ๋ฒ•(camelCase)์„ ์„ ํ˜ธํ•˜๊ณ , ๋‹ค๋ฅธ ์–ธ์–ด ์‚ฌ์šฉ์ž๋“ค์€ ๋ฐ‘์ค„๋กœ ๋‹จ์–ด๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฑ€ ํ‘œ๊ธฐ๋ฒ•(snake_case)์„ ์„ ํ˜ธํ•œ๋‹ค. ์–ธ์–ด ์ž์ฒด์˜ ๋ฌธ๋ฒ•์—์„  ์–ด๋Š ์ชฝ์ด๋“  ์ƒ๊ด€์—†๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ์•„๋ฌด๊ฒƒ์ด๋‚˜ ์“ฐ๋ฉด ์•ˆ ๋œ๋‹ค. ๊ทธ ๋ถ„์•ผ์˜ ๋ฌธํ™”๋ฅผ ์กด์ค‘ํ•˜๋ผ.

์–ด๋–ค ์–ธ์–ด๋Š” ์ด๋ฆ„์— ์ผ๋ถ€ ์œ ๋‹ˆ์ฝ”๋Š ๋ฌธ์ž๋ฅผ ํ—ˆ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

๐Ÿฅ• ์ผ๊ด€์„ฑโ€‹

๋ชจ๋“  ํ”„๋กœ์ ํŠธ์—๋Š” ํŒ€ ๋‚ด์—์„œ ํŠน๋ณ„ํ•œ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ์šฉ์–ด๋“ค์„ ๋น„๋กฏํ•˜์—ฌ ๊ณ ์œ ์˜ ์–ดํœ˜๋“ค์ด ์žˆ๋‹ค. "Order"๊ฐ€ ์˜จ๋ผ์ธ ์ƒ์ ์„ ๋งŒ๋“œ๋Š” ํŒ€์—๊ฒŒ๋Š” "์ฃผ๋ฌธ"์ด๊ฒ ์ง€๋งŒ, ์ข…๊ต ๋‹จ์ฒด์˜ ์—ญ์‚ฌ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์•ฑ์„ ๋งŒ๋“œ๋Š” ํŒ€์—๊ฒŒ๋Š” "๊ต๋‹จ"์„ ์˜๋ฏธํ•  ๊ฒƒ์ด๋‹ค.
๋ฐ˜๋“œ์‹œ ํƒ์˜ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๊ฐ ๋‹จ์–ด์˜ ๋œป์„ ์•Œ๊ณ  ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ ๋งŽ์€ ์˜์‚ฌ์†Œํ†ต์„ ์žฅ๋ คํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ง ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๊ณ  ์ž์ฃผ ์ง์„ ๋ฐ”๊พผ๋‹ค๋ฉด ์šฉ์–ด์˜ ์˜๋ฏธ๋Š” ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํผ์ ธ ๋‚˜๊ฐˆ ๊ฒƒ์ด๋‹ค. ํŒ€์—๊ฒŒ ํŠน๋ณ„ํ•œ ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๋‹จ์–ด๋ฅผ ๋ชจ๋‘ ๋ชจ์€ ํ”„๋กœ์ ํŠธ ์šฉ์–ด ์‚ฌ์ „์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค. ์ด ๋ฌธ์„œ์— ๋”ฐ๋กœ ํ˜•์‹์„ ์ •ํ•ด ๋‘˜ ํ•„์š”๋Š” ์—†๋‹ค.

์‹œ๊ฐ„์ด ํ๋ฅด๋‹ค ๋ณด๋ฉด ํ”„๋กœ์ ํŠธ ์šฉ์–ด๋“ค์€ ์ž๋ฆฌ๋ฅผ ์žก์•„ ๋‚˜๊ฐˆ ๊ฒƒ์ด๋‹ค. ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์–ดํœ˜์— ์ต์ˆ™ํ•ด์ง€๋ฉด ์งง์€ ๋‹จ์–ด๋ฅผ ๋งํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๋งŽ์€ ์˜๋ฏธ๋ฅผ ์ •ํ™•ํ•˜๊ณ  ์งง๊ฒŒ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๐Ÿฅ• ์ด๋ฆ„ ๋ฐ”๊พธ๊ธฐ๋Š” ๋” ์–ด๋ ต๋‹คโ€‹

์ปดํ“จํ„ฐ ๊ณผํ•™์—๋Š” ์–ด๋ ค์šด ๋ฌธ์ œ๊ฐ€ ๋”ฑ ๋‘ ๊ฐœ ์žˆ๋‹ค. ์บ์‹œ ๋ฌดํšจํ™”, ์ด๋ฆ„ ์ง“๊ธฐ, ๊ทธ๋ฆฌ๊ณ  ํ•˜๋‚˜ ์ฐจ์ด(off-by-one) ์˜ค๋ฅ˜.

์•„๋ฌด๋ฆฌ ์ข‹์€ ์ด๋ฆ„์„ ์ง“๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๋”๋ผ๋„ ๋ชจ๋“  ๊ฒƒ์€ ๋ณ€ํ•œ๋‹ค. ์ฝ”๋“œ๋Š” ๋ฆฌํŒฉํ„ฐ๋ง๋˜๊ณ , ์‚ฌ์šฉ ๋ฐฉ์‹์€ ๋ฐ”๋€Œ๊ณ , ์˜๋ฏธ๋Š” ๋ฏธ๋ฌ˜ํ•˜๊ฒŒ ๋‹ฌ๋ผ์ง„๋‹ค. ๋ถ€์ง€๋Ÿฐํžˆ ์ด๋ฆ„์„ ๊ณ„์† ๋ฐ”๊พธ์ง€ ์•Š์œผ๋ฉด ์•…๋ชฝ ๊ฐ™์€ ์ƒํ™ฉ์— ๋น ์ง€๊ฒŒ ๋œ๋‹ค. ๋ฌด์˜๋ฏธํ•œ ์ด๋ฆ„๋ณด๋‹ค ๋” ๊ณ ์•ฝํ•œ ์ž˜๋ชป๋œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์œผ๋ฉด ๊ณ ์ณ๋ผ. ๋‹น์žฅ ๋ฐ”๋กœ ๊ทธ ์ž๋ฆฌ์—์„œ. ์˜๋„๋ฅผ ์ œ๋Œ€๋กœ ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜ ์˜คํ•ด๋ฅผ ๋ถ€๋ฅผ ์ˆ˜ ์žˆ๊ฑฐ๋‚˜ ํ—ท๊ฐˆ๋ฆฌ๋Š” ์ด๋ฆ„์„ ๋ฐ”๊ฒฌํ–ˆ๋‹ค๋ฉด ๊ณ ์ณ์•ผ ํ•œ๋‹ค. ํ˜น์‹œ ์ด๋ฆ„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์„ ๋บด๋จน์€ ๊ณณ์ด ์žˆ๋”๋ผ๋„ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์œผ๋‹ˆ ์—ฌ๋Ÿฌ๋ถ„์˜ ์‹ค์ˆ˜๋ฅผ ๋ฐœ๊ฒฌํ•ด ์ค„ ๊ฒƒ์ด๋‹ค.

Tip 74. ์ด๋ฆ„์„ ์ž˜ ์ง€์–ด๋ผ. ํ•„์š”ํ•˜๋ฉด ์ด๋ฆ„์„ ๋ฐ”๊ฟ”๋ผ.

์ž˜๋ชป๋œ ์ด๋ฆ„์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด ๋” ํฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๋ฐ”๋กœ ETC ์œ„๋ฐ˜์ด๋‹ค. ๊ทธ ๋ฌธ์ œ๋ฅผ ๊ณ ์น˜๊ณ  ๋‚˜์„œ ์ž˜๋ชป๋œ ์ด๋ฆ„์„ ๋ฐ”๊ฟ”๋ผ. ์•„๋ฆ„์„ ๋ฐ”๊พธ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ณ , ์ž์ฃผ ์ด๋ฆ„์„ ๋ฐ”๊ฟ”๋ผ.

๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํŒ€์— ์ƒˆ๋กœ์šด ์‚ฌ๋žŒ์ด ์˜ฌ ๋•Œ๋งˆ๋‹ค ์‹œ์น˜๋ฏธ๋ฅผ ๋š ๋–ผ๊ณ  getData๊ฐ€ ์‚ฌ์‹ค์€ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ์— ์“ด๋‹ค๋Š” ๊ฒƒ์„ ์„ค๋ช…ํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค.