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

SpringMVC25

[SpringBoot] (IntelliJ, vue.js, H2) ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ 2ํŽธ : ์•„์ด๋””, ์ด๋ฉ”์ผ ์ค‘๋ณต์ฒดํฌ ๋งŒ๋“ค๊ธฐ. ์ด๋ฆ„, ๋น„๋ฐ€๋ฒˆํ˜ธ, ์ „ํ™”๋ฒˆํ˜ธ๋ฅผํŒจํ„ด ์ฒดํฌ๋ฅผ ํ–ˆ์—ˆ๋‹ค.์ด๋ฒˆ์—๋Š” ์•„์ด๋””์™€ ์ด๋ฉ”์ผ์„์ค‘๋ณต ์ฒดํฌ ํ•ด๋ณด์ž! [ ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ 1ํŽธ : ์ด๋ฆ„, ํŒจ์Šค์›Œ๋“œ, ์ „ํ™”๋ฒˆํ˜ธ ํŒจํ„ด ์ฒดํฌ ]์ด๊ณณ์— ๋“ค์–ด๊ฐ€์‹œ๋ฉด ํŽ˜์ด์ง€ ๋™์ž‘ ํ™”๋ฉด์ด ์žˆ๊ณ , ๊นƒํ—ˆ๋ธŒ ๋งํฌ๋ฅผ ํ†ตํ•ด ์ „์ฒด ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [SpringBoot] (IntelliJ, vue.js, H2) ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ 1ํŽธ : dto ๋งŒ๋“ค๊ณ , ์ž…๋ ฅ๊ฐ’ ํŒจํ„ด์„ค์ •ํ•˜๊ธฐ.๋Œ€๋ถ€๋ถ„์˜ ์›น์‚ฌ์ดํŠธ๋Š”ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„๋‹ค.๊ทธ ์ค‘ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด๋ณด์ž! 1. ํ™”๋ฉด ๋™์ž‘๊ณผ ์ „์ฒด์ฝ”๋“œํšŒ์›๊ฐ€์ž… ์˜์ƒ ํšŒ์›๊ฐ€์ž… ์ค‘๋ณต ๋””๋ ‰ํ† ๋ฆฌ์™€ ํด๋ž˜์Šค Vue์™€ Spring์„ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” dtopost-this.tistory.com 1. ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์ง€ ๊ตฌ์ƒ์ฒ˜์Œ์— ์ƒ๊ฐํ•œ ํ™”๋ฉด ์‹ค์ œ๋กœ ๋งŒ๋“  .. 2025. 8. 17.
[SpringBoot] (IntelliJ, vue.js, H2) ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ 1ํŽธ : dto ๋งŒ๋“ค๊ณ  ์ด๋ฆ„, ํŒจ์Šค์›Œ๋“œ, ์ „ํ™”๋ฒˆํ˜ธ ํŒจํ„ด ์ฒดํฌ ๋งŒ๋“ค๊ธฐ. ๋Œ€๋ถ€๋ถ„์˜ ์›น์‚ฌ์ดํŠธ๋Š”ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„๋‹ค.๊ทธ ์ค‘ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค์–ด๋ณด์ž! 1. ํ™”๋ฉด ๋™์ž‘๊ณผ ์ „์ฒด์ฝ”๋“œํšŒ์›๊ฐ€์ž… ์˜์ƒ ํšŒ์›๊ฐ€์ž… ์ค‘๋ณต ๋””๋ ‰ํ† ๋ฆฌ์™€ ํด๋ž˜์Šค Vue์™€ Spring์„ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” dto Register-Web-backend/src/main/java/com/example/JoinWeb/dto at master · hyeong-ing/Register-Web-backend์ผ๋ฐ˜ ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ, ๊ฐ„ํŽธ ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. Contribute to hyeong-ing/Register-Web-backend development by creating an account on GitHub.github.com ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ๊ฐ’ ํŒจํ„ด ์ฒดํฌ Register-Web-back.. 2025. 8. 14.
[Spring] (IntelliJ, vue.js) Vue๋ฅผ ์ด์šฉํ•˜์—ฌ! ์•„์ด์ฝ˜์„ ๋ˆ„๋ฅด๋ฉด ํ™”๋ฉด ์Šฌ๋ผ์ด๋”ฉ ๋งŒ๋“ค๊ธฐ. ์•„์ด์ฝ˜์„ ๋ˆ„๋ฅด๋ฉด,ํ™”๋ฉด์ด ์Šฌ๋ผ์ด๋”ฉ๋˜์–ด๋‚˜ํƒ€๋‚˜๋„๋ก ๋งŒ๋“ค ๊ฒƒ์ด๋‹ค. 1. ํ™”๋ฉด ๋™์ž‘๊ณผ ์ „์ฒด์ฝ”๋“œ2. ์ฝ”๋“œ ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•œ ๊ฐ„๋žตํ•œ ์„ค๋ช…3. RightSide.vue ์ž‘์„ฑ4. MainView.vue ์ž‘์„ฑ5. ํ๋ฆ„ 1. ํ™”๋ฉด ๋™์ž‘๊ณผ ์ „์ฒด์ฝ”๋“œ๋™์ž‘ํ™”๋ฉด ์ „์ฒด์ฝ”๋“œ[MainView.vue์— ๋ฉ”์ธํ™”๋ฉด ์ฝ”๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.] Register-Web-frontend/src/views at master · hyeong-ing/Register-Web-frontend์ผ๋ฐ˜ ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ, ๊ฐ„ํŽธ ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. WebStrom์œผ๋กœ Vue.js์™€ Vite๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. - hyeong-ing/Register-Web-frontendgithub.com [RightSide.vue์— ์˜ค๋ฅธ์ชฝ ์‚ฌ์ด๋“œ ๋ทฐ ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด.. 2025. 8. 3.
[Spring] (MAC, IntelliJ, vue.js) org.h2.jdbc.JdbcSQLFeatureNotSupportedException: Feature not supported: "CHARACTER VARYING(255)"; ์˜ค๋ฅ˜๋Š” ์™œ ๋œจ๋Š”๊ฑธ๊นŒ? ์–ด์ฐŒ์ €์ฐŒ ํ”„๋ก ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ ๋ฐฑ์—”๋“œ๋ฅผ ํ•˜๋ ค๋Š”๋ฐ,์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค!์™œ ๋ฐœ์ƒํ• ๊ฑธ๊นŒ? 1. ์˜ค๋ฅ˜ ์‚ดํ”ผ๊ธฐ. ์ด๋Ÿฐ! ๋ชป์ƒ๊ธด ์˜ค๋ฅ˜๊ฐ€ ๋–ด๋‹ค.Caused by: org.h2.jdbc.JdbcSQLFeatureNotSupportedException:Feature not supported: "CHARACTER VARYING(255)"; SQL statement: ํ˜„์žฌ H2๋กœ database๋ฅผ ๊ด€๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์„œ h2์—์„œ ์„œํฌํŠธํ•˜์ง€ ์•Š๋Š” ํŠน์ • ํƒ€์ž…์ด ์กด์žฌํ•œ๋‹ค๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๊ทธ ํŠน์ • ํƒ€์ž…์€ "CHARACTER VARYING(255)"๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋กœ์ง๊ณผ ์—ฐ๊ฒฐ๋œ ํŒŒํŠธ๋ฅผ ์‚ดํŽด๋ด์•ผ๊ฒ ๋‹ค. 2. ์ฝ”๋“œ ์‚ดํ”ผ๊ธฐ.ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์ด๋‹ค. ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด๋ฉด RegisterRequest๋Š” ํ”„๋ก ํŠธ๋กœ ๋“ค.. 2025. 7. 26.
[Spring] ๊น€์˜ํ•œ ์Šคํ”„๋ง MVC_ ์„น์…˜6. ์Šคํ”„๋ง MVC - ๊ตฌ์กฐ์ดํ•ด ์„น์…˜ 6์€ ์Šคํ”„๋ง MVC ๊ตฌ์กฐ๋ฅผ ์ •ํ™•ํžˆ ์ดํ•ดํ•ด ๋ณด๊ธฐ ์œ„ํ•ด ๊ฐ๊ฐ์˜ ๋ถ€๋ถ„๋“ค์ด ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ–ˆ๋Š”์ง€ ์‚ดํŽด๋ดค๋‹ค. ์„น์…˜ 5๋Š” ์ง์ ‘ MVC ํŒจํ„ด์„ ๋งŒ๋“ค์—ˆ๊ณ , ์„น์…˜ 6์€ ์Šคํ”„๋ง์ด ์–ด๋–ป๊ฒŒ MVC๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ์•„๋ดค๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ œ๊ณต๋˜๋Š” ํ˜„์žฌ์˜ ์Šคํ”„๋ง MVC๊ฐ€ ์–ด๋–ค ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ์˜ค๊ฒŒ ๋๋Š” ์ง€๋„ ๋ฐฐ์› ๋‹ค. โ˜˜๏ธ ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โœ”๏ธ ๊ณผ๊ฑฐ ๋ฒ„์ „ ์Šคํ”„๋ง ์ปจํŠธ๋กค๋Ÿฌ์ง€๊ธˆ์€ ์ „ํ˜€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”, ๊ณผ๊ฑฐ์— ์‚ฌ์šฉํ–ˆ๋˜ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž. โ–บ OldController.class @Component: ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•œ๋‹ค.@Component("/springmvc/old-controller")public class OldController implements Controller { @Override publ.. 2025. 7. 22.
[Spring] (MAC, IntelliJ, vue.js) OpenAPI์ธ Swagger ์ ์šฉํ•˜๊ณ  YAML ์ž‘์„ฑํ•ด๋ณด๊ธฐ. Swgger๋ฅผ ์‚ฌ์šฉํ•˜์—ฌREST API๋ฅผ ์ž‘์„ฑํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.๐Ÿ  1. Swagger๋ž€?2. Swagger ๋“ฑ๋กํ•˜๊ธฐ3. Swagger ์ž‘์„ฑ ๋ฐฉ๋ฒ•4. YAML์œผ๋กœ ์ž‘์„ฑํ•ด ๋ณด๊ธฐ5. ๋งˆ๋ฌด๋ฆฌ 1. Swagger๋ž€? Swagger๋Š” REST API๋ฅผ ์„ค๋ช…ํ•˜๊ณ , ๋ฌธ์„œํ™”ํ•˜๊ณ , ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ์ด๋‹ค. Swagger๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ๋งŒ๋“  API์˜ ๋ช…์„ธ์„œ๋ฅผ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ฑฐ๋‚˜ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค. ์ด๋•Œ Swagger๋Š” OpenAPI Specification์ด๋ผ๋Š” ํ‘œ์ค€ ๋ช…์„ธ์„œ ํฌ๋งท์„ ์‚ฌ์šฉํ•œ๋‹ค. (๊ทธ๋ž˜์„œ์ผ๊นŒ, OpenAPI๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๋“ฏํ•˜๋‹ค.) 2. Swagger ๋“ฑ๋กํ•˜๊ธฐ. โ–ก build.gradle์— ๋“ค์–ด๊ฐ€๊ธฐ. โ–ก dependencies์— ์ฝ”๋“œ ๋“ฑ๋กํ•˜๊ธฐ.implementation 'o.. 2025. 7. 17.