JavaRush /Java Blog /Random-KO /2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ๋„์„œ 20๊ถŒ
Max Stern
๋ ˆ๋ฒจ 35
ะะธะถะฝะธะน ะะพะฒะณะพั€ะพะด

2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ๋„์„œ 20๊ถŒ

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
๋ฒˆ์—ญ์ž ์ฃผ: ๋‚˜๋Š” javareviseted ๋ฆฌ์†Œ์Šค์—์„œ ์ด ๊ธฐ์‚ฌ๋ฅผ ์ฐพ์•˜๊ณ  ์ €์ž์˜ ์„ ํƒ์ด ๋งค์šฐ ์™„์ „ํ•˜๊ณ  ํฅ๋ฏธ๋กœ์› ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ ์ƒˆ ์ฑ…(๋˜๋Š” ์ƒˆ ์ถœํŒ๋ฌผ)์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์šฐ๋ฆฌ๋Š” Java๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ด€๋ จ ๊ธฐ์ˆ  ๋ฐ ์†Œํ”„ํŠธ ์Šคํ‚ฌ์— ๋Œ€ํ•ด์„œ๋„ ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ปฌ๋ ‰์…˜์˜ ์ •๋ณด๋Š” ์•„๋งˆ๋„ ์™„์ „ ์ดˆ๋ณด์ž๊ฐ€ ์•„๋‹ˆ๋ผ JavaRush ๊ณผ์ •์˜ ์ ˆ๋ฐ˜ ์ •๋„๋ฅผ ์™„๋ฃŒํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ํฅ๋ฏธ๋กœ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ƒ. 2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ๋„์„œ 20์„  - 1์ด์ œ ๋ง‰ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‹œ์ž‘ํ•˜๊ณ  Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ๋ณธ์— ๋Œ€ํ•œ ํŠœํ† ๋ฆฌ์–ผ์„ ์ฐพ๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ๋‚ด ๊ธฐ์‚ฌ "์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ์ƒ์œ„ 7๊ฐ€์ง€ Java ์ฑ…"์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค . ์ด ๋ฒˆ์—ญ์—์„œ ๋‚˜๋Š” ๋Ÿฌ์‹œ์•„์–ด ๋ฒ„์ „์ด ์‹ค์ œ๋กœ ์กด์žฌํ•œ๋‹ค๋ฉด ์ด์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ œ๊ณตํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋“ค ์ฆ๊ฒ๊ฒŒ ๊ณต๋ถ€ํ•˜์„ธ์š”! ๊ทธ๋ฆฌ๊ณ  ์›๋ณธ ์ž๋ฃŒ์˜ ์ €์ž๊ฐ€ ์ธ์šฉํ•œ ์ฑ… ๋ชฉ๋ก์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1. Java 8์˜ ์‹คํ–‰

Java 8 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŠœํ† ๋ฆฌ์–ผ 2016๋…„๋ถ€ํ„ฐ ์ฝ๊ณ  ์žˆ๋Š” ์ฑ… ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. JDK 8์˜ ๊ธฐ๋Šฅ์„ ๋ฐฐ์šฐ๋ฉด์„œ 2017๋…„ ๋‚ด๋‚ด ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ์ฝ์ง€ ์•Š์•˜๊ฑฐ๋‚˜ JDK 8์„ ์ด์ œ ๋ง‰ ์‹œ์ž‘ํ•˜๋Š” ๋ถ„์ด๋ผ๋ฉด, ์ด์ œ ๊ทธ๊ฒƒ์„ ์†์— ์ง‘์–ด๋“ค ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ๋„์„œ 20์„  - 2

2. ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜

( Martin R. "Clean Architecture. The Art of Software Development" ) 2017๋…„์— ๋ฐœ๊ฒฌํ•œ ํ›Œ๋ฅญํ•œ ์ฑ…์ž…๋‹ˆ๋‹ค. ์ €๋Š” Uncle Bob์˜ ์ฑ…์„ ์ •๋ง ์ข‹์•„ํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ ์•„ํ‚คํ…์ฒ˜์— ๊ด€ํ•œ Clean Code ์™€ The Clean Coder๋ฅผ ์ด๋ฏธ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์˜ ์žฅ๋‹จ์ ์„ ์ดํ•ดํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ด ์ฑ…์ด ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 3

3. ๊ทธ๋กœํ‚น ์•Œ๊ณ ๋ฆฌ์ฆ˜

( Bhargava A. โ€œGrocking Algorithmsโ€ ) 2017๋…„์— ์ฝ์€ ๋˜ ๋‹ค๋ฅธ ํ›Œ๋ฅญํ•œ ์ฑ…์ด์ž ์•„๋งˆ๋„ 2017๋…„ ์ตœ๊ณ ์˜ ์ฑ…์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋น„๋ก ์†Œ์ˆ˜์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋งŒ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์ง€๋งŒ, ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ์€ ๋งค์šฐ ํฅ๋ฏธ๋กญ๊ณ  ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŠœํ† ๋ฆฌ์–ผ์€ Facebook์ด ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋Š” ๋“ฑ ์˜ค๋ž˜๋œ ๊ฐœ๋…์„ ํ˜„๋Œ€์ ์ธ ์˜ˆ์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ƒ๋ช…์„ ๋ถˆ์–ด๋„ฃ์Šต๋‹ˆ๋‹ค. ํ•œ๋งˆ๋””๋กœ ์ด ์ฑ…์€ 2018๋…„์— ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐฐ์šฐ๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ฑ…์ด๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 4

4. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ตฌ์ถ•: ์„ธ๋ถ„ํ™”๋œ ์‹œ์Šคํ…œ ์„ค๊ณ„

( Newman S. โ€œ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐโ€ ) ๋ชจ๋‘๊ฐ€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”? ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜์— ๋น„ํ•ด ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์˜ ์ฃผ์š” ์žฅ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด ์ฑ…์€ ์ด ๋ชจ๋“  ์งˆ๋ฌธ์— ๋‹ตํ•œ๋‹ค. ์•„์ง ๋‹ค ์ฝ์ง€ ๋ชปํ•ด์„œ 2018๋…„์— ๊ผญ ์ฝ์–ด๋ณผ ์˜ˆ์ •์ด์—์š”.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 5

5. ์†Œํ”„ํŠธ ์Šคํ‚ฌ

( Sonmez D. ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ธธ ) ์ด๊ฒƒ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋Œ€ํ•œ ์ž๊ธฐ ์ง€์นจ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ "๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋‹น์‹ ์„ ๋ฏธ์›Œํ•˜์ง€ ์•Š๋„๋ก ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ•"์ด๋ผ๋Š” ์ž๊ธฐ ์ง€์นจ์„œ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ด๋ฉ”์ผ ์ž‘์„ฑ, ๊ฒฝ๋ ฅ ์„ฑ์žฅ ๋ฐ ์ž๊ธฐ ๊ณ„๋ฐœ์— ์ง‘์ค‘ํ•˜๋Š” ๋“ฑ ์†Œ์œ„ "์†Œํ”„ํŠธ ์Šคํ‚ฌ"์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. John Sonmez๋Š” ํ›Œ๋ฅญํ•œ ์ฑ…์„ ์ผ์Šต๋‹ˆ๋‹ค. ๊ฒฝ๋ ฅ์— ๊ฐ‡ํžŒ ๋Š๋‚Œ์ด ๋“ค๊ณ  2018๋…„์— ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ฑ…์ž…๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ๋„์„œ 20๊ถŒ - 6

6. ๋‹จ์ˆœํ•œ ํ•„์‚ฌ์ž๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„

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

7. Java Groovy ๋งŒ๋“ค๊ธฐ(Ken Kousen ์ €)

