[๐Ÿ’ป์•Œ๊ณ ๋ฆฌ์ฆ˜] Time Complexity(์‹œ๊ฐ„ ๋ณต์žก๋„)

    ์ทจ์—…์„ ์œ„ํ•ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ค€๋น„ํ•˜๊ธฐ ์ „, "ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜"์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์„ ํ•ด๋ณด์•˜๋‹ค. ์•„๋ž˜ ๊ธ€์€ ์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ทธ์™€ ์ธํ”„๋Ÿฐ์˜ 'Do it! ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ with JAVA' ๊ฐ•์˜๋ฅผ ๋ณด๊ณ  ๋‚ด๋ฆฐ ๋‹ต์ด๋‹ค. ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ณ ๋ฏผํ•œ๋‹ค๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ง์ด๋‹ค. ๐ŸŒˆ์‹œ๊ฐ„๋ณต์žก๋„ "๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋กœ์ง์„ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•  ๋•Œ, ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ณ ๋ คํ•œ๋‹ค๋Š” ๊ฒƒ"์€ ๋ฌด์Šจ ์˜๋ฏธ์ผ๊นŒ? ์ž…๋ ฅ๊ฐ’์˜ ๋ณ€ํ™”์— ๋”ฐ๋ผ ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•  ๋•Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜์— ๋น„ํ•ด ์‹œ๊ฐ„์ด ์–ผ๋งˆ๋งŒํผ ๊ฑธ๋ฆฌ๋Š”๊ฐ€๋ฅผ ๊ณ ๋ คํ•œ๋‹ค๋Š” ์˜๋ฏธ๋ผ๊ณ  ํ•„์ž๋Š” ์ƒ๊ฐํ•œ๋‹ค. ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค๋Š” ๊ฒƒ์€ ๋‹ค์‹œ ๋งํ•ด ์ž…๋ ฅ ๊ฐ’์ด ์ปค์ง์— ๋”ฐ๋ผ ์ฆ๊ฐ€ํ•˜๋Š” ์‹œ๊ฐ„์˜ ๋น„์œจ์„ ์ตœ์†Œํ™”ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌ์„ฑํ•˜์˜€๋‹ค๋Š” ์ด์•ผ๊ธฐ์ด๋‹ค. ๐ŸŒˆB..

    PRG(POST-Redirect-GET) ํŒจํ„ด

    ๐Ÿ’ก PRG ํŒจํ„ด์ด๋ž€? ์›น MVC ๊ตฌ์กฐ์—์„œ ํ”ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ„ด์œผ๋กœ, HTTP POST ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์ด ๋˜ ๋‹ค๋ฅธ URL๋กœ์˜ GET ์š”์ฒญ์„ ์œ„ํ•œ Redirect์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, POST ๋ฐฉ์‹์œผ๋กœ ์˜จ ์š”์ฒญ์— ๋Œ€ํ•ด์„œ GET ๋ฐฉ์‹์˜ ์›นํŽ˜์ด์ง€๋กœ Redirect ์‹œํ‚ค๋Š” ํŒจํ„ด์„ ๋งํ•œ๋‹ค. ๐Ÿ’ก PRG ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์  ์ƒˆ๋กœ๊ณ ์นจ์œผ๋กœ ์ธํ•œ ๋™์ผํ•œ ์š”์ฒญ์ด ์—ฐ์†์ ์œผ๋กœ ๋ณด๋‚ด์ง€๋Š” ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋งŒ์•ฝ ์ด ์ด์Šˆ๊ฐ€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋กœ์ง์ด ์žˆ๋Š” ๋ถ€๋ถ„์ด๋ผ๋ฉด ์ƒ๊ด€์—†๊ฒ ์ง€๋งŒ ๊ฒฐ์ œ ๊ฐ™์€ ์ค‘์š”ํ•œ ๋กœ์ง์—์„œ๋Š” ์ค‘๋ณต ๊ฒฐ์ œ๊ฐ€ ์ผ์–ด๋‚˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. POST ์š”์ฒญ์€ URL์„ ๋ณต์‚ฌํ•˜๋”๋ผ๋„ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ๊ณต์œ ํ•  ์ˆ˜ ์—†๋‹ค. POST ์š”์ฒญ์„ ๋ณด๋‚ด๊ฒŒ ๋˜๋ฉด Parameter ๊ฐ’๋“ค์ด URL์— ๋‚จ๊ฒจ์žˆ์ง€ ์•Š๊ธฐ์— ํŠน์ • Par..

    [โœํ˜ผ์ž์„œ ์Šคํ”„๋ง ๊ณต๋ถ€ํ•˜๊ธฐ] 3์ผ์ฐจ - ์›น MVC ๊ฐœ๋ฐœ(ํšŒ์› ๊ด€๋ฆฌ ์˜ˆ์ œ)

    ์•ž์„œ ๊ตฌ์„ฑํ•œ MVC ํŒจํ„ด์— ๋งž๊ฒŒ ํšŒ์› ๊ฐ€์ž…๊ณผ ์กฐํšŒ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜์˜€๋‹ค. https://github.com/jiholee0/hello-spring GitHub - jiholee0/hello-spring: SPRING ๊ณต๋ถ€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ SPRING ๊ณต๋ถ€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ. Contribute to jiholee0/hello-spring development by creating an account on GitHub. github.com Controller (controller/MemberController.java) package hello.hellospring.controller; import hello.hellospring.domain.Member; import hello.hellospring.service.Mem..

    [โœํ˜ผ์ž์„œ ์Šคํ”„๋ง ๊ณต๋ถ€ํ•˜๊ธฐ] 3์ผ์ฐจ - ์Šคํ”„๋ง ๋นˆ๊ณผ ์˜์กด๊ด€๊ณ„

    https://github.com/jiholee0/hello-spring GitHub - jiholee0/hello-spring: SPRING ๊ณต๋ถ€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ SPRING ๊ณต๋ถ€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ. Contribute to jiholee0/hello-spring development by creating an account on GitHub. github.com [์Šคํ”„๋ง ๋นˆ์„ ๋“ฑ๋กํ•˜๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•] 1. ์ปดํฌ๋„ŒํŠธ ์Šค์บ”๊ณผ ์ž๋™ ์˜์กด๊ด€๊ณ„ ์„ค์ • 2. ์ž๋ฐ” ์ฝ”๋“œ๋กœ ์ง์ ‘ ์Šคํ”„๋ง ๋นˆ ๋“ฑ๋ก ์‹ค๋ฌด์—์„œ๋Š” ์ฃผ๋กœ ์ •ํ˜•ํ™”๋œ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค, ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๊ฐ™์€ ์ฝ”๋“œ๋Š” ์ปดํฌ๋„ŒํŠธ ์Šค์บ”์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ •ํ˜•ํ™” ๋˜์ง€ ์•Š๊ฑฐ๋‚˜, ์ƒํ™ฉ์— ๋”ฐ๋ผ ๊ตฌํ˜„ ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋ฉด ์„ค์ •์„ ํ†ตํ•ด ์Šคํ”„๋ง ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•œ๋‹ค. 1. ์ปดํฌ๋„ŒํŠธ ์Šค์บ”๊ณผ ์ž๋™ ์˜์กด๊ด€๊ณ„ ..

    ์„œ๋ธ”๋ฆฟ(Servlet)๊ณผ JSP(Java Server Pages)์˜ ๊ฐœ๋… ๋ฐ ์ฐจ์ด

    Servlet๊ณผ JSP๋Š” Java EE์˜ ์—ฌ๋Ÿฌ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜์ด๋‹ค. Java EE(Enterprise Edition)๋ž€? ๊ธฐ์—…์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์ ํ•ฉํ•œ ์ž๋ฐ” ๊ฐœ๋ฐœ ๋ฒ„์ „์„ ์˜๋ฏธํ•˜๋ฉฐ, Java EE์˜ ์ŠคํŽ™์—๋Š” Servlet, JSP, EJB(Enterprise Java Beans) ๋“ฑ์ด ์žˆ๋‹ค. ์ฐธ๊ณ  : https://doozi316.github.io/java/2020/07/01/WEB20/ 1. Servlet ์„œ๋ธ”๋ฆฟ์€ ์„œ๋ฒ„์—์„œ ์›นํŽ˜์ด์ง€ ๋“ฑ์„ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฐ”๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ฆ‰, ์„œ๋ฒ„์—์„œ ๋™์ ์œผ๋กœ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” API๋“ค์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ Java ์ฝ”๋“œ ์•ˆ์— HTML ํƒœ๊ทธ๊ฐ€ ์‚ฝ์ž…๋˜๋ฉฐ, ์ž๋ฐ” ์–ธ์–ด๋กœ ๋˜์–ด์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ..

    [โœํ˜ผ์ž์„œ ์Šคํ”„๋ง ๊ณต๋ถ€ํ•˜๊ธฐ] 2์ผ์ฐจ - ํšŒ์› ๊ด€๋ฆฌ ์˜ˆ์ œ๋กœ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœํ•ด๋ณด๊ธฐ

    https://github.com/jiholee0/hello-spring GitHub - jiholee0/hello-spring: SPRING ๊ณต๋ถ€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ SPRING ๊ณต๋ถ€ ๋ ˆํฌ์ง€ํ† ๋ฆฌ. Contribute to jiholee0/hello-spring development by creating an account on GitHub. github.com 1. ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ ์ •๋ฆฌ 2. ํšŒ์› ๋„๋ฉ”์ธ๊ณผ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋งŒ๋“ค๊ธฐ 3. ํšŒ์› ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ 4. ํšŒ์› ์„œ๋น„์Šค ๊ฐœ๋ฐœ 5. ํšŒ์› ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ 1. ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์‚ฌํ•ญ ์ •๋ฆฌ - ๋ฐ์ดํ„ฐ : ํšŒ์› ID, ์ด๋ฆ„ - ๊ธฐ๋Šฅ : ํšŒ์› ๋“ฑ๋ก, ์กฐํšŒ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ๊ตฌ์กฐ - ์ปจํŠธ๋กค๋Ÿฌ : ์›น MVC์˜ ์ปจํŠธ๋กค๋Ÿฌ ์—ญํ•  - ์„œ๋น„์Šค : ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ตฌํ˜„ ..

    [โœํ˜ผ์ž์„œ ์Šคํ”„๋ง ๊ณต๋ถ€ํ•˜๊ธฐ] 2์ผ์ฐจ - ์Šคํ”„๋ง ์›น ๊ฐœ๋ฐœ ๊ธฐ์ดˆ(์ •์  ์ปจํ…์ธ , MVC์™€ ํ…œํ”Œ๋ฆฟ ์—”์ง„, API)

    1. ์ •์  ์ปจํ…์ธ  : Welcome Page์ฒ˜๋Ÿผ ์„œ๋ฒ„์—์„œ ๋ณ„๋„์˜ ๋™์ž‘ ์—†์ด ํŒŒ์ผ์„ ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์ „์†ก 2. MVC์™€ ํ…œํ”Œ๋ฆฟ ์—”์ง„ : ๋™์  ์ปจํ…์ธ ๋ฅผ ์ „์†ก 3. API : JSON ๋ฐ์ดํ„ฐ ํฌ๋งท์œผ๋กœ ์ „์†ก 1. ์ •์  ์ปจํ…์ธ  ๋ง ๊ทธ๋Œ€๋กœ ์ˆœ์ˆ˜ HTML๋กœ ์ด๋ฃจ์–ด์ง„ ํŒŒ์ผ์„ ์„œ๋ฒ„๊ฐ€ ๋”ฐ๋กœ ๋ Œ๋”๋ง ์—†์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. Spring์—์„œ๋Š” ์ •์  ์ฝ˜ํ…์ธ ๋ฅผ /static ํด๋”์—์„œ ๋‹ค๋ฃฌ๋‹ค. 1. ์‚ฌ์šฉ์ž๊ฐ€ ์ •์  ํŽ˜์ด์ง€(hello.html)๋ฅผ ์š”์ฒญ 2. Spring Boot์˜ ๋‚ด์žฅ ํ†ฐ์ผ“ ์„œ๋ฒ„๊ฐ€ ์ด๋ฅผ Spring Container์—๊ฒŒ ์ „๋‹ฌ 3. Spring Container๋Š” ํŽ˜์ด์ง€์— ํ•ด๋‹นํ•˜๋Š” Controller๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ 4. ์—†๋‹ค๋ฉด resources ํด๋”์˜ static/hello.html์ด ์žˆ๋Š”์ง€ ์ฐพ๊ณ ..

    HTTP์™€ HTTPS

    ๋ธŒ๋ผ์šฐ์ €์˜ ์š”์ฒญ๊ณผ ์„œ๋ฒ„์˜ ์‘๋‹ต ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ๊ทœ์•ฝ์„ 'ํ”„๋กœํ† ์ฝœ(protocol)'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์›น์—์„œ๋Š” HTTP(Hyper Text Transfer Protocol), HTTPS์˜ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Šต๋‹ˆ๋‹ค. (HTTPS๋Š” HTTP์˜ ๋ณด์•ˆ ๊ฐ•ํ™” ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.) ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด? ํ”„๋กœํ† ์ฝœ ์ •์˜, ๊ธฐ๋ณธ ์š”์†Œ, ์ข…๋ฅ˜, ๊ธฐ๋Šฅ ๐Ÿ“Œ ํ”„๋กœํ† ์ฝœ์ด๋ž€? ํ”„๋กœํ† ์ฝœ(Protocol)์€ ์ปดํ“จํ„ฐ๋‚˜ ๋„คํŠธ์›Œํฌ ์žฅ๋น„๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธ๋ฆฌ ์ •ํ•ด ๋†“์€ ์•ฝ์† ๋˜๋Š” ๊ทœ์•ฝ์„ ๋งํ•œ๋‹ค. ๐ŸŒŸ ํ”„๋กœํ† ์ฝœ์˜ ๊ธฐ๋ณธ ์š”์†Œ ๊ตฌ๋ฌธ(Syntax) : ์ „์†กํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ easyhomputer.tistory.com ๐Ÿ“Œ HTTP(Hyper Text Transfer Protocol) HTTP(Hyper Text Transfer P..

    [โœํ˜ผ์ž์„œ ์Šคํ”„๋ง ๊ณต๋ถ€ํ•˜๊ธฐ] 1์ผ์ฐจ - ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ์œˆ๋„์šฐ cmd ์ฐฝ์—์„œ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ

    ํ•„์ž๋Š” Window๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•ด๋ณด๊ธฐ ์œ„ํ•ด์„œ Window PowerShell์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ๋จผ์ € cd ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ž…๋ ฅํ•œ๋‹ค. ./gradlew build # ๋นŒ๋“œ cd build/libs java -jar hello-spring-0.0.1-SNAPSHOT.jar # jar ํŒŒ์ผ ์‹คํ–‰ ๊ทธ๋Ÿฌ๋ฉด ์จ”์ŸŒ~

    [โœํ˜ผ์ž์„œ ์Šคํ”„๋ง ๊ณต๋ถ€ํ•˜๊ธฐ] 1์ผ์ฐจ - View ์„ค์ •

    ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‚œ ์งํ›„์—๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•œ ํ›„ localhost์— ์ ‘์†ํ•˜๋ฉด Error ํŽ˜์ด์ง€๋งŒ ๋œฌ๋‹ค. (์ด์ „ ๊ฒŒ์‹œ๋ฌผ ์ฐธ๊ณ ) ์ด๋ฒˆ์—๋Š” ์—๋Ÿฌ ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ ์‹ค์ œ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ํŽ˜์ด์ง€๋ฅผ ๋„์›Œ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ๋Š” Welcome Page ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, src/main/resources/static/index.html์— ์›ํ•˜๋Š” html ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฝ์–ด๋ณด๋ฉด, http://localhost:8080์œผ๋กœ ์ ‘์†ํ•  ๋•Œ static์—์„œ ์ž๋™์œผ๋กœ index.html์„ ์ฐพ์•„ ๋„์›Œ์ค€๋‹ค๊ณ  ํ•œ๋‹ค. (https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-fea..

    [โœํ˜ผ์ž์„œ ์Šคํ”„๋ง ๊ณต๋ถ€ํ•˜๊ธฐ] 1์ผ์ฐจ - ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

    ์Šคํ”„๋ง ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด์„œ ์Šคํ”„๋ง ๋ถ€ํŠธ ์Šคํƒ€ํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค. https://start.spring.io ์‚ฌ์ดํŠธ๋กœ ๊ฐ€์„œ ๋ณธ์ธ์—๊ฒŒ ๋งž๋Š” ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ์„ ์„ ํƒํ•˜๊ณ  ์›ํ•˜๋Š” dependencies๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ "GENERATE" ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋์ด๋‹ค. ์ง„์งœ ๋„ˆ๋ฌด ๊ฐ„๋‹จํ•˜๋‹ค.. > Project: Gradle - Groovy Project > Spring Boot: 2.7.10 > Language: Java > Packaging: Jar > Java: 8 > Dependencies: Spring Web, Thymeleaf ๐Ÿ“Œ ํ•„์ž๋Š” ๋นŒ๋“œ ๋„๊ตฌ๋กœ Gradle์„ ์„ ํƒํ–ˆ๋‹ค. ๊ธฐ์กด์—๋Š” maven์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋‹ค๊ณ ๋“ค ํ•˜๋Š”๋ฐ, ํ•„์ž๊ฐ€ spring์„ ๊ณต๋ถ€ํ•  ๋•Œ์ฏค์—๋Š” ์ด๋ฏธ gradle์ด ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๋Š” ์ด์œ ..

    ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„์˜ ๊ด€๊ณ„ - ์š”์ฒญ๊ณผ ์‘๋‹ต, GET/POST ๋ฐฉ์‹, ์ •์ /๋™์  ๋ฐ์ดํ„ฐ

    ๐Ÿ“Œ Request(์š”์ฒญ)์™€ Reponse(์‘๋‹ต) ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„๋Š” ์š”์ฒญ๊ณผ ์‘๋‹ต์ด๋ผ๋Š” ๋™์ž‘์œผ๋กœ ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค. Request : ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„œ๋ฒ„์—๊ฒŒ ํŠน์ •ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ. Reponse : ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ๋ณด๋‚ด๋Š” ๊ฒƒ. ๐Ÿ“Œ GET/POST ๋ฐฉ์‹ ์ฃผ๋กœ ๋ธŒ๋ผ์šฐ์ €๋Š” GET/POST ๋ฐฉ์‹์„ ์ด์šฉํ•˜์—ฌ Request(์š”์ฒญ)ํ•ฉ๋‹ˆ๋‹ค. GET ๋ฐฉ์‹ : ์ฃผ์†Œ์ฐฝ์— ์ง์ ‘ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ ๊ฑฐ๋‚˜ ๋งํฌ๋ฅผ ํด๋ฆญํ•ด์„œ ํ˜ธ์ถœ ์›ํ•˜๋Š” ์›น์˜ ์ฃผ์†Œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ "?"์™€ "&,="๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ™์ด ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์†Œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๊ฐ™์ด ๋ณด๋‚ด๋ฏ€๋กœ ๋‹จ์ˆœ ๋งํฌ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, ์ฃผ์†Œ ์•ˆ์— ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. GET๋ฐฉ์‹์€ ์ฃผ๋กœ ํŠน์ •ํ•œ..