์ „์ฒด ๊ธ€

Spring

Spring MVC ๊ธฐ๋ณธ๊ธฐ๋Šฅ- HTTP ์š”์ฒญ [ ์š”์ฒญํŒŒ๋ผ๋ฏธํ„ฐ, ์š”์ฒญ๋ฉ”์‹œ์ง€]

๐Ÿ’ฌ ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ๋Š” ์ฃผ๋กœ 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•œ๋‹ค. โ—พ GET - ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ /?username=hello&age=20 ์ด๋Ÿฐ ์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฉ”์‹œ์ง€ ๋ฐ”๋”” ์—†์ด, url์˜ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•ด์„œ ์ „๋‹ฌํ•œ๋‹ค. ๊ฒ€์ƒ‰, ํ•„ํ„ฐ, ํŽ˜์ด์ง•์—์„œ ๋งŽ์ด ์‚ฌ์šฉ โ—พ POST - HTML Form content-type : application/x-www-form-urlencoded ํ˜•์‹ ๋ฉ”์‹œ์ง€ ๋ฐ”๋””์— ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ ํ˜•์‹์œผ๋กœ ์ „๋‹ฌ (username=hello&age=20) ํšŒ์›๊ฐ€์ž…, ์ƒํ’ˆ์ฃผ๋ฌธ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ โ—พ HTTP message body์— ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ๋‹ด์•„์„œ ์š”์ฒญ HTTP API์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ (JSON, XML, TEXT) ๋ฐ์ดํ„ฐ ํ˜•์‹์€ ์ฃผ๋กœ JSON์‚ฌ์šฉ POST, PUT, ..

Spring

Spring [@RequestMapping ๊ธฐ์ดˆ ์ •๋ฆฌ ]

์Šคํ”„๋ง ์ž…๋ฌธ ๊ฐ•์˜, ๊ธฐ์ดˆ๊ฐ•์˜๋ฅผ ๋“ค์—ˆ์„ ๋•Œ ์ข…์ข… ๋ณด์•˜๋˜ RequestMapping์— ๋Œ€ํ•œ ๊ธฐ์ดˆ๋ฅผ ๋‹ค์‹œ ๋‹ค์กŒ๋‹ค! ์•„์ง ๊ธฐ์ดˆ๋งŒ ๋ฐฐ์šด ๊ฑฐ๋ผ ์‹ค๋ฌด์—์„œ ์–ด๋””์— ์‚ฌ์šฉํ• ์ง€ ๊ฐ๋ฐ–์— ์˜ค์ง€ ์•Š์ง€๋งŒ ์–ธ์  ๊ฐ„ ๋Šฅ์ˆ˜๋Šฅ๋ž€ํ•˜๊ฒŒ ๋‹ค๋ฃจ๊ณ  ์‹ถ๋‹ค๐Ÿ˜š RequestMapping(์š”์ฒญ ๋งคํ•‘) ์ด๋ž€? ์š”์ฒญ์ด ์™”์„ ๋•Œ ์–ด๋–ค ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ˜ธ์ถœ์ด ๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ์ง€ํ‘œ ๊ฐ™์€ ๊ฒƒ์ด๋‹ค. ๐Ÿ‘‰ ์˜ˆ์‹œ @RequestMapping(value = "/hello-basic") ์ด๋ ‡๊ฒŒ ๋งคํ•‘์„ ํ•˜๋ฉด localhost:8080/hello-basic์œผ๋กœ url์„ ์ž…๋ ฅํ–ˆ์„ ๊ฒฝ์šฐ์— ์ด๊ฒƒ์— ํ•ด๋‹นํ•˜๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ์‹คํ–‰๋œ๋‹ค. @RequestMapping์€ ๋‹ค์ค‘์š”์ฒญ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค! ๋‹ค์ค‘ ์š”์ฒญ์„ ํ•˜๋ ค๋ฉด ๋ฐฐ์—ด๋กœ ๋ฌถ์–ด์•ผ ํ•œ๋‹ค. @RequestMapping(value = {"/hello", "/..

Spring

Spring boot - ๋กœ๊น… [ ์Šคํ”„๋ง ๋กœ๊ทธ๋‚จ๊ธฐ๊ธฐ ]

์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋กœ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ž๋™์ ์œผ๋กœ ์ถ”๊ฐ€๋œ๋‹ค. ๋กœ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ข…๋ฅ˜๊ฐ€ ๋งŽ์€๋ฐ ๊ทธ๊ฒƒ์„ ํ†ตํ•ฉ์ ์œผ๋กœ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด SLF4J ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์‹ค๋ฌด์—์„œ๋Š” Logback์„ ๋Œ€๋ถ€๋ถ„ ์‚ฌ์šฉํ•œ๋‹ค. ๐Ÿ’ฌ ๋กœ๊ทธ ์„ ์–ธ ๋ฐฉ๋ฒ• // 1๋ฒˆ ๋ฐฉ๋ฒ• private Logger log = LoggerFactory.getLogger(getClass()); // 2๋ฒˆ ๋ฐฉ๋ฒ• private static final Logger log = LoggerFactory.getLogger(Xxx.class); //3๋ฒˆ ๋ฐฉ๋ฒ• ์• ๋…ธํ…Œ์ด์…˜ ์‚ฌ์šฉ(lombok์ด ์ œ๊ณต) @Slf4j โœ ์ฒซ๋ฒˆ์งธ ๋‘ ๋ฒˆ์งธ ๋กœ๊ทธ ์„ ์–ธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋กœ๊ทธ๋Š” slf4j๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. ๐Ÿ“ ๋กœ๊ทธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• @Slf4j // lombok์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ..

Algorithm/BOJ

๋ฐฑ์ค€(BOJ) 11047๋ฒˆ ๋™์ „ 0 [๊ทธ๋ฆฌ๋””(Greedy)/์•Œ๊ณ ๋ฆฌ์ฆ˜/ํŒŒ์ด์ฌ(python)]

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€? "๋งค ์„ ํƒ์—์„œ ์ง€๊ธˆ ์ด ์ˆœ๊ฐ„ ๋‹น์žฅ ์ตœ์ ์ธ ๋‹ต์„ ์„ ํƒํ•˜์—ฌ ์ ํ•ฉํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜์ž"๋ผ๋Š” ๋ชจํ† ๋ฅผ ๊ฐ€์ง€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๊ณ„ ๊ธฐ๋ฒ•์ด๋‹ค. ๊ฑฐ์Šค๋ฆ„๋ˆ์„ ๋Œ๋ ค์ฃผ๋Š” ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž. ์šฐ๋ฆฌ๋Š” ๋Œ€๋ถ€๋ถ„ ๊ฑฐ์Šค๋ฆ„๋ˆ์„ ๋Œ๋ ค์ค„๋•Œ ํฐ ๋‹จ์œ„์˜ ๋™์ „๋ถ€ํ„ฐ ๊ฑฐ์Šฌ๋Ÿฌ์ค€๋‹ค. ex ) 500์›์„ ๋Œ๋ ค์ค˜์•ผ ํ•œ๋‹ค๋ฉด, 100์›์„ 5๊ฐœ ์ฃผ๋Š” ๊ฒƒ๋ณด๋‹ค 500์›์„ 1๊ฐœ ์ฃผ๋Š” ํŽธ์ด ๋” ํŽธํ•˜๋‹ค. ํ•˜์ง€๋งŒ ๋งŒ์•ฝ์— ๋™์ „์˜ ๋‹จ์œ„๊ฐ€ 100, 250, 300 ์ด๋ผ๋ฉด, (300 * 1) + (100 * 2) ๋กœ 3๊ฐœ๋กœ ๊ฑฐ์Šฌ๋Ÿฌ์ฃผ๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” 250 * 2 ์˜ ๋ฐฉ๋ฒ•์œผ๋กœ 2๊ฐœ๋กœ ๊ฑฐ์Šฌ๋Ÿฌ์ฃผ๋Š” ๊ฒƒ์ด ๋” ์ตœ์ ์˜ ๋ฐฉ๋ฒ•์ด๋‹ค. ๋”ฐ๋ผ์„œ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ•ญ์ƒ ์ตœ์ ์˜ ํ•ด๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋งŒ์•ฝ ์ด ์ƒํ™ฉ์—์„œ ํฐ ๋‹จ์œ„์˜ ์ˆ˜๋ถ€ํ„ฐ ๊ฑฐ์Šฌ๋Ÿฌ์ค˜์•ผํ•˜๋Š” ์กฐ๊ฑด์ด ์กด์žฌํ•  ๋•Œ ๊ทธ๋ฆฌ๋”” ์•Œ..

Books

์œ ๋ฐœํ•˜๋ผ๋ฆฌ - ์‚ฌํ”ผ์—”์Šค

์‚ฌํ”ผ์—”์Šค๋Š” ์ •๋ง ์ •๋ง ์˜ˆ์ „์— ์ฝ์—ˆ๋˜ ์ฑ…์ด๋‹ค!! ๊ธฐ์–ต์ด ์ž˜ ์•ˆ ๋‚˜๋ ค๊ณ  ํ•˜์ง€๋งŒ ์ง„์งœ ์žฌ๋ฐŒ๊ฒŒ ์ฝ์—ˆ๋˜ ์ฑ…์ด์–ด์„œ ๋ธ”๋กœ๊ทธ์— ๊ธฐ๋กํ•ด๋†“๊ณ  ์‹ถ์—ˆ๋‹ค!! (โ‘…´•โŒ”•`)*โœฒ๏พŸ*๏ฝก ๐Ÿ“ ์ฑ… ์†Œ๊ฐœ ์‚ฌํ”ผ์—”์Šค๋Š” ์œ ๋ฐœ ํ•˜๋ผ๋ฆฌ๊ฐ€ ์“ด ์ฑ…์ด๋‹ค. ์ธ๊ฐ„์˜ ์—ญ์‚ฌ์™€ ๋ฏธ๋ž˜์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๊ฐ€ ์“ฐ์—ฌ์žˆ๋‹ค. ์ด ์ฑ…์€ ์ด 4๋ถ€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ทธ ์•ˆ์—๋„ ์—ฌ๋Ÿฌ ์ด์•ผ๊ธฐ๊ฐ€ ๋“ค์–ด์žˆ๋‹ค. [ ๋ชฉ์ฐจ ] ์ œ1๋ถ€ ์ธ์ง€ํ˜๋ช… ๋ณ„๋กœ ์ค‘์š”์น˜ ์•Š์€ ๋™๋ฌผ ์ง€์‹์˜ ๋‚˜๋ฌด ์•„๋‹ด๊ณผ ์ด๋ธŒ๊ฐ€ ๋ณด๋‚ธ ์–ด๋Š ๋‚  ๋Œ€ํ™์ˆ˜ ์ œ2๋ถ€ ๋†์—…ํ˜๋ช… ์—ญ์‚ฌ์ƒ ์ตœ๋Œ€์˜ ์‚ฌ๊ธฐ ํ”ผ๋ผ๋ฏธ๋“œ ๊ฑด์„คํ•˜๊ธฐ ๋ฉ”๋ชจ๋ฆฌ ๊ณผ๋ถ€ํ•˜ ์—ญ์‚ฌ์— ์ •์˜๋Š” ์—†๋‹ค ์ œ3๋ถ€ ์ธ๋ฅ˜์˜ ํ†ตํ•ฉ ์—ญ์‚ฌ์˜ ํ™”์‚ด ๋ˆ์˜ ํ–ฅ๊ธฐ ์ œ๊ตญ์˜ ๋น„์ „ ์ข…๊ต์˜ ๋ฒ•์น™ ์„ฑ๊ณต์˜ ๋น„๊ฒฐ ์ œ4๋ถ€ ๊ณผํ•™ํ˜๋ช… ๋ฌด์ง€์˜ ๋ฐœ๊ฒฌ ๊ณผํ•™๊ณผ ์ œ๊ตญ์˜ ๊ฒฐํ˜ผ ์ž๋ณธ์ฃผ์˜ ๊ต๋ฆฌ ์‚ฐ์—…์˜ ๋ฐ”ํ€ด ๋์—†๋Š” ํ˜๋ช… ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋“ค์€ ํ–‰๋ณตํ•˜๊ฒŒ ์‚ด์•˜๋‹ค..

Algorithm/BOJ

๋ฐฑ์ค€(BOJ) 1931๋ฒˆ ํšŒ์˜์‹ค๋ฐฐ์ • [๊ทธ๋ฆฌ๋””(Greedy)/์•Œ๊ณ ๋ฆฌ์ฆ˜/ํŒŒ์ด์ฌ(python)]

1931๋ฒˆ: ํšŒ์˜์‹ค ๋ฐฐ์ • (1,4), (5,7), (8,11), (12,14) ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net ๋ฌธ์ œ ํ•œ ๊ฐœ์˜ ํšŒ์˜์‹ค์ด ์žˆ๋Š”๋ฐ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” N๊ฐœ์˜ ํšŒ์˜์— ๋Œ€ํ•˜์—ฌ ํšŒ์˜์‹ค ์‚ฌ์šฉํ‘œ๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๊ฐ ํšŒ์˜ I์— ๋Œ€ํ•ด ์‹œ์ž‘์‹œ๊ฐ„๊ณผ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ์ฃผ์–ด์ ธ ์žˆ๊ณ , ๊ฐ ํšŒ์˜๊ฐ€ ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ํ•˜๋ฉด์„œ ํšŒ์˜์‹ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํšŒ์˜์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ์ฐพ์•„๋ณด์ž. ๋‹จ, ํšŒ์˜๋Š” ํ•œ๋ฒˆ ์‹œ์ž‘ํ•˜๋ฉด ์ค‘๊ฐ„์— ์ค‘๋‹จ๋  ์ˆ˜ ์—†์œผ๋ฉฐ ํ•œ ํšŒ์˜๊ฐ€ ๋๋‚˜๋Š” ๊ฒƒ๊ณผ ๋™์‹œ์— ๋‹ค์Œ ํšŒ์˜๊ฐ€ ์‹œ์ž‘๋  ์ˆ˜ ์žˆ๋‹ค. ํšŒ์˜์˜ ์‹œ์ž‘์‹œ๊ฐ„๊ณผ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ๊ฐ™์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” ์‹œ์ž‘ํ•˜์ž๋งˆ์ž ๋๋‚˜๋Š” ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ํšŒ์˜์˜ ์ˆ˜ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N+1 ์ค„๊นŒ์ง€ ๊ฐ ํšŒ์˜์˜ ์ •๋ณด..

Algorithm/BOJ

๋ฐฑ์ค€(BOJ) 11000๋ฒˆ ๊ฐ•์˜์‹ค๋ฐฐ์ • [๊ทธ๋ฆฌ๋””(Greedy)/์•Œ๊ณ ๋ฆฌ์ฆ˜/ํŒŒ์ด์ฌ(python)/ํ]

11000๋ฒˆ: ๊ฐ•์˜์‹ค ๋ฐฐ์ • ์ฒซ ๋ฒˆ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 200,000) ์ดํ›„ N๊ฐœ์˜ ์ค„์— Si, Ti๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Si < Ti ≤ 109) www.acmicpc.net ๋ฌธ์ œ ์ˆ˜๊ฐ•์‹ ์ฒญ์˜ ๋งˆ์Šคํ„ฐ ๊น€์ข…ํ˜œ ์„ ์ƒ๋‹˜์—๊ฒŒ ์ƒˆ๋กœ์šด ๊ณผ์ œ๊ฐ€ ์ฃผ์–ด์กŒ๋‹ค. ๊น€์ข…ํ˜œ ์„ ์ƒ๋‹˜ํ•œํ…Œ๋Š” Si์— ์‹œ์ž‘ํ•ด์„œ Ti์— ๋๋‚˜๋Š” N๊ฐœ์˜ ์ˆ˜์—…์ด ์ฃผ์–ด์ง€๋Š”๋ฐ, ์ตœ์†Œ์˜ ๊ฐ•์˜์‹ค์„ ์‚ฌ์šฉํ•ด์„œ ๋ชจ๋“  ์ˆ˜์—…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์•ผ ํ•œ๋‹ค. ์ฐธ๊ณ ๋กœ, ์ˆ˜์—…์ด ๋๋‚œ ์งํ›„์— ๋‹ค์Œ ์ˆ˜์—…์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. (์ฆ‰, Ti ≤ Sj ์ผ ๊ฒฝ์šฐ i ์ˆ˜์—…๊ณผ j ์ˆ˜์—…์€ ๊ฐ™์ด ๋“ค์„ ์ˆ˜ ์žˆ๋‹ค.) ์ˆ˜๊ฐ•์‹ ์ฒญ ๋Œ€์ถฉํ•œ ๊ฒŒ ์ฐ”๋ฆฌ๋ฉด, ์„ ์ƒ๋‹˜์„ ๋„์™€๋“œ๋ฆฌ์ž! ์ž…๋ ฅ ์ฒซ ๋ฒˆ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 200,000) ์ดํ›„ N๊ฐœ์˜ ์ค„์— Si, Ti๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Si < ..

๊ธฐํƒ€

ํ‹ฐ์Šคํ† ๋ฆฌ ์ฝ”๋“œ๋ธ”๋Ÿญ [ ์ฝ”๋“œ๋ธ”๋Ÿญ ํ…Œ๋‘๋ฆฌ ์—†์• ๊ธฐ ] โ€ผโ€ผ๐Ÿ€

ํ‹ฐ์Šคํ† ๋ฆฌ์— ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด์„œ ํ•ญ์ƒ ๊ฑฐ์Šฌ๋ ธ๋˜ ๊ฑฐ!!! ๋ฐ”๋กœ ์ฝ”๋“œ ๋ธ”๋ก์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ๋‚˜๋ฉด ์‚ฌ์ง„์ฒ˜๋Ÿผ ์ฝ”๋“œ ์ฃผ๋ณ€์— ํ…Œ๋‘๋ฆฌ๊ฐ€ ์ƒ๊ธด๋‹ค๋Š” ๊ฒƒ... ์ฝ”๋“œ๊ฐ€ ํ•œ๋‘ ๊ฐœ๋ฉด ๊ดœ์ฐฎ์€๋ฐ ์—ฌ๋Ÿฌ ๊ฐœ ์ž‘์„ฑํ•˜๋‹ˆ๊นŒ ์ง„์งœ ์•ˆ ๊ฑฐ์Šฌ๋ฆด ์ˆ˜๊ฐ€ ์—†์–ด์„œ ์—†์• ๋ณด๊ธฐ๋กœ ๊ฒฐ์ •!! html์ด๋ž‘ css๋ฅผ ์ž˜ํ•  ์ค„์€ ๋ชจ๋ฅด์ง€๋งŒ ๋ถ„๋ช… margin์ด๋‚˜ padding๊ฐ’ ๋•Œ๋ฌธ์— ์ €๋Ÿด ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  htmlํŽธ์ง‘๊ธฐ์— ๋“ค์–ด๊ฐ”๋Š”๋ฐ ์•„๋ฌด๋ฆฌ ์ฐพ์•„๋„ ์ฝ”๋“œ์— ๊ด€๋ จ๋œ ๋‚ด์šฉ์€ ์•ˆ๋ณด์˜€๋‹ค....(๋‚ด๊ฐ€ ์ž˜ ๋ชปํ•ด์„œ ๊ทธ๋Ÿฌ๋Š” ๊ฑด ๋งž๋‹คใ… ใ… ) ๊ตฌ๊ธ€์— ๊ฒ€์ƒ‰๋„ ํ•ด๋ณด๊ณ  ๋”ฐ๋ผ๋„ ํ•ด๋ดค์ง€๋งŒ ์ „ํ˜€ ์ ์šฉ์ด ๋˜์ง€ ์•Š์•˜๊ณ  (๊ฒ€์ƒ‰ํ•ด๋„ ์ž˜ ์•ˆ ๋‚˜์˜ด ๐Ÿ˜ฅ ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ๊ฐ€ ๋ณ„๋กœ ์—†๋‚˜,,,) ๊ฒจ์šฐ๊ฒจ์šฐ ์ด๊ฒƒ์ €๊ฒƒ ํ•˜๋‹ค๊ฐ€ ์กฐ์˜ค๊ธˆ..? ํ•ด๊ฒฐํ–ˆ๋‹ค! ๋ธ”๋กœ๊ทธ ์„ค์ •์—์„œ ๊พธ๋ฏธ๊ธฐ ๐Ÿ‘‰ ์Šคํ‚จ ํŽธ์ง‘์— ๋“ค์–ด๊ฐ„๋‹ค. html ํŽธ์ง‘ ๐Ÿ‘‰ css ํŽธ์ง‘์— ..

Spring

Spring ์„œ๋ธ”๋ฆฟ [HttpServletRequest/HttpServletResponse]

spring mvc๊ฐ•์˜๋ฅผ ๋“ฃ๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค! mvc๋ฅผ ๋ฐฐ์šฐ๊ธฐ ์ „์— ์„œ๋ธ”๋ฆฟ๋ถ€ํ„ฐ ๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ณด๋Š”๋ฐ ์ž˜ ์ดํ•ดํ•œ ๊ฑด์ง€๋Š” ๋ชจ๋ฅด๊ฒ ๋‹ค...! ์ด๋ฒˆ์—๋Š” ์„œ๋ธ”๋ฆฟ์„ ์ด์šฉํ•ด์„œ ์‚ดํŽด๋ณธ ์š”์ฒญ๊ณผ ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ•ด๋ณด๊ณ  ์ž‘๋™ ์›๋ฆฌ๋ฅผ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๐ŸŒ  ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ ์„œ๋ธ”๋ฆฟ์„ ์ง์ ‘ ๋“ฑ๋กํ•ด์„œ ์“ฐ๋ ค๋ฉด ์–ด๋…ธํ…Œ์ด์…˜์„ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค. @ServletComponentScan //์„œ๋ธ”๋ฆฟ ์ž๋™ ๋“ฑ๋ก [ ์„œ๋ธ”๋ฆฟ ๋“ฑ๋กํ•˜๊ธฐ ] @WebServlet(name="", urlPatterns = "/") name : ์„œ๋ธ”๋ฆฟ ์ด๋ฆ„ urlPatterns : URL ๋งคํ•‘ [ HttpServletRequest ] ๋จผ์ € http ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ดํŽด๋ณด์ž๋ฉด. POST /save HTTP/1.1 Host: localhost:8080 Content-Type: app..

Network

HTTP ํ—ค๋” [ํ˜‘์ƒ/์ „์†ก/์ฟ ํ‚ค]

๐Ÿ‘‰ HTTP ํ—ค๋”์˜ ์šฉ๋„ HTTP ์ „์†ก์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ถ€๊ฐ€์ •๋ณด ํ•„์š”์‹œ ์ž„์˜์˜ ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. Ex) ๋ฉ”์‹œ์ง€ ๋ฐ”๋””์˜ ๋‚ด์šฉ, ๋ฉ”์‹œ์ง€ ๋ฐ”๋Œ€์˜ ํฌ๊ธฐ, ์••์ถ•, ์ธ์ฆ, ์„œ๋ฒ„ ์ •๋ณด ๋“ฑ๋“ฑ์ด ํฌํ•จ๋˜์–ด์žˆ๋‹ค. ๐Ÿ‘‰ HTTP์˜ ํ‘œํ˜„ ํ˜•์‹ field-name":" OWS field-value OWS (OWS๋Š” ๋„์–ด์“ฐ๊ธฐ ํ—ˆ์šฉ์ด๋ผ๋Š” ๋œป) ๐Ÿ‘‰ ๊ณผ๊ฑฐ์˜ HTTP ํ—ค๋” (RFC2616) General ํ—ค๋” : ๋ฉ”์‹œ์ง€ ์ „์ฒด์— ์ ์šฉ๋˜๋Š” ์ •๋ณด ( ex) Connectiond : close ) Request ํ—ค๋” : ์š”์ฒญ ์ •๋ณด ( ex) User-Agent: Mozilla/5.0 (Macintosh;... ) Response ํ—ค๋” : ์‘๋‹ต ์ •๋ณด ( ex) Server: Apache ) Entity ํ—ค๋” : ์—”ํ‹ฐํ‹ฐ ๋ฐ”๋”” ์ •๋ณด ( ex) C..

DAHLIA CHOI
๐ŸŒผ dali's log ๐ŸŒผ