๐ค ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋์๋๋ ํ์ต ๋์ ๐
๋ง์ ๋ถ๋ค๊ป์ ๊ธฑ๋ด์ค์์ ๊ณต๊ฐํ ๋ฌด๋ฃ ํ์ต ์๋ฃ๋ฅผ ๊ณต์ ํด์ฃผ์ จ๋๋ฐ์, ์ ๋ ๊ทธ์ค์์ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋์๋๋ ๋์๋ ์ด๋ค๊ฒ ์์์ง ๊ณจ๋ผ๋ณด์์ต๋๋ค. ์ ๊ฐ ํ๊ณ ์๋ ์ ๋ฌด์ ์ฐ๊ด์ด ์๋ ๋์๋ค์ ๊ณจ๋ผ๋ณธ๊ฑฐ๋ผ ๋ชจ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋ฐ๋์ ๋ฐฐ์์ผ ํ๋ค๋ ์๋์ง๋ง, ์ ์ด๋ ๋ฐฐ์๋๋ฉด ์จ๋จน์ ์ ์๋ค๋ ์์ค์ผ๋ก ์ดํดํด ์ฃผ์ธ์ ๐ โ๏ธ 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 ๋ฑ๊ณผ ๊ฐ์ ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ๋ ์ฐ๊ธฐ ์ข์ ์๋ฃจ์ ์ ๋๋ค. ํนํ๋ ๊น์ข ๋ฏผ๋๊ป์ ์ ๋ฆฌํด์ฃผ์ ๊ฐ์ด๋๋ถ์ ์์ธํ ์ค๋ช ๊ณผ ์์ ๊ฐ ์์ด ๋ฐ๋ผํด๋ณด๊ธฐ ์ข์ต๋๋ค.