Community

๐Ÿค ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์— ๋„์›€๋˜๋Š” ํ•™์Šต ๋„์„œ ๐Ÿ“š

๋งŽ์€ ๋ถ„๋“ค๊ป˜์„œ ๊ธฑ๋‰ด์Šค์—์„œ ๊ณต๊ฐœํ•œ ๋ฌด๋ฃŒ ํ•™์Šต ์ž๋ฃŒ๋ฅผ ๊ณต์œ ํ•ด์ฃผ์…จ๋Š”๋ฐ์š”, ์ €๋Š” ๊ทธ์ค‘์—์„œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์— ๋„์›€๋˜๋Š” ๋„์„œ๋Š” ์–ด๋–ค๊ฒŒ ์žˆ์„์ง€ ๊ณจ๋ผ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ํ•˜๊ณ ์žˆ๋Š” ์—…๋ฌด์™€ ์—ฐ๊ด€์ด ์žˆ๋Š” ๋„์„œ๋“ค์„ ๊ณจ๋ผ๋ณธ๊ฑฐ๋ผ ๋ชจ๋“  ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฐ˜๋“œ์‹œ ๋ฐฐ์›Œ์•ผ ํ•œ๋‹ค๋Š” ์•„๋‹ˆ์ง€๋งŒ, ์ ์–ด๋„ ๋ฐฐ์›Œ๋‘๋ฉด ์จ๋จน์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ˆ˜์ค€์œผ๋กœ ์ดํ•ดํ•ด ์ฃผ์„ธ์š” ๐Ÿ™ โœ”๏ธ Java (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#java) Java ๋Š” ํ˜„์žฌ ๋งค์šฐ ์ธ๊ธฐ์žˆ๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ๋Œ€๋Ÿ‰์˜ ํŠธ๋ž˜ํ”ฝ์„ ๋Œ€์‘ํ•˜๊ฑฐ๋‚˜ ๋‹ค์–‘ํ•œ ์†”๋ฃจ์…˜๊ณผ์˜ ์—ฐ๊ณ„๋ฅผ ์œ„ํ•ด ๋งŽ์€ ํšŒ์‚ฌ์—์„œ Java ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ ํ”„ ํˆฌ ์ž๋ฐ”๋Š” ์ด๋Ÿฐ Java ์˜ ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์„ ํ•™์Šตํ•˜๊ธฐ ์ข‹์€ ๋„์„œ๋กœ ์ €๋„ ๋งŽ์€ ๋„์›€์„ ๋ฐ›์•˜๋˜ ๋„์„œ์ž…๋‹ˆ๋‹ค. โœ”๏ธ Git (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#git) ์ด๊ฑด ์‚ฌ์‹ค ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ๋ถ„์•ผ์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ•„์ˆ˜๋กœ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์‹ ์ž…์ผ๋•Œ๋Š” SVN ์ด๋ผ๋Š” ๋ฒ„์ „๊ด€๋ฆฌ ํˆด์„ ์ผ์Šต๋‹ˆ๋‹ค๋งŒ ์˜คํ”ˆ์†Œ์Šค์˜ ํ™œ์„ฑํ™”์™€ ๋‹ค์–‘ํ•œ ํŽธ์˜ ๊ธฐ๋Šฅ์œผ๋กœ ํ˜„์žฌ๋Š” Git ์„ ์“ฐ๋Š”๊ฒŒ ๋Œ€์„ธ์ธ๊ฑฐ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.(์•„๋งˆ ๋ช‡๋ช‡ ๋ถ„๋“ค์€ SVN ์ด ๋ญ”์ง€๋„ ๋ชจ๋ฅด์‹œ๊ฒ ์ฃ ?๐Ÿ˜‚) ์ฝ”๋“œ ๋ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ, ํ˜‘์—…์„ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ๋ฐฐ์›Œ์•ผํ•˜๋Š” ํˆด์ž…๋‹ˆ๋‹ค. โœ”๏ธ Go (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#go) ์ œ๊ฐ€ ์ง„ํ–‰ํ•˜๋Š” ์—…๋ฌด ํ™˜๊ฒฝ์—์„œ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ๊ฑด ์•„๋‹ˆ์ง€๋งŒ, ๋ช‡๋ช‡ ์œ ๋ช…ํ•œ ์˜คํ”ˆ์†Œ์Šค์—์„œ ์“ฐ๊ณ  ์žˆ๊ณ  ๊ฐ„๋‹จํ•œ ์›น์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค๊ธฐ์— ์ข‹์Šต๋‹ˆ๋‹ค.(์ž์ฒด์ ์œผ๋กœ ์ง€์›ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋ช‡์ค„์˜ ์ฝ”๋“œ๋กœ ์›น์„œ๋ฒ„๋ฅผ ๋„์šธ์ˆ˜ ์žˆ๋Š”๊ฑธ ๋ณด๊ณ  ๋งค์šฐ ๋†€๋ž์Šต๋‹ˆ๋‹ค) ํŠนํžˆ๋‚˜ ๊ณ ๋ฃจํ‹ด์˜ ๊ฒฝ์šฐ ์ฝ”๋ฃจํ‹ด๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์œ ์šฉํ•œ ๋„๊ตฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž˜ ์‚ฌ์šฉํ•˜๋ฉด ๋งค์šฐ ํšจ๊ณผ์ ์ธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โœ”๏ธ ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ธฐ์ˆ  (https://web.archive.org/web/20220107111504/https://thebook.io/006718/) ์œˆ๋„์šฐ ์„œ๋ฒ„์™€ ๊ฐ™์€ ํŠน๋ณ„ํ•œ ํ™˜๊ฒฝ์ด ์š”๊ตฌ๋˜๋Š” ์ƒํ™ฉ์ด ์•„๋‹ˆ๋ผ๋ฉด ๋ฐฑ์—”๋“œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ์šด์˜ํ•˜๋Š”๊ฒŒ ๋Œ€๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์šด์˜ ๋ฐ ๊ด€๋ฆฌ, ์žฅ์• ๋Œ€์‘ ๋“ฑ์„ ์œ„ํ•ด์„œ๋Š” ์–ด๋А์ •๋„ ๋ฆฌ๋ˆ…์Šค๋ฅผ ๋Šฅ์ˆ™ํ•˜๊ฒŒ ๋‹ค๋ฃจ์‹ค ์ค„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. โœ”๏ธ Operation System(https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#operation-system) ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ฑด๋ฌผ์ด๋ผ๋ฉด Operation System ์€ ๋•…๊ณผ ๊ฐ™์€ ์กด์žฌ์ฃ . ๊ทธ๋ ‡๊ธฐ์— ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์†”๋ฃจ์…˜์€ Operation System ์— ์˜ํ–ฅ์„ ํฌ๊ฒŒ ๋ฐ›์„์ˆ˜ ๋ฐ–์— ์—†๊ณ  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž˜ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋А์ •๋„ Operation System ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. โœ”๏ธ Python (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#python) ๋ง์ด ํ•„์š”์—†๋Š” ์œ ๋ช…ํ•œ Language ์ค‘ ํ•˜๋‚˜์ฃ . ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด๋ผ์„œ ์„ฑ๋Šฅ์€ Java ์— ๋น„ํ•ด ์กฐ๊ธˆ ๋–จ์–ด์งˆ์ˆ˜๋Š” ์žˆ์ง€๋งŒ Java ์— ๋น„ํ•ด ๋ฌธ๋ฒ•์ด ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•œ ์ŠคํŠธ๋ฆฝํŠธ๋‚˜ ํˆด์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ผญ ๋ฐฑ์—”๋“œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๊ฐœ๋ฐœ์„ ์•ˆํ•˜๋”๋ผ๋„ ์šด์˜์— ํ•„์š”ํ•œ ์Šคํฌ๋ฆฝํŠธ๋‚˜ ํ…Œ์ŠคํŠธ ๋„๊ตฌ ๋“ฑ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด ๋ฐฐ์›Œ๋‘๋ฉด ์œ ์šฉํ•œ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. โœ”๏ธ Springboot (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#springboot) Java ๋‚˜ Kotlin ์œผ๋กœ ์›น์„œ๋ฒ„๋ฅผ ๊ฐœ๋ฐœํ•œ๋‹ค๋ฉด ๋น ์งˆ ์ˆ˜ ์—†๋Š” Framework ์ฃ . Netty ๋‚˜ Vert.x ์˜ ๋“ฑ์žฅ์œผ๋กœ ๋น„๋™๊ธฐ ๋…ผ๋ธ”๋กํ‚น ์›น์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด Spring ์„ ๋– ๋‚˜์•ผ ํ•˜๋‚˜ ๊ณ ๋ฏผ์„ ํ–ˆ์—ˆ๋Š”๋ฐ ์ด๋ฅผ Spring Webflux ๋กœ ๋ฉ‹์ง€๊ฒŒ ๋Œ€์‘ํ•˜์—ฌ ๋น„๋™๊ธฐ ๋…ผ๋ธ”๋กํ‚น ์„œ๋ฒ„๋„ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•œ Framework ์ž…๋‹ˆ๋‹ค.(์‹ฌ์ง€์–ด netty ๋Š” webflux ์—์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜์ฃ ) ์•ž์ผ์€ ์–ด๋–ป๊ฒŒ ๋ ์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ Springboot ๊ธฐ๋ฐ˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‚ฌ๋ผ์ง€๊ธฐ๋Š” ์‰ฝ์ง€ ์•Š์•„ ๋ณด์ด๊ธฐ์— Java ๋‚˜ Kotlin ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๋ฐ˜๋“œ์‹œ ๋ฐฐ์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค. โœ”๏ธ Elasticsearch (https://github.com/EbookFoundation/free-programming-books/blob/main/books/free-programming-books-ko.md#elastic) ๋ฐ˜๋“œ์‹œ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ์†”๋ฃจ์…˜์€ ์•„๋‹ˆ์ง€๋งŒ ํ˜น์‹œ๋‚˜ ๊ฒ€์ƒ‰๊ธฐ๋Šฅ์ด๋‚˜ prometheus ๋‚˜ grafana ๋“ฑ๊ณผ ๊ฐ™์€ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์“ฐ๊ธฐ ์ข‹์€ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ํŠนํžˆ๋‚˜ ๊น€์ข…๋ฏผ๋‹˜๊ป˜์„œ ์ •๋ฆฌํ•ด์ฃผ์‹  ๊ฐ€์ด๋“œ๋ถ์€ ์ž์„ธํ•œ ์„ค๋ช…๊ณผ ์˜ˆ์ œ๊ฐ€ ์žˆ์–ด ๋”ฐ๋ผํ•ด๋ณด๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค.

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค