๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿ’Š Java & Kotlin & Spring53

[Java ์‹ฌํ™”] JRE์™€ JVM์€ ์–ด๋–ป๊ฒŒ Java ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ฌ๊นŒ? ํ•™์Šต ๋ชฉํ‘œ ์šฐ๋ฆฌ๊ฐ€ ์ž๋ฐ”๋ฅผ ๋ฐฐ์šฐ๋Š” ๋™์•ˆ ์‹ค์Šต์—๋งŒ ์ค‘์‹ฌ์„ ๋’€์—ˆ์ง€ ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์ ์œผ๋กœ JRE๋Š” ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๊ณ  JVM์€ ์–ด๋””์„œ ์‹คํ–‰๋˜๋ฉฐ, JDK๋Š” ์™œ ์“ฐ์ด๋Š”์ง€์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•  ๋น„์ค‘์ด ๋งค์šฐ ์ ์—ˆ๋‹ค. ์ด์ œ ์ œ๋Œ€๋กœ ํ•œ ๋ฒˆ ์•Œ์•„ ๋ณด๊ณ , ํ”„๋กœ๊ทธ๋žจ์ด ์–ด๋–ป๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜๋ฉฐ ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐˆ ์ง€๋ฅผ ํ•™์Šตํ•ด ๋ณด๋Š”๊ฒŒ ํญํ‘œ์ด๋‹ค. JRE์™€ JVM์ด๋ž€ ๋ญ˜๊นŒ? JVM (Java Virtual Machine) ๊ณผ JRE (Java Runtime Environment) ์ถ”๊ฐ€์ ์œผ๋กœ JDK (Java Development kit) ๊นŒ์ง€. ํ•ด๋‹น ์˜๋ฏธ๋ฅผ ์ •ํ™•ํžˆ๋Š” ๋ชฐ๋ผ๋„ Java ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ํ•œ ๋ฒˆ์ฏค ๋“ค์–ด๋ดค์„ ๊ฒƒ์ด๋‹ค. ์ด๋Š” ๊ฐ๊ฐ JVM : ์ž๋ฐ” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋„๊ตฌ JRE : ์ž๋ฐ”์šฉ OS JDK : ๊ฐ€์ƒ PC ์„ ์˜๋ฏธํ•œ๋‹ค๊ณ  ์•Œ๊ณ  .. 2019. 12. 21.
[Java ์‹ฌํ™”] ํฌ์ŠคํŒ…์„ ์‹œ์ž‘ํ•˜๋ฉฐ.. ์™œ? ์šฐ๋ฆฌ๊ฐ€ ์ž๋ฐ”๋ฅผ ๋ฐฐ์šฐ๋Š” ๋™์•ˆ ์‹ค์Šต์—๋งŒ ์ค‘์‹ฌ์„ ๋’€์—ˆ์ง€ ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์ ์œผ๋กœ JRE๋Š” ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๊ณ  JVM์€ ์–ด๋””์„œ ์‹คํ–‰๋˜๋ฉฐ, JDK ๋Š” ์™œ ์“ฐ์ด๋Š”์ง€์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•  ๋น„์ค‘์ด ๋งค์šฐ ์ ์—ˆ๋‹ค. ๋˜ํ•œ ๊ฐ์ฒด์ง€ํ–ฅ์ด๋ผ๋Š” ๋ง์„ ๋“ค์–ด์„œ๋งŒ ์ดํ•ดํ•˜๊ณ  ์žˆ์ง€. ์ •ํ™•ํžˆ ๊ฐ์ฒด ์ง€ํ–ฅ์ด ์–ด๋–ค ์ ์—์„œ ์ ˆ์ฐจ์ง€ํ–ฅ ์–ธ์–ด๋ณด๋‹ค ์ข‹๊ณ  ์™œ ์šฐ๋ฆฌ ๋‚˜๋ผ๋Š” Java ๋ผ๋Š” ์–ธ์–ด๊ฐ€ ์›น ๊ฐœ๋ฐœ์— ๋งŽ์ด ์“ฐ์ด๊ณ  ์žˆ๋Š”์ง€, ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ์ œ ์ง€ํ–ฅ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์šฐ๋ฆฌ๋Š” ์–ด๋–ค ๋‚ด์šฉ์„ ์ดํ•ดํ•ด์•ผ ํ•˜๋Š” ์ง€์— ๋Œ€ํ•ด์„œ ์ด๋ฒˆ ํฌ์ŠคํŒ…์ด ๊ธฐํšŒ๊ฐ€ ๋˜์–ด ๋‚˜๋„ ๊ณต๋ถ€๋ฅผ ํ•˜๊ณ  ํ˜น์—ฌ๋‚˜ ๋‚ด ๊ธ€์„ ์ฝ์–ด์ฃผ๋Š” ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ๋„ ์ข‹์€ ์ง€์‹์ด ๋์œผ๋ฉด ํ•˜๋Š” ๋งˆ ์Œ์— ํฌ์ŠคํŒ…์„ ์‹œ์ž‘ํ•œ๋‹ค. ๋ชฉํ‘œ JVM, JRE๋ฅผ ์‹œ์ž‘ํ•ด์„œ ๋ณ€์ˆ˜์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ, ๊ฐ์ฒด ์ง€ํ–ฅ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€๋ฅผ ๋ฐฐ์šฐ๊ณ  ๋‚˜๋ฉด Java๊ฐ€ ๋ง ํ•˜๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์€ ๋ฌด์—‡์ธ๊ฐ€.. 2019. 12. 21.
[Spring & Springboot-JPA] 1) Springboot์—์„œ Mysql์„ JPA ์™€ ์—ฐ๋™ํ•˜๊ธฐ. JPA๋ž€? JPA๋ฅผ intelliJ์—์„œ ์—ฐ๋™ํ•˜๊ธฐ ์ „์— ๊ฐ„๋‹จํ•˜๊ฒŒ JPA์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ์กฐ๊ธˆ ๋” ์ž์„ธํ•˜๊ณ  ๊นŠ์€ ์„ค๋ช…์„ ์›ํ•˜๋Š” ์‚ฌ๋žŒ์€ Heee's DEV ๋ธ”๋กœ๊ทธ์— ๋ฐฉ๋ฌธํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค! JPA๋Š” Java ์ง„์˜ ORM(Object-Relational-Mapping) ํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ค‘ ํ•˜๋‚˜๋กœ, ๊ธฐ์กด์— ์ฟผ๋ฆฌ๋ฌธ์„ ์ง์ ‘ ๋‚ ๋ฆฌ๋ฉด์„œ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ SQL๋ฌธ๋ฒ•์œผ๋กœ ๊ณ ์ƒ์„ ํ–ˆ๋˜ ๊ณผ๊ฑฐ ๋ฐฉ์‹๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ SQL๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด ๋˜ํ•œ ๊ฐ์ฑ„ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์กฐ๊ธˆ ๋” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ORM-Library์ด๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฟผ๋ฆฌ๋ฌธ์„ ๋‚ ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค๊ณ ? ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ๊ฐœ๋ฐœ์ž๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์— ์กฐ๊ธˆ ๋” ์‹ ๊ฒฝ์“ฐ๋ฉด ๋œ๋‹ค๊ณ  ํ–ˆ๋‹ค. ์ด ๋ง์€ ์šฐ๋ฆฌ๋Š” ๋” ์ด์ƒ JDBC๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ์†Œ๋ฆฌ.. 2019. 11. 23.
02 Lombok Lombok ์ด๋ž€? Getter/Setter ๊ทธ๋ฆฌ๊ณ  ์ƒ์„ฑ์ž๋“ค์„ Annotation์œผ๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ์ƒ์‚ฐ์„ฑ์„ ๋†’ํ˜€์ฃผ๋Š” ๋„๊ตฌ gradle์— dependencise ์— Lombok์„ ์ถ”๊ฐ€์‹œ์ผœ์•ผ ํ•œ๋‹ค. dependencies{ compile('org.projectlombok:lombok) // lombok ์ถ”๊ฐ€ implementation 'org.springframework.boot:spring-boot-starter-web' textImplementation 'org.springframework.boot:spring-boot-starter-web' } public class SearchParam { private String name; priva.. 2019. 11. 23.
์Šคํ”„๋ง๋ถ€ํŠธ ์™€ REST API Spring boot ์™€ REST api ์ดˆ๊ธฐ spring ํ”„๋กœ์ ํŠธ๋Š” ์Šคํ”„๋ง ๊ตฌ์„ฑ์— ํ•„์š”ํ•œ XML ์ฝ”๋“œ๊ฐ€ ๋งŽ์•˜๋‹ค. ์ด๋ฅผ ๊ทน๋ณตํ•˜๋ ค๊ณ  ์Šคํ”„๋ง 2.5๋Š” ์• ๋„ˆํ…Œ์ด์…˜ (Annotation) ๊ธฐ๋ฐ˜์œผ๋กœ ์ปดํฌ๋„ŒํŠธ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ๋„์ž…ํ–ˆ๊ณ  ๋งŽ์€ ๋…ธ๋ ฅ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ณต์žกํ•œ ๊ตฌ์„ฑ์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ๋ชปํ•˜์˜€๊ณ  ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ์™€ ์Šคํ”ผ๋ง mvc๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ช…์‹œ์ ์ธ XML ์ด๋‚˜ ์ž๋ฐ” ๊ตฌ์„ฑ์ด ํ•„์š”ํ–ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒƒ์„ Spring boot๊ฐ€ ํ•ด๊ฒฐํ•ด์ค€๋‹ค. ์Šคํ”„๋ง๋ถ€ํŠธ์˜ ๊ธฐ๋Šฅ Create stand-alone Spring applications ๋‹จ๋…์‹คํ–‰๊ฐ€๋Šฅํ•œ ์Šคํ”„๋ง์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•œ๋‹ค. Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files) ๋‚ด์žฅํ˜• ํ†ฐ์บฃ, ์ œํ‹ฐ ํ˜น์€ ์–ธ๋”ํ† .. 2019. 11. 23.