JavaRush /Java Blog /Random-KO /๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”? ๋‹น์‹ ์ด ๋”ฐ๋ผ์•ผ ํ•  ์ฃผ๋ชฉํ• ๋งŒํ•œ Java ์ „๋ฌธ๊ฐ€

๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”? ๋‹น์‹ ์ด ๋”ฐ๋ผ์•ผ ํ•  ์ฃผ๋ชฉํ• ๋งŒํ•œ Java ์ „๋ฌธ๊ฐ€

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

1. ์กฐ์Šˆ์•„ ๋ธ”๋กœํ

Java ์ „๋ฌธ๊ฐ€ ๋ชฉ๋ก์—์„œ Joshua Bloch๋Š” ๋‹น์—ฐํžˆ ๋†’์€ ์ˆœ์œ„๋ฅผ ์ฐจ์ง€ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋ฏธ๊ตญ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์ด์ž ๊ณ ์ „ ๊ต๊ณผ์„œ์ธ "Java: Effective Java"๋ฅผ ํฌํ•จํ•˜์—ฌ ์—ฌ๋Ÿฌ ์œ ๋ช…ํ•œ ์ฑ…์˜ ์ €์ž์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ตœ๊ทผ Java ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ตœ๊ณ ์˜ ์‹ ๊ฐ„ ๋„์„œ๋ฅผ ์„ ์ •ํ•˜์—ฌ ์ด ์ฑ…์˜ ์ œ3ํŒ์„ ์ฝ์–ด ๋ณด์‹œ๊ธฐ๋ฅผ ์ ๊ทน ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค . Joshua Bloch๋Š” Google์˜ ์ˆ˜์„ Java ์„ค๊ณ„์ž, Sun Microsystems์˜ ๊ฐœ๋ฐœ์ž, Transarc์˜ ์ˆ˜์„ ์‹œ์Šคํ…œ ์„ค๊ณ„์ž์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” Java ํ”Œ๋žซํผ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ, ํŠนํžˆ Java Collections Framework ๋ฐ java.math ํŒจํ‚ค์ง€์˜ ๊ฐœ๋ฐœ ๋ฐ ๊ตฌํ˜„์„ ๋‹ด๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ „๋ฌธ๊ฐ€๋“ค๊ณผ ๊ณต๋™ ์ €์ˆ ํ•œ Effective Java ์ฑ… ์™ธ์—๋„ Joshua Bloch๋Š” Java์— ๊ด€ํ•œ ์ธ๊ธฐ ์žˆ๊ณ  ์ฝ๊ธฐ ์‰ฌ์šด ๋‘ ๊ถŒ์˜ ์ฑ…์ธ Java Puzzles(๋Ÿฌ์‹œ์•„์–ด ๋ฒˆ์—ญ์˜ "Java in 24 hour")์™€ Java Concurrency In Practice๋ฅผ ์ผ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”?  ๋”ฐ๋ผ์•ผ ํ•  ์œ ๋ช…ํ•œ Java ์ „๋ฌธ๊ฐ€ - 2Joshua Bloch์˜ ํŠธ์œ„ํ„ฐ: @joshbloch ๊ทธ์˜ GitHub ํŽ˜์ด์ง€: https://github.com/jbloch/

2. ๋ธŒ๋ผ์ด์–ธ ๊ดด์ธ 

Brian Goetz๋Š” 20๋…„ ์ด์ƒ์˜ ๊ฒฝ๋ ฅ์„ ์ง€๋‹Œ ์ „๋ฌธ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ์•ž์„œ ์–ธ๊ธ‰ํ•œ ์ฑ…์ธ Java Concurrency In Practice์˜ ์ฃผ์š” ์ €์ž์ด์ž ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์— ๊ด€ํ•œ 75๊ฐœ ์ด์ƒ์˜ ๊ธฐ์‚ฌ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. Brian์€ Oracle์—์„œ 10๋…„ ๋„˜๊ฒŒ Java ์–ธ์–ด ์„ค๊ณ„์ž๋กœ ๊ทผ๋ฌดํ–ˆ์Šต๋‹ˆ๋‹ค(Oracle์— ์ธ์ˆ˜๋˜๊ธฐ ์ „์— Sun Microsystem์—์„œ ๊ทผ๋ฌดํ–ˆ์Šต๋‹ˆ๋‹ค). Brian Goetz๋Š” ์ฃผ๋กœ ๋ฏธ๊ตญ์—์„œ Java ๋ฐ ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๊ด€ํ•œ ์ปจํผ๋Ÿฐ์Šค ๋ฐ ๊ธฐํƒ€ ์ด๋ฒคํŠธ์—์„œ ์ž์ฃผ ์—ฐ์„คํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”?  ๋‹น์‹ ์ด ๋”ฐ๋ผ์•ผ ํ•  ์œ ๋ช…ํ•œ Java ์ „๋ฌธ๊ฐ€ - 3Brian Goetz์˜ ํŠธ์œ„ํ„ฐ: @BrianGoetz Brian Goetz์˜ ๋ธ”๋กœ๊ทธ(2014๋…„ ์ดํ›„ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜์ง€๋งŒ ์˜ค๋ž˜๋œ ๊ฒŒ์‹œ๋ฌผ์€ ๊ฝค ํฅ๋ฏธ๋กญ์Šต๋‹ˆ๋‹ค): http://briangoetz.blogspot.com

3. ๋กœ๋“œ ์กด์Šจ

Rod Johnson์€ ํ˜ธ์ฃผ์˜ ์œ ๋ช…ํ•œ ๊ฐœ๋ฐœ์ž์ด์ž ์ปดํ“จํ„ฐ ์ „๋ฌธ๊ฐ€์ด๋ฉฐ ์•„๋งˆ๋„ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” Java ํ”„๋ ˆ์ž„์›Œํฌ์ธ Spring์˜ ์ฐฝ์‹œ์ž์ž…๋‹ˆ๋‹ค. Rod Johnson์€ SpringSource๊ฐ€ VMware์— ์ธ์ˆ˜๋œ 2009๋…„๊นŒ์ง€ SpringSource์˜ ์ฐฝ๋ฆฝ์ž์ด์ž CEO์˜€์Šต๋‹ˆ๋‹ค. Spring ํ”„๋ ˆ์ž„์›Œํฌ๋Š” Johnson์˜ ์ €์„œ Expert One-on-One J2EE Design and Development์—์„œ ํƒ„์ƒํ–ˆ์œผ๋ฉฐ, ์ด ์ฑ…์€ ์ถœ์‹œ ์ดํ›„ ์—ฌ๋Ÿฌ ์ฐจ๋ก€ ์žฌ์ธ์‡„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Rod๋Š” ๋˜ํ•œ Professional Java Development with the Spring Framework๋ผ๋Š” ์ฑ…๋„ ์ผ์Šต๋‹ˆ๋‹ค. 2016๋…„ Johnson์€ ์†Œํ”„ํŠธ์›จ์–ด ์ œ๊ณต ๋ถ€๋ฌธ์„ ์šด์˜ํ•˜๋Š” ํšŒ์‚ฌ์ธ Atomist๋ฅผ ์„ค๋ฆฝํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋˜ํ•œ ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ์†Œํ”„ํŠธ์›จ์–ด ํšŒ์‚ฌ์˜ ์ด์‚ฌํšŒ์—์„œ๋„ ํ™œ๋™ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”?  ๋”ฐ๋ผ์•ผ ํ•  ์œ ๋ช…ํ•œ Java ์ „๋ฌธ๊ฐ€ - 4Rod Johnson์˜ ํŠธ์œ„ํ„ฐ: @springrod Rod์˜ Atomist ์›น์‚ฌ์ดํŠธ ๋ธ”๋กœ๊ทธ: https://blog.atomist.com/author/rod/ Rod๋Š” ์งˆ๋ฌธ ๋ฐ ๋‹ต๋ณ€ ์‚ฌ์ดํŠธ Quora์—๋„ ๊ณ„์ •์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(2015๋…„ ์ดํ›„๋กœ๋Š” ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์Œ). https://www.quora.com/profile/Rod-Johnson-2

4. ์ œ์ž„์Šค ๊ณ ์Šฌ๋ง

๋ฌผ๋ก , ์ž๋ฐ” ์„ธ๊ณ„์˜ ์œ ๋ช…ํ•œ ์‚ฌ๋žŒ๋“ค์— ๊ด€ํ•œ ๊ธฐ์‚ฌ์—์„œ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ฐฝ์‹œ์ž์ธ ์ œ์ž„์Šค ๊ณ ์Šฌ๋ง์„ ์–ธ๊ธ‰ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Gosling์€ 1984๋…„๋ถ€ํ„ฐ 20๋…„ ์ด์ƒ Sun Microsystems์—์„œ ๊ทผ๋ฌดํ–ˆ์œผ๋ฉฐ Oracle Corporation์ด Sun์„ ํก์ˆ˜ํ•œ ํ›„ 2010๋…„์—์•ผ ๊ทธ๊ณณ์„ ๋– ๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„ ๊ทธ๋Š” Google, ์Šคํƒ€ํŠธ์—… Liquid Robotics(Boeing์—์„œ ์ธ์ˆ˜) ๋ฐ Amazon Web Services์—์„œ ๊ทผ๋ฌดํ–ˆ์Šต๋‹ˆ๋‹ค. James๋Š” ๋˜ํ•œ Lightbend(Scala ์–ธ์–ด๋ฅผ ๋Œ€์ค‘ํ™”ํ•˜๋Š” Martin Odersky์˜ ํšŒ์‚ฌ)์˜ ๊ณ ๋ฌธ, Jelastic์˜ ๋…๋ฆฝ ์ด์‚ฌ, Eucalyptus์˜ ์ „๋žต ๊ณ ๋ฌธ์ด๋ฉฐ DIRTT Environmental Solutions์˜ ์ด์‚ฌํšŒ์— ์žฌ์งํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. James Gosling์€ ๋‹ค๋ฅธ ์ „๋ฌธ๊ฐ€๋“ค๊ณผ ํ•จ๊ป˜ The Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ณต๋™ ์ง‘ํ•„ํ–ˆ์œผ๋ฉฐ ์ด ์ฑ…์€ 4๋ฒˆ ์žฌ์ธ์‡„๋˜์—ˆ์œผ๋ฉฐ ๊ธฐํƒ€ ์—ฌ๋Ÿฌ Java ๊ต๊ณผ์„œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”?  ๋”ฐ๋ผ์•ผ ํ•  ์œ ๋ช…ํ•œ Java ์ „๋ฌธ๊ฐ€ - 5์ œ์ž„์Šค ๊ณ ์Šฌ๋ง ํŠธ์œ„ํ„ฐ: @errcraft

5. ๋งˆํ‹ด ์˜ค๋”์Šคํ‚ค

Martin Odersky๋Š” ์ฃผ๋กœ Scala ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ฐฝ์‹œ์ž๋กœ ์•Œ๋ ค์ง„ ๋…์ผ ์ถœ์‹ ์˜ ์ปดํ“จํ„ฐ ์ „๋ฌธ๊ฐ€์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋˜ํ•œ Java Generics๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  Java ์ปดํŒŒ์ผ๋Ÿฌ์ธ javac๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. 2011๋…„ Martin Odersky๋Š” Scala๋ฅผ ์ง€์›ํ•˜๊ณ  ๋Œ€์ค‘ํ™”ํ•˜๋Š” Typesafe Inc(2016๋…„์— Lightbend Inc๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ)๋ฅผ ์„ค๋ฆฝํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” Swiss Federal Institute of Technology Lausanne(EPFL)์˜ ๊ต์ˆ˜์ด๋ฉฐ Coursera ํ”Œ๋žซํผ์—์„œ Scala ์–ธ์–ด(Scala์˜ ๊ธฐ๋Šฅ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์›๋ฆฌ)์— ๋Œ€ํ•œ ๋ฌด๋ฃŒ ๊ฐ•์ขŒ์˜ ์ €์ž์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด ๊ณผ์ •์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋ชจ๋“  ์‚ฌ๋žŒ์ด ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”?  ๋”ฐ๋ผ์•ผ ํ•  ์ฃผ๋ชฉํ• ๋งŒํ•œ Java ์ „๋ฌธ๊ฐ€ 7์ธ - 7Martin Odersky์˜ ํŠธ์œ„ํ„ฐ: @odersky Martin Odersky์˜ Coursera ํŽ˜์ด์ง€: https://www.coursera.org/instructor/~672627

6. ๋”๊ทธ ์ปคํŒ…

Doug Cutting์€ ์˜คํ”ˆ ์†Œ์Šค ๊ฒ€์ƒ‰ ๊ธฐ์ˆ ์˜ ์œ ๋ช…ํ•œ ๊ฐœ๋ฐœ์ž์ด์ž ์˜นํ˜ธ์ž์ด์ž ์ฐฝ์‹œ์ž์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ์˜คํ”ˆ ์†Œ์Šค ๊ฒ€์ƒ‰ ๊ธฐ์ˆ  ํ”„๋กœ์ ํŠธ์ธ Lucene์„ ์„ค๋ฆฝํ–ˆ์œผ๋ฉฐ, Mike Cafarella์™€ ํ•จ๊ป˜ Nutch๋ฅผ ์„ค๋ฆฝํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋‘ ํ”„๋กœ์ ํŠธ๋Š” ํ˜„์žฌ Apache Software Foundation์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Cutting๊ณผ Cafarella๋Š” Apache Hadoop ํ”„๋กœ์ ํŠธ์˜ ๊ณต๋™ ์ฐฝ๋ฆฝ์ž์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. 2010๋…„์— Doug Cutting์€ Apache Software Foundation์˜ ์ด์‚ฌํšŒ ์˜์žฅ์œผ๋กœ ์„ ์ถœ๋˜์—ˆ์œผ๋ฉฐ, ๊ทธ๋Š” 2015๋…„๊นŒ์ง€ ๊ทธ ์ง์ฑ…์„ ๋งก์•˜์Šต๋‹ˆ๋‹ค. 2015๋…„ Cutting์€ ์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์— ๊ธฐ์—ฌํ•œ ๊ณต๋กœ๋กœ ๊ถŒ์œ„ ์žˆ๋Š” O'Reilly Open Source Award๋ฅผ ์ˆ˜์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”๊ทธ ์ปคํŒ…(Doug Cutting)์€ ๋น…๋ฐ์ดํ„ฐ ๊ธฐ์ˆ ์˜ ์„ ๊ตฌ์ž ์ค‘ ํ•œ ๋ช…์œผ๋กœ ํ‰๊ฐ€๋˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” ํ˜„์žฌ ๊ธฐ์—…์šฉ ํด๋ผ์šฐ๋“œ ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜ ์ œ๊ณต์—…์ฒด์ธ Cloudera์—์„œ ์ˆ˜์„ ์„ค๊ณ„์ž๋กœ ์žฌ์งํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”?  ๋”ฐ๋ผ์•ผ ํ•  ์ฃผ๋ชฉํ• ๋งŒํ•œ Java ์ „๋ฌธ๊ฐ€ 8์ธ - 8Doug Cutting์˜ ํŠธ์œ„ํ„ฐ: @cutting Doug ์˜ GitHub ํŽ˜์ด์ง€: https://github.com/cutting

7. ์ œ์ด๋นˆ ํด

Javin Paul์€ ์ˆ™๋ จ๋œ Java ๊ฐœ๋ฐœ์ž์ด์ž ๋ธ”๋กœ๊ฑฐ์ด๋ฉฐ ๋‹ค์–‘ํ•œ ๋ฆฌ์†Œ์Šค์—์„œ Java์— ๊ด€ํ•œ ์ˆ˜๋งŽ์€ ๊ธฐ์‚ฌ๋ฅผ ์“ด ์ €์ž์ž…๋‹ˆ๋‹ค. ์˜์–ด๋กœ ๋œ Java์— ๋Œ€ํ•œ ์ •๋ณด์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ์‚ฌ๋žŒ์€ ํ•œ ๋‹จ๊ณ„ ๋˜๋Š” ๋‹ค๋ฅธ ๋‹จ๊ณ„์—์„œ ์ธํ„ฐ๋„ท์—์„œ ํ•ด๋‹น ์ž๋ฃŒ๋ฅผ ์ ‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Paul์€ ์ง€๋‚œ 7๋…„ ๋™์•ˆ Java, FIX Tutorial ๋ฐ Tibco RV ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด ์ž‘์—…ํ•ด ์™”๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” "Java์—์„œ ๋ฐฐ์—ด์„ ์—ญ์ „์‹œํ‚ค๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•", "Java์—์„œ ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ", "Java์˜ ํœ˜๋ฐœ์„ฑ ์ˆ˜์ •์ž ๋˜๋Š” ํ•„๋“œ์— ๋Œ€ํ•œ 10๊ฐ€์ง€ ์‚ฌํ•ญ" ๋“ฑ์„ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ์ธ๊ธฐ ํŠœํ† ๋ฆฌ์–ผ ๋ฐ ๊ฐ€์ด๋“œ์˜ ์ €์ž์ž…๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”?  ๋”ฐ๋ผ์•ผ ํ•  9๋ช…์˜ ์ฃผ๋ชฉํ• ๋งŒํ•œ Java ์ „๋ฌธ๊ฐ€ - 9

*๋ถ„๋ช…ํžˆ Javin Paul์€ ํ™๋ณด๋ฅผ ๋ณ„๋กœ ์ข‹์•„ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ธํ„ฐ๋„ท์— ์ž์‹ ์˜ ์‚ฌ์ง„์„ ๊ฒŒ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Javin Paul์˜ ํŠธ์œ„ํ„ฐ: @javinpaul ๊ทธ์˜ ๋ธ”๋กœ๊ทธ: https://javarevisited.blogspot.com/ ๊ทธ์˜ ๋˜ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ(2015๋…„๊นŒ์ง€): https://www.java67.com/ Javin Paul์˜ Hacker Noon ํŽ˜์ด์ง€: https: //hackernoon. com/@javinpaul

8. ์•„๋ฃฌ ๊ตฝํƒ€

Arun Gupta๋Š” ๋˜ ๋‹ค๋ฅธ ์œ ๋ช…ํ•œ Java ์• ํ˜ธ๊ฐ€์ด์ž Java Champion ๋ฐ Java Rockstar์˜ ๋ฒ ์ŠคํŠธ์…€๋Ÿฌ ์ž‘๊ฐ€์ž…๋‹ˆ๋‹ค. ์„ธ๊ณ„์˜ ๋งŽ์€ Java ์ „๋ฌธ๊ฐ€์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Arun Gupta๋„ ์ด์ „์— Sun๊ณผ Oracle์—์„œ ๊ทผ๋ฌดํ–ˆ์Šต๋‹ˆ๋‹ค. Sun์—์„œ ๊ทธ๋Š” ๊ฐœ๋ฐœ ํŒ€์„ ์ด๋Œ์—ˆ๊ณ , ํŠนํžˆ Java EE ๊ฐœ๋ฐœ ํŒ€์˜ ์ฐฝ๋ฆฝ์ž์˜€์Šต๋‹ˆ๋‹ค. Sun๊ณผ Oracle ์™ธ์—๋„ Gupta๋Š” Red Hat๊ณผ Couchbase์—์„œ๋„ ๊ทผ๋ฌดํ–ˆ์Šต๋‹ˆ๋‹ค. Arun Gupta๋Š” ํ˜„์žฌ Amazon Web Services์—์„œ ์„ ์ž„ ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์ˆ ์ž๋กœ ์ผํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋˜ํ•œ ๊ฝค ๋งŽ์€ ๊ธ€์„ ์“ฐ๊ณ  ์ „ ์„ธ๊ณ„ ์ปจํผ๋Ÿฐ์Šค์—์„œ ์—ฐ์„คํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”?  ๋”ฐ๋ผ์•ผ ํ•  ์ฃผ๋ชฉํ• ๋งŒํ•œ Java ์ „๋ฌธ๊ฐ€ 10์ธ - 10Arun Gupta์˜ ํŠธ์œ„ํ„ฐ: @arungupta Arun Gupta์˜ YouTube ์ฑ„๋„: https://www.youtube.com/channel/UCDmz6shtjsNY2-6TQHpc5tw ๊ทธ์˜ GitHub ํŽ˜์ด์ง€: https://github.com/arun-gupta

9. ํ† ๋ฅด๋ฒค ์–€์„ผ

Torben Janssen์€ Hibernate๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ์— ๋Œ€ํ•œ 70๊ฐœ ์ด์ƒ์˜ ์†”๋ฃจ์…˜์„ ์„ค๋ช…ํ•˜๋Š” ๋ฒ ์ŠคํŠธ์…€๋Ÿฌ ์ฑ… Hibernate Tips์˜ ์ €์ž๋กœ ๊ฐ€์žฅ ์ž˜ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” 15๋…„ ๋„˜๊ฒŒ ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ Hibernate์™€ JPA๋ฅผ ์‚ฌ์šฉํ•ด ์™”์œผ๋ฉฐ ์ด ๋ถ„์•ผ์—์„œ ์ธ์ •๋ฐ›๋Š” ์ „๋ฌธ๊ฐ€์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋˜ํ•œ Janssen์ด ์ •๊ธฐ์ ์œผ๋กœ ์ตœ์‹  ์ž๋ฃŒ์™€ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์„ ๊ฒŒ์‹œํ•˜๋Š” ๋ธ”๋กœ๊ทธ์™€ Twitter๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”?  ๋”ฐ๋ผ์•ผ ํ•  ์ฃผ๋ชฉํ• ๋งŒํ•œ Java ์ „๋ฌธ๊ฐ€ 11์ธ - 11Torben Janssen์˜ ํŠธ์œ„ํ„ฐ: @thjanssen123 ๊ทธ์˜ ๋ธ”๋กœ๊ทธ: https://thoughts-on-java.org/ Janssen์˜ GitHub ํŽ˜์ด์ง€: https://github.com/thjanssen

10. ๋‹ˆ์ฝœ๋ผ์Šค ํ”„๋žญ์ผˆ

Nicholas Frankel์€ Java, Java EE, Spring ๋ฐ ๊ธฐํƒ€ ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ์„ ๋‹ค๋ฃจ๋Š” ๋ฐ 15๋…„ ์ด์ƒ์˜ ๊ฒฝํ—˜์„ ๋ณด์œ ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„์ž์ž…๋‹ˆ๋‹ค. ๊ทธ์˜ ์ „๋ฌธ ๋ถ„์•ผ๋Š” ์กฐ๋ฆฝ ํ”„๋กœ์„ธ์Šค, ํ’๋ถ€ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ์—ฌ๋Ÿฌ ๊ถŒ์˜ ์ฑ…์„ ์ง‘ํ•„ํ–ˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์„œ๋Š” ๋ณต์žกํ•œ ๋ฌธ์ œ์™€ ๊ทธ ํ•ด๊ฒฐ์ฑ…์„ ๊ฐ„๋‹จํ•œ ์šฉ์–ด๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. Frenkel์€ ์ž์‹ ์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์šด์˜ํ•˜๋ฉฐ ์ •๊ธฐ์ ์œผ๋กœ Java ๋ฐ ๊ด€๋ จ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ํฅ๋ฏธ๋กœ์šด ๊ธฐ์‚ฌ๋ฅผ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋˜ํ•œ Frenkel์ด ๋‹ค์–‘ํ•œ ์ฃผ์ œ์— ๊ด€ํ•ด ๊ธ€์„ ์“ฐ๋Š” Twitter ๊ณ„์ •์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ์ฃผ๋กœ Java์— ๋Œ€ํ•ด์„œ๋„ ๊ธ€์„ ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋ฅผ ์ฝ์„๊นŒ์š”?  ๋”ฐ๋ผ์•ผ ํ•  ์ฃผ๋ชฉํ• ๋งŒํ•œ Java ์ „๋ฌธ๊ฐ€ 12์ธ - 12Nicholas Frankel์˜ Twitter: @nicolas_frankel ๊ทธ์˜ ๋ธ”๋กœ๊ทธ: https://blog.frankel.ch/ Nicholas Frankel์˜ GitHub ํŽ˜์ด์ง€: https://github.com/nfrankel *** ๊ท€ํ•˜๊ฐ€ ํŒ”๋กœ์šฐํ•˜๋Š” Java ์ „๋ฌธ๊ฐ€๋ฅผ ๋Œ“๊ธ€๋กœ ์ ์–ด์ฃผ์„ธ์š”. ๋˜ํ•œ ๋ธ”๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ด๋ฒคํŠธ์—์„œ ์ •๊ธฐ์ ์œผ๋กœ ์—ฐ์„คํ•˜๋Š” ๋Ÿฌ์‹œ์•„์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Java ๊ฐœ๋ฐœ์ž ์ค‘ ๊ฐ€์žฅ ๊ถŒ์œ„ ์žˆ๋Š” ์‚ฌ๋žŒ์€ ๋ˆ„๊ตฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION