2024 Spring Boot ๋ฐ‹์—… with Josh Long ๐Ÿƒ

Sun choiยท2024๋…„ 9์›” 16์ผ

NEW ์ง€์‹

๋ชฉ๋ก ๋ณด๊ธฐ
24/34
post-thumbnail

์ดˆ๋ณด์ž๊ฐ€ ์ž‘์„ฑํ•œ ๋‚ด์šฉ์ด๋‹ˆ ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!๐Ÿคง

20240909
์šด์ด ์ข‹๊ฒŒ๋„ ์ธํ”„๋Ÿฐ์—์„œ ์ฃผ์ตœํ•˜๋Š” ๋ฐ‹์—…์— ์ฐธ์—ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค! ๐Ÿฅณ


Who is Josh Longโ“

์•ˆ๋…•ํ•˜์„ธ์š” Josh Long!

Josh Long์€ Java ์ฑ”ํ”ผ์–ธ์ด์ž Spring Developer Advocate๋กœ์„œ, Spring ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ด€๋ จ๋œ ๊ธฐ์ˆ  ๋ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ™œ๋™์„ ์ฃผ๋„ํ•˜๋ฉฐ, VMware Tanzu์—์„œ ํ™œ๋™ํ•˜๊ณ  ์žˆ๋‹ค. ๋” ์ž์„ธํ•œ ๊ทธ์˜ ํ”„๋กœํ•„์€ JoshLong ์—ฌ๊ธฐ์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


โšก๏ธ ์„ธ์…˜ ์š”์•ฝ

๋ฐœํ‘œ ์„ธ์…˜์€ Bootiful Spring Boot: A DOGumentary ์ด๋ผ๋Š” ์ฃผ์ œ์˜€๋‹ค.
๊ณง ์ถœ์‹œ๋  Spring Boot 23์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์„ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์†Œ๊ฐœํ•˜๊ณ , Java๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋›ฐ์–ด๋‚œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ธ์ง€ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๊ณผ ๋น„๊ตํ•˜์—ฌ ์„ค๋ช…ํ•ด์ฃผ์…จ๋‹ค.

Data oriented programming

  • sealed type
  • records
  • pattern matching
  • smart switch expressions

์ดˆ๋ฐ˜์— ์ด ํ‚ค์›Œ๋“œ๋“ค์„ ์ œ์‹œํ•˜๋ฉฐ ์„ธ์…˜์ด ์‹œ์ž‘๋˜์—ˆ๋‹ค.


์ด๋ฒคํŠธ์†Œ์‹ฑ

์ด๋ฒคํŠธ์†Œ์‹ฑ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์ˆœ์ฐจ์ ์ธ ์ด๋ฒคํŠธ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ณผ๊ฑฐ์ƒํƒœ๋ฅผ ์žฌ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋ถ„์„์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
๋ฌด์—‡์ด ์ž˜๋ชป๋˜์—ˆ๋Š”์ง€ ๋ณด๊ธฐ ์œ„ํ•ด ์ด๋ฒคํŠธ๋ฅผ ์žฌ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.


์บก์Аํ™”์˜ ์ค‘์š”์„ฑ

controller, service, repository ์ด๋Ÿฐ ์•ˆํ‹ฐ ํŒจํ„ด๊ณผ public์„ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ ๋ผ๋Š” ๋‚ด์šฉ์ด์—ˆ๋‹ค. ์บก์Аํ™”, ํ”„๋ผ์ด๋ฒ„์‹œ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.


Spring AI

https://github.com/spring-projects/spring-ai/blob/main/README.md

๋ฐ์ดํ„ฐ๋ฅผ AI๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ๋Š” ๊ฒฝ์šฐ AI์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•„์ง ์ดˆ๊ธฐ ๋ชจ๋ธ์ด๋ผ ์‘๋‹ต ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ธฐ์— ๋งŽ์€ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋‹ค์Œ ์—…๋ฐ์ดํŠธ ๋•Œ ๊ฐœ์„ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.


๊ฐ€์ƒ์Šค๋ ˆ๋“œ

Java21์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ€์ƒ์Šค๋ ˆ๋“œ!
์‹ค์ œ ๊ฐ€์ƒ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ์™€ ์•ˆํ–ˆ์„ ๋•Œ์˜ ์†๋„์ฐจ์ด๋Š” 2๋ฐฐ ๊ฐ€๋Ÿ‰ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.


์–ธ์–ด๋งˆ๋‹ค ์‚ฌ์šฉ๋˜๋Š” ์—๋„ˆ์ง€์–‘

์–ธ์–ด๋งˆ๋‹ค ์‚ฌ์šฉ๋˜๋Š” ์—๋„ˆ์ง€์–‘์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์˜€๋‹ค. C์–ธ์–ด๊ฐ€ ์—๋„ˆ์ง€๋Š” ๊ฐ€์žฅ ์ข‹์ง€๋งŒ ์šฐ์›ฉ์ด๋ผ๋ฉฐใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ์ž๋ฐ” ์ตœ๊ณ ! ์ž๋ฐ” ์งฑ!์ด๋ผ๊ณ  ํ•˜์…จ๋‹ค.

  • ์›๋ณธ ์ฒจ๋ถ€

๋งˆ๋ฌด๋ฆฌ

Josh์˜ ๋งˆ์ง€๋ง‰ ๋ฉ˜ํŠธ ํ›„ ์งˆ์˜์‘๋‹ต์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ณ  ๋ฐ‹์—…์„ ๋งˆ๋ฌด๋ฆฌํ•˜์˜€๋‹ค.


๋‚˜์˜ ํ›„๊ธฐ ๐Ÿซก

์ฒ˜์Œ์œผ๋กœ ๊ฐœ๋ฐœ ๊ด€๋ จ ์„ธ์…˜์„ ๋‹ค๋…€์™”๋‹ค.
์•„์ง ๊ฐœ๋…์ดํ•ด์™€ ์‹ค๋ ฅ์ด ๋ถ€์กฑํ•˜์—ฌ ๋ชจ๋“  ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๊ธด ๋ฌด๋ฆฌ์˜€๋‹ค. ํ•˜์ง€๋งŒ ์„ธ์…˜์„ ์ง‘์ค‘ํ•˜์—ฌ ์ตœ๋Œ€ํ•œ ์ง€์‹์„ ์Šต๋“ํ•˜๋ ค ๋…ธ๋ ฅํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ€๋” ์•„๋Š” ๋‹จ์–ด๊ฐ€ ๋‚˜์˜ค๋ฉด ๋ฐ˜๊ฐ€์› ๋‹ค!
์งˆ์˜์‘๋‹ต ์‹œ๊ฐ„์˜ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋ถ„๋“ค์˜ ์งˆ๋ฌธ๊ณผ ์กฐ์‰ฌ๋กฑ๋‹˜์˜ ๋‹ต๋ณ€๋„ ๋˜๊ฒŒ ์œ ์ตํ–ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์€ ์–ด๋–ค ๋ถ€๋ถ„์„ ๊ณ ๋ฏผํ•˜๊ณ  ๊ถ๊ธˆํ•ดํ•˜์‹œ๋Š”์ง€ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค.

https://devwriter.tistory.com/39
https://devwriter.tistory.com/44

์ด ๋ธ”๋กœ๊ทธ๋“ค์€ ์„ธ์…˜ ๋“ฃ๊ณ  ์™€์„œ ์ฐพ์•„๋ณธ Spring AI์— ๋Œ€ํ•œ ์ž๋ฃŒ์ด๋‹ค.

๋‹ค์Œ์—๋„ ์ด๋Ÿฐ ์„ธ์…˜์ด ์žˆ์œผ๋ฉด ๋ฌด์กฐ๊ฑด ์‹ ์ฒญํ•ด๋ด์•ผ๊ฒ ๋‹ค!
๋ฐฐ์šฐ๋Š” ๊ฒƒ๋„ ์ •๋ง ๋งŽ๊ณ , ์‹œ์•ผ๋ฅผ ๋„“ํž ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ฒฝํ—˜์ด์˜€๋‹ค.๐Ÿ”ฅ

๊ณง ์ธํ”„๋Ÿฐ์— ํ•ด๋‹น ์„ธ์…˜ ์˜์ƒ์ด ์—…๋กœ๋“œํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ํฅ๋ฏธ์ง„์ง„ํ•œ ๋‚ด์šฉ์ด๋ผ ๋ชจ๋‘ ์ถ”์ฒœ!

profile
ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž์˜ ๊ณต๋ถ€๊ธฐ๋ก ๐Ÿ“–

0๊ฐœ์˜ ๋Œ“๊ธ€