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

์ „์ฒด ๊ธ€114

[Spring] ์Šคํ”„๋ง MVC ๊ตฌ์กฐ DispatcherServlet ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด์ž DispatcherServlet๋„ ๋ถ€๋ชจ ํด๋ž˜์Šค์—์„œ HttpServlet์„ ์ƒ์†๋ฐ›์•„์„œ ์‚ฌ์šฉํ•˜๊ณ , ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. DispatcherServlet -> FrameworkServlet -> HttpServleBean -> HttpServlet ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” DispathcherServlet์„ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ์ž๋™ ๋“ฑ๋กํ•˜๋ฉด์„œ ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ "/"์— ๋Œ€ํ•ด์„œ ๋งคํ•‘ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋” ์ž์„ธํ•œ ๊ฒฝ๋กœ์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’๋‹ค. ์š”์ฒญ ํ๋ฆ„ โœจโœจโœจ ์„œ๋ธ”๋ฆฟ์ด ํ˜ธ์ถœ๋˜๋ฉด Httpservlet์ด ์ œ๊ณตํ•˜๋Š” service()๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค. ์Šคํ”„๋ง MVC๋Š” DispathcerServlet์˜ ๋ถ€๋ชจ์ธ FrameworkServlet์—์„œ service()๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•ด๋‘์—ˆ๋‹ค. FrameworkServlet... 2023. 8. 7.
[Spring] ์„œ๋ธ”๋ฆฟ(servlet) aka. MVC ๊ตฌ๋ฒ„์ „ ์„œ๋ธ”๋ฆฟ์€ ์ž๋ฐ” ์–ธ์–ด๋ฅผ ๊ธฐ๋ฐ”๋Šฅ๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์›น ์„œ๋ฒ„์—์„œ ๋™์ž‘ํ•˜๋Š” ์ž๋ฐ” ํด๋ž˜์Šค๋กœ, ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „์†กํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. @WebServlet : ์„œ๋ธ”๋ฆฟ ์• ๋…ธํ…Œ์ด์…˜ name : ์„œ๋ธ”๋ฆฟ ์ด๋ฆ„ urlPatterns : URL ๋งคํ•‘ ์˜ˆ ) @WebServlet(name = "helloServlet", urlPatterns = "/hello") HTTP์š”์ฒญ์„ ํ†ตํ•ด ๋งคํ•‘๋œ URL์ด ํ˜ธ์ถœ๋˜๋ฉด ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋Š” ๋‹ค์Œ ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. protected void service(HttpServletRequest request, HttpServletResponse response) HttpServletRequest ์—ญํ•  HTTP ์š”์ฒญ .. 2023. 8. 3.
[Spring] ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ดํ•ด... ์›น์€ HTTP ๊ธฐ๋ฐ˜์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋กœ ๋‚˜๋‰˜์–ด ์žˆ๋‹ค๋Š” ๋ง์ด๋‹ค.. HTTP ๋ฉ”์‹œ์ง€๋กœ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค. HTML, TEXT ์ด๋ฏธ์ง€, ์Œ์„ฑ, ์˜์ƒ, ํŒŒ์ผ JSON, XML (API) ๊ฑฐ์˜ ๋ชจ๋“  ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ€๋Šฅ ์„œ๋ฒ„๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ๋„ ๋Œ€๋ถ€๋ถ„ HTTP ์‚ฌ์šฉ ์›น ์„œ๋ฒ„(Web Server) HTTP ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ ์ •์  ๋ฆฌ์†Œ์Šค ์ œ๊ณต, ๊ธฐํƒ€ ๋ถ€๊ฐ€๊ธฐ๋Šฅ ์ •์ (ํŒŒ์ผ) HTML, CSS, JS, ์ด๋ฏธ์ง€, ์˜์ƒ ์˜ˆ) NGINX, APACHE ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS - Web Application Server) HTTP ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ ์›น ์„œ๋ฒ„ ๊ธฐ๋Šฅ ํฌํ•จ (์ •์  ๋ฆฌ์†Œ์Šค ์ œ๊ณต ๊ฐ€๋Šฅ) ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง ์ˆ˜ํ–‰ ๋™์  HTML, HTTP API(JSON) ์„œ๋ธ”๋ฆฟ.. 2023. 8. 1.
[DP][๋ฐฑ์ค€] 9095 - 1, 2, 3 ๋”ํ•˜๊ธฐ + DP ์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐํ•ด๋ณด๊ธฐ... dp ๋ฌธ์ œ๋Š” ๊ตฌํ˜„์—์„œ ์• ๋ฅผ ๋จน์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿผ dp์—์„œ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์€ ๋ฌด์—‡์ด๋ƒ... ๋ฐ”๋กœ ์•„์ด๋””์–ด์™€ ๋ฐœ์ƒ์ด๋‹ค! ๊ทธ๋ฆฌ๊ณ  ์ œ์ผ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์€ ์ด ๋ฌธ์ œ๊ฐ€ DP ๋ฌธ์ œ์ธ์ง€ ์•Œ์•„ ์ฐจ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค!!! ์š”์ฆ˜ dp ๋ฌธ์ œ๋ฅผ ์ค‘์ ์ ์œผ๋กœ ํ’€์–ด๋ณด๊ณ  ์žˆ๋Š”๋ฐ, ์•ž์˜ ํ•ญ๊ณผ ๋’ค์— ํ•ญ์˜ ์—ฐ๊ด€์„ฑ์ด ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ณ  ์—ฐ๊ด€์„ฑ์ด ์žˆ์œผ๋ฉด dp๋ฌธ์ œ๋ผ๊ณ  ๊ฑฐ์ฆŒ ์ƒ๊ฐํ•˜๊ณ  ํ‘ผ๋‹ค! ์ด๋ ‡๊ฒŒ ์•ž์˜ ํ•ญ๊ณผ ๋’ค์˜ ํ•ญ ์‚ฌ์ด์— ์—ฐ๊ด€์„ฑ์ด ์žˆ๋Š”๊ฒƒ์„ ์ ํ™”์‹์ด ์žˆ๋‹ค! ๋ผ๊ณ  ๋‚˜๋Š” ํ‘œํ˜„ํ•œ๋‹ค. ๋™์ ๊ณ„ํš๋ฒ•(DP)์€ ๋ฌธ์ œ๋ฅผ ์ชผ๊ฐœ์„œ ์ž‘์€ ๋ฌธ์ œ์˜ ๋‹ต์„ ๊ตฌํ•˜๊ณ , ๊ทธ๊ฑธ๋กœ ๋” ํฐ ๋ฌธ์ œ์˜ ๋‹ต์„ ๊ตฌํ•˜๋Š”๊ฒƒ์„ ๋ฐ˜๋ณตํ•˜๋Š” ๋ถ„ํ• ์ •๋ณต๊ณผ ๋น„์Šทํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ด ๋ฌธ์ œ๊ฐ€ DP ๋ฌธ์ œ๋ผ๋Š”๊ฒƒ์„ ์•Œ์•„์ฑˆ ์ดํ›„์—๋Š”, ์ด ๋ฌธ์ œ์˜ ์ ํ™”์‹์„ ์ฐพ๊ณ  ๊ตฌํ˜„ํ•ด๋‚ด๋ฉด๋œ๋‹ค! ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋‘๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. Top-down : ์žฌ๊ท€(ํ•จ์ˆ˜)๋ฅผ.. 2023. 7. 31.