๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[D+05] ์—ฐ์‚ฐ, ์กฐ๊ฑด๋ฌธ ๊ตญ๋น„์ง€์› D+05 - ์—ฐ์‚ฐ, ์กฐ๊ฑด๋ฌธ - ์—ฐ์‚ฐ ์šฐ๋ฆฌ๊ฐ€ ์ˆ˜ํ•™์—์„œ ์•Œ๊ณ ์žˆ๋Š” ์—ฐ์‚ฐ์˜ ์˜๋ฏธ๋Š” ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ์•Œ๊ณ  ์žˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ปดํ“จํ„ฐ์—์„œ์˜ ์—ฐ์‚ฐ์€ ๋ฌด์—‡์„ ์˜๋ฏธํ• ๊นŒ? ์ปดํ“จํ„ฐ์—์„œ ์—ฐ์‚ฐ์€ ์ปดํ“จํ„ฐ ๋ช…๋ น์–ด ๋™์ž‘๋ฐฉ์‹์ด๋ผ๊ณ  ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ช…๋ น๊ณผ ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๋„์ง‘์–ด ๋‚ด๋Š”๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ปดํ“จํ„ฐ์—์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ผ๋Š” ๋ช…๋ น์ด ์ฃผ์–ด์กŒ์„๋•Œ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜๋Š”์ง€ ์•Œ์•„๋ณด์ž. ๋ช…๋ น Instruction์€ Opcode์™€ Operand ๋‘ํŒŒํŠธ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. Opcode๋Š” Operation code๋กœ ๋ช…๋ น์ด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๋ช…๋ น์ฝ”๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ, Operand๋Š” ํ”ผ์—ฐ์‚ฐ์ž๋กœ Opcode๊ฐ€ ์—ฐ์‚ฐํ•  ๋Œ€์ƒ๋“ค์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด๋•Œ์˜ Operand๋Š” 1๊ฐœ๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๊ณ  ์ตœ๋Œ€ 4๊ฐœ๊นŒ์ง€๋„ ๋“ค์–ด๊ฐˆ .. 2022. 9. 23.
[D+04] JVM๊ณผ JAVA์˜ ๊ตฌ์„ฑ์š”์†Œ ๊ตญ๋น„์ง€์› D+04 - JVM๊ณผ JAVA์˜ ๊ตฌ์„ฑ์š”์†Œ - ์šฐ๋ฆฌ๋Š” ๊ธฐ์กด์— CPU์™€ ๋ฉ”๋ชจ๋ฆฌ์™€์˜ ๊ด€๊ณ„, ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ์ปดํŒŒ์ผ ๋ฐฉ์‹, ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•ด ์ด๋ก ์ ์œผ๋กœ ํ•™์Šตํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ์—ˆ๋‹ค. ์ด์ œ๋ถ€ํ„ฐ๋Š” JAVA๋ผ๋Š” ์–ธ์–ด๋กœ ์œ„์˜ ๋‚ด์šฉ์— ํ•ด๋‹นํ•˜๋Š” ๋‚ด์šฉ์„ ์‹ค์ œ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋ฉด์„œ ํ•™์Šตํ•ด๋ณด๋„๋ก ํ•˜์ž. JVM (JAVA Virtual Machine) JVM์€ ์ž๋ฐ” ๊ฐ€์ƒ๋จธ์‹ ์œผ๋กœ ์ปดํŒŒ์ผ๋œ ๋ฐ”์ดํŠธ์ฝ”๋“œ๋ฅผ ๋จธ์‹ ์„ ํ†ตํ•ด ์šด์˜์ฒด์ œ์™€ ์„œ๋กœ ํ†ต์‹ ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์šฐ๋ฆฌ๋Š” JVM์˜ ๋‹จ์ ์ธ ๋Š๋ฆฐ์†๋„๋ฅผ ๊ฐ์•ˆํ•˜๊ณ  ๊ตณ์ด JVM์„ ๋ผ๊ณ  ์šด์˜์ฒด์ œ์™€ ํ†ต์‹ ์„ ์™œ ํ•ด์•ผํ• ๊นŒ? ์œ„์˜ ๊ทธ๋ฆผ์€ ๋งŒ์•ฝ JVM์ด ์—†์„ ๊ฒฝ์šฐ๋ฅผ ์–ด๋–ค ์ƒํ™ฉ์ด ๋ฐœ์ƒ๋ ์ง€ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ฆผ์ด๋‹ค. ์—ฌ๊ธฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ธ์‚ฌ๋ง์„ ์ฐ์–ด์ฃผ๋Š” ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด "Hello"๊ฐ€ ์ถœ๋ ฅ๋˜๋Š” ์ฝ”๋“œ.. 2022. 9. 22.
[D+03] ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ (์ปดํŒŒ์ผ vs ์ธํ„ฐํ”„๋ฆฟ) ๊ตญ๋น„์ง€์› D+03 - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ๊ณผ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์ž…์žฅ์€ ์„œ๋กœ ๋‹ค๋ฅด๋‹ค. ์ด์ œ๋ถ€ํ„ฐ ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์˜ˆ์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ์‚ฌ๋žŒ์˜ ๊ด€์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ ๋ฐ”๋กœ ์ปดํŒŒ์ผ๊ณผ ์ธํ„ฐํ”„๋ฆฟ์ด๋‹ค. ์ปดํŒŒ์ผ (Compile) - ๋ช…๋ น์–ด ์ง‘ํ•ฉ์„ ๋งŒ๋“ค์–ด์„œ ํ•œ๊บผ๋ฒˆ์— ์ปดํ“จํ„ฐ์—๊ฒŒ ์ž…๋ ฅํ•œ๋‹ค. - ๋ช…๋ น์˜ ์‹œ์ž‘๊ณผ ๋์„ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๊ธฐ ๋•Œ๋ฌธ์— ๋ช…๋ น์–ด ์ตœ์ ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. → ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. - ๊ณผ์ •์ด ๋ณต์žกํ•˜๊ณ , ๋‚ด์šฉ์„ ๋ฐ”๊ฟ€๋ ค๋ฉด ๋ชป๋ฐ”๊พผ๋‹ค. ์ธํ„ฐํ”„๋ฆฟ (Interpret) - ๋ช…๋ น์–ด๋ฅผ ์ŠคํŒŸ์„ฑ์œผ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜์”ฉ ์ž…๋ ฅํ•œ๋‹ค. - ๋ช…๋ น์ด ์–ธ์ œ ๋๋‚ ์ง€ ๋ชฐ๋ผ ์‹œ์ž‘๊ณผ ๋์„ ์ž˜ ์•Œ์ง€ ๋ชปํ•œ๋‹ค. → ์†๋„๊ฐ€ ๋‹ค์†Œ ๋Š๋ฆฌ๋‹ค.. 2022. 9. 22.
[D+03] Flow Chart ๋ฐ ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ• ๊ตญ๋น„์ง€์› D+03 - Flow Chart ๋ฐ ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊ตฌ์ถ• - Flow Chart ํ•™์Šต ๋ฐ ๋ณต์Šต ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ๋กœ์ง(Logic)์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ๋กœ์ง์„ ๊ธ€๋กœ ์งœ๋Š” ๊ฒƒ ๋ณด๋‹ค ๊ทธ๋ฆผ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ„๋‹จํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์„ค๊ณ„์‹œ ํ”Œ๋กœ์šฐ ์ฐจํŠธ๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ•œ๋‹ค. ํ”Œ๋กœ์šฐ์ฐจํŠธ๋Š” ๊ณตํ†ต๋œ ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ๊ฐ„๋‹จํžˆ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋„๋กœ ํ”Œ๋กœ์šฐ์ฐจํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์—์„œ ๋ฌธ์ œ๋ฅผ ๋ถ„ํ•ดํ•˜๊ณ  ๋ถ„ํ•ดํ•œ ํ•ญ๋ชฉ๋“ค์„ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปดํ“จํŒ…์ ์ธ ์‚ฌ๊ณ ๋ฅผ ํ•˜๋Š”๋ฐ ์ข‹๋‹ค. (ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ๋Š” ๋‹จ๋ง, ํŒ๋‹จ, ์ฒ˜๋ฆฌ, ํ๋ฆ„์„  ๋งŒ ์•Œ์•„๋„ ํ”Œ๋กœ์šฐ์ฐจํŠธ๋ฅผ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ˆ ๋‚˜๋จธ์ง€๋Š” ์ฐจ์ฐจ ์•Œ์•„๊ฐ€๋„๋ก ํ•œ๋‹ค) ์˜ˆ์ œ ) Q. ์ฒ ์ˆ˜๋Š” ์—„๋งˆ์—๊ฒŒ ์‹ฌ๋ถ€๋ฆ„๊ฐ’ 10,000์›์„ ๋ฐ›์•˜๋‹ค. ์ฒ ์ˆ˜์—„๋งˆ๋Š” ์ฒ ์ˆ˜์—๊ฒŒ ์ฝฉ๋‚˜๋ฌผ 2๊ฐœ์™€ ๋‘๋ถ€ 1๋ชจ๋ฅผ ์‚ฌ์˜ค๋ผ๊ณ  ์‹œ์ผฐ์œผ๋ฉฐ, .. 2022. 9. 21.
[D+02] ์ด์ง„์‹œ์Šคํ…œ(Binary System) & Flow Chart ๊ตญ๋น„์ง€์› D+02 - ์ด์ง„์‹œ์Šคํ…œ(Binary System) & Flow Chart - ์ด์ง„์‹œ์Šคํ…œ(Binary System) ์ด์ง„์ˆ˜์— ๋Œ€ํ•œ(Binary) ๊ทœ์น™์˜ ์ง‘ํ•ฉ(System) ์ง„๋ฒ• ์ง„๋ฒ• : ์ˆ˜๋ฅผ ์…ˆํ•  ๋•Œ ์ž๋ฆฟ์ˆ˜๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋Š” ๊ธฐ์ค€์œผ๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ธฐ์ˆ˜๋ฒ•์ด๋ผ๋Š” ํ‘œํ˜„์œผ๋กœ๋„ ์“ฐ์ธ๋‹ค. ์ปดํ“จํ„ฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ง„๋ฒ• : 2์ง„๋ฒ•, 10์ง„๋ฒ•, 16์ง„๋ฒ• → ์ปดํ“จํ„ฐ์—์„œ 3์ง„๋ฒ•์ด๋‚˜ 5์ง„๋ฒ•๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ์ง„๋ฒ•์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋‹จ์ˆœํ•˜๊ฒŒ ์“ธ์ผ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 2์ง„๋ฒ• : ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ 2๊ฐœ ์ด๋‹ค. (0, 1) 8์ง„๋ฒ• : ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ 8๊ฐœ ์ด๋‹ค. (0 ~ 7) 10์ง„๋ฒ• : ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ 10๊ฐœ ์ด๋‹ค. (0 ~ 9) 16์ง„๋ฒ• : ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๊ฐœ์ˆ˜๊ฐ€ 16๊ฐœ .. 2022. 9. 20.
[D+01] ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ฐœ๋… & ์ปดํ“จํ„ฐ ๊ตฌ์กฐ ๋ฐ ์›๋ฆฌ ๊ตญ๋น„์ง€์› D+01 - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ฐœ๋… & ์ปดํ“จํ„ฐ ๊ตฌ์กฐ ๋ฐ ์›๋ฆฌ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ฐœ๋… ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด - s/w๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์–ธ์–ด์ด๋‹ค. - ํ•˜๋“œ์›จ์–ด๊ฐ€ ๋ฐœ์ „ํ•˜๊ฒŒ ๋˜๋ฉด์„œ ์ธ๊ฐ„์€ ํ•˜๋“œ์›จ์–ด์—๊ฒŒ ๋‹จ์ˆœํ•œ ๋ช…๋ น์—์„œ ๋ณต์žกํ•œ ๋ช…๋ น์„ ์ฃผ๊ธฐ๋ฅผ ์›ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž์—ฐ์–ด์—์„œ ๊ธฐ๊ณ„์ ์ธ ์š”์†Œ๋ฅผ ์ถ”์ถœํ•ด ๊ธฐ๊ณ„๊ฐ€ ์•Œ์•„๋“ค์„ ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด์ธ ๊ธฐ๊ณ„์–ด๋ฅผ ์ฐฝ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ž์—ฐ์–ด vs ๊ธฐ๊ณ„์–ด ์ปดํ“จํ„ฐ์˜ ๊ตฌ์กฐ์™€ ์›๋ฆฌ ์ปดํ“จํ„ฐ์—์„œ 43 ๋”ํ•˜๊ธฐ 20์˜ ๊ฒฐ๊ณผ๊ฐ’์ด ๋‚˜์˜ค๋Š” ๊ณผ์ •์„ ์ปดํ“จํ„ฐ์˜ ๊ตฌ์กฐ์™€ ์›๋ฆฌ์— ๋Œ€ํ•ด ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ํ† ๋Œ€๋กœ ์ž‘์„ฑํ•ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์—ฌ๊ธฐ CPU์™€ Memory๊ฐ€ ์žˆ๋‹ค. ๋‚ด๊ฐ€ 43 ๋”ํ•˜๊ธฐ 20์˜ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๊ณ„์‚ฐํ•˜๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ๊ฐ’์„ Memory์— ๋„ฃ์–ด์ค˜์•ผํ•œ๋‹ค. ์ด๋•Œ Memory๋Š” ์œ ํ•œ์„ฑ์ด๋ผ๋Š” ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๊ฐ€.. 2022. 9. 19.