๐Ÿค study

    [Kotlin] ์ฝ”ํ‹€๋ฆฐ ๊ธฐ์ดˆ๋ฌธ๋ฒ•(๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํ๋ฆ„์ œ์–ด, ๋„ ์•ˆ์ •์„ฑ, ์˜ˆ์™ธ์ฒ˜๋ฆฌ, ํด๋ž˜์Šค, ํ”„๋กœํผํ‹ฐ, ์ƒ์†, ์ธํ„ฐํŽ˜์ด์Šค, ์—ด๊ฑฐํ˜• ํด๋ž˜์Šค)

    Kotlin Playground: Edit, Run, Share Kotlin Code Online ์‹ค์‹œ๊ฐ„์œผ๋กœ ์›น์—์„œ ์ฝ”ํ‹€๋ฆฐ์˜ ๋ฌธ๋ฒ•์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ 1. ๋ณ€์ˆ˜ val a: Int = 1 //ํƒ€์ž…์„ ์ƒ๋žตํ•ด๋„ ์ปดํŒŒ์ผ ์—๋Ÿฌ X, ํƒ€์ž… ์ถ”๋ก ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. val b = 1 //์ง€์—ฐํ• ๋‹น: ๋’ค๋Šฆ๊ฒŒ ๊ฐ’์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค**(์ง€์—ฐํ• ๋‹น์‹œ์—๋Š” ํƒ€์ž…์„ ๋ฐ˜๋“œ์‹œ ์ ์–ด์ค˜์•ผํ•จ)** val c: Int c= 3 ์ฝ”ํ‹€๋ฆฐ์—์„œ ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ val : value์˜ ์•ฝ์ž, java์˜ final์ฒ˜๋Ÿผ ์žฌํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅ var : variable์˜ ์•ฝ์ž, ๋ณ€์ˆ˜์˜ ๊ฐœ๋…์œผ๋กœ ์žฌํ• ๋‹น์ด ๊ฐ€๋Šฅํ•˜๋‹ค val e : String = "Hello" e = "World" //์ปดํŒŒ์ผ ์—๋Ÿฌ, val์€ ์žฌํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. var f =..

    [Kotlin] ์ฝ”ํ‹€๋ฆฐ ์ดํ•ดํ•˜๊ธฐ | ์ฝ”ํ‹€๋ฆฐ์„ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ์ด์œ  | ์ž๋ฐ”์™€ ์ฝ”ํ‹€๋ฆฐ์˜ ์ฐจ์ด์  | ์ฝ”ํ‹€๋ฆฐ์˜ ๊ธฐ๋Šฅโœ๏ธ[1]

    1. ์ฝ”ํ‹€๋ฆฐ ์ดํ•ดํ•˜๊ธฐ 1. ์ฝ”ํ‹€๋ฆฐ์˜ ํ˜„์žฌ์™€ ๋ฏธ๋ž˜ ์ฝ”ํ‹€๋ฆฐ์„ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ์ด์œ  Jetbrains์—์„œ ๋งŒ๋“  ์–ธ์–ด → ์ž๋™์™„์„ฑ, ์ฝ”ํ‹€๋ฆฐ ๋ณ€ํ™˜, ์ฝ”๋ฃจํ‹ด๋“ฑ ๊ด€๋ จ ํŽธ์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค. ์ž๋ฐ”๋Š” ๋ฐœํ‘œ๋œ์ง€ 20๋…„์ด ๋„˜์—ˆ์ง€๋งŒ ์ฝ”ํ‹€๋ฆฐ, ์Šค์œ„ํ”„ํŠธ์™€ ๊ฐ™์€ ํ˜„๋Œ€์–ธ์–ด์— ๋น„ํ•ด ๊ธฐ๋Šฅ์ด ๋ถ€์กฑํ•˜๋‹ค. ์ž๋ฐ”์—์„œ best-practice๋กœ ๋ถˆ๋ฆฌ๋Š” ๊ธฐ๋ฒ•๋“ค์„ ์–ธ์–ด์  ์ฐจ์›์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค. ex) ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”, ๋””์ž์ธํŒจํ„ด ๋“ฑ ์ž๋ฐ”์— ๋น„ํ•ด ๋ฌธ๋ฒ•์ด ๊ฐ„๊ฒฐ → ๊ฐ€๋…์„ฑ, ์ƒ์‚ฐ์„ฑ์ด ๋†’๊ณ  ์˜ค๋ฅ˜ ๊ฐ€๋Šฅ์„ฑ์ด ์ ๋‹ค. // equals(), hashCode(), toString() ์ž๋™์œผ๋กœ ์ƒ์„ฑ data class Person( val name: String, val age: Int, val email: String ) // ๊ฐ„๋‹จํ•˜๊ฒŒ ์‹ฑ๊ธ€ํ„ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ obj..

    [๋‹น๊ทผํ…Œํฌ ๋ฐ‹์—… ์š”์•ฝ] ์ฝ”ํ”„๋ง | ์ฝ”ํ‹€๋ฆฐ์˜ ์ฒ ํ•™ | ์ฝ”ํ‹€๋ฆฐ์˜ ์žฅ์  | ์ฝ”ํ‹€๋ฆฐ ํŠน์ง•(#์‚ด์•„์žˆ๋‹ค #์žํ”„๋ง์™ธ๊ธธ12๋…„์ฐจ #์ฝ”ํ”„๋ง2๊ฐœ์›”์ƒ์กด๊ธฐ) -1ํŽธ

    ์ฝ”ํ‹€๋ฆฐ์˜ ์ฒ ํ•™ : ์ฝ”ํ‹€๋ฆฐ์€ ์ž๋ฐ”์™€์˜ ์ƒํ˜ธ์šด์šฉ์„ฑ์— ์ดˆ์ ์„ ๋งž์ถ˜ ์‹ค์šฉ์ ์ด๊ณ  ๊ฐ„๊ฒฐํ•˜๋ฉฐ ์•ˆ์ „ํ•œ ์–ธ์–ด์ด๋‹ค. - Kotlin in Action ์ฝ”ํ‹€๋ฆฐ์˜ ์ฒ ํ•™ : ๊ฐ„๊ฒฐ์„ฑ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์‹œ๊ฐ„๋ณด๋‹ค, ๊ธฐ์กด์˜ ์ฝ”๋“œ๋ฅผ ์ฝ๋Š”๋ฐ ์‹œ๊ฐ„์„ ๋” ๋งŽ์ด ์“ด๋‹ค. ์ฝ”๋“œ๋Š” ๊ฐ„๊ฒฐํ• ์ˆ˜๋ก ๋‚ด์šฉ์„ ํŒŒ์•…ํ•˜๊ธฐ ์‰ฝ๊ณ , ์œ ์ง€๋ณด์ˆ˜์—๋„ ์ข‹๋‹ค. ๊ทธ ์ค‘ ํ•ต์‹ฌ์€ ์–ธ์–ด์˜ ๊ฐ„๊ฒฐ์„ฑ(์˜๋„ ํŒŒ์•…, ์‰ฌ์šด ๊ตฌ๋ฌธ ๊ตฌ์กฐ, ๋ถ€๊ฐ€์ ์ธ ์ฝ”๋“œ ์ตœ๋Œ€ํ•œ ์ œ๊ฑฐ) ์ฝ”ํ‹€๋ฆฐ์€ ํ”„๋กœ๊ทธ๋žจ์ž‘์„ฑ์— ์žˆ์–ด ๋ถ€์ˆ˜์ ์ธ ์š”์†Œ๋“ค์„ ์ตœ๋Œ€ํ•œ ์ค„์ด๊ณ ์ž ๋…ธ๋ ฅํ–ˆ๋‹ค. ์˜ˆ์ œ1) data class Person( val id: UUID, val firstname: String, val lastname: String, val address: Address ) ๋‹ค์Œ๊ณผ ๊ฐ™์ด, data class๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜๋ฉด getter..

    [JPA] JPA ๊ฐœ์š”, JPA ์ •์˜, JPA ์žฅ์  (์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ 1,2์žฅ ์š”์•ฝ)

    JPA ๊ฐœ์š” ORM ํ”„๋ ˆ์ž„์›Œํฌ : ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งคํ•‘ํ•ด์ค€๋‹ค. JPA ์ •์˜ EJB์—์„œ ํ•˜์ด๋ฒ„๋„ค์ดํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ƒˆ๋กœ์šด ์ž๋ฐ” ORM ๊ธฐ์ˆ  ํ‘œ์ค€ ์ž๋ฐ” ์ง„์˜์˜ ORM ๊ธฐ์ˆ  ํ‘œ์ค€์ด๋‹ค.(object relational mapping) ์ง€๋ฃจํ•˜๊ณ  ๋ฐ˜๋ณต์ ์ธ crud sql์„ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ด์ฃผ๊ณ , ์‹คํ–‰ ์‹œ์ ์— ์ž๋™์œผ๋กœ SQL์„ ๋งŒ๋“ค์–ด์„œ ์‹คํ–‰ํ•œ๋‹ค. ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ฒด๋กœ ๋งคํ•‘ํ•˜๋Š” ์ž‘์—…์„ ๋Œ€๋ถ€๋ถ„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค. JPA ์žฅ์  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ SQL์ด ์•„๋‹Œ ๊ฐ์ฒด ์ค‘์‹ฌ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋‹ค๋ณด๋‹ˆ ์ƒ์‚ฐ์„ฑ, ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ์ข‹๋‹ค. 1๏ธโƒฃ ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด JPA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๋Œ€์‹  ์ฒ˜๋ฆฌํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์ •ํ•  ์ฝ”๋“œ๊ฐ€ ์ค„์–ด๋“ ๋‹ค. SQL์„ ์ง์ ‘ ๋‹ค๋ฃจ๋ฉด ์—”ํ‹ฐํ‹ฐ์— ํ•„๋“œ๋ฅผ ํ•˜๋‚˜๋งŒ ์ถ”๊ฐ€ํ•ด๋„ ๊ด€๋ จ๋œ ๋“ฑ๋ก, ์ˆ˜์ •, ์กฐํšŒ SQL๊ณผ ๊ฒฐ..

    [JPA] Hibernate, JPA, Spring Data JPA, JDBC ์ฐจ์ด

    ๋ฉด์ ‘์šฉ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋†“์€ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค! ๋งจ ์•„๋ž˜ ์ฐธ๊ณ ์— ๊ผผ๊ผผํžˆ ์„ค๋ช…๋˜์–ด์žˆ๋Š” ๋ธ”๋กœ๊ทธ๊ฐ€ ์žˆ์œผ๋‹ˆ ์ž์„ธํžˆ ๋ฐฐ์šฐ๊ณ ์‹ถ๋‹ค๋ฉด ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š” ๐Ÿฅฐ JDBC(Java Database Connectivity) ์ž๋ฐ”๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณตํ•˜๋Š” API JDBC๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ณ , JDBC driver๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. JDBC Driver๋Š” ๊ฐ๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋งˆ๋‹ค ์กด์žฌํ•œ๋‹ค. JPA(Java Persistence API) ์ž๋ฐ” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ •์˜ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๊ณ , ์ธํ„ฐํŽ˜์ด์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„์ด ์—†๋‹ค. Hibernate JPA๋ผ๋Š” ๋ช…์„ธ์˜ ๊ตฌํ˜„์ฒด์ด๋‹ค.(์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•จ) JPA๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ORM ํ”„๋ ˆ์ž„์›Œํฌ์ด๊ณ , ์„ฑ์ˆ™๋„๊ฐ€ ๋†’๋‹ค. Spri..

    [0906] ์ธํ”„๋ผ / centOS phpํŒŒ์ผ์ €์žฅ / centOS mariaDB ์—ฐ๋™ / php db์—ฐ๋™ / ํŒŒ์ผ์ €์žฅ ๋ฐฉ๋ฒ• / ์›น์„œ๋ฒ„์—์„œ ํŒŒ์ผ ์ €์žฅ

    [0906] ์ธํ”„๋ผ / centOS phpํŒŒ์ผ์ €์žฅ / centOS mariaDB ์—ฐ๋™ / php db์—ฐ๋™ / ํŒŒ์ผ์ €์žฅ ๋ฐฉ๋ฒ• / ์›น์„œ๋ฒ„์—์„œ ํŒŒ์ผ ์ €์žฅ

    ํ˜„์žฌ๊นŒ์ง€์˜ ๋‹จ๊ณ„ 1. vim 2. ํŒŒ์ผ์งˆ๋ผ๋กœ ์—…๋กœ๋“œ 3. sh๋กœ htmlํ…œํ”Œ๋ฆฟ ๋งŒ๋“ค๊ธฐ 4. php๋กœ htmlํ…œํ”Œ๋ฆฟ 5. nginx์˜ ์š”์ฒญ๊ณผ php๋ฅผ ์—ฐ๋™(php-fpm์ด ์ค‘๊ฐ„๋‹ค๋ฆฌ์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰) 6. ์ฟ ํ‚ค ์‚ฌ์šฉ(ํด๋ผ์ด์–ธํŠธ์—์„œ ์ƒ์„ฑ, ์ฟ ํ‚ค๋ฅผ ์„œ๋ฒ„์ธก์—์„œ๋„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ - ๋ณด์•ˆ์— ์•ฝํ•˜๋‹ค) 7. ์„ธ์…˜ ์‚ฌ์šฉ(์„œ๋ฒ„์—์„œ์ƒ์„ฑ, ์„œ๋ฒ„์‚ฌ์ด๋“œ์–ธ์–ด์˜ ๋„์›€์—†์ด๋Š” ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์—†์Œ) --------------์˜ค๋Š˜ ํฌ์ŠคํŒ…ํ•˜๋Š” ๋‚ด์šฉ ----------------------- 8. ๊ธฐ์–ต๋ ฅ(์›น์„œ๋ฒ„ : ๊ธฐ์–ต๋ ฅ 0) -ํŒŒ์ผ ์ €์žฅ์ด ๊ท€์ฐฎ๋‹ค 9. ๋””๋น„ ์‚ฌ์šฉ - ํŒŒ์ผ์— ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ €์žฅ/์กฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. 8. ๊ธฐ์–ต๋ ฅ ์›น์„œ๋ฒ„ : ๊ธฐ์–ต๋ ฅ์ด ์•„์˜ˆ ์—†๋‹ค. php : ๊ธฐ์–ต๋ ฅ์€ ์—†์ง€๋งŒ, ์ฟ ํ‚ค ๋˜๋Š” ์„ธ์…˜์„ ์ด์šฉํ•ด ์•ฝ๊ฐ„์€ ์ €์žฅํ•  ์ˆ˜ ์žˆ..

    [์ธํ”„๋ผ] ํฌํŠธํฌ์›Œ๋”ฉ | CentOS9 ํฌํŠธํฌ์›Œ๋”ฉ | ์ธํ”„๋ผ ์„ธํŒ…๋ฐฉ๋ฒ• (1)

    [์ธํ”„๋ผ] ํฌํŠธํฌ์›Œ๋”ฉ | CentOS9 ํฌํŠธํฌ์›Œ๋”ฉ | ์ธํ”„๋ผ ์„ธํŒ…๋ฐฉ๋ฒ• (1)

    ์ „์ฒด ์ˆœ์„œ virtual box ์„ค์น˜ virtual box ํ™•์žฅํŒฉ ์„ค์น˜ CentOS9.iso ๋‹ค์šด ๊ธฐ๊ณ„์ƒ์„ฑ CentOS9_1 ๊ธฐ๊ณ„์— CD ๋„ฃ๊ธฐ ๋ถ€ํŒ… / ์„ค์น˜ ์ตœ์†Œ์‚ฌ์–‘, root๋น„๋ฒˆ ๋“ฑ๋ก snapshot ์ฐ๊ธฐ, ๊ณ„์ •์ƒ์„ฑ ๋ฐ sudo ๊ถŒํ•œ ๋ถ€์—ฌ ํ˜ธ์ŠคํŠธ์ „์šฉ ์–ด๋Œ‘ํ„ฐ๋ฅผ ํ†ตํ•ด ํŠน๋ณ„ํ•œ ip์ƒ์„ฑ(์™ธ๋ถ€๋ž‘ ์†Œํ†ต๊ฐ€๋Šฅ) —- ์—ฌ๊ธฐ๋ถ€ํ„ฐ ํฌ์ŠคํŒ… ! ํฌํŠธํฌ์›Œ๋”ฉ ๊ฐœ๋… ๋ฐฐ์›€ → ์™ธ๋ถ€๋ž‘ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š” ์ฐฝ๊ตฌ ๋งˆ๋ จ (ssh ์ ‘์†์šฉ) ์‚ฌ์šฉ์ž๋ฅผ sudoer๋กœ ์ง€์ •ํ•˜๊ธฐ yum์œผ๋กœ vim ์„ค์น˜ํ•˜๊ธฐ 1. ํฌํŠธํฌ์›Œ๋”ฉ settings-network-Adapter 2์— ์ ‘์† Advanced ํด๋ฆญ ํฌํŠธํฌ์›Œ๋”ฉ ๊ทœ์น™ ์„ค์ •ํ•˜๊ธฐ, ํ˜ธ์ŠคํŠธ IP๋Š” ์™ธ๋ถ€์—์„œ์˜ IP, ๊ฒŒ์ŠคํŠธ IP๋Š” ๋‚ด๋ถ€์—์„œ์˜ IP๋ฅผ ์˜๋ฏธํ•œ๋‹ค.(10.0.2.15, ์›๊ฒฉ ์ปดํ“จํ„ฐ์—์„œ์˜ IP) 2. ์›๊ฒฉ ..

    [Spring Boot] spring-boot-devtools ์ ์šฉ๋ฐฉ๋ฒ• | htmlํŒŒ์ผ ์ž๋™์žฌ์‹œ์ž‘ | ์Šคํ”„๋ง๋ถ€ํŠธ css, html ๋ฐ”๋กœ ์ ์šฉ | build project automatically | live-reload | ์Šคํ”„๋ง๋ถ€ํŠธ ์ •์ ํŒŒ์ผ ์ž๋™๋นŒ๋“œ

    [Spring Boot] spring-boot-devtools ์ ์šฉ๋ฐฉ๋ฒ• | htmlํŒŒ์ผ ์ž๋™์žฌ์‹œ์ž‘ | ์Šคํ”„๋ง๋ถ€ํŠธ css, html ๋ฐ”๋กœ ์ ์šฉ | build project automatically | live-reload | ์Šคํ”„๋ง๋ถ€ํŠธ ์ •์ ํŒŒ์ผ ์ž๋™๋นŒ๋“œ

    Devtools๋ž€? spring boot์—์„œ ๊ฐœ๋ฐœ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์ œ๊ณตํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค. ๊ฐœ๋ฐœ์ค‘, ์ฝ”๋“œ ์ˆ˜์ •์‹œ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ˆ˜์ •๋œ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๋ ค๋ฉด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์žฌ์‹œ์ž‘ ํ•ด์•ผ ํ•œ๋‹ค.ใ… ใ…  ์›น๋ฆฐ์ด์ธ ๋‚˜๋Š” ์ตœ๊ทผ์— ์ด ์žฌ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ์–ผ๋งˆ๋‚˜ ๋ˆŒ๋ €๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค.. devtools๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž๋™์œผ๋กœ ์žฌ์‹œ์ž‘ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด ๊ฐœ๋ฐœ์— ํ›จ์”ฌ ์ˆ˜์›”ํ•˜๋‹ค. Devtools ์ ์šฉ๋ฒ• 1. build.gradle ํŒŒ์ผ์— ์˜์กด์„ฑ ์ถ”๊ฐ€ implementation 'org.springframework.boot:spring-boot-devtools' ๐Ÿฏ ๊ฟ€ํŒ : ์˜์กด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฐพ๋Š”๊ณณ mvnrepository : ์ค‘์•™ ์›๊ฒฉ ์ €์žฅ์†Œ https://mvnrepository.com/artifact/org.springframework.boot/s..

    [Java] ObjectMapper๋ž€? | ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” | Jackson ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ | Serialize, Deserialize | Json Parsing

    [Java] ObjectMapper๋ž€? | ์ง๋ ฌํ™”, ์—ญ์ง๋ ฌํ™” | Jackson ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ | Serialize, Deserialize | Json Parsing

    ObjectMapper๋ž€? : JSON ํ˜•์‹์„ ์‚ฌ์šฉํ•  ๋•Œ, ์‘๋‹ต๋“ค์„ ์ง๋ ฌํ™”ํ•˜๊ณ , ์š”์ฒญ๋“ค์„ ์—ญ์ง๋ ฌํ™” ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ๋‹ค๋ฅธ ์„œ๋ฒ„๋“ค๊ณผ ์†Œํ†ตํ• ๋•Œ ๋ณดํ†ต json์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์•Œ์•„๋‘ฌ์•ผํ•จ! ์ง๋ ฌํ™”(Serialize) : Object๋ฅผ Textํ˜•ํƒœ์˜ JSON์œผ๋กœ๋„ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค. ์—ญ์ง๋ ฌํ™”(Deserialize) : text ํ˜•ํƒœ์˜ JSON์„ Object๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค. SpringBoot์˜ ๊ฒฝ์šฐ, spring-boot-starter-web์— ๊ธฐ๋ณธ์ ์œผ๋กœ Jackson ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์–ด์„œ Object ↔ JSON ๊ฐ„ ๋ณ€ํ™˜์ด ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค. Jackson ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ : ์ž๋ฐ”์—์„œ ๊ณ ์ˆ˜์ค€์˜ JSON Parser๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค @RestController์—์„œ๋Š”, Jackson ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์–ด์„œ request..

    [Java] ์—๋Ÿฌ์ฒ˜๋ฆฌ | Try-catch | ์ปดํŒŒ์ผ ์˜ค๋ฅ˜, ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜, ๋…ผ๋ฆฌ ์˜ค๋ฅ˜ | ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• | checked, unchecked exception | ์˜ˆ์™ธ ์šฐ์„ ์ˆœ์œ„

    [Java] ์—๋Ÿฌ์ฒ˜๋ฆฌ | Try-catch | ์ปดํŒŒ์ผ ์˜ค๋ฅ˜, ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜, ๋…ผ๋ฆฌ ์˜ค๋ฅ˜ | ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• | checked, unchecked exception | ์˜ˆ์™ธ ์šฐ์„ ์ˆœ์œ„

    Try-catch try? catch? ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ž€ ๋ญ ํ•˜๋Š” ๊ฑด๊ฐ€์š”? ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ค๋ฅ˜์˜ ์ข…๋ฅ˜ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜ : ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์„ ๋ง‰๋Š” ์˜ค๋ฅ˜, ๋Œ€๋ถ€๋ถ„ ๋ฌธ๋ฒ•์ ์ธ ์˜ค๋ฅ˜๋‹ค. //1 (ํ‚ค์›Œ๋“œ ๋งž์ถค๋ฒ• ์˜ค๋ฅ˜) inet num = 1; //2 (์„ธ๋ฏธ์ฝœ๋ก  ๋ˆ„๋ฝ) boolean a = false //3 (endif๋ฌธ๋ถ€ํ„ฐ ์‚ฌ์šฉ) end if(!a) { return; } //4 (์„ ์–ธ์•ˆ๋œ ๋ณ€์ˆ˜ ์‚ฌ์šฉ) b = 3; ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜ : ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜, ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋Š” ์ž‘์—… ์‹œ๋„์‹œ ๋ฐœ์ƒ 1. 0์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒฝ์šฐ 2. ๋ฌดํ•œ๋ฃจํ”„์— ๋น ์ง€๋Š” ๊ฒฝ์šฐ 3. null point error ๋…ผ๋ฆฌ ์˜ค๋ฅ˜ : ์‚ฌ์šฉ์ž๊ฐ€ ์˜๋„ํ•œ ์ž‘์—…์„ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ˆ˜ํ–‰ํ•˜์ง€ ๋ชปํ•˜๋Š” ์˜ค๋ฅ˜, ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅํ•œ ์˜ค๋ฅ˜ try-catch ์ •์˜ : ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ๋ฌธ ..