Dev

๋น„์ „๊ณต์ž ์ถœ์‹  ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ธฐ์ค€ ์ฑ… ์ถ”์ฒœ/๋ฆฌ๋ทฐ

Jun Park ๐ŸŽต 2024. 2. 5. 12:51

๋น„์ „๊ณต์ž์ด์ง€๋งŒ ์ปดํ“จํ„ฐ์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ถ๊ธˆํ•œ ๋‚˜ ๊ฐ™์€ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ๊ธฐ๋ก.

์ปดํ“จํ„ฐ ๊ณผํ•™

Code: The Hidden Language of Computer Hardware and Software
Charles Petzold
โ˜…โ˜…โ˜…โ˜…โ˜…

์ปดํ“จํ„ฐ์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ๋งค์šฐ ์‰ฝ๊ณ  ์นœ์ ˆํ•˜๊ฒŒ ์„ค๋ช…ํ•œ๋‹ค. ์ „๊ธฐ, ํšŒ๋กœ, ๋…ผ๋ฆฌ ๋“ฑ ๊ด€๋ จ ์ง€์‹๋„ ํ•„์š”ํ•œ๋งŒํผ ๊ทธ๋Ÿฌ๋‚˜ ์ถฉ๋ถ„ํžˆ ์•Œ๋ ค์ค€๋‹ค. <The Secret Life of Programs>์˜ 1์žฅ์„ ์ด ์ฑ…์€ 3์žฅ์— ๊ฑธ์ณ ์„ค๋ช…ํ•œ๋‹ค. <The Secret Life of Programs>๋ฅผ ๋จผ์ € ์‹œ๋„ํ•˜๊ณ  ์–ด๋ ค์šฐ๋ฉด ์ด ์ฑ…์„ ์ฝ๊ณ  ๋„˜์–ด๊ฐ€๋Š” ๊ฒƒ๋„ ์ข‹๋‹ค.

The Secret Life of Programs: Understand Computers -- Craft Better Code
Jonathan E. Steinhart

์ฝ๋‹ค๊ฐ€ ์–ด๋ ค์›Œ์„œ <Code> ๋จผ์ € ์ฝ๋Š” ์ค‘. ์ฝ์ง€ ๋ชปํ•  ์ •๋„๋Š” ์•„๋‹Œ๋ฐ <Code>๋ณด๋‹ค ์„ค๋ช…์ด ๊ฐ„๋žตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ ๋ณ„๋„๋กœ ํ•™์Šตํ•ด์•ผ ํ•œ๋‹ค. ํ›„๋ฐ˜๋ถ€์— <Code>์— ์—†๋Š” ๋‚ด์šฉ๋„ ์žˆ๋‹ค.

์ปดํ“จํ„ฐ๊ณผํ•™์ด ์—ฌ๋Š” ์„ธ๊ณ„: ์„ธ์ƒ์„ ๋ฐ”๊พผ ์ปดํ“จํ„ฐ, ์†Œํ”„ํŠธ์›จ์–ด์˜ ์›์ฒœ ์•„์ด๋””์–ด ๊ทธ๋ฆฌ๊ณ  ๋ฏธ๋ž˜
์ด๊ด‘๊ทผ
โ˜…โ˜…โ˜…โ˜†โ˜†

๋…ผ๋ฆฌ์ฒ ํ•™ ๋‚ด์šฉ์ด ๋งŽ์ด ๋‚˜์˜จ๋‹ค. <The Secret Life of Programs>๋ณด๋‹ค๋Š” ์นœ์ ˆํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜์ง€๋งŒ ์ฃผ์ œ ์ž์ฒด๊ฐ€ ๋ฌด๊ฑฐ์›Œ์„œ ์–ด๋ ต๋‹ค. <Code>์™€ <The Secret Life of Programs>์€ ์—”์ง€๋‹ˆ์–ด์™€ ์–˜๊ธฐํ•˜๋Š” ๋А๋‚Œ์ธ ๋ฐ˜๋ฉด ์ด ์ฑ…์€ ๊ต์ˆ˜๋‹˜์ด ๊ฐ•์˜ํ•˜๋Š” ๋А๋‚Œ. ์‹ค์ œ๋กœ ์ €์ž๋“ค์˜ ์ง์—…๋„ ๊ทธ๋ ‡๋‹ค!


๋„คํŠธ์›Œํฌ

Computer Networking: A Top-Down Approach
James F. Kurose, Keith W. Ross
โ˜…โ˜…โ˜…โ˜…โ˜…

๊ต์–‘์„œ๋กœ๋Š” ํ•ด๊ฒฐ๋˜์ง€ ์•Š๋Š” ์งˆ๋ฌธ๋“ค์— ๋‹ตํ•˜๊ธฐ ์œ„ํ•ด ์ฝ์—ˆ๋‹ค. ์ „๊ณต ์ž…๋ฌธ์„œ๋กœ ์œ ๋ช…ํ•œ ์ฑ…. TCP/IP 5๊ณ„์ธต ๋ชจ๋ธ๋กœ ์„ค๋ช…ํ•œ๋‹ค. ๊ณ„์ธต๋งˆ๋‹ค 100์ชฝ์”ฉ ํ• ์• ํ•  ์ •๋„๋กœ ์ถฉ๋ถ„ํ•œ ๊ทธ๋ฆผ๊ณผ ์„ค๋ช…์„ ํฌํ•จํ•œ๋‹ค. ๋„คํŠธ์›Œํฌ ๊ณ„์ธต๊นŒ์ง€ ์ฝ์—ˆ๋Š”๋ฐ ํ‰์†Œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๋ฉด์„œ ๊ถ๊ธˆํ–ˆ๋˜ ์ ๋“ค์„ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋ชจ๋‘์˜ ๋„คํŠธ์›Œํฌ: 10์ผ ๋งŒ์— ๋ฐฐ์šฐ๋Š” ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ
๋ฏธ์ฆˆ๊ตฌ์น˜ ์นด์ธ ์•ผ
โ˜…โ˜…โ˜…โ˜†โ˜†

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


ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Clean Architecture: A Craftsman's Guide to Software Structure and Design
Robert Martin
โ˜…โ˜…โ˜…โ˜…โ˜…

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

๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด: ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ ๊ด€์ ์—์„œ ๋ณธ ๊ฐ์ฒด์ง€ํ–ฅ
์กฐ์˜ํ˜ธ
โ˜…โ˜…โ˜…โ˜…โ˜†

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

์˜ค๋ธŒ์ ํŠธ: ์ฝ”๋“œ๋กœ ์ดํ•ดํ•˜๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„
์กฐ์˜ํ˜ธ
โ˜…โ˜…โ˜…โ˜…โ˜…

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


์–ธ์–ด

C Programming: A Modern Approach
K. N. King
โ˜…โ˜…โ˜…โ˜…โ˜†

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

Frameworkless Front-End Development
Francesco Strazzullo
โ˜…โ˜…โ˜…โ˜…โ˜†

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

'Dev' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Type Alias๋Š” Anonymous Interface๋‹ค.  (0) 2023.12.06
2023๋…„ 2๋ถ„๊ธฐ ํšŒ๊ณ   (0) 2023.06.30
WebRTC ์›๋ฆฌ ์‰ฌ์šด ์„ค๋ช…  (0) 2023.04.24
2023๋…„ 1๋ถ„๊ธฐ ํšŒ๊ณ   (0) 2023.04.06
Type (Alias) over Interface  (0) 2023.04.05