(Groovy for Java) 2017๋…„์— ๋‚˜๋Š” Groovy ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์—…ํ•  ๊ธฐํšŒ๊ฐ€ ์žˆ์—ˆ๊ณ  ์ด ์ฑ…์€ ๋‚ด๊ฐ€ ์ฝ์€ ์ฒซ ๋ฒˆ์งธ ์ฑ…์ด์—ˆ์Šต๋‹ˆ๋‹ค. 2018๋…„์— Groovy๋ฅผ ๋ฐฐ์šฐ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค๋ฉด Java ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ๊ด€์ ์—์„œ ํ›Œ๋ฅญํ•œ ์ง€์‹ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ชจ๋“  ์žฅ์ ์„ ํ™œ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋งŒํผ์˜ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ดˆ๋ณด์ž๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ๋‚ด์šฉ์€ ์—†์Šต๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 8

8. ๊ทธ๋ฃจ๋น„ ์ธ ์•ก์…˜(Groovy in Action) 2ํŒ

(Groovy in Action) ์ด ์ฑ…์€ 2017๋…„์— Groovy ์–ธ์–ด์— ๊ด€ํ•ด ์ฝ์€ ๋‘ ๋ฒˆ์งธ ์ฑ…์ด์—ˆ์Šต๋‹ˆ๋‹ค. "Java Groovy ๋งŒ๋“ค๊ธฐ"๋Š” ์‹œ์ž‘ํ•˜๊ธฐ์— ์ข‹์€ ๊ณณ์ด์ง€๋งŒ ๋ชจ๋“  ๋‚ด์šฉ์„ ๋‹ค๋ฃจ์ง€๋Š” ์•Š์œผ๋ฏ€๋กœ Groovy์˜ ๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ๋ฐฐ์šฐ๊ณ  Groovy์— ๋ช‡ ๊ฐ€์ง€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•œ ํ›„์—๋Š” ๋” ๋งŽ์€ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์—ฌ๊ธฐ์— ์ด โ€‹โ€‹์ฑ…์ด ๋„์›€์ด ๋œ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 9

9. TCP/IP ์˜ˆ์‹œ

(๊ทธ๋ฆผ ์† TCP/IP) ์ œ๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ์ฑ… ์ค‘ ํ•˜๋‚˜์ด์ง€๋งŒ ์—ฌ์ „ํžˆ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ๋‹ค ์ฝ์ง€ ์•Š์•˜์ง€๋งŒ TCP/IP์— ๋Œ€ํ•œ ๋ชจ๋“  ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ์ฝ์–ด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ๋„์„œ 20์„  - 10

10. ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ(Martin Fowler)๊ฐ€ ์ฆ๋ฅ˜ํ•œ UML

( Martin Fowler, "UML. Fundamentals. 3rd edition" ) 2017๋…„์— ๋‚˜๋Š” ์—ฌ๋Ÿฌ UML ๋‹ค์ด์–ด๊ทธ๋žจ์„ ๊ทธ๋ ค์•ผ ํ–ˆ๊ณ , UML์— ๋Œ€ํ•œ ์ง€์‹์„ ์ƒˆ๋กญ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ด ์ฑ…์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. 2018๋…„์— UML์„ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ๋„ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ๋„์„œ 20์„  - 11

11. ์ตœ๋Œ€ ์ ˆ์ „ ๋ชจ๋“œ ํŒ

(Hibernate ํŒ) ์œ ๋ช…ํ•œ ๋ธ”๋กœ๊ฑฐ Thorben Janssen์ด ์“ด 2017๋…„ ๊ฐ€์žฅ ์œ ์šฉํ•œ Java ์ฑ… ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ด ์ฑ…์€ Hibernate์— ๊ด€ํ•œ 70๊ฐ€์ง€ ์‹ค์šฉ์ ์ธ ํŒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์ด Hibernate๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด , ์ด ํŒ์€ ๋‹น์‹ ์˜ ์ง€์‹์˜ ๊ณต๋ฐฑ์„ ๋ฉ”์šฐ๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ด๋ฉฐ, 2018๋…„์— Hibernate๋ฅผ ๋ฐฐ์šฐ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค๋ฉด ์ด ์ฑ…์€ ๋‹น์‹ ์˜ ํ•™์Šต์— ์ƒˆ๋กœ์šด ์ฐจ์›์„ ๊ฐ€์ ธ๋‹ค ์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 12

12. ์• ์ž์ผ ๊ฐœ๋ฐœ์˜ ๊ธฐ์ˆ 

(์• ์ž์ผ ๊ฐœ๋ฐœ์˜ ๊ธฐ์ˆ ) ์ €๋Š” ๊ฝค ์˜ค๋žซ๋™์•ˆ Agile์„ ์‚ฌ์šฉํ•ด ์™”์ง€๋งŒ, ์•„์ง๋„ ๊ฐ€๋”์”ฉ ์ง€์‹์„ ๋ณต์Šตํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฐฐ์šฐ๊ธฐ ์œ„ํ•ด Agile์— ๊ด€ํ•œ ์ฑ…์„ ์ฝ์Šต๋‹ˆ๋‹ค. ์ด ์ฑ…์€ Agile์— ๋Œ€ํ•œ ํ›Œ๋ฅญํ•œ ์•ˆ๋‚ด์„œ๋กœ ํŒ๋ช…๋˜์—ˆ์œผ๋ฉฐ, ์ •๊ธฐ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด๋ผ๋„ ์ด ์ฑ…์—์„œ ๋ญ”๊ฐ€๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 13

13. ํ•„์ˆ˜ ์Šคํฌ๋Ÿผ

(์Šคํฌ๋Ÿผ ๊ธฐ์ดˆ) ์ €๋Š” 2017๋…„์— ์Šคํฌ๋Ÿผ ๋งˆ์Šคํ„ฐ ์—ญํ• ์„ ๋งก์•˜๊ณ  ์ค€๋น„๋ฅผ ์œ„ํ•ด ์ด ํŠน๋ณ„ํ•œ ์ฑ…์„ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋Ÿผ์€ ์†Œ๊ทœ๋ชจ ๋กœ์ปฌ ๊ฐœ๋ฐœ ํŒ€์— ์ ํ•ฉํ•˜์ง€๋งŒ ์ „ ์„ธ๊ณ„์— ๋ถ„์‚ฐ๋œ ๋Œ€๊ทœ๋ชจ ํŒ€์„ ์›๊ฒฉ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์ƒํ™ฉ์ด ๊ธˆ๋ฐฉ ์ž˜๋ชป๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฑ…์€ ๋ชจ๋“  ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ  ์Šคํฌ๋Ÿผ ํšŒ์˜๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ์ง€์นจ, ์ฆ‰ ์Šคํฌ๋Ÿผ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 2018๋…„์— ์Šคํฌ๋Ÿผ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ด ๊ธ€์„ ์ฝ์–ด๋ณด์„ธ์š”. ๋˜ํ•œ Scrum ๋ฐ Agile์— ๋Œ€ํ•œ ์ผ๋ถ€ ์˜จ๋ผ์ธ ๊ณผ์ •์„ ์ˆ˜๊ฐ•ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์— ๋Œ€ํ•ด์„œ๋Š” Pluralsight ์›น ์‚ฌ์ดํŠธ์—์„œ Scrum Fundamentals๋ฅผ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค .
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 14

14. ์ž๋ฐ” ์„ฑ๋Šฅ ๋„์šฐ๋ฏธ

(Java ์„ฑ๋Šฅ ํ•ธ๋“œ๋ถ). ์ด๋ฏธ ๋ญ”๊ฐ€๋ฅผ ์•Œ๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ Java ํŠœํ† ๋ฆฌ์–ผ์ž…๋‹ˆ๋‹ค. ์ €๋Š” The Definitive Guide to Java Performance ์™€ ๊ฐ™์ด 2016๋…„ ์ด์ „์˜ Java ์„ฑ๋Šฅ ๋ฏธ์„ธ ์กฐ์ •์— ๊ด€ํ•œ ๋ช‡ ๊ถŒ์˜ ์ฑ…์„ ์ฝ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋กœ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‚˜์˜ ์œ ์ผํ•œ ๋ชฉํ‘œ๋Š” G1 ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์ด์—ˆ๊ณ  ๊ฑฐ๊ธฐ์„œ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ์ด ์ฑ…์€ 2018๋…„์— Java ์„ฑ๋Šฅ์„ ๋ฏธ์„ธ ์กฐ์ •ํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•˜๊ณ  ์‹ถ์€ ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ํ›Œ๋ฅญํ•œ ์ถœ๋ฐœ์ ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ๋„์„œ 20์„  - 15

15. ๊ณ ์„ฑ๋Šฅ Java ์ง€์†์„ฑ

(High Performance Data Storage in Java) 2016๋…„์— ๋‚จ๊ธด ๋˜ ๋‹ค๋ฅธ ์ฑ…์œผ๋กœ, 2017๋…„์— ๋‹ค ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ฑ๋Šฅ์— ์ดˆ์ ์„ ๋งž์ถ˜ Hibernate์— ๊ด€ํ•œ ๋˜ ๋‹ค๋ฅธ ํ›Œ๋ฅญํ•œ ์ฑ…์ž…๋‹ˆ๋‹ค. 2018๋…„์— Hibernate์— ๋Œ€ํ•ด ๋” ๋งŽ์ด ๋ฐฐ์šธ ๊ณ„ํš์ด๋ผ๋ฉด 11ํ•ญ์˜ ์ฑ…๊ณผ ์ด ์ฑ…์„ ๋ชจ๋‘ ์ฝ์–ด๋ณผ ๊ฒƒ์„ ๊ถŒํ•ฉ๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 16

16. ์Šค์นผ๋ผ์˜ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

(Scala์˜ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ) 2017๋…„์— Scala ์–ธ์–ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ํฐ ์„ฑ๊ณต์„ ๊ฑฐ๋‘์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์— ๊ด€ํ•œ ์ฑ…์„ ๋‘ ๊ถŒ ์ฝ์—ˆ์ง€๋งŒ ์‹ค์ œ๋กœ ๋ฐฐ์šธ ๋งŒํผ ์ถฉ๋ถ„ํ•œ ์—ฐ์Šต์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋‚ด ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ฃผ์˜ํ•ด์•ผ ํ•  ๋” ์ค‘์š”ํ•œ ์‚ฌํ•ญ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์–ด์จŒ๋“ , 2018๋…„์— ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ์Šค์นผ๋ผ ์–ธ์–ด์— ์ž…๋ฌธํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค๋ฉด ์ด ์ฑ…์„ ์‚ดํŽด๋ณด์„ธ์š”. ์‹œ๊ฐ„์ด ์žˆ์œผ๋ฉด 2018๋…„์— ๋‹ค์‹œ ์ฝ์–ด๋ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ๋„์„œ 20์„  - 17

17. ์ฐธ์„์„ฑ์ด ์—†๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•œ ์Šค์นผ๋ผ

(์„ฑ๊ธ‰ํ•œ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ์Šค์นผ๋ผ) 2017๋…„์— ์ฝ์€ ์Šค์นผ๋ผ ์–ธ์–ด์— ๊ด€ํ•œ ๋˜ ๋‹ค๋ฅธ ์ฑ…์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” Kay S. Hortsmann์˜ ์Šคํƒ€์ผ์„ ์ข‹์•„ํ•˜๋ฉฐ ๊ทธ์˜ ์ฑ…, ํŠนํžˆ Core Java Part 1 ๋ฐ II (Java Professional's Library)์™€ Java SE 8 for the really Impatient (Java SE 8 Basic Course)๋ฅผ ์ฝ์—ˆ์Šต๋‹ˆ๋‹ค . ์ด ์ฑ…์€ ๋น„์Šทํ•œ ์Šคํƒ€์ผ์˜ ์Šค์นผ๋ผ ์–ธ์–ด ์ „์šฉ ์ฑ…์ž…๋‹ˆ๋‹ค. 2018๋…„์— Scala๋ฅผ ๋ฐฐ์šฐ๋ ค๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ข‹์€ ์‹œ์ž‘ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 18

18. ํ—ค๋“œ ํผ์ŠคํŠธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

( Robson E., Freeman E. โ€œJavaScript ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•™์Šตโ€ ) ์ €๋Š” ์ด๋ฏธ JavaScript๊ฐ€ ์˜ค๋Š˜๋‚  ์ตœ๊ณ ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ผ๊ณ  ๋งํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๋ชจ๋ฅด๋ฉด ๋งŽ์€ ๊ฒƒ์„ ๋†“์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ์ฑ…์€ ๋ชจ๋“  ์›น ๊ฐœ๋ฐœ์ž์™€ Angular, React, jQuery์™€ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ฐฐ์šฐ๋Š” ํ•™์ƒ์ด ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ฑ…์ž…๋‹ˆ๋‹ค. ์•„์ง JavaScript๋ฅผ ๋ฐฐ์šฐ์ง€ ์•Š์•˜๋‹ค๋ฉด Head First JavaScript๋ณด๋‹ค ๋” ์ข‹์€ ์ฑ…์€ ์—†์Šต๋‹ˆ๋‹ค. 2018๋…„์— JavaScript๋ฅผ ๋ฐฐ์šฐ๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๋ฐ˜๋“œ์‹œ ์ฝ์–ด์•ผ ํ•  ์ฑ…์ž…๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 19

19. SQL ์ฟก๋ถ

( Molinaro E. โ€œSQL. ๋ ˆ์‹œํ”ผ ๋ชจ์Œโ€ ) SQL์€ ์ œ๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ํ•ญ์ƒ SQL์— ๊ด€ํ•œ ํฅ๋ฏธ๋กœ์šด ์ฑ…์„ ์ฐพ๋Š” ๊ฒƒ์„ ์ฆ๊น๋‹ˆ๋‹ค. 2017๋…„์— ์ด ์ฑ…์„ ๋ฐœ๊ฒฌํ–ˆ๋Š”๋ฐ, ์—ฌ๋Ÿฌ๋ถ„๊ณผ ๊ณต์œ ํ•˜๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ์ด ์ฑ…์€ ์‹ค์šฉ์ ์ด๋ฉฐ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ SQL์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ ๋งŽ์€ ํŒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. SQL ๊ธฐ์ˆ ์„ ํ•œ ๋‹จ๊ณ„ ๋” ๋ฐœ์ „์‹œํ‚ค๊ณ  ์‹ถ๋‹ค๋ฉด 2018๋…„์— ์ด ์ฑ…์„ ์ฝ์–ด๋ณด์„ธ์š”. ๋˜ํ•œ ์ด๋Ÿฌํ•œ SQL ์ฟผ๋ฆฌ ํ•™์Šต ์›น์‚ฌ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SQL ์ง€์‹์„ ๋”์šฑ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 20

20. ์™„๋ฒฝํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž ๊ฒฝ๋ ฅ ๊ฐ€์ด๋“œ

(์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž ๊ฒฝ๋ ฅ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ) ๋งˆ์ง€๋ง‰์œผ๋กœ, ์ด ์ฑ…์€ ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ›Œ๋ฅญํ•œ ์ฑ…์ž…๋‹ˆ๋‹ค. ๊ฒฝ๋ ฅ ์„ฑ์žฅ์— ๋Œ€ํ•ด ์ง„์ง€ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๊ณ  2018๋…„์— ๋ฌธ์ œ๋ฅผ ์ง์ ‘ ํ•ด๊ฒฐํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ด ์ฑ…์„ ๊ผญ ์ฝ์–ด๋ณด์„ธ์š”. SimpleProgrammer.com์˜ John Sonmez๋Š” ์ด ์ฑ…๊ณผ ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ The Programmer's Way์—์„œ ์œ ์šฉํ•œ ์กฐ์–ธ์„ ๋งŽ์ด ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
2018๋…„์— ๊ผญ ์ฝ์–ด์•ผ ํ•  ์ตœ๊ณ ์˜ Java ์ฑ… 20๊ถŒ - 21
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION