JavaRush /Java Blog /Random-KO /๋„Œ ๊ทธ๊ฑธ ์›ํ•ด์•ผ๋งŒ ํ•ด

๋„Œ ๊ทธ๊ฑธ ์›ํ•ด์•ผ๋งŒ ํ•ด

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
3๋…„ ์ „ ์ €๋Š” ์ปดํ“จํ„ฐ ์žฅ๋น„์˜ ํŒ๋งค, ๊ตฌ์„ฑ ๋ฐ ์„œ๋น„์Šค ๋ถ„์•ผ์—์„œ ํŽธ์•ˆํ•˜๊ฒŒ ์ง€๋‚ด๋˜ ์ž๋ฆฌ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ถ„์•ผ๋กœ ๋ฐ”๊พธ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋‹น์‹œ์—๋Š” ์•„์ง ๋‚ด๊ฐ€ ์–ด๋–ค ์–ธ์–ด๋ฅผ ์ข‹์•„ํ•˜๋Š”์ง€ ์ •ํ™•ํžˆ ์•Œ์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๋ถ„์•ผ์˜ ๊ธฐ๋ณธ ์ง€์‹์„ ํ•œ ๋ฒˆ์— ์Šต๋“ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. 2016๋…„ 1์›” 1์ผ, ์ €๋Š” JavaRush, Codeschool, Lynda ๋ฐ Tuts+์˜ ์—ฐ๊ฐ„ ๊ณ„์ •๊ณผ 2016๋…„ ์ „์ฒด๋ฅผ ๊ณต๋ถ€ํ•˜๋Š” ๋ฐ ์“ธ ์ˆ˜ ์žˆ๋Š” ์•ฝ๊ฐ„์˜ ์žฌ์ •์  ์ฟ ์…˜์„ ๊ฐ€์ง„ ์‹ค์—…์ž๋ฅผ ๋งŒ๋‚ฌ์Šต๋‹ˆ๋‹ค.
๋„Œ ๊ทธ๊ฑธ ์›ํ•ด์•ผ๋งŒ ํ•ด - 1
๋‚ด ๋Œ€๊ธฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ๋Š” JavaRush์˜€์Šต๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด ์ƒˆํ•ด ์ „๋‚ ์—๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฌด๋ฃŒ ๋ ˆ๋ฒจ์„ ์™„๋ฃŒํ–ˆ์œผ๋ฉฐ ์‹ค์ œ๋กœ ํ•œ ๋ฒˆ์— 1๋…„ ๋™์•ˆ ์•ก์„ธ์Šค๋ฅผ ๊ตฌ๋งคํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ›ˆ๋ จ์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ ค์„œ ๋ฒŒ์จ 2์›” 8์ผ์— ๋ ˆ๋ฒจ 30 ๋‹ฌ์„ฑ์„ ์ถ•ํ•˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ข‹์•„ํ•˜๊ณ  ๋ฏธ๋ž˜์— ์œ ์šฉํ–ˆ๋˜ ๊ฒƒ ์ค‘์—์„œ ๋‹ค์Œ ์‚ฌํ•ญ์— ์ฃผ๋ชฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ ์–ธ์–ด๋ฅผ ์ตํžˆ๋Š” ๋ฐ์—๋„ ์œ ์šฉํ•œ ์šฉ์–ด ํ†ตํ•ฉ(๋ฐ์ดํ„ฐ ์œ ํ˜• ๋ฐ ๊ตฌ์กฐ, ์‹ค์ œ OOP ์›์น™ ๊ตฌํ˜„, ๋„ค์ž„์ŠคํŽ˜์ด์Šค, ์•ก์„ธ์Šค ์ˆ˜์ •์ž, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ž‘์—…, ์ฟผ๋ฆฌ ์ž‘์„ฑ ๋“ฑ)
  • ์ •๋ง ์ข‹์€ IDE(IntelliJ IDEA)์—์„œ ์ž‘์—…ํ•˜๋Š” ๊ธฐ์ˆ ์„ ์Šต๋“ํ•ฉ๋‹ˆ๋‹ค. IntelliJ IDEA๋Š” ๋‚˜์ค‘์— ๋‹ค๋ฅธ JetBrains ์ œํ’ˆ(PHPStorm/WebStorm/PyCharm)๊ณผ์˜ ์‹ค์ œ ์ž‘์—…์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ฐ˜ ์ฝ”๋“œ ๋ฌธํ™” - ๋…ผ๋ฆฌ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ณต์žก์„ฑ ์ธก๋ฉด๊ณผ ์‹œ๊ฐ์  ๋””์ž์ธ(์ฝ”๋“œ ์Šคํƒ€์ผ ์ค€์ˆ˜) ์ธก๋ฉด์—์„œ
๋ถˆํ–‰ํžˆ๋„ (๋˜๋Š” ๋‹คํ–‰์Šค๋Ÿฝ๊ฒŒ๋„) Java ์™ธ์—๋„ 2016๋…„ 3์›”์— ์›น ๊ฐœ๋ฐœ ๊ณผ์ •๋„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค(Javascript ๋ฐ ํ•ด๋‹น Angular/Ember ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ๋ถ„๊ธฐ๊ฐ€ ์žˆ๋Š” ์–ธ๊ธ‰๋œ CodeSchool ์™ธ์—๋„ HtmlAcademy์—์„œ๋Š” ์ข‹์€ ๊ธฐ๋ณธ ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ๋ฌด๋ฃŒ์˜€์Šต๋‹ˆ๋‹ค). ๋ ˆ์ด์•„์›ƒ, ๋™์‹œ์— Git ๋ฐ MySQL ์ž‘์—…์„ ๋งˆ์Šคํ„ฐํ–ˆ์œผ๋ฉฐ Sql-ex๋Š” ํ›„์ž๋ฅผ ๋ฐฐ์šฐ๋Š” ๋ฐ ๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ, ๊ฒฐ๊ตญ ๋‚˜๋Š” PHP(Igor Borisov์˜ CIS์—์„œ ์ž˜ ์•Œ๋ ค์ง„ ๊ณผ์ • ๋•๋ถ„์—)์— ์ •์ฐฉํ–ˆ์ง€๋งŒ, ์š”์ฆ˜ ํ™”์ œ๊ฐ€ ๋˜๊ณ  ์žˆ๋Š” CMS WordPress๊ฐ€ ์•„๋‹ˆ๋ผ ๋งค์šฐ ํ˜„๋Œ€์ ์ธ REST API ์†”๋ฃจ์…˜์— ์ •์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. Zend Framework 2(์ฒ˜์Œ์—๋Š”)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋‹ค์Œ Laravel 5.x๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋Ÿฌํ•œ ๊ตฌ๋ถˆ๊ตฌ๋ถˆํ•œ ๊ธธ์„ ๊ฑฐ์น˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋™์ผํ•œ Java์˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ํŽธ์•ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ๋„ ํ˜„๋Œ€ PHP(ํŠนํžˆ ๋ฒ„์ „ 7 ์ดํ›„)๋Š” ์ ์  ๋” ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค(์˜ˆ๋ฅผ ๋“ค์–ด ๋ณธ์งˆ์ ์œผ๋กœ ๋™์  ์•ฝํ•œ ์•”์‹œ์  ์œ ํ˜• ์ง€์ •์ด ์žˆ๋Š” ์–ธ์–ด์ด๋ฉฐ ์ด๋ฏธ ๋ฒ„์ „ 7.4 ํด๋ž˜์Šค์—๋Š” ์œ ํ˜• ์ง€์ • ์†์„ฑ์ด ์žˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Java์—์„œ Hibernate๋กœ ์ž‘์—…ํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ๋™์ผํ•œ Doctrine ORM์„ ๋งˆ์Šคํ„ฐํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฌ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ํ•™์Šต ๊ฒฝ๋กœ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์–‘์งˆ์˜ ๊ฐ•์ขŒ๋ฅผ ์„ ํƒํ•˜๋Š” ์ฃผ์ œ๋กœ ๋Œ์•„๊ฐ€์„œ ์ด๋ฏธ ์–ธ๊ธ‰ํ•œ CodeSchool(ํ˜„์žฌ Pluralsight์˜ ์ผ๋ถ€๊ฐ€ ๋จ), Lynda(LinkedIn์ด ๊ต์œก ํ”Œ๋žซํผ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ณณ) ๋“ฑ์—์„œ Javarush๋ฅผ ๋‹๋ณด์ด๊ฒŒ ๋งŒ๋“œ๋Š” ์š”์†Œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ๋‚˜์—๊ฒŒ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ถฉ๋ถ„ํ•œ ์ด๋ก ์  ๊ทผ๊ฑฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ž๋™ํ™”๋œ ๊ฒ€์ฆ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์žˆ์–ด ์—„์ฒญ๋‚œ ์–‘์˜ ์—ฐ์Šต์ž…๋‹ˆ๋‹ค. โ€œ๋™์˜์ƒ์„ ๋ณด๊ณ  ๋˜‘๊ฐ™์ด ํ•˜์„ธ์š”โ€์™€๋Š” ๋น„๊ต๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋น„๋””์˜ค ํŠœํ† ๋ฆฌ์–ผ์€ ๊ณ ๋„๋กœ ์ „๋ฌธํ™”๋œ ์ž‘์—…์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์„ "์Šค๋ˆ„ํ•‘"ํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜ ๋‹จ์‹œ๊ฐ„์— ์ œ๋Œ€๋กœ ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ/API๋ฅผ ๋งˆ์Šคํ„ฐํ•ด์•ผ ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‚ฌ๋žŒ์ด ์ง€์‹์˜ ๊ธฐ๋ณธ ํ† ๋Œ€๋ฅผ ํ˜•์„ฑํ•˜๊ณ  ๋™์ผํ•œ ๊ธฐ๋ณธ ๋ฌธ์ œ๋ฅผ ํ•œ ๋ฒˆ์— ํ•ด๊ฒฐํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ˆ™๋‹ฌํ•ด์•ผ ํ•˜๋Š” ์ž‘์—…์— ์ง๋ฉดํ•œ ๊ฒฝ์šฐ ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ‚ค๋ณด๋“œ๋‚˜ ์ข…์ด์— ๊ธ€์ž๋ฅผ ์“ฐ๋Š” ๊ฒƒ์ด๋ผ๋ฉด Javarush๋Š” ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์˜์–ด ๊ต์œก ์ž๋ฃŒ๋ฅผ ์Šต๋“ํ•˜๋Š” ๋ฌธ์ œ๋„ ์‹ฌ๊ฐํ•˜๋ฏ€๋กœ ๊ทธ๋Ÿฌํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” Javarush์˜ ์ด์ (ํŠนํžˆ ์ด๋ก  ์ž๋ฃŒ ์„ ํƒ)์ด ์ฆ๊ฐ€ํ•  ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค. Javarush์— ๋Œ€ํ•œ ๊ธด ๋ฆฌ๋ทฐ๋ฅผ "ํ•„์ˆ˜"๋ผ๋Š” ํ•œ ๋ฌธ๊ตฌ๋กœ ์š”์•ฝํ•ฉ๋‹ˆ๋‹ค. Java ์–ธ์–ด๊ฐ€ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š๋”๋ผ๋„ ์ด ๊ณผ์ •์€ ํ–ฅํ›„ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ตœ๊ณ ์˜ ํˆฌ์ž๋Š” ์ง€์‹๊ณผ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ํˆฌ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๊ธฐ์— ํˆฌ์žํ•˜๋Š” ์‹œ๊ฐ„๊ณผ ๋ˆ ๋ชจ๋‘ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. PS ๋‚˜ ์ž์‹ ์— ๋Œ€ํ•ด ์กฐ๊ธˆ. ํ˜„์žฌ ์ „๋ฌธ ๋ถ„์•ผ๋Š” Laravel + MySQL์˜ REST API, ํ”„๋กœ์ ํŠธ์—์„œ ํƒ€์‚ฌ ์„œ๋น„์Šค์˜ ์ ๊ทน์  ์‚ฌ์šฉ(Amazon SES/Paypal/Stripe/web3.php/์บ˜๋ฆฐ๋”์™€์˜ ํ†ตํ•ฉ, ๋Œ€๊ธฐ์—ด ๊ตฌ์ถ• ๋“ฑ)์ž…๋‹ˆ๋‹ค. ์ €๋Š” Angular/Vue(JS)๋กœ ์•ฝ๊ฐ„ ์ž‘์—…ํ•ด์•ผ ํ–ˆ๊ณ , ์‹ฌ์ง€์–ด ๋ช‡ ๋‹ฌ ๋™์•ˆ Django(Python)๋กœ ์ž‘์—…ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ†ต๊ณ„๋ฅผ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ์œผ๋กœ์„œ ๊ณต๋ถ€ํ•˜๋Š”๋ฐ 298์ผ์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค(๊ทธ๋‚ ๋ถ€ํ„ฐ) ์ด์ „ ์ง์žฅ์„ ๊ทธ๋งŒ๋‘๊ณ  ์žฌ๊ต์œก์„ ์‹œ์ž‘ํ•œ ๋ฐฉ๋ฒ•), ์ฒซ ๋ฒˆ์งธ ์ด๋ ฅ์„œ๊ฐ€ ์ „์†ก๋œ ์ˆœ๊ฐ„๋ถ€ํ„ฐ ์ฒซ ๊ทผ๋ฌด์ผ๊นŒ์ง€ 42์ผ์ด ์ง€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜ค๋Š˜๋‚ ๊นŒ์ง€๋„ ๋‚˜๋Š” ์ž์‹ ๊ฐ์„ ๊ฐ•ํ™”ํ•˜๊ณ  ์ง€์‹์„ ์ฒด๊ณ„ํ™”ํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ฐจ์›์œผ๋กœ ๋Œ์–ด์˜ฌ๋ฆฐ ์ž๋ฐ”๋Ÿฌ์‹œ ๊ณผ์ •์„ ๊ฐ์‚ฌํ•˜๊ฒŒ ๊ธฐ์–ตํ•˜๋ฉฐ, ์ƒˆ๋กœ์šด ๋ถ„์•ผ์—์„œ ๋งˆ์Œ์˜ ํ‰ํ™”์™€ ๊ท ํ˜•์„ ํ–ฅํ•œ ๊ธด ๊ธธ์˜ ์ฒซ ๊ฑธ์Œ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ์ง์—…. PPS ์ €๋Š” ํ›ˆ๋ จ์„ ๊ณ„์†ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ 2019๋…„์— Laravel ์ธ์ฆ์„ ๋ฐ›๊ณ  Swift๋ฅผ ๋งˆ์Šคํ„ฐํ•˜๋Š” ๊ฒƒ์ด ์˜์ œ์ž…๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION