header-img
Info :
BACKEND/SpringBoot 12
list_img
Spring boot :: ์™ธ๋ถ€ http ๋ถˆ๋Ÿฌ์™€ body ๊ฐ’ ๋ฆฌํ„ดํ•˜๋Š” RequestUtil (Proxy Server ๊ธฐ๋Šฅ)
2024.02.20
๋‚ด๊ฐ€ ํ•˜๊ณ  ์‹ถ์—ˆ๋˜ ๊ฒƒ์€ http:~ ๋กœ ๋œ ์ฃผ์†Œ์— ๋‹ด๊ธด API data ๋ฅผ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ์„œ๋ฒ„์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฑฐ ์˜€์Œ. ๊ณ ๋กœ ๋‚ด๊ฐ€ ๊ตฌํ˜„ํ•œ ์„œ๋ฒ„์—์„œ ํ”„๋ก์‹œ ์„œ๋ฒ„์˜ ์—ญํ• ์„ ํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ. ์ด๋•Œ ๋ญ RestTemplete ์ด๋‹ˆ WebClient ๋‹ˆ ์„ค์น˜ํ•˜๊ณ  ์…‹ํŒ…ํ•˜๊ณ ... ๋„ˆ๋ฌด ๊ท€์ฐฎ์•˜์Œ. ๊ทธ๋ž˜์„œ ๊ฐ„๋‹จ ver ๋กœ requestUtil ์„ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค. import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframewo..
MSSQL, Mybatis :: DBํˆด๊ณผ ์›น์—์„œ์˜ ์ฟผ๋ฆฌ ์†๋„๊ฐ€ ๋‹ค๋ฅผ ๋•Œ ๊ณ ๋ คํ•  ๊ฒƒ
2024.01.16
์ฟผ๋ฆฌ์†๋„๋Š” 00:00:06 ์ดˆ ์ •๋„๋กœ ์งง๊ฒŒ ๋‚˜์˜ค๋Š”๋ฐ API ์‹คํ–‰ ์†๋„๋Š” 48์ดˆ๊ฐ€ ๋‚˜์˜ค๋Š” ์ผ€์ด์Šค๊ฐ€ ๋ฐœ์ƒ. ๋ฌผ๋ก  ๊ฑด ์ˆ˜๊ฐ€ ๋งŽ์€ SQL์ด๊ธฐ๋Š” ํ–ˆ์ง€๋งŒ, ์ฟผ๋ฆฌ ์†๋„์™€ API ์†๋„๊ฐ€ ์ด๋ ‡๊ฒŒ ๋น„๋ก€ํ•˜์ง€ ์•Š๋Š” ์ผ€์ด์Šค๋Š” ์ฒ˜์Œ์ด์—ˆ์Œ. -- ์ด๋Ÿฐ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋Œ€๋ถ€๋ถ„ Where ์ ˆ์˜ ์กฐ๊ฑด์ด VARCHAR๋กœ ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ MSSQL ์˜ ํŠน์ง• MSSQL์˜ ๊ฒฝ์šฐ VARCHARํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•  ๋•Œ NVARCHARํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•œ๋‹ค๊ณ  ํ•จ. ์ฆ‰, ๋ฐ์ดํ„ฐ์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ฐ€๋ณ€์œผ๋กœ ํ• ์ง€ ์•„๋‹์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž„. ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ๊ฐ•์ œ์ ์œผ๋กœ ํƒ€์ž… ์บ์ŠคํŒ…์ด ์ผ์–ด๋‚˜๊ณ , ์ˆ˜ํ–‰๋˜๋Š” ์ฟผ๋ฆฌ์˜ ํƒ€์ž…์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— INDEX๋ฅผ ์•ˆํƒ€๊ฒŒ ๋จ. ใ… -ใ… .. ์ฟผ๋ฆฌ ํŠœ๋‹์„ ์•„๋ฌด๋ฆฌํ•ด๋„ DB ์†๋„๋Š” ๋นจ๋ผ์ง€๋Š”๋ฐ, API ํ˜ธ์ถœ ์†๋„๋Š” ํฌ๊ฒŒ..
Mybatis :: ๋‹ฌ๋Ÿฌ($)์™€ ์ƒต(#)์˜ ์ฐจ์ด
2024.01.16
ํŒŒ๋ผ๋ฏธํ„ฐ ๋งคํ•‘์„ ํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉํ•˜๋Š” $์™€ # ๋‘๊ฐ€์ง€์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. # PreparedStatement๋ฅผ ์˜๋ฏธ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ String ํ˜•ํƒœ๋กœ ๋“ค์–ด์™€ ์ž๋™์œผ๋กœ(' ') ํŒŒ๋ผ๋ฏธํ„ฐ ํ˜•ํƒœ๊ฐ€ ๋จ #{user_id} ์˜ ๊ฐ’์ด 'neeon'์ด๋ผ๋ฉด user_id = 'neeon' ํ˜•ํƒœ๊ฐ€ ๋จ ์ฟผ๋ฆฌ ์ฃผ์ž…์„ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ์–ด ๋ณด์•ˆ ์ธก๋ฉด์—์„œ ์œ ๋ฆฌ ์ •์ ์ธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์บ์‹ฑ์„ ํ•ด์„œ ์žฌํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ํšจ์œจ์ ์ž„ $ Statement๋ฅผ ์˜๋ฏธ ํ•ด๋‹น ์ปฌ๋Ÿผ์˜ ์ž๋ฃŒํ˜•์— ๋งž์ถ”์–ด ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ž๋ฃŒํ˜•์ด ๋ณ€๊ฒฝ๋จ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋ฐ”๋กœ ์ถœ๋ ฅ๋จ. ์ฟผ๋ฆฌ ์ฃผ์ž…์„ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์—†์–ด ๋ณด์•ˆ ์ธก๋ฉด์—์„œ ๋ถˆ๋ฆฌํ•˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ์ „๋‹ฌํ•  ๋•Œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ (SQL Injection) ํ…Œ์ด๋ธ”์ด๋‚˜ ์ปฌ๋Ÿผ๋ช…์„ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•จ ์ฐจ์ด์  ..
list_img
SpringBoot :: ์ดˆ์ดˆ์ดˆ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉ์ž ์š”์ฒญ์— ๋Œ€ํ•œ ๊ฒฝ๊ณผ์‹œ๊ฐ„ ์•Œ์•„๋ณด๊ธฐ
2024.01.16
๊ฐœ๋ฐœ ๋„์ค‘ API ํ˜ธ์ถœ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ์•„์ด๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. DB ์‹œ๊ฐ„์€ SQL ์„ ๋•Œ๋ ค๋ณด๋ฉด ๋‚˜์˜ค๋Š”๋ฐ.. ์˜ˆ์ƒ๋งŒํผ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€๋Š” ์•Š์•˜๊ณ  ๊ทธ๋ฆฌ๋“œ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฟŒ๋ฆฌ๋Š” ๊ฒŒ ์ „๋ถ€์ธ๋ฐ๋‹ค, ๊ทธ๋ฆฌ๋“œ์˜ ๊ฒฝ์šฐ๋Š” ๋ณ„๋„ ๊ตฌํ˜„์—†์ด ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๋ผ์„œ ํ”„๋ก ํŠธ์—”๋“œ์˜ ๋ฌธ์ œ๋„ ์•„๋‹Œ๊ฑฐ ๊ฐ™๊ณ .. ํ˜น์‹œ ๋ชจ๋ฅด๋‹ˆ๊นŒ ๋ฐฑ์—”๋“œ ๊ฒฝ๊ณผ ์‹œ๊ฐ„์ด ์–ด๋–ป๊ฒŒ ๊ฑธ๋ฆฌ๋Š”์ง€ ํ™•์ธ์„ ํ•ด๋ณด๊ณ ์ž ํ–ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ // ์ปจํŠธ๋กค๋Ÿฌ ๋‹จ long startTime = System.currentTimeMillis(); List TactTimeList = tacttimeService.tacttime(paramMap); // Service ํ˜ธ์ถœ๋ถ€ long endTime = System.currentTimeMillis(); long ms = endTime - start..
Java :: equals() ์™€ == ์˜ ์ฐจ์ด
2024.01.09
.equals()์™€ == ๋ชจ๋‘ ๋น„๊ต ์—ฐ์‚ฐ์ž์ด๋ฉฐ ๋‘˜ ๋‹ค ๋ชจ๋‘ ์–‘์ชฝ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ๋น„๊ตํ•œ ๊ฐ’์„ boolean type์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ java์—์„œ String์ฒ˜๋Ÿผ Class์˜ ๊ฐ’์„ ๋น„๊ตํ•  ๋•Œ์—๋Š” ๋ณดํ†ต equals() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ... equals์™€ ==๋Š” ๊ตฌ์กฐ์ ์œผ๋กœ ์–ด๋–ค ์ฐจ์ด์ ์„ ๊ฐ–๋Š”์ง€ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. 1. ํ˜•ํƒœ์˜ ์ฐจ์ด .equals() ๋Š” ๋ฉ”์†Œ๋“œ ์ด๋ฉฐ == ๋Š” ๋น„๊ต๋ฅผ ์œ„ํ•œ ์—ฐ์‚ฐ์ž ์ด๋‹ค. 2. ์ฃผ์†Œ ๊ฐ’ ๋น„๊ต์™€ ์‹ค์ œ ๊ฐ’(๋‚ด์šฉ) ๋น„๊ต .equals() ๋ฉ”์†Œ๋“œ๋Š” ๋น„๊ตํ•˜๊ณ ์ž ํ•˜๋Š” ๋Œ€์ƒ์˜ ๋‚ด์šฉ ์ž์ฒด๋ฅผ ๋น„๊ตํ•˜์ง€๋งŒ, == ์—ฐ์‚ฐ์ž๋Š” ๋น„๊ตํ•˜๊ณ ์ž ํ•˜๋Š” ๋Œ€์ƒ์˜ ์ฃผ์†Œ ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค. int, float, double, byte ๋“ฑ์€ primitive type ์œผ๋กœ Call By Value(CBV) ์— ํ•ด๋‹น. Cla..
Java, SpringBoot :: private ์ƒ์ˆ˜๋ฅผ private static final๋กœ ์„ ์–ธํ•˜๋Š” ์ด์œ  1
2023.12.28
static์ด๋ž€? (์ •์ ์ธ, ์›€์ง์ž„์ด ์—†๋Š”) static ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ jvm์˜ static ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋œ๋‹ค. static ์˜์—ญ์˜ ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘ํ•˜๊ณ  ์ข…๋ฃŒํ•  ๋•Œ๊นŒ์ง€ ์‚ด์•„ ์žˆ์–ด ๋ณ„๋„์˜ ์ดˆ๊ธฐํ™” ๊ณผ์ •์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๊ณ  static์ด ์„ ์–ธ๋œ ๋ณ€์ˆ˜, ๋ฉ”์„œ๋“œ์— ๋ฐ”๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. static์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ๊ณต์œ ํ•œ๋‹ค๋Š” ์˜๋ฏธ. ๋™์ผํ•œ ๊ฐ์ฒด๋กœ ๊ฐ’๋งŒ ๋ฐ”๊พธ์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Œ๊ณผ ๋™์‹œ์— ๋™์ผํ•œ ๊ฐ์ฒด๋ฅผ ๊ฐ’๋งŒ ๋ฐ”๊พธ์–ด ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์—์„œ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์‹ ์ค‘ํ•˜๊ฒŒ ๋ฐ”๊พธ์–ด์•ผ ํ•œ๋‹ค๋Š” ์ƒ๊ฐ๋„ ํ•ด์•ผํ•œ๋‹ค. final์ด๋ž€? ๋ถˆ๋ณ€๊ณผ ๊ด€๋ จ๋œ ์†์„ฑ์ด ์•„๋‹ˆ๋ผ ์žฌํ• ๋‹น ๋ฐฉ์ง€์™€ ๊ด€๋ จ๋œ ์†์„ฑ. final์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด ์žฌํ• ๋‹น์ด ๋ฐฉ์ง€๋˜๋ฏ€๋กœ, ์ƒ์†์ด๋‚˜ ๊ฐ’ ์žฌ ์ดˆ๊ธฐํ™” ๋“ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. public ..
Springboot(java) :: ๋ฌธ์ž ๊ด€๋ จ StringUtil ๋ชจ์Œ์ง‘
2023.12.27
ํŒŒ์ผ๋กœ ๋ณด๊ธฐ๋Š” ์•„๋ž˜์—.. ์•…์„ฑ์ฝ”๋“œ ็„ก only java.. /** * @Class Name : StringUtil.java * @Description : ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ด€๋ จ ์œ ํ‹ธ๋ฆฌํ‹ฐ * @Modification Information * @author ony **/ package com.sample.controller; // ์ด๋ฆ„ ์ž„์˜ ๋ณ€๊ฒฝํ•จ import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import java.security.SecureRandom; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Locale; public ..
list_img
SpringBoot :: Log4jdbc ๋ž€? 2
2023.11.15
Log4jdbc Log4j ๋ฅผ JDBC์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ GitHub - arthurblake/log4jdbc: log4jdbc is a Java JDBC driver that can log SQL and/or JDBC calls (and optionally SQL timing info log4jdbc is a Java JDBC driver that can log SQL and/or JDBC calls (and optionally SQL timing information) for other JDBC drivers using the Simple Logging Facade For Java (SLF4J) logging system. - G... github.com ์œ„์˜ ์ฝ”๋“œ๋Š”..
list_img
SpringBoot :: Swagger API ์—ฐ๋™
2023.10.26
dev. environment. SpringBoot 3.1.1 Java 17 ์Šค์›จ๊ฑฐ(Swagger) ๋ž€? ๊ฐœ๋ฐœ์ž๊ฐ€ REST API ์„œ๋น„์Šค๋ฅผ ์„ค๊ณ„, ๋นŒ๋“œ, ๋ฌธ์„œํ™”ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ”„๋กœ์ ํŠธ REST API๋ฅผ ๋ฌธ์„œํ™”ํ•˜๋Š” ๋„๊ตฌ์ด๋ฉฐ, API์— ๋Œ€ํ•œ ๋ช…์„ธ(Spec)์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ API๊ฐ€ ์ˆ˜์ •๋˜๋”๋ผ๋„ ๋ฌธ์„œ๊ฐ€ ์ž๋™์œผ๋กœ ๊ฐฑ์‹ . 2011 ๋…„์— ์ฒ˜์Œ ๋„์ž…๋œ ๊ฐœ๋… ๊ธฐ์กด, ์›Œ๋“œ๋‚˜ ์—‘์…€ ๋“ฑ ์ˆ˜๊ธฐ ์ž‘์„ฑํ•˜๋Š” ๋ฌธ์„œํ˜• API ๋ช…์„ธ์„œ์™€ ๋‹ฌ๋ฆฌ ์„œ๋ฒ„์— ์ผ์ • ์…‹ํŒ…์„ ํ•ด์ฃผ๋ฉด API ๋ช…์„ธ์„œ๊ฐ€ ๊ฐฑ์‹ ๋œ๋‹ค. ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ์†Œํ†ต์„ ํ•˜๋ ค๋ฉด API ๋ช…์„ธ์„œ๊ฐ€ ๊ผญ ํ•„์š”ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๊ฑธ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ช…์„ธํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ๋„ ๊ฝค๋‚˜ ํฐ ์ผ๋กœ ํŒŒ์•…๋œ๋‹ค. ์ด๋Ÿฐ ์—…๋ฌด ๋กœ์Šค๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„ ๋‹จ์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ๋ฐ”..
list_img
Sping :: Target Folder
2023.10.25
Target ํด๋” ํ”„๋กœ์ ํŠธ ์ปดํŒŒ์ผ ์‹œ ์ปดํŒŒ์ผ๋œ ํŒŒ์ผ์ด ์ €์žฅ๋˜๋Š” target/classes๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๊ณณ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ ์‹œ target ์ด๋ผ๋Š” ํด๋”๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. Maven์„ ์ด์š”ํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๊ฒฝ์šฐ ํ•ด๋‹น ํด๋”๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ์ถ”ํ›„ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฐ๊ณผ๋ฌผ์ธ .jar ๋˜๋Š” .war๋ฅผ ์‹ค ์„œ๋ฒ„์— ๋ฐ˜์˜ํ•  ๋•Œ target์— ์žˆ๋Š” jar๋‚˜ war๋ฅผ ๋ฐฐํฌํ•จ. if) ์‹ค์ˆ˜๋กœ ์‚ญ์ œ ์‹œ ๋นŒ๋“œ๋ฅผ ์ƒˆ๋กœ ํ•ด์„œ ๋‹ค์‹œ ๋งŒ๋“ค๋ฉด ๋จ. ์œ„์™€ ๊ฐ™์€ ๋กœ์ง์œผ๋กœ ์ธํ•˜์—ฌ ๋ณดํ†ต ์ปค๋ฐ‹๋Œ€์ƒ์ด ์•„๋‹ˆ๊ฒŒ ๋˜๋Š”๋ฐ intelliJ ์—์„œ๋Š” ๋นŒ๋“œ ๋Œ€์ƒ์—์„œ ์•Œ์•„์„œ ์ œ์™ธํ•ด์ค€๋‹ค. ์ด๋Ÿฐ์ƒ‰์œผ๋กœ ์ฃผํ™ฉ์ƒ‰? ํด๋”๊ฐ€ ๋˜๋ฉด ๋ฐฐํฌ ๋Œ€์ƒ์ด ์•„๋‹ˆ๋ผ๋Š” ๋œป. ๋งŒ์•ฝ.. ์ด๊ฑธ git ์— ๋ฐฐํฌ ๋Œ€์ƒ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด Ctrl + Alt + Shift + "S" ๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋ชจ๋“ˆ > ์ฃผํ™ฉ์ƒ‰ ํด๋” ํด๋ฆญ..
list_img
spring๊ณผ springboot
2023.08.21
1. ์Šคํ”„๋ง(Spring) - Java Platform ์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์–ดํฌ - ๋™์ ์ธ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์„œ๋น„์Šค ์ œ๊ณต - ์ „์ž ์ •๋ถ€ ํ‘œ์ค€ ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ ๋กœ ์‚ฌ์šฉ - ํŠน์ง•: ๊ฒฝ๋Ÿ‰ ์ปจํ…Œ์ด๋„ˆ, IoC(Invertion of Control: ์ œ์–ด ์—ญํ–‰), Di(Dependency Injection: ์˜์กด์„ฑ ์ฃผ์ž…), AOP(Aspect-Oriented Programming: ๊ด€์ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ) 2. ์Šคํ”„๋ง ๋ถ€ํŠธ(Spring Boot) SpringBoot makes it easy(์‰ฝ๊ฒŒ ๋งŒ๋“ ๋‹ค), to create stand-alone(๋‹จ๋…์ ์ธ), production-grade(์ƒ์šฉํ™” ์ˆ˜์ค€์˜) Spring based Applications(์Šคํ”„๋ง ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜) tha..
list_img
DAO, DTO, VO ๋ž€?
2023.08.16
1. DAO(Data Access Object) ์‹ค์ œ๋กœ DB์˜ data์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด. DB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์กฐํšŒ ๋ฐ ์กฐ์ž‘ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ „๋‹ดํ•˜๋Š” object. - ์‹ค์ œ๋กœ DB์— ์ ‘๊ทผํ•˜์—ฌ data๋ฅผ ์‚ฝ์ž…, ์‚ญ์ œ, ์กฐํšŒ, ์ˆ˜์ • ๋“ฑ CRUD ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. - Service ๋‹จ๊ณผ DB ๋‹จ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณ ๋ฆฌ ์—ญํ•  2. DTO(Data Transfer Object) ๊ณ„์ธต ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐ์ฒด, ๋กœ์ง์„ ๊ฐ€์ง€์ง€ ์•Š๋Š” ์ˆœ์ˆ˜ํ•œ ๋ฐ์ดํ„ฐ ๊ฐ์ฒด(Java Beans). VO์™€ ํ˜ผ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ˆœ์ˆ˜ํ•œ ๋ฐ์ดํ„ฐ ๊ฐ์ฒด. - DTO๋Š” ์ฆ‰, getter/setter ๋ฉ”์„œ๋“œ๋งŒ ๊ฐ€์ง„ ํด๋ž˜์Šค๋ฅผ ์˜๋ฏธํ•จ - DB์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์–ด์„œ Service๋‹จ์ด๋‚˜ Controller ๋‹จ ๋“ฑ์œผ๋กœ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉ 3. VO(Valu..