์ „์ฒด ๊ธ€ 33

[React.js] React ์ƒํƒœ ๋Œ์–ด์˜ฌ๋ฆฌ๊ธฐ (Lifting State Up)

React ์ƒํƒœ ๋Œ์–ด์˜ฌ๋ฆฌ๊ธฐ (Lifting State Up)๋ž€ ๋ฌด์—‡์ธ๊ฐ€?React์—์„œ ์ปดํฌ๋„ŒํŠธ ๊ฐ„ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„์˜ ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋ฉด์„œ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์–ด๋–ป๊ฒŒ ํšจ์œจ์ ์œผ๋กœ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด "์ƒํƒœ ๋Œ์–ด์˜ฌ๋ฆฌ๊ธฐ (Lifting State Up)"๋ผ๋Š” ํŒจํ„ด์ด ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.๐Ÿš€ ์ƒํƒœ ๋Œ์–ด์˜ฌ๋ฆฌ๊ธฐ์˜ ๊ฐœ๋…์ƒํƒœ ๋Œ์–ด์˜ฌ๋ฆฌ๊ธฐ๋ž€ React์—์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„์š”๋กœ ํ•  ๋•Œ, ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ์ƒ์œ„ ๊ณตํ†ต ์กฐ์ƒ (Common Ancestor) ์ปดํฌ๋„ŒํŠธ๋กœ ์ด๋™์‹œํ‚ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋Š” props๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ , ์ตœ์ƒ์œ„ ์ปดํฌ๋„ŒํŠธ๋Š” ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ๋งก์Šต๋‹ˆ๋‹ค.๐Ÿš€ ์™œ ์ƒํƒœ๋ฅผ ๋Œ์–ด์˜ฌ๋ ค..

Framework/React.js 2024.12.25

[SQL] Oracle ๊ณ„์ธตํ˜• ์งˆ์˜ (START WITH, CONNECT BY, ORDER SIBLINGS BY, SYS_CONNECT_BY_PATH)

๐Ÿš€ ๊ณ„์ธตํ˜• ์งˆ์˜ (START WITH, CONNECT BY)๊ณ„์ธตํ˜• ์งˆ์˜๋ฅผ ์ด์šฉํ•ด EMP ํ…Œ์ด๋ธ”์—์„œ ์‚ฌ์›๊ฐ„์˜ ์„œ์—ด์„ ์ถœ๋ ฅํ•œ๋‹ค.START WITH์™€ CONNECT BY ์ ˆ์„ ์ด์šฉํ•˜๋ฉด LEVEL์„ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.START WITH ์ ˆ์€ ๋ฃจํŠธ๋…ธ๋“œ๋ฅผ ์ง€์ • CONNECT BY ์ ˆ์€ ๋ถ€๋ชจ๋…ธ๋“œ์™€ ์ž์‹๋…ธ๋“œ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ง€์ •์šฐ์„  EMP ํ…Œ์ด๋ธ”์˜ ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.์œ„์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„๋•Œ EMPNO์™€ MGR๋ฅผ ๋ณด๋ฉด ์ƒํ•˜๊ด€๊ณ„๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. MGR๊ฐ€ ์ƒ์œ„์ด๋‹ค. ์ƒํ•˜๊ด€๊ณ„๋ฅผ ๊ฐ„๋‹จํžˆ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค.ํ•˜๋‚˜ ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด KING์€ ๋ฃจํŠธ์ด๊ณ  BLAKE, CLARK, JONES์˜ ๊ฒฝ์šฐ KING์˜ ํ•˜์œ„ ๊ด€๊ณ„๋‹ค. JONES๋ฅผ ๋ณด๋ฉด SCOTT๊ณผ FORD๊ฐ€ ํ•˜์œ„ ๊ด€๊ณ„์ด๋ฉฐ FORD๋ฅผ ๋ณด๋ฉด SMITH๊ฐ€ ํ•˜์œ„ ๊ด€๊ณ„์ธ..

[Spring Boot] Spring AOP๋ฅผ ํ™œ์šฉํ•œ Logging

๊ธฐ๋ณธ์ ์œผ๋กœ ํ•จ์ˆ˜ ์‹œ์ž‘ ์ „, ์ข…๋ฃŒ ํ›„, ์—๋Ÿฌ ๋ฐœ์ƒ ํ›„ ์‹œ์ ์„ ๊ธฐ์ค€์œผ๋กœ ์ž๋™์œผ๋กœ ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก Aspect๋ฅผ ๋งŒ๋“ค์–ด์„œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. execution() ์•ˆ์—์„œ ๋กœ๊ทธ๋ฅผ ์ž๋™์œผ๋กœ ๋‚จ๊ธธ ๋ฒ”์œ„๋ฅผ ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊น…์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ํ•จ์ˆ˜๋“ค์€ @NoLogging ์–ด๋…ธํ…Œ์ด์…˜์„ ๋งŒ๋“ค์–ด์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋ฏผ๊ฐ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ฑฐ๋‚˜ ๋กœ๊น…์ด ํ•„์š”ํ•˜์ง€ ์•Š๋Š” ํ•จ์ˆ˜ ๋“ฑ) Advice ์‹คํ–‰ ์‹œ์  ์„ค๋ช… @Before ํ•จ์ˆ˜ ์‹œ์ž‘ ์ „ ํ•จ์ˆ˜๊ฐ€ ์†ํ•œ ํด๋ž˜์Šค ์ด๋ฆ„, ํ•จ์ˆ˜ ์ด๋ฆ„, ํ•จ์ˆ˜๋กœ ๋“ค์–ด์˜จ ํŒŒ๋ผ๋ฏธํ„ฐ(args) ๋“ฑ์„ ๋กœ๊ทธ๋กœ ๋‚จ๊น๋‹ˆ๋‹ค. @AfterReturning ํ•จ์ˆ˜ ์‹œ์ž‘ ํ›„ ํ•จ์ˆ˜๊ฐ€ ์†ํ•œ ํด๋ž˜์Šค ์ด๋ฆ„, ํ•จ์ˆ˜ ์ด๋ฆ„, ํ•จ์ˆ˜๊ฐ€ ๋ฐ˜ํ™˜ํ•œ ๊ฐ’(result) ๋“ฑ์„ ๋กœ๊ทธ๋กœ ๋‚จ๊น๋‹ˆ๋‹ค. @AfterThrowing ์—๋Ÿฌ ๋ฐœ์ƒ ํ›„ ํ•จ์ˆ˜๊ฐ€ ์†..

[Spring Boot] ์ž์ฃผ ์“ฐ์ด๋Š” Spring Boot Annotation (Controller, Service, Model)

๐Ÿš€ Controller Annotation Annotation ์˜์—ญ Description @RestController Class Spring์˜ ์ปดํฌ๋„ŒํŠธ ์Šค์บ” ๋Œ€์ƒ์ด ๋˜๋„๋ก ํ•˜๊ณ  HTTP ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ž๋™์œผ๋กœ ๋งคํ•‘๋˜๋„๋ก ํ•˜๋Š” ๋“ฑ Spring์—์„œ Controller๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘์„ ๋‹ด๊ณ ์žˆ๋Š” ์–ด๋…ธํ…Œ์ด์…˜์ž…๋‹ˆ๋‹ค. @Controller์™€ @RequestBody๊ฐ€ ํ•ฉ์ณ์ง„ ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ RESTful ์›น ์„œ๋น„์Šค์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. @RequiredArgsConstructor Class Spring 4.3๋ถ€ํ„ฐ๋Š” @Autowired๋ฅผ ํ†ตํ•œ ์˜์กด์„ฑ ์ฃผ์ž…๋ณด๋‹ค ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•œ ์˜์กด์„ฑ ์ฃผ์ž…์„ ๊ถŒ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. @RequiredArgsConstructor๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ƒ์„ฑ์ž ์ฝ”๋“œ๋ฅผ ๋”ฐ๋กœ ์ ์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ..

[Spring Boot] @ExceptionHandler, @ControllerAdvice (Exception ๊ณตํ†ต ์ฒ˜๋ฆฌ)

๐Ÿš€ Exception ๊ณตํ†ต ์ฒ˜๋ฆฌ ๋ณดํ†ต ์˜ˆ์™ธ๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์™ธ ๋ณต๊ตฌ : ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์˜ˆ์™ธ ์ƒํ™ฉ์— ์•Œ๋งž๊ฒŒ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ณต๊ตฌํ•œ๋‹ค. (try, catch) ์˜ˆ์™ธ ํšŒํ”ผ : ์˜ˆ์™ธ๋ฅผ ์ง์ ‘ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ณ  ์˜ˆ์™ธ๋ฅผ ์ƒ์œ„ ๋ฉ”์†Œ๋“œ์— ์œ„์ž„ํ•œ๋‹ค. (throw) ์˜ˆ์™ธ ์ „ํ™˜ : ์˜ˆ์™ธ๋ฅผ ์œ„์ž„ํ•˜๋˜ ๋ฐœ์ƒํ•œ ์˜ˆ์™ธ๋ฅผ ๊ทธ๋Œ€๋กœ ์œ„์ž„ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ ์ ˆํ•œ ์˜ˆ์™ธ๋กœ ์ „ํ™˜ํ•˜์—ฌ ์œ„์ž„ํ•œ๋‹ค. (restTemplate.doExecute) ์ด๋•Œ ์˜ˆ์™ธ ๋ณต๊ตฌ์— ๋Œ€ํ•œ ๋ฒ”์œ„๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๋ฉ”์†Œ๋“œ ์˜์—ญ : ๋ฉ”์†Œ๋“œ ์˜์—ญ์€ ์ข…์†๋œ ๋ณต๊ตฌ ๊ธฐ๋Šฅ์œผ๋กœ ๋‹จ์ˆœํžˆ try, catch ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ํด๋ž˜์Šค ์˜์—ญ : ํด๋ž˜์Šค ๋‚ด ๊ณตํ†ต ์˜ˆ์™ธ ๋ณต๊ตฌ๋Š” @ExceptionHandler๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. ์ „์—ญ ์˜์—ญ : ์—ฌ๋Ÿฌ ํด๋ž˜์Šค์˜ ๊ณตํ†ต ์˜ˆ์™ธ ๋ณต๊ตฌ๋Š” @ControllerA..

[Spring Boot] Filter, Interceptor, AOP ์ฐจ์ด ๋ฐ ์ •๋ฆฌ

Spring Boot๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ณตํ†ต ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ๋งค์šฐ ํšจ๊ณผ์ ์ธ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ๋กœ๊ทธ์ธ ๊ด€๋ จ (์„ธ์…˜ ์ฒดํฌ) ์ฒ˜๋ฆฌ, ๊ถŒํ•œ ์ฒดํฌ, XSS(Cross Site Script) ๋ฐฉ์–ด, PC์™€ ๋ชจ๋ฐ”์ผ์›น์˜ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ, ๋กœ๊ทธ, ํŽ˜์ด์ง€ ์ธ์ฝ”๋”ฉ ๋ณ€ํ™ฉ ๋“ฑ์ด ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ ์ค‘์—๋Š” Filter, Interceptor, Aspect-Oriented Programming (AOP) ๋“ฑ์ด ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์š”์ฒญ ์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ์•ž, ์ค‘๊ฐ„, ๋’ค์— ์ถ”๊ฐ€ํ•˜์—ฌ ํŠน์ •ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•ด์ฃผ๋ฉฐ, ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ๋ชจ๋“ˆ์„ฑ์„ ๋†’์—ฌ์ค€๋‹ค. (๋ชจ๋“  ํŽ˜์ด์ง€๋งˆ๋‹ค ๊ณตํ†ต ์—…๋ฌด์— ๊ด€๋ จ๋œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์ค‘๋ณต๋œ ์ฝ”๋“œ๊ฐ€ ๋งŽ์•„์ง€๊ณ  ์„œ๋ฒ„์— ๋ถ€ํ•˜๋ฅผ ์ค„ ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ ์†Œ์Šค ๊ด€๋ฆฌ๋„ ์–ด๋ ต๋‹ค.) Intercep..

[Linux] SSH pem key ์ƒ์„ฑ (EC2์— SSH ์—ฐ๊ฒฐํ•˜๊ธฐ)

AWS EC2์— ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ฒผ๋‹ค. EC2 ํ‚คํŽ˜์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—์„œ ์ ‘๊ทผํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ EC2 ์ธ์Šคํ„ด์Šค ํ‚คํŽ˜์–ด๋Š” ๊ด€๋ฆฌ์ž๊ฐ€ ๋”ฐ๋กœ ์žˆ๊ณ  ๊ถŒํ•œ์ด ์—†์–ด ์ƒ์„ฑ์ด ์–ด๋ ต๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ํด๋ผ์–ธํŠธ์—์„œ ์ƒ์„ฑํ•œ Public key๋ฅผ ์ด์šฉํ•˜์—ฌ EC2์— SSH ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. 1. Client์—์„œ SSH ๋กœ๊ทธ์ธ์„ ์œ„ํ•œ RSA(๊ณต๊ฐœํ‚ค-๊ฐœ์ธํ‚ค)๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. 2. Server์— authorized_keys ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค. 3. Client์—์„œ Public key๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค. 4. Server์˜ authorized_keys์— ๋ถ™์—ฌ ๋„ฃ๋Š”๋‹ค. 5. Client์˜ Private Key๋ฅผ .pem ํ™•์žฅ์ž๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค. 6. Client์—์„œ key ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ ์—ฐ๊ฒฐ์„ ํ™•์ธํ•œ๋‹ค. ๊ตฌ์ฒด์ ์ธ ๋ฐฉ..

[Spring Boot] ์ •์  ํŒŒ์ผ ๋กœ๋“œ ์‹œ URL์— Jsessionid ๋ถ™๋Š” ๊ฒฝ์šฐ ํ•ด๊ฒฐ

ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐฐํฌ๋œ QA ํ™˜๊ฒฝ์˜ ๋กœ๊ทธ์ธ ํ™”๋ฉด์ด ์ตœ์ดˆ ๋กœ๋”ฉ ์‹œ์— ํ™”๋ฉด ๊นจ์ง ํ˜„์ƒ์ด ๋ฐœ์ƒํ–ˆ๋‹ค. ์ƒˆ๋กœ๊ณ ์นจ์ด๋‚˜ ์žฌ์ ‘์†ํ•  ๊ฒฝ์šฐ์—๋Š” ์ •์ƒ์ ์œผ๋กœ ๋กœ๋”ฉ์ด ๋˜๋Š” ์ด์ƒํ•œ ํ˜„์ƒ์ด ์ง€์†๋๋‹ค. 1. ์›์ธ ํŒŒ์•… ๐Ÿ˜ต ์ฒ˜์Œ์—๋Š” css์˜ ๊ฒฝ๋กœ๊ฐ€ ๋ฌธ์ œ๋ผ ํŒ๋‹จ๋˜์–ด ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ๋„ ๋ฐ”๊พธ๊ณ  '/'์„ ๋ถ™์—ฌ๋„ ๋ณด๋ฉฐ ์‹œ๋„ํ•ด๋ณด์•˜์œผ๋‚˜ ํ˜„์ƒ์€ ๋™์ผํ–ˆ๋‹ค. ํ•œ ์‹œ๊ฐ„๋™์•ˆ ์‚ฝ์งˆํ•œ ๋์— ์›์ธ์„ ํŒŒ์•…ํ–ˆ๋Š”๋ฐ, ๊ฐœ๋ฐœ์ž ๋„๊ตฌ (F12)๋กœ HTML์˜ Element๋ฅผ ๋ณด๋‹ˆ URL ๋’ค์— jsessionid๊ฐ€ ๋ถ™์–ด์žˆ์—ˆ๋‹ค!! ์ด๋Š” Tomcat ์„œ๋ฒ„์—์„œ Spring Framework์—์„œ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์ตœ์ดˆ ํ˜ธ์ถœ์‹œ URL์— Jsessionid๊ฐ€ ๋ถ™์—ฌ์ง€๋Š” ํ˜„์ƒ ๋•Œ๋ฌธ์ด์˜€๋‹ค. ์ด๋Š” ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹Œ ์˜๋„์ ์œผ๋กœ ์„ค๊ณ„๋œ ๊ฒƒ์ด๋‹ค. (Tymeleaf ํ…œํ”Œ๋ฆฟ ์—”์ง„์„ ์‚ฌ์šฉ์ค‘์ด์˜€๋‹ค) ๊ทธ๋Ÿผ ์™œ ์ด๋ ‡๊ฒŒ ..

[Trouble Shooting] HTTP ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์‹œ POST, PUT, DELETE (CUD)๊ฐ€ GET์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๋ฌธ์ œ์ 

HTTP์˜ POST, PUT, DELETE์˜ ๊ฒฝ์šฐ HTTPS๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ ์‹œ GET์œผ๋กœ ๋ฐ”๋€๋‹ค. ์ด๋Š” HTTP์˜ ํŠน์„ฑ์ธ๋ฐ, ์ด๋ฅผ ์•Œ๊ฒŒ๋œ ๊ณ„๊ธฐ์™€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์•„๋ž˜์— ๊ธฐ์ˆ ํ•œ๋‹ค. 1. ๋ฌธ์ œ ๋ฐœ์ƒ ๐Ÿคฌ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ฐ Pod์˜ ์„œ๋น„์Šค ๊ฐ„ API ํ†ต์‹ ์„ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ ์œ„ํ•ด Postman์œผ๋กœ CRUD API ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค. (Local์— WAS๋ฅผ ๋„์šฐ๊ณ  Pod์— ๋ฐฐํฌ๋œ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋ฅผ Postman์œผ๋กœ ์ฝœํ•˜๋Š” ๋ฐฉ์‹ ) ๊ทธ๋Ÿฌ๋‚˜ Postman์—์„œ HTTP๋กœ POST, PUT, DELETE ์š”์ฒญํ•  ๊ฒฝ์šฐ 405๋กœ Response ๋ฐ›๊ณ , GET์˜ ๊ฒฝ์šฐ ์ •์ƒ์ (200)์œผ๋กœ Response๋ฅผ ๋ฐ›์•˜๋‹ค. Ingress Controller์˜ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜๋‹ˆ HTTP์˜ POST, PUT, DELETE์˜ ์š”์ฒญ๋“ค์ด HTTPS์˜ GET๋กœ ๋ณ€๊ฒฝ..

Trouble Shooting 2023.10.23

[Spring Batch] Spring Batch 5.0 migration Guide - initial Database schema updates

Spring Batch 5.0 migration Guide - initial Database schema updates Spring Batch๊ฐ€ 5.0์œผ๋กœ ๋ฒ„์ „ ์—…ํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ์‚ฌํ•ญ๋“ค์ด ๋ณ€๊ฒฝ ๋๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๋งํฌ์—์„œ ํ™•์ธ! ๊ทธ ์ค‘ Spring Batch์˜ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์ €์žฅ ํ…Œ์ด๋ธ”์˜ Schema๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด Migrationํ•˜๊ฑฐ๋‚˜, ์ดˆ๊ธฐ ์‹œ์ž‘์ผ ๊ฒฝ์šฐ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ธฐ์ˆ ํ•˜๊ณ ์ž ํ•œ๋‹ค. Spring Batch๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ฐฐ์น˜ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์ €์žฅ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ •๋ณด๋Š” ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๋งํฌ์—์„œ ํ™•์ธ! 1. Schema Create ๐Ÿš€ Spring Batch ์ž‘์—…์„ ์ฒ˜์Œ ํ•  ๊ฒฝ์šฐ Database์—์„œ Schema์— ๋Œ€ํ•œ Create ์ฟผ๋ฆฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. (Oracle ๊ธฐ์ค€์ž„. ๋‹ค๋ฅธ DBMS์˜ ๊ฒฝ์šฐ ์•„๋ž˜..

๋ฐ˜์‘ํ˜•