๐ BackEnd/๐ spring
2022.06.17
gradle 7 ๋ฒ์ ์ด์๋ถํฐ๋ compile, runtime ์ฌ์ฉ ๋ถ๊ฐ compile ๋ implementation์ผ๋ก runtime ์ runtimOnly๋ก ๋์ฒด * ์ฐธ๊ณ https://github.com/jwtk/jjwt/pull/664 Update installation in gradle 7+ by wkdalsgh192 ยท Pull Request #664 ยท jwtk/jjwt The compile and runtime dependency has been deprecated and finally not supported from Gradle 7+. So, I updated the installation part in readme.md for the users with the latest versio..
๐ BackEnd/๐ spring
2022.06.09
๋ฌธ์ ์ํฉ SPA(Single Page Application)๋ ๋ง ๊ทธ๋๋ก ๋จ์ผ ํ์ด์ง์ ๋์ ์ผ๋ก ๋ด์ฉ์ ๋ณ๊ฒฝํ์ฌ ์น ํ์ด์ง๋ฅผ ๊ตฌ์ฑํ๋ค. SPA์ ๋ชจ๋ ๊ฒฝ๋ก๋ ๊ฒฐ๊ตญ ๋จ์ผ ํ์ด์ง(index.html)๋ก ํฅํ๊ฒ ๋์ด์๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๊ฒฝ๋ก์์ ์๋ก๊ณ ์นจ์ ํ๋ค๋ฉด ๊ทธ ๊ฒฝ๋ก๋ก GET ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ๊ณผ ๊ฐ๊ธฐ ๋๋ฌธ์ 404 ํด๋น ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ์ ์๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ฆ, vue.js์์ ๋ผ์ฐํ
์ ํตํด ํ์ด์ง ์ด๋์ ํ์ง ์๊ณ ๋ธ๋ผ์ฐ์ ์ฃผ์ ์ฐฝ์ ์ง์ ๊ฒฝ๋ก๋ฅผ ์
๋ ฅํ๊ฑฐ๋ ์๋ก๊ณ ์นจ์ ํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ ๋ป์ด๋ค. ์๋ฅผ๋ค์ด http://localhost:8080/host๊ฒฝ๋ก๋ฅผ ๋ทฐ์ ๋ผ์ฐํ
๊ธฐ๋ฒ์ ์ฐ๋ฉด /host์ ๋งคํ๋๋ ์ปดํฌ๋ํธ(ํ์ด์ง)๋ฅผ ๊ฐ์ ธ์ ํ๋ฉด์ ๋์ด๋ค. ํ์ง๋ง ์์ ๊ฒฝ๋ก๋ฅผ ์ฃผ์์ฐฝ์ ์ง์ ์
๋ ฅํ๊ฑฐ๋ ์ ๊ฒฝ๋ก์์ ..
๐ BackEnd/๐ spring
2022.04.26
Spring MVC ๊ตฌ์กฐ์์๋ DispatcherServlet์ด ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ ํด๋น ์์ฒญ์ ์ฒ๋ฆฌํ๋ ํธ๋ค๋ฌ๋ฅผ ํธ์ถํ๋ค. ๊ทธ๋ฐ ํ ์์ฒญ์ ์ฒ๋ฆฌํ ํธ๋ค๋ฌ๋ก๋ถํฐ ๋ฐ์ ๊ฒฐ๊ณผ๋ก ๋ทฐ๋ฅผ ๋ ๋๋งํ๋ค. ๋ทฐ๋ฅผ ๋ ๋๋งํ๊ธฐ ์ ์ ๋ทฐ ๋ฆฌ์กธ๋ฒ๋ฅผ ํตํด์ ์ํ๋ ๋ทฐ๋ฅผ ์ฐพ์์ผ ํ๋๋ฐ, ๊ทธ๋ ๊ฒ ํ๊ธฐ ์ํด์ ํธ๋ค๋ฌ๋ ModelAndView ํ์
์ ๋ฐํํด์ผ ํ๋ค. ์ฆ, DispatcherServlet์ ModelAndViewํ์
์ ํธ๋ค๋ฌ๋ก๋ถํฐ ๋ฐ์์ผ ํ๋ค. ์ฌ๊ธฐ์ ํธ๋ค๋ฌ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์ปจํธ๋กค๋ฌ๋ค. spring์์๋ @controller๋ฅผ ์ ์ฉํ ๊ฐ์ฒด ๋๋ controller์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ฐ์ฒด๋ฅผ ๋งํ๋ค. ํ์ง๋ง ํธ๋ค๋ฌ๋ ๊ฐ์ฒด ํ์
์ ๋ฐ๋ผ ModelAndViewํ์
์ ๋ฆฌํดํ ์๋ ์๊ณ ์๋ ์๋ ์๋ค. ๊ทธ๋ ๊ธฐ ..
๐ BackEnd/๐ HTTP
2022.03.17
HTTP ์ํ์ฝ๋ HTTP ๋ฐฉ์์ ๋ฐ์ดํฐ ํต์ ์์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์๊ฒ ์ด๋ ํ ์์ฒญ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ฉด ์๋ฒ๋ ํด๋น ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ ํ, ์ฒ๋ฆฌ ์ํ๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต ๋ฉ์์ง๋ก ๋ณด๋ด์ค๋ค. ์ด ์ํ๋ฅผ ์ซ์๋ก ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ด์ฃผ๊ธฐ ๋๋ฌธ์ '์ํ ์ฝ๋'๋ผ๊ณ ํ๋ค. ์ํ ์ฝ๋์ ํ์์ 3์๋ฆฌ ์ซ์๋ก ๋งจ ์์ ๋ฐฑ์ ์๋ฆฌ ์ซ์์ ๋ฐ๋ผ ์๋ฏธ๋ฅผ ๊ตฌ๋ถํ ์ ์๋ค. ๋ฐ๋ผ์ ๊ฐ๋ฐ ์, ๋ชจ๋ฅด๋ ์ํ ์ฝ๋๋ฅผ ์ ํ๋ฉด ๋งจ ์์๋ฆฌ ์ซ์๋ฅผ ํตํด ์ด๋ค ์๋ฏธ์ ์ฝ๋์ธ์ง ๋๋ต ์ ์ ์๋ค. ์ํ์ฝ๋ ์๋ฏธ 1xx (informational) ์์ฒญ ์์ , ์ฒ๋ฆฌ ์ค 2xx (successful) ์์ฒญ ์ ์ ์ฒ๋ฆฌ 3xx (redirection) ์์ฒญ ์๋ฃ ์ํด ์ถ๊ฐ ํ๋ ํ์ 4xx (client error) ํด๋ผ์ด์ธํธ ์ค๋ฅ 5xx (serve..
๐ BackEnd/๐ HTTP
2022.03.16
HTTP ๋ฉ์๋ HTTP ๋ฉ์์ง ์ค์์ ์์ฒญ ๋ฉ์์ง ๋งจ ์๋ถ๋ถ์๋ ๋ฉ์๋๋ฅผ ๊ธฐ์
ํด์ผ ํ๋๋ฐ, ์ด ๋ฉ์๋์ ์ญํ ์ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์์ฒญํ ๋ ๊ธฐ๋ํ๋ ํ๋์ด๋ค. ์๋ฅผ ๋ค์ด ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ค๊ฑฐ๋, ์๋ฒ์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๋ฑ๋กํ ๋, '์กฐํ'์ '๋ฑ๋ก'์ ํด๋ฌ๋ผ๊ณ ์์ฒญ ๋ฉ์์ง ์๋ถ๋ถ์ ๋ฉ์๋๋ก ์๋ ค์ฃผ๋ ๊ฒ์ด๋ค. HTTP ๋ฉ์๋ ์ข
๋ฅ GET ๋ฆฌ์์ค ์กฐํ HEAD ๋ฆฌ์์ค ์กฐํ (Body ๋ถ๋ถ ์ ์ธ) POST ์์ฒญ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ์ ๋ฆฌ์์ค ์์ฑ PUT ์์ฒญ ๋ฐ์ดํฐ ๋์ฒด, ์ ๋ฆฌ์์ค ์์ฑ PATCH ๋ฆฌ์์ค ๋ถ๋ถ ๋ณ๊ฒฝ DELETE ๋ฆฌ์์ค ์ญ์ GET ๋ฆฌ์์ค๋ฅผ ์กฐํํ๋ค. ๋ฆฌ์์ค์ ๊ฒฝ๋ก์ ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ฅผ ํจ๊ป ์์ฒญํ๋ฉด, ์๋ฒ๋ ํด๋น ๋ฆฌ์์ค๋ฅผ ์ฐพ์ ์๋ต ๋ฉ์์ง์ Body๋ถ๋ถ์ ๋ด์ ์ ๋ฌํด์ค๋ค. ..
๐ BackEnd/๐ HTTP
2022.03.15
๐ ๐๊น์ํ-๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์(์ธํ๋ฐ)
๐ BackEnd/๐ HTTP
2022.03.14
URI(Uniform Resource Identifier) "ํตํฉ ์์ ์๋ณ์(Uniform Resource Identifier, URI)๋ ์ธํฐ๋ท์ ์๋ ์์์ ๋ํ๋ด๋ ์ ์ผํ ์ฃผ์์ด๋ค" _์ํค๋ฐฑ๊ณผ ์์ ๋ง์ ์ํค๋ฐฑ๊ณผ์ ์ค๋ช
๋์ด์๋ URI์ ์ค๋ช
์ด๋ค. ์ด๋ฅผ ์ข ๋ ์ฝ๊ฒ ํ์ด ์ค๋ช
ํ๋ฉด, URI๋ ์ธํฐ๋ท์ ์๋ ์์์ ์๋ณํ๋(identifier) ๋ฌธ์์ด์ด๋ค. ์ฆ, ๋ง ๊ทธ๋๋ก '์๋ณ์'์ธ๋ฐ, ์นํ์ด์ง(HTML๋ฌธ์)๋ ์ด๋ฏธ์ง, ์์ ๋ฑ์ ์ธํฐ๋ท์ ์๋ ์์์ ์๋ณํ ์ ์๋๋ก ํด๋น ์์์ ๋ํ๋ด๋ ๋ฌธ์์ด์ ๋ง๋ค์ด ๊ทธ ์์์ ์ง์ ํ์ฌ ์์ฒญํ ์ ์๋๋ก ํ๋ค. ์์์ ์ด๋ฆ(์ฃผ์)๋ถ์ฌ์ฃผ๊ธฐ๋ผ๊ณ ์๊ฐํ๋ฉด ์์ฃผ ์ฝ๋ค. ๊ทธ๋ ๋ค๋ฉด URL๊ณผ URN์ ๋ฌด์์ด๋? URI์ ํ์ ๊ฐ๋
์ธ๋ฐ, ํด๋น ์์์ ์ด๋ป๊ฒ ์๋ณํ ๊ฒ์ธ์ง์ ๋ฐ..
'๐ BackEnd' ์นดํ
๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก
๋ซ๊ธฐ
๋จ์ถํค
๋ด ๋ธ๋ก๊ทธ
๋ด ๋ธ๋ก๊ทธ - ๊ด๋ฆฌ์ ํ ์ ํ
Q
Q
์ ๊ธ ์ฐ๊ธฐ
W
W
๋ธ๋ก๊ทธ ๊ฒ์๊ธ
๊ธ ์์ (๊ถํ ์๋ ๊ฒฝ์ฐ)
E
E
๋๊ธ ์์ญ์ผ๋ก ์ด๋
C
C
๋ชจ๋ ์์ญ
์ด ํ์ด์ง์ URL ๋ณต์ฌ
S
S
๋งจ ์๋ก ์ด๋
T
T
ํฐ์คํ ๋ฆฌ ํ ์ด๋
H
H
๋จ์ถํค ์๋ด
Shift + /
โง + /
* ๋จ์ถํค๋ ํ๊ธ/์๋ฌธ ๋์๋ฌธ์๋ก ์ด์ฉ ๊ฐ๋ฅํ๋ฉฐ, ํฐ์คํ ๋ฆฌ ๊ธฐ๋ณธ ๋๋ฉ์ธ์์๋ง ๋์ํฉ๋๋ค.