ํ‹ฐ์Šคํ† ๋ฆฌ

Juny's ITLog
๊ฒ€์ƒ‰ํ•˜๊ธฐ

๋ธ”๋กœ๊ทธ ํ™ˆ

Juny's ITLog

junyharang.tistory.com/m

์ปดํ“จํ„ฐ๋ฅผ ์žฅ๋‚œ๊ฐ์ฒ˜๋Ÿผ ๊ฐ€์ง€๊ณ  ๋†€์•„์š” ๐Ÿ˜ƒ

๊ตฌ๋…์ž
32
๋ฐฉ๋ช…๋ก ๋ฐฉ๋ฌธํ•˜๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

์ฃผ์š” ๊ธ€ ๋ชฉ๋ก

  • [Spring Boot 3] Spring Doc(Swagger) White Label Error ์นด์นด์˜คํŽ˜์ด | ๋งˆ์Œ ๋†“๊ณ  ๊ธˆ์œตํ•˜๋‹ค ์—ฌ๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ ๋งํฌ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. qr.kakaopay.com ์Šคํ”„๋ง ๋ถ€ํŠธ 3 : ์ž๋ฐ” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ์ž…๋ฌธ COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ‘ท‍โ™‚๏ธ ์ž‘์—… ์ค‘์ธ ๋‚ด์šฉ Kotlin(์ฝ”ํ‹€๋ฆฐ)๊ณผ Spring Boot 3๋ฅผ ํ†ตํ•ด Swagger๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋Š” ์ค‘ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ์ƒํ™ฉ์ด์—์š”. โš ๏ธ ๋ฌธ์ œ ๋ฐœ์ƒ! ๐Ÿค” ์›์ธ ๋ถ„์„ Spring Boot 3๋กœ Version Upgrade๊ฐ€ ๋˜๋ฉด์„œ Spring Doc ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์ด ๋ฐ”๋€Œ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด์—์š”. springdoc-openapi v1.7.0 springdoc-openapi java library helps to automate the gener.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 12. 22.
  • GraphQL๊ณผ Apollo ์—ด๋ฒˆ์งธ ์ด์•ผ๊ธฐ - Java + Spring Boot์—์„œ GraphQL ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ - ์‹ค์Šต ํ•ด๋ณด๊ธฐ ์นด์นด์˜คํŽ˜์ด | ๋งˆ์Œ ๋†“๊ณ  ๊ธˆ์œตํ•˜๋‹ค ์—ฌ๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ ๋งํฌ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. qr.kakaopay.com ์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ:์Šคํ”„๋ง ๋ฐ์ดํ„ฐ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šฐ๋Š” ์ „์ž์ •๋ถ€ ํ‘œ์ค€ ๋ฐ์ดํ„ฐ๋ฒ ์ด COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ—‚ ๋ชฉ์ฐจ โœ… GraphQL๊ณผ Apollo ์ฒซ๋ฒˆ์งธ ์ด์•ผ๊ธฐ - ๊ฐœ๋… ์ตํžˆ๊ธฐ โœ… GraphQL๊ณผ Apollo ๋‘๋ฒˆ์งธ ์ด์•ผ๊ธฐ - REST API๋ž€? โœ… GraphQL๊ณผ Apollo ์„ธ๋ฒˆ์งธ ์ด์•ผ๊ธฐ - GraphQL์˜ ์ •๋ณด ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฐฉ์‹ โœ… GraphQL๊ณผ Apollo ๋„ค๋ฒˆ์งธ ์ด์•ผ๊ธฐ - Apollo๋ž€? โœ… GraphQL๊ณผ Apollo ๋‹ค์„ฏ๋ฒˆ์งธ ์ด์•ผ๊ธฐ - GraphQL์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด ๋ณด์•„.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 11. 26.
  • GraphQL๊ณผ Apollo ์•„ํ™‰๋ฒˆ์งธ ์ด์•ผ๊ธฐ - Java + Spring Boot์—์„œ GraphQL ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ - ์‹ค์Šต ํ™˜๊ฒฝ ๊ตฌ์„ฑ ์นด์นด์˜คํŽ˜์ด | ๋งˆ์Œ ๋†“๊ณ  ๊ธˆ์œตํ•˜๋‹ค ์—ฌ๊ธฐ๋ฅผ ๋ˆŒ๋Ÿฌ ๋งํฌ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. qr.kakaopay.com ์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ:์Šคํ”„๋ง ๋ฐ์ดํ„ฐ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šฐ๋Š” ์ „์ž์ •๋ถ€ ํ‘œ์ค€ ๋ฐ์ดํ„ฐ๋ฒ ์ด COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ—‚ ๋ชฉ์ฐจ โœ… GraphQL๊ณผ Apollo ์ฒซ๋ฒˆ์งธ ์ด์•ผ๊ธฐ - ๊ฐœ๋… ์ตํžˆ๊ธฐ โœ… GraphQL๊ณผ Apollo ๋‘๋ฒˆ์งธ ์ด์•ผ๊ธฐ - REST API๋ž€? โœ… GraphQL๊ณผ Apollo ์„ธ๋ฒˆ์งธ ์ด์•ผ๊ธฐ - GraphQL์˜ ์ •๋ณด ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฐฉ์‹ โœ… GraphQL๊ณผ Apollo ๋„ค๋ฒˆ์งธ ์ด์•ผ๊ธฐ - Apollo๋ž€? โœ… GraphQL๊ณผ Apollo ๋‹ค์„ฏ๋ฒˆ์งธ ์ด์•ผ๊ธฐ - GraphQL์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•ด ๋ณด์•„.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 11. 21.
  • [Spring Boot][Total-Back-Office Project] Log Back์„ ์ด์šฉํ•œ Discord์— Exception ์ •๋ณด ๋ณด๋‚ด๊ธฐ ๋ฐ Data Base ์ €์žฅ feat.MyBatis & Test Code(JUnit 5) - โ‘ข ๋กœ๊ทธ ๋ฐ ์š”์ฒญ ์ด์šฉ์ž, ์š”์ฒญ ์ •๋ณด ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์ €์žฅ ์Šคํ”„๋ง ๋ถ€ํŠธ 3 ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋˜๊ธฐ : ์ž๋ฐ” ํŽธ COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ—‚ ๋ชฉ์ฐจ ๐Ÿง‘‍๐Ÿ’ป ์ฝ”๋”ฉ โœ… [Spring Boot][Total-Back-Office Project] AOP, Annotation์„ ์ด์šฉํ•œ API ๋™์ž‘ ์‹œ๊ฐ„ ์ธก์ • โœ… [Spring Boot][Total-Back-Office Project] AOP, Annotation์„ ์ด์šฉํ•œ API ์š”์ฒญ ์ด์šฉ์ž ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ feat.MyBatis & Test Code(JUnit 5) (https://junyharang.tistory.com/457) โœ… [Spring Boot][Total-Back-Office Project] Log Back์„ .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 7. 22.
  • [Spring Boot][Total-Back-Office Project] Log Back์„ ์ด์šฉํ•œ Discord์— Exception ์ •๋ณด ๋ณด๋‚ด๊ธฐ ๋ฐ Data Base ์ €์žฅ feat.MyBatis & Test Code(JUnit 5) - โ‘ก ๋””์Šค์ฝ”๋“œ๋กœ ๋กœ๊ทธ ์ •๋ณด ๋ฐœ์†ก ์Šคํ”„๋ง ๋ถ€ํŠธ 3 ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋˜๊ธฐ : ์ž๋ฐ” ํŽธ COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ—‚ ๋ชฉ์ฐจ ๐Ÿง‘‍๐Ÿ’ป ์ฝ”๋”ฉ โœ… [Spring Boot][Total-Back-Office Project] AOP, Annotation์„ ์ด์šฉํ•œ API ๋™์ž‘ ์‹œ๊ฐ„ ์ธก์ • โœ… [Spring Boot][Total-Back-Office Project] AOP, Annotation์„ ์ด์šฉํ•œ API ์š”์ฒญ ์ด์šฉ์ž ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ feat.MyBatis & Test Code(JUnit 5) (https://junyharang.tistory.com/457) โœ… [Spring Boot][Total-Back-Office Project] Log Back์„ .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 7. 22.
  • [Spring Boot][Total-Back-Office Project] AOP, Annotation์„ ์ด์šฉํ•œ API ์š”์ฒญ ์ด์šฉ์ž ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ feat.MyBatis & Test Code(JUnit 5) ์Šคํ”„๋ง ๋ถ€ํŠธ 3 ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋˜๊ธฐ : ์ž๋ฐ” ํŽธ COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ—‚ ๋ชฉ์ฐจ ๐Ÿง‘‍๐Ÿ’ป ์ฝ”๋”ฉ โœ… [Spring Boot][Total-Back-Office Project] AOP, Annotation์„ ์ด์šฉํ•œ API ๋™์ž‘ ์‹œ๊ฐ„ ์ธก์ • โœ… [Spring Boot][Total-Back-Office Project] AOP, Annotation์„ ์ด์šฉํ•œ API ์š”์ฒญ ์ด์šฉ์ž ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ feat.MyBatis & Test Code(JUnit 5) (https://junyharang.tistory.com/457) โœ… [Spring Boot][Total-Back-Office Project] Log Back์„ .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 7. 16.
  • [Spring Boot][Total-Back-Office Project] AOP, Annotation์„ ์ด์šฉํ•œ API ๋™์ž‘ ์‹œ๊ฐ„ ์ธก์ • ์Šคํ”„๋ง ๋ถ€ํŠธ 3 ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋˜๊ธฐ : ์ž๋ฐ” ํŽธ COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ—‚ ๋ชฉ์ฐจ ๐Ÿง‘‍๐Ÿ’ป ์ฝ”๋”ฉ โœ… [Spring Boot][Total-Back-Office Project] AOP, Annotation์„ ์ด์šฉํ•œ API ๋™์ž‘ ์‹œ๊ฐ„ ์ธก์ • โœ… [Spring Boot][Total-Back-Office Project] AOP, Annotation์„ ์ด์šฉํ•œ API ์š”์ฒญ ์ด์šฉ์ž ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ feat.MyBatis & Test Code(JUnit 5) (https://junyharang.tistory.com/457) โœ… [Spring Boot][Total-Back-Office Project] Log Back์„ .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 7. 15.
  • [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ - ๋””์Šค์ฝ”๋“œ ๋ด‡์„ ์ด์šฉํ•˜์—ฌ API ํ˜ธ์ถœ ์ „์ž์ •๋ถ€ ํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์–‘๋Œ€ ํ•ต์‹ฌ ๊ธฐ์ˆ  ์„ธํŠธ : ์Šคํ”„๋ง + ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ—‚ ๋ชฉ์ฐจ 1. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ 2. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ - Spring Boot(์Šคํ”„๋ง ๋ถ€ํŠธ)๋ฅผ ์ด์šฉํ•œ ๊ฐ„๋‹จํ•œ API ๋งŒ๋“ค๊ธฐ feat.Mybatis(๋งˆ์ด๋ฐ”ํ‹ฐ์Šค) 3. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ - JAVA๋ฅผ ์ด์šฉํ•œ API ํ˜ธ์ถœ 4. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ - ๋””์Šค์ฝ”๋“œ ๋ด‡์„ ์ด์šฉํ•˜์—ฌ API ํ˜ธ์ถœ ๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๐Ÿ”ฝ ๊ฐœ.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 3. 17.
  • [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ - Spring Boot(์Šคํ”„๋ง ๋ถ€ํŠธ)๋ฅผ ์ด์šฉํ•œ ๊ฐ„๋‹จํ•œ API ๋งŒ๋“ค๊ธฐ feat.mybatis(๋งˆ์ด๋ฐ”ํ‹ฐ์Šค) ์ „์ž์ •๋ถ€ ํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์–‘๋Œ€ ํ•ต์‹ฌ ๊ธฐ์ˆ  ์„ธํŠธ : ์Šคํ”„๋ง + ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ—‚ ๋ชฉ์ฐจ 1. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ 2. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ - Spring Boot(์Šคํ”„๋ง ๋ถ€ํŠธ)๋ฅผ ์ด์šฉํ•œ ๊ฐ„๋‹จํ•œ API ๋งŒ๋“ค๊ธฐ feat.Mybatis(๋งˆ์ด๋ฐ”ํ‹ฐ์Šค) 3. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ - JAVA๋ฅผ ์ด์šฉํ•œ API ํ˜ธ์ถœ 4. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ - ๋””์Šค์ฝ”๋“œ ๋ด‡์„ ์ด์šฉํ•˜์—ฌ API ํ˜ธ์ถœ ๐Ÿš€ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๐Ÿ”ฝ ๊ฐœ.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2023. 3. 17.
  • [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ ์ „์ž์ •๋ถ€ ํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์–‘๋Œ€ ํ•ต์‹ฌ ๊ธฐ์ˆ  ์„ธํŠธ : ์Šคํ”„๋ง + ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ—‚ ๋ชฉ์ฐจ 1. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ 2. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ - Spring Boot(์Šคํ”„๋ง ๋ถ€ํŠธ)๋ฅผ ์ด์šฉํ•œ ๊ฐ„๋‹จํ•œ API ๋งŒ๋“ค๊ธฐ feat.Mybatis(๋งˆ์ด๋ฐ”ํ‹ฐ์Šค) 3. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ - JAVA๋ฅผ ์ด์šฉํ•œ API ํ˜ธ์ถœ 4. [Spring Boot] Discord Bot(๋””์Šค์ฝ”๋“œ ๋ด‡) ๋งŒ๋“ค๊ธฐ - ๋””์Šค์ฝ”๋“œ ๋ด‡์„ ์ด์šฉํ•˜์—ฌ API ํ˜ธ์ถœ GitHub - juny.. ๊ณต๊ฐ์ˆ˜ 3 ๋Œ“๊ธ€์ˆ˜ 0 2023. 3. 17.
  • [Spring Boot] OncePerRequestFilter๋ž€? ๐Ÿš€ OncePerRequestFilter ๐Ÿ”ฝ ๊ฐœ์š” ๐Ÿ“ฆ Filter์™€ OncePerRequestFilter ์ฐจ์ด Filter์— ๋Œ€ํ•ด ์„ค๋ช…ํ•œ ๋‚ด์šฉ์€ ์ด ๊ณณ์„ ํ†ตํ•ด ์ค€๋น„ํ•ด ๋‘์—ˆ์–ด์š”. OncePerRequestFilter Class๋Š” ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ Http Request์˜ ํ•œ ๋ฒˆ์˜ ์š”์ฒญ์— ๋Œ€ํ•ด ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰ํ•˜๋Š” Filter์—์š”. ์˜ˆ๋ฅผ ๋“ค์–ด Forwarding์ด ๋ฐœ์ƒํ•˜๋ฉด Filter Chain์ด ๋‹ค์‹œ ๋™์ž‘ํ•˜์—ฌ ์ธ์ฆ์ฒ˜๋Ÿผ ๋”ฑ ํ•œ๋ฒˆ๋งŒ ํ•ด์•ผ ํ•˜๋Š” Logic์ด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์—ฌ๋Ÿฌ๋ฒˆ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์–ด์š”. ๐Ÿ“ฆ doFilter() doFilter()๋Š” ์ตœ์ดˆ ์‹คํ–‰ ์‹œ ServletRequest ๊ฐ์ฒด์— ์ž์‹ ์˜ ์ด๋ฆ„๊ณผ ์ˆ˜ํ–‰ํ•˜์˜€์„์Œ ํ‘œ์‹œ๊ฐ€ํžˆ ์œ„ํ•œ Boolean์˜ true ๊ฐ’์„ ํ•จ๊ป˜ ๋„ฃ์–ด ๋‘์–ด์š”. ๊ทธ๋Ÿฐ ๋’ค doFilterInterna.. ๊ณต๊ฐ์ˆ˜ 4 ๋Œ“๊ธ€์ˆ˜ 0 2023. 2. 3.
  • [Spring Boot] MapStruct Source Code : https://github.com/junyharang-coding-study/JunyHarang-JAVA-EncryptionDecryption.git ๋ฐฑ๊ฒฌ๋ถˆ์—ฌ์ผํƒ€ ์Šคํ”„๋ง ๋ถ€ํŠธ ์‡ผํ•‘๋ชฐ ํ”„๋กœ์ ํŠธ with JPA:์ด์   ํ”„๋กœ์ ํŠธ๋‹ค! COUPANG www.coupang.com React.js ์Šคํ”„๋ง ๋ถ€ํŠธ AWS๋กœ ๋ฐฐ์šฐ๋Š” ์›น ๊ฐœ๋ฐœ 101:SPA REST API ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ COUPANG www.coupang.com ์Šคํƒ€ํŠธ ์Šคํ”„๋ง ๋ถ€ํŠธ:์ดˆ๊ธ‰ ๊ฐœ๋ฐœ์ž๋“ค์„ ์œ„ํ•œ ๊ฐ€๋ณ๊ณ  ๋„“์€ ์Šคํ”„๋ง ๋ถ€ํŠธ COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ—‚ ๋ชฉ์ฐจ โ— [JAVA - Spring Boot] ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 12. 7.
  • [JAVA - Spring Boot] ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ ๋ฐฑ๊ฒฌ๋ถˆ์—ฌ์ผํƒ€ ์Šคํ”„๋ง ๋ถ€ํŠธ ์‡ผํ•‘๋ชฐ ํ”„๋กœ์ ํŠธ with JPA:์ด์   ํ”„๋กœ์ ํŠธ๋‹ค! COUPANG www.coupang.com React.js ์Šคํ”„๋ง ๋ถ€ํŠธ AWS๋กœ ๋ฐฐ์šฐ๋Š” ์›น ๊ฐœ๋ฐœ 101:SPA REST API ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ COUPANG www.coupang.com ์Šคํƒ€ํŠธ ์Šคํ”„๋ง ๋ถ€ํŠธ:์ดˆ๊ธ‰ ๊ฐœ๋ฐœ์ž๋“ค์„ ์œ„ํ•œ ๊ฐ€๋ณ๊ณ  ๋„“์€ ์Šคํ”„๋ง ๋ถ€ํŠธ COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." GitHub - junyharang-coding-study/JunyHarang-JAVA-EncryptionDecryption: JAVA์™€ Spring Boot๋ฅผ ํ†ตํ•ด Data๋ฅผ ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” JAVA์™€ Spring Boot๋ฅผ ํ†ตํ•ด Data๋ฅผ.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 12. 7.
  • [Spring Boot][MariaDB] ์ด์ค‘ํ™”๋œ Data Base ์ดˆ๊ธฐ ๊ตฌ์„ฑ GitHub - junyharang-coding-study/JunyHarang-DataBase-duplication: MariaDB์™€ Spring Boot๋ฅผ ํ†ตํ•ด Data Base ์ด์ค‘ํ™”๋ฅผ ํ•˜๊ณ  MariaDB์™€ Spring Boot๋ฅผ ํ†ตํ•ด Data Base ์ด์ค‘ํ™”๋ฅผ ํ•˜๊ณ , ๋ถ€ํ•˜ ๋ถ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ฝ”๋“œ์—์š”. - GitHub - junyharang-coding-study/JunyHarang-DataBase-duplication: MariaDB์™€ Spring Boot๋ฅผ ํ†ตํ•ด Data Base ์ด์ค‘ํ™”๋ฅผ ํ•˜๊ณ , ๋ถ€ํ•˜ github.com ์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ:์Šคํ”„๋ง ๋ฐ์ดํ„ฐ ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ๋กœ ๋ฐฐ์šฐ๋Š” ์ „์ž์ •๋ถ€ ํ‘œ์ค€ ๋ฐ์ดํ„ฐ๋ฒ ์ด COUPANG www.coupang.com ์Šคํ”„๋ง ๋ถ€ํŠธ์™€ AWS๋กœ ํ˜ผ์ž ๊ตฌํ˜„ํ•˜.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 11. 30.
  • [Spring Boot] Spring Security ์‹ค์ „ ํ”„๋กœ์ ํŠธ - ์ธ์ฆ ํ”„๋กœ์„ธ์Šค Form ์ธ์ฆ(2) ์ด ๊ธ€์€ ์ธํ”„๋Ÿฐ - Spring Boot ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” Spring Security๋ฅผ ํ•™์Šตํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ ์ž…๋‹ˆ๋‹ค. ์Šคํ”„๋ง ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์ฝ”๋”ฉ ๊ณต์ž‘์†Œ ๊ฐœ์ • 2ํŒ COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." GIT HUB ์ฃผ์†Œ : https://github.com/junyharang-coding-study/spring-security-form-auth ๐Ÿ—‚ ๋ชฉ์ฐจ โ— [Spring Boot] Spring Security Basic - ๊ธฐ๋ณธ API ๋ฐ Filter ์ดํ•ดํŽธ โ— [Stpring Boot] Spring Security Basic - Spring Security ์ฃผ์š” ์•„ํ‚คํ…์ฒ˜ ์ดํ•ดํŽธ โ— [Stpring Bo.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2022. 8. 24.
  • [Spring Boot] Spring Security ์‹ค์ „ ํ”„๋กœ์ ํŠธ - ์ธ์ฆ ํ”„๋กœ์„ธ์Šค Form ์ธ์ฆ(1) ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ ์ธ ์•ก์…˜:๋ณด์•ˆ ๊ธฐ์ดˆ๋ถ€ํ„ฐ OAuth 2๊นŒ์ง€ COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ์ด ๊ธ€์€ ์ธํ”„๋Ÿฐ - Spring Boot ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” Spring Security๋ฅผ ํ•™์Šตํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ ์ž…๋‹ˆ๋‹ค. GIT HUB ์ฃผ์†Œ : https://github.com/junyharang-coding-study/spring-security-form-auth ๐Ÿ—‚ ๋ชฉ์ฐจ โ— [Spring Boot] Spring Security Basic - ๊ธฐ๋ณธ API ๋ฐ Filter ์ดํ•ดํŽธ โ— [Stpring Boot] Spring Security Basic - Spring Security ์ฃผ์š” ์•„ํ‚คํ…์ฒ˜ ์ดํ•ดํŽธ โ— [Stpr.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2022. 8. 23.
  • [Spring Boot] Spring Security Basic - Spring Security ์ฃผ์š” ์•„ํ‚คํƒ์ณ ์ดํ•ดํ•˜๊ธฐ ์ด ๊ธ€์€ ์ธํ”„๋Ÿฐ - Spring Boot ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” Spring Security๋ฅผ ํ•™์Šตํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ ์ž…๋‹ˆ๋‹ค. GIT HUB ์ฃผ์†Œ : https://github.com/junyharang-coding-study/spring-security ๐Ÿ—‚ ๋ชฉ์ฐจ โ— [Spring Boot] Spring Security Basic - ๊ธฐ๋ณธ API ๋ฐ Filter ์ดํ•ดํŽธ โ— [Stpring Boot] Spring Security Basic - Spring Security ์ฃผ์š” ์•„ํ‚คํ…์ฒ˜ ์ดํ•ดํŽธ โ— [Stpring Boot] Spring Security ์‹ค์ „ ํ”„๋กœ์ ํŠธ - ์ธ์ฆ ํ”„๋กœ์„ธ์Šค Form ์ธ์ฆ ๊ตฌํ˜„(1) โ— [Stpring Boot] Spring Security ์‹ค์ „ ํ”„๋กœ์ ํŠธ - ์ธ์ฆ ํ”„๋กœ์„ธ์Šค Form ์ธ์ฆ .. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2022. 8. 16.
  • [Spring Boot] Spring Security Basic - ๊ธฐ๋ณธ API ๋ฐ Filter ์ดํ•ดํŽธ ์ด ๊ธ€์€ ์ธํ”„๋Ÿฐ - Spring Boot ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” Spring Security๋ฅผ ํ•™์Šตํ•˜๋ฉด์„œ ์ •๋ฆฌํ•œ ๋‚ด์šฉ ์ž…๋‹ˆ๋‹ค. GIT HUB ์ฃผ์†Œ : https://github.com/junyharang-coding-study/spring-security ๐Ÿ—‚ ๋ชฉ์ฐจ โ— [Spring Boot] Spring Security Basic - ๊ธฐ๋ณธ API ๋ฐ Filter ์ดํ•ดํŽธ โ— [Stpring Boot] Spring Security Basic - Spring Security ์ฃผ์š” ์•„ํ‚คํ…์ฒ˜ ์ดํ•ดํŽธ โ— [Stpring Boot] Spring Security ์‹ค์ „ ํ”„๋กœ์ ํŠธ - ์ธ์ฆ ํ”„๋กœ์„ธ์Šค Form ์ธ์ฆ ๊ตฌํ˜„(1) โ— [Stpring Boot] Spring Security ์‹ค์ „ ํ”„๋กœ์ ํŠธ - ์ธ์ฆ ํ”„๋กœ์„ธ์Šค Form ์ธ์ฆ .. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2022. 8. 10.
  • [SpringBoot][MyBatis] Logging(Show SQL Query) Git Hub ์ฃผ์†Œ : https://github.com/junyharang-Development-Lab/mybatis-paging-search-test/tree/main ๐Ÿš€ Mybatis Logging (Show SQL Query) ๐Ÿ”ฝ ์˜์กด์„ฑ ์„ค์ • ๐Ÿ“ฆ build.gradle // SQL query show implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4.1:1.16' ์ตœ์ดˆ ์˜์กด์„ฑ ์ถ”๊ฐ€๋ฅผ ์œ„ํ•ด ์œ„์™€ ๊ฐ™์ด ์˜์กด์„ฑ ๋‚ด์šฉ์„ ๋“ฑ๋กํ•ด ์ค๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ Log4j์˜ ๊ฒฝ์šฐ ์ตœ๊ทผ ์ทจ์•ฝ์  ๋ฐ ํ•ด์ปค์˜ ๊ณต๊ฒฉ ๋“ฑ์œผ๋กœ Issue๊ฐ€ ๋งค์šฐ ๋งŽ์•˜์Œ์œผ๋กœ ์ž˜ ํ™•์ธํ•˜์‹œ๊ณ , ์‚ฌ์šฉํ•˜์‹œ๊ธธ ๊ถŒ๊ณ  ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๐Ÿ”ฝ ๊ตฌ์„ฑ ๐Ÿ“ฆ application.yml spring: datasourc.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2022. 6. 19.
  • [Mybatis] Spring Boot์™€ Mybatis๋ฅผ ์ด์šฉํ•œ Paging ์ฒ˜๋ฆฌ์™€ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ Git Hub ์ฃผ์†Œ : https://github.com/junyharang-Development-Lab/mybatis-paging-search-test/tree/main ๐Ÿš€ Mybatis๋ฅผ ์ด์šฉํ•œ Paging ์ฒ˜๋ฆฌ์™€ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ:JDBC๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์‰ฝ๊ณ  ๋น ๋ฅธ ์ž๋ฐ” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”„๋ ˆ์ž„์›Œํฌ COUPANG www.coupang.com "์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค." ๐Ÿ”ฝ ์ดˆ๊ธฐ ๊ตฌ์„ฑ ์ตœ์ดˆ DB์—๋Š” ์œ„์™€ ๊ฐ™์ด study๋ผ๋Š” DB์•ˆ์— board๋ผ๋Š” Table์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ , ์•ˆ์— ๋‚ด์šฉ์„ ๋„ฃ์–ด ์ฃผ์—ˆ์–ด์š”. ๐Ÿ“ฆ Project ๊ตฌ์„ฑ ์ด๋ฒˆ ์‹ค์Šต์—์„œ ์ฃผ๋‹ˆํ•˜๋ž‘์€ Gradle๊ณผ ํ•จ๊ป˜ ์•„๋ž˜์™€ ๊ฐ™์ด ์˜์กด์„ฑ์„ ๊ตฌ์„ฑํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. plugins { id.. ๊ณต๊ฐ์ˆ˜ 3 ๋Œ“๊ธ€์ˆ˜ 0 2022. 6. 19.
  • [Spring] Spring์ด๋ž€? ๐Ÿš€ Spring Framwork ๐Ÿ”ฝ ๊ฐœ์š” `Spring Framwork`๋Š” ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ๋ฐ˜์˜ `JAVA Web Application`์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” Framwork์ธ ๊ฒƒ์ด์—์š”. ์ฆ‰, JAVA์˜ ๊ธฐ์ˆ ๋“ค์„ ๋” ์‰ฝ๊ฒŒ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“  JAVA์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์˜ ์ง‘ํ•ฉ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด์—์š”. ๐Ÿš€ Spring Boot ๐Ÿ”ฝ ๊ฐœ์š” `Spring Boot`๋Š” `Spring Framwork` ์œ„์˜ `Spring`์„ ๋” ์‰ฝ๊ฒŒ ์ด์šฉํ•˜๋„๋ก ์ƒ์šฉํ™” ๊ฐ€๋Šฅํ•œ Application์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๋„๊ตฌ์ธ ๊ฒƒ์ด์—์š”. `Spring Framwork`์€ ์ดˆ๊ธฐ์— ์„ค์ •ํ•ด์•ผ ํ•  ๊ฒƒ์ด ๋งŽ์€ ๋‹จ์ ์ด ์žˆ๋Š”๋ฐ, ์ด ๋‹จ์ ์„ ๋ณด์™„ํ•œ ๊ฒƒ์ด `Spring Boot`์ธ ๊ฒƒ์ด์—์š”. ๐Ÿ”ฝ ํŠน์ง• Spring์€ `๊ฒฝ๋Ÿ‰ ์ปจํ…Œ์ด๋„ˆ`๋กœ JAVA .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 4. 7.
  • [Spring] Spring Security - Method Security ๐Ÿš€ Spring Security - Method Security ๐Ÿ”ฝ ๊ฐœ์š” `Spring Seucrity`๋Š” Web ๊ธฐ๋ฐ˜ Security๋„ ์žˆ์ง€๋งŒ, `Method Security`๋ผ๋Š” ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด์—์š”. ์ด๊ฒƒ์€ `Service Layer`๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•  ๋•Œ, ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด์•ˆ ๊ธฐ๋Šฅ์ธ ๊ฒƒ์ด์—์š”. Web ๊ธฐ๋ฐ˜์˜ Security๋ฅผ ์ ์šฉํ–ˆ์„๋•Œ๋Š” ์–ด์šธ๋ฆฌ์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ์ธ ๊ฒƒ์ด์—์š”. ๋˜ํ•œ, `Web Application` ์™ธ์— `Desktop Application`์—๋„ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด์—์š”. ๐Ÿ”ฝ EnableGlobalMethodSecurity `MethodSecurity`๋Š” `SecurityConfig`์„ค์ •์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด์—์š”. `MethodSecurity`์šฉ ์„ค์ •์ด ๋”ฐ๋กœ ํ•„์š”ํ•œ๋ฐ ์ด ๋•Œ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 3. 30.
  • [Spring] Spring Security ์ธ์ฆ ์ ˆ์ฐจ Interface | UserDetails์™€ UserDetailsService ๐Ÿš€ UserDetails & UserDetailsService๋ž€? ๐Ÿ”ฝ ๊ฐœ์š” UserDetailsService Interface๋Š” Data Base์—์„œ User ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด์—์š”. ํ•ด๋‹น Interface์˜ Method์—์„œ Data Base User ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€์„œ AuthenticationProvider Interface๋กœ User ์ •๋ณด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๊ทธ ๊ณณ์—์„œ ์ด์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ •๋ณด์™€ DB์— ์žˆ๋Š” ํšŒ์› ์ •๋ณด๋ฅผ ๋น„๊ตํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด์—์š”. DB์—์„œ ํšŒ์› ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ž‘์—…์— ํ•„์š”ํ•œ Interface๋Š” UserDetails์™€ UserDetilasService Interface์ธ ๊ฒƒ์ด์—์š”. ๐Ÿ”ฝ UserDetails Spring Security์—์„œ ์ด์šฉ์ž์˜ ์ •๋ณด๋ฅผ ๋‹ด๋Š” Interface๋Š” UserD.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 3. 29.
  • [Spring] @Valid๋ฅผ ์ด์šฉํ•œ @RequestBody ๊ฒ€์ฆ / Exception Handling / ์ •๊ทœ ํ‘œํ˜„์‹ ๐Ÿš€ @Valid ๐Ÿ”ฝ ๊ฐœ์š” Spring์„ ์ด์šฉํ•˜์—ฌ `Controller`๋ฅผ ๋งŒ๋“ค๊ณ , ๊ฒŒ์‹œํŒ, ํšŒ์› ๊ฐ€์ž… ๋“ฑ Client์—์„œ ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›์„ ๋•Œ๋Š” ํ•ญ์ƒ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ(Validation)์„ ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด์—์š”. ์ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋Š” Client (Front End)์—์„œ๋„ ํ•ด์•ผ ํ•˜์ง€๋งŒ, Server (Back End)์—์„œ๋„ ๊ผญ ์ง„ํ–‰์„ ํ•ด์ค˜์•ผ ํ•˜๋Š”๋ฐ, ๊ทธ ์ด์œ ๋Š” ์•…์˜์ ์ธ ์ด์šฉ์ž๊ฐ€ ์šฐํšŒ ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด Server์—๊ฒŒ ์ž…๋ ฅ๊ฐ’์„ ์ž…๋ ฅํ•˜๋ ค๋Š” ์‹œ๋„๋ฅผ ํ†ตํ•ด Client์˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ๋ฌด๋ ฅํ™” ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ธ ๊ฒƒ์ด์—์š”. ์ด๋ฅผ ํ†ตํ•ด `SQL Injection`, `XSS(Cross Site Scripting)` ๋“ฑ์˜ ๊ณต๊ฒฉ ๋ฐฉ์–ด๋ฅผ ์œ„ํ•ด ๊ผญ! ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์‹ค์‹œํ•ด์ฃผ์–ด ์˜๋„ํ•˜์ง€ ์•Š์€ ๊ฐ’์ด ๋“ค์–ด์˜ค์ง€ ์•Š๊ฒŒ ๋ฐฉ์–ด ํ•ด์ค˜์•ผ ํ•˜๋Š”.. ๊ณต๊ฐ์ˆ˜ 1 ๋Œ“๊ธ€์ˆ˜ 0 2022. 3. 28.
  • [Spring] ResponseEntity ๐Ÿš€ ResponseEntity ๐Ÿ”ฝ ๊ฐœ์š” `Spring Framework`์—์„œ ์ œ๊ณตํ•˜๋Š” Class ์ค‘ `HttpEntity`๋ผ๋Š” Class๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด์—์š”. ์ด ์นœ๊ตฌ๋Š” `HTTP Request ๋˜๋Š” Response`์— ํ•ด๋‹น ํ•˜๋Š” `HttpHeader`์™€ `HttpBody`๋ฅผ ํฌํ•จํ•˜๋Š” Class์ธ ๊ฒƒ์ด์—์š”. public class HttpEntity { private final HttpHeaders headers; @Nullable private final T body; } public class RequestEntity extends HttpEntity public class ResponseEntity extends HttpEntity `HttpEntity` Class๋ฅผ ์ƒ์† ๋ฐ›์•„ ๊ตฌํ˜„ํ•œ Class.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 3. 28.
  • [Spring] @PathVariable ๊ทธ๋ฆฌ๊ณ  @RequestParam ๐Ÿš€ ๊ฐœ์š” Spring์œผ๋กœ Web Service๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด Controller๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด Client์—์„œ URI์— Parameter๋กœ ์š”์ฒญ์„ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด์—์š”. ์ด ๋•Œ ์•„๋ž˜ ๋‘ ๊ฐ€์ง€๋ฅผ ์ด์šฉํ•ด์„œ ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋˜๋Š”๊ฒŒ ๋Œ€ํ‘œ์ ์ด๋ž๋‹ˆ๋‹ค. ์ฒซ์งธ : http//localhost?index=1&page=2 ๋‘˜์งธ : http://localhost/index/1 ์ฒซ๋ฒˆ์งธ์˜ ๊ฒฝ์šฐ Parameter์˜ ๊ฐ’๊ณผ Key(name - ์ด๋ฆ„)์„ ํ•จ๊ป˜ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ Query String์ด๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, ๊ฒŒ์‹œํŒ ๋“ฑ์—์„œ Page ๊ฒ€์ƒ‰ ๋ฐ ๊ฒ€์ƒ‰ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด์—์š”. ๋‘๋ฒˆ์งธ ๊ฒฝ์šฐ๋Š” REST API์—์„œ ๊ฐ’์„ ํ˜ธ์ถœํ•  ๋•Œ, ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋ž๋‹ˆ๋‹ค. ๐Ÿ”ฝ @RequestParam ๊ฐœ์š”์—์„œ ์ฒซ๋ฒˆ์งธ์˜ ๊ฒฝ์šฐ @Reque.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 3. 22.
  • [Spring] @Controller์™€ @RestController์˜ ์ฐจ์ด ๐Ÿš€ ๊ฐœ์š” Spring์—๋Š” Controller๋ฅผ ์ง€์ •ํ•ด ์ฃผ๊ธฐ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ Annotaion์ด ์ค€๋น„ ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด์—์š”. ์ฒซ๋ฒˆ์งธ๋Š” `@Controller`๊ฐ€ ์žˆ๊ณ , ๋‘๋ฒˆ์งธ๋Š” `@RestController`๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด์—์š”. ๋‘ ์นœ๊ตฌ์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ `HTTP Response Body`๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๋ฐฉ์‹์— ์žˆ๋‹ต๋‹ˆ๋‹ค. ๐Ÿš€ @Controller - Spring MVC Controller ๐Ÿ”ฝ Controller - View ์ „ํ†ต์ ์ธ Spring MVC Controoler์ธ `@Controller`๋Š” ์ฃผ๋กœ View ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด์—์š”. ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ํ†ตํ•ด Spring MVC Controller๋Š” Client์˜ ์š”์ฒญ์—์„œ View๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ด์—์š”. โ— Client(Front End)๋Š” URI .. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 3. 22.
  • [Spring] @Transactional๊ณผ rollbackFor ์†์„ฑ ๐Ÿš€ @Transactional๊ณผ rollbackFor ์†์„ฑ Spring์€ @Transactional์ด ๋ถ™์€ Class์— Proxy๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด์—์š”. Proxy๋Š” ํŠธ๋žœ์žญ์…˜ ๋กœ์ง์„ Method ์•ž ๋’ค์— ๋„ฃ์–ด ์ค€๋‹ต๋‹ˆ๋‹ค. ์ฃผ๋‹ˆํ•˜๋ž‘์€ @Transactional์— rollbackFor ์†์„ฑ์„ ์ด์šฉํ•˜์—ฌ Exception.class๋ฅผ ๋“ฑ๋กํ•œ ๊ฒƒ์ด์—์š”. ์ด ์˜๋ฏธ๋Š” Spring์—๊ฒŒ 'Run Time Exception์ด ํ„ฐ์ง€๋ฉด Roll Back ํ•ด์ค˜!' ๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์ด์—์š”. ๋งŒ์•ฝ ์ด๋ ‡๊ฒŒ @Transactional์— ์†์„ฑ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด Spring์€ RuntimeException.class, Error.class๋ฅผ ์„ ์–ธํ–ˆ๋‹ค๊ณ  ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด์—์š”. ์ฆ‰, Default ์†์„ฑ์ด ์ด๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์ด์ง€์š”. ํ•˜์ง€๋งŒ, ์ด๋ ‡๊ฒŒ checked.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 3. 11.
  • [Spring] @RequestBody์™€ @ResponseBody๋ž€? ๐Ÿš€ @RequestBody์™€ @ResponseBody๋ž€? ์Šคํ”„๋ง์—์„œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ @RequestBody์™€ @ResponseBody๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด์—์š”. ์ฃผ๋‹ˆํ•˜๋ž‘์€ Server ๊ฐœ๋ฐœ๋กœ๋Š” maven ๊ธฐ๋ฐ˜ Spring์œผ๋กœ, Client๋Š” Vue.js๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•ด ๋ณด๊ณ  ์žˆ๋Š” ๊ฒƒ์ด์—์š”. Vue.js๋Š” ๋Œ€ํ‘œ์ ์ธ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๊ธฐ๋ฐ˜ Client Java Script์˜ Framework๋ž๋‹ˆ๋‹ค! ๐Ÿ”ฝ Client์™€ Server์˜ ๋น„๋™๊ธฐ ํ†ต์‹  ์ด์•ผ๊ธฐ ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ํ†ต์‹ ํ•˜๋Š” Message๋ฅผ ์š”์ฒญ(Request)๋ผ๊ณ  ํ•˜๊ณ , ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ํ†ต์‹ ํ•˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์‘๋‹ต(Response)๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์ด์—์š”. ์›น์—์„œ ์ƒˆ๋กœ๊ณ ์นจ(ํ™”๋ฉด์ „ํ™˜) ์—†์ด ์ด๋ฃจ์–ด์ง€๋Š” ๋™์ž‘๋“ค์€ ๋Œ€๋ถ€๋ถ„ ๋น„๋™๊ธฐ ํ†ต์‹ ์œผ๋กœ ์ด๋ค„์ง€๋Š” ๊ฒƒ.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 3. 11.
  • [Spring] VO, DAO, DTO, Entity์— ๋Œ€ํ•ด์„œ ๐Ÿš€ VO( Value Object ) ๐Ÿ”ฝ ๊ฐœ๋… Value Object๋Š” DTO์™€ ๋™์ผํ•œ ๊ฐœ๋…์ด๋‚˜ ์ฐจ์ด์ ์€ read only ์†์„ฑ์„ ๊ฐ–๋Š” ๊ฒƒ์ด์—์š”. Value Object๋Š” ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ๋ ˆ์ฝ”๋“œ์— ๋Œ€์‘๋˜๋Š” ์ž๋ฐ” ํด๋ž˜์Šค์ธ ๊ฒƒ์ด์—์š”. ํ˜•ํƒœ๋Š” db ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ•„๋“œ๋“ค์„ Value Object์˜ Attribute๋กœ ํ•˜๊ณ  ํ•ด๋‹น ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” Getter, Setter ๋ฉ”์†Œ๋“œ์˜ ์กฐํ•ฉ์œผ๋กœ ํด๋ž˜์Šค๊ฐ€ ํ˜•์„ฑ๋˜์–ด์ง„ ํด๋ž˜์Šค์ธ ๊ฒƒ์ด์—์š”. ๐Ÿ’ก ์ฐธ๊ณ : JPA์˜ Entity์—์„œ๋Š” Setter ์‚ฌ์šฉ์„ ์ง€์–‘ํ•˜๋‚˜, VO๋Š” ์•„๋‹ˆ๋‹ค. ํŠน์„ฑ์€ ๋Œ€์ฒด๋กœ ๋ถˆ๋ณ€์„ฑ์ด๊ณ  equlas()๋กœ ๋น„๊ตํ•  ๋•Œ ๊ฐ์ฒด์˜ ๋ชจ๋“  ๊ฐ’์„ ๋น„๊ตํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด์—์š”. ํ”„๋กœ๊ทธ๋žจ์˜ ์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด์—์„œ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์กฐํšŒ ์š”์ฒญ์ด ์™”์„ ๋•Œ ์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ.. ๊ณต๊ฐ์ˆ˜ 0 ๋Œ“๊ธ€์ˆ˜ 0 2022. 3. 9.
    728x90
    ๋ฐ˜์‘ํ˜•
    ๋ฌธ์˜์•ˆ๋‚ด
    • ํ‹ฐ์Šคํ† ๋ฆฌ
    • ๋กœ๊ทธ์ธ
    • ๊ณ ๊ฐ์„ผํ„ฐ

    ํ‹ฐ์Šคํ† ๋ฆฌ๋Š” ์นด์นด์˜ค์—์„œ ์‚ฌ๋ž‘์„ ๋‹ด์•„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ยฉ Kakao Corp.