๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐ๋ธŒ์ฝ”์Šค47

[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 57์ผ์ฐจ ์ด๋ฒˆ ์ˆ˜์—…์—์„œ๋Š” Spring Boot ํ™˜๊ฒฝ์—์„œ ์‹ค์ œ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉฐ, JPA๋ฅผ ์ด์šฉํ•œ ์ƒํ’ˆ ๋“ฑ๋ก/์กฐํšŒ ๊ธฐ๋Šฅ์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด ๋ณด์•˜๋‹ค.์ง€๋‚œ ์‹œ๊ฐ„์— ํ”„๋กœ์ ํŠธ์˜ ๋ผˆ๋Œ€๋ฅผ ์„ธํŒ…ํ–ˆ๋‹ค๋ฉด, ์ด๋ฒˆ์—๋Š” ๊ทธ ๋ผˆ๋Œ€ ์œ„์— ์‹ค์ œ ๊ธฐ๋Šฅ์„ ์–น์–ด๋ณด๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท JPA๋ฅผ ํ™œ์šฉํ•œ ์—”ํ‹ฐํ‹ฐ ์„ค๊ณ„์™€ ์ €์žฅ ๋กœ์ง ๊ตฌํ˜„์˜ค๋Š˜์€ ์ƒํ’ˆ ์ •๋ณด๋ฅผ ์ €์žฅํ•  Item ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ง์ ‘ ์„ค๊ณ„ํ•˜๊ณ , ItemSellStatus์™€ ๊ฐ™์€ enum ํƒ€์ž…์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด ๋„๋ฉ”์ธ ๋ชจ๋ธ์„ ๊ตฌ์ฒดํ™”ํ–ˆ๋‹ค.Lombok์„ ์‚ฌ์šฉํ•ด ๋ถˆํ•„์š”ํ•œ getter/setter, toString ๋“ฑ์˜ ์ฝ”๋“œ๋ฅผ ์ค„์˜€๊ณ , JPA์˜ @Entity, @Id, @GeneratedValue, @Enumerated ๋“ฑ์˜ ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด DB ํ…Œ์ด๋ธ”๊ณผ ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค... 2025. 6. 29.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 56์ผ์ฐจ ์ด๋ฒˆ ์ˆ˜์—…์—์„œ๋Š” ๋“œ๋””์–ด Spring Boot๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋ฐฐ์šฐ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค.์ง€๊ธˆ๊นŒ์ง€๋Š” ์ˆœ์ˆ˜ Spring Framework๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ์ˆ˜๋™ ์„ค์ •ํ•˜๋ฉฐ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์„ฑํ•ด์™”๋Š”๋ฐ, ์ด๋ฒˆ์—๋Š” Spring Boot๋ฅผ ํ†ตํ•ด ํ›จ์”ฌ ๊ฐ„ํŽธํ•˜๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๋А๋‚„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท Spring Boot์˜ ํ•ต์‹ฌ ๊ฐœ๋…๊ณผ ํŠน์ง•Spring Boot๋Š” ๋ณต์žกํ•œ ์„ค์ • ์—†์ด ๋น ๋ฅด๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋‹ค.๊ธฐ์กด Spring Framework์—์„œ๋Š” web.xml, servlet-context.xml ๋“ฑ์„ ์ง์ ‘ ๊ตฌ์„ฑํ•ด์•ผ ํ–ˆ์ง€๋งŒ,Spring Boot๋Š” @SpringBootApplication ํ•˜๋‚˜๋กœ ๋Œ€๋ถ€๋ถ„์˜ ์„ค์ •์„ ์ž๋™ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค. @SpringBootApplication.. 2025. 6. 29.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 55์ผ์ฐจ ์˜ค๋Š˜์€ JPA์— ๋Œ€ํ•ด ๋ณธ๊ฒฉ์ ์œผ๋กœ ํ•™์Šตํ–ˆ๋‹ค.๊ทธ๋™์•ˆ MyBatis๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ SQL์„ ์ง์ ‘ ์ž‘์„ฑํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‹ค๋ค„์™”๋Š”๋ฐ, ์ด๋ฒˆ์—๋Š” ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ORM ๊ธฐ์ˆ ์ธ JPA๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด์•˜๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท JPA๋ž€ ๋ฌด์—‡์ด๊ณ  ์™œ ์“ฐ๋Š”๊ฐ€JPA๋Š” Java Persistence API์˜ ์•ฝ์ž๋กœ, ์ž๋ฐ” ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์„ ์ž๋™์œผ๋กœ ๋งคํ•‘ํ•ด ์ฃผ๋Š” ORM ๊ธฐ์ˆ ์ด๋‹ค. ๊ทธ๋™์•ˆ์€ SQL์„ ์ง์ ‘ ์ž‘์„ฑํ•˜๊ณ  ๋งคํ•‘ํ•˜๋Š” ๋ฐ ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, JPA๋Š” ์ด๋ฅผ ๊ฐ์ฒด ์ค‘์‹ฌ์œผ๋กœ ์ถ”์ƒํ™”ํ•ด ์ค˜์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.JPA๋Š” ์ธํ„ฐํŽ˜์ด์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์งˆ์ ์ธ ๋™์ž‘์€ Hibernate ๊ฐ™์€ ๊ตฌํ˜„์ฒด๊ฐ€ ์ฒ˜๋ฆฌํ•˜๊ณ , Spring์—์„œ๋Š” ์ด JPA๋ฅผ ๋” ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ• .. 2025. 6. 29.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 53, 54์ผ์ฐจ ์ด๋ฒˆ ์ดํ‹€(53~54์ผ ์ฐจ)์€ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ๋ฐฐ์šฐ๊ธฐ๋ณด๋‹ค๋Š” ์ง€๊ธˆ๊นŒ์ง€์˜ ํ•™์Šต ํ๋ฆ„์„ ์ •๋ฆฌํ•˜๊ณ , ๋‚ด๊ฐ€ ์–ด๋–ค ๋ฐฉํ–ฅ์œผ๋กœ ์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ๋˜๋Œ์•„๋ณด๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค.์‹ค๋ฌด์— ํ•„์š”ํ•œ ๊ธ€์“ฐ๊ธฐ ์—ญ๋Ÿ‰์„ ํ‚ค์šฐ๋Š” ํŠน๊ฐ•๊ณผ ํ•จ๊ป˜, ์—ญ๋Ÿ‰ ํ‰๊ฐ€๋ฅผ ํ†ตํ•ด ๋‚˜์˜ ํ˜„์žฌ ์ˆ˜์ค€์„ ์ ๊ฒ€ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์œ ์ตํ•œ ์ดํ‹€์ด์—ˆ๋‹ค.๐Ÿ“Œ ์ดํ‹€๊ฐ„์˜ ํ•™์Šต ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท ๊ฐœ๋ฐœ์ž ๊ธ€์“ฐ๊ธฐ ํŠน๊ฐ•53์ผ ์ฐจ ์˜ค์ „์—๋Š” ์ง€๋‚œ์ฃผ ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ๋ณต์Šตํ•˜๋ฉฐ ํ๋ฆ„์„ ๋‹ค์‹œ ์žก์•˜๊ณ , ์˜คํ›„์—๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ•„์š”ํ•œ ๊ธ€์“ฐ๊ธฐ ํŠน๊ฐ•์ด ์ง„ํ–‰๋๋‹ค. ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ๋ฒ•๋ถ€ํ„ฐ ์ด๋ ฅ์„œ, ์ž๊ธฐ์†Œ๊ฐœ์„œ ๊ตฌ์„ฑ๋ฒ•๊นŒ์ง€, ๋‹จ์ˆœํžˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋Šฅ๋ ฅ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ‘๊ธ€๋กœ ๋‚˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋Šฅ๋ ฅ’์ด ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ์‹ค๊ฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. “์ฝํžˆ๋Š” ๊ธ€์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€”, “์ง€์‹์„ ์–ด๋–ป๊ฒŒ ์ •๋ฆฌํ•ด์•ผ ๋‚ด ๊ฒƒ์ด ๋˜๋Š”๊ฐ€”์™€ ๊ฐ™์€ ์งˆ๋ฌธ์„ ํ†ตํ•ด ์ง€.. 2025. 6. 29.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 48 ~ 52์ผ์ฐจ ์ด๋ฒˆ ์ฃผ๋Š” ์ง€๋‚œ์ฃผ์— ์ž‘์„ฑํ–ˆ๋˜ ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ๊ผผ๊ผผํžˆ ๋‹ค์‹œ ์‚ดํŽด๋ณด๋ฉด์„œ, ์ „์ฒด ํ๋ฆ„๊ณผ ๊ตฌ์กฐ๋ฅผ ๋‹ค์‹œ ์ •๋ฆฌํ•ด ๋ณด๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค.๊ทธ๋™์•ˆ์€ Spring Boot ๊ธฐ๋ฐ˜์˜ ์ž๋™ํ™”๋œ ํ™˜๊ฒฝ์— ์ต์ˆ™ํ•ด ์žˆ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ์—๋Š” ์ˆœ์ˆ˜ Spring๋งŒ์„ ์‚ฌ์šฉํ•ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ธํŒ…ํ•˜๊ณ  ๊ตฌ์„ฑํ•ด ๋ณด๋Š” ์ฒซ ๊ฒฝํ—˜์ด์—ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๋‹ค์†Œ ๋ณต์žกํ•˜๊ณ  ๋‚ฏ์„ค๊ฒŒ ๋А๊ปด์กŒ์ง€๋งŒ, DispatcherServlet์„ ์ง์ ‘ ์„ค์ •ํ•˜๊ณ , ViewResolver, Tiles, JDBC ๋“ฑ ๊ฐ ์„ค์ •์„ ๋ช…์‹œ์ ์œผ๋กœ ์ •์˜ํ•ด ๋ณด๋ฉด์„œSpring์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.์ž๋™ ์„ค์ •์ด ์—†๋Š” ๋งŒํผ, ํ•˜๋‚˜ํ•˜๋‚˜ ์ง์ ‘ ๊ตฌ์„ฑํ•ด ๋ณด๋ฉฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ „๋ฐ˜์ ์ธ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์‹ค์Šต์„ ํ†ตํ•ด ์ฒด๋“ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋‹ค.๐Ÿ“Œ ์ด๋ฒˆ ์ฃผ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท Spring We.. 2025. 6. 29.
[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 47์ผ์ฐจ ์˜ค๋Š˜์€ Spring WebMVC์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ์™€ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ํ•™์Šตํ•˜๊ณ ,Controller, ViewResolver, Tiles ์„ค์ •๊นŒ์ง€ ์‹ค์ œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ๋ฐฉ์‹์— ๋Œ€ํ•ด ํ•™์Šตํ–ˆ๋‹ค.๋‹จ์ˆœํžˆ ๊ตฌ์กฐ๋งŒ ์ตํžˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, MySQL๊ณผ ์—ฐ๋™ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ค„๋ณด๋Š” ๊ณผ์ •๊นŒ์ง€ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์œ ์ตํ•œ ์ˆ˜์—…์ด์˜€๋‹ค.๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ๐Ÿ”ท Spring WebMVC ์•„ํ‚คํ…์ฒ˜์™€ ๊ตฌ์„ฑ ์š”์†ŒWebMVC๋Š” Model2(MVC) ๊ตฌ์กฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋™์ž‘ํ•˜๋ฉฐ, DispatcherServlet → Controller → Service/DAO → View๋กœ ์ด์–ด์ง€๋Š” ์š”์ฒญ ํ๋ฆ„์„ ํ•™์Šตํ–ˆ๋‹ค.HandlerMapping, HandlerAdapter, ViewResolver, ModelAndView ๋“ฑ ๊ฐ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์—ญํ• ์„ ์‹ค์Šต์„ ํ†ตํ•ด ํ™•์ธ.. 2025. 6. 13.
๋ฐ˜์‘ํ˜•