'๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ' ์นดํ
๊ณ ๋ฆฌ์ ๊ธ ๋ชฉ๋ก (9 Page)
DEVELOPER / DBA ๐ฑ
๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ/Java
form ํ๊ทธ ์
๋ ฅ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ํ๋ผ๋ฏธํฐ ํ์์ผ๋ก ํ๊บผ๋ฒ์ ๋ฆฌํด๋ฐ๊ธฐ($("form").serialize() ํจ์)
2025.01.08
$(function() { const publicKey = '${publicKey}'; // ๊ณต๊ฐํค ์ ์ฅ $("form").submit((e) => { // form ํ๊ทธ submit ์ด๋ฒคํธ ํธ๋ค๋ง// e.preventDefault(); // ์
๋ ฅ๋ฐ์ ํ์ ์ ๋ณด๋ฅผ ํ๋ผ๋ฏธํฐ ํ์์ผ๋ก ํ๊บผ๋ฒ์ ๋ฆฌํด๋ฐ๊ธฐ const serializedData = $("form").serialize(); // => ํผ์ ๋ํ serialize() ๋ฉ์๋๋ ํผ ๋ฐ์ดํฐ๋ฅผ ์ง๋ ฌํํ๋๋ฐ // ์ด๋, ์ง๋ ฌํ์ ์๋ฏธ๋ ํผ ๋ฐ์ดํฐ๋ฅผ ํ๋ผ๋ฏธํฐ ํ์์ผ๋ก ์ผ๋ ฌ๋ก ๋์ดํ๋ค๋ ์๋ฏธ// console.log(serializedData); // name=bora..
๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ/Spring
[Spring] DI์ AOP์ ๊ฐ๋
2024.12.09
์์กด์ฑ ์ฃผ์
(DI) : ์์กด์ฑ ์ฃผ์
์ ๊ฐ์ฒด ๊ฐ์ ์์กด ๊ด๊ณ๋ฅผ ์ธ๋ถ์์ ๊ฒฐ์ ํ๊ณ ์ฃผ์
ํ๋ ๋์์ธ ํจํด์
๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ ํด๋์ค๋ ์์ ์ ์์กด ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ์ง ์๊ณ , ์ธ๋ถ์์ ์ฃผ์
๋ฐ๊ฒ ๋ฉ๋๋ค.์๋ํ๋ฉด ์ด ๋ฐฉ์์ ํด๋์ค ๊ฐ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ณ , ์ ์ฐ์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ธฐ ๋๋ฌธ์
๋๋ค.@Autowired ์ด๋
ธํ
์ด์
์ ํตํด DI๋ฅผ ์ฝ๊ฒ ๊ตฌํ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ(AOP) :์ด๋ค ๋ก์ง์ ๊ธฐ์ค์ผ๋ก ํต์ฌ์ ์ธ ๊ด์ , ๋ถ๊ฐ์ ์ธ ๊ด์ ์ผ๋ก ๋๋์ด์ ๋ณด๊ณ ๊ทธ ๊ด์ ์ ๊ธฐ์ค์ผ๋ก ๊ฐ๊ฐ ๋ชจ๋ํ@Aspect ์ด๋
ธํ
์ด์
์ ์ฌ์ฉํ์ฌ AOP๋ฅผ ๊ตฌํ ์ด ๋ ๊ธฐ๋ฅ์ ํตํด ๊ฐ๋ฐ์๋ ์ฝ๋์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ณ , ๊ณตํต ๊ธฐ๋ฅ์ ์ค๋ณต์ ์ค์ด๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์
์ ์ ์ง๋ณด์์ ํ์ฅ์ฑ์ ๋ํญ ํฅ์์ํฌ ์ ์๊ธฐ ๋๋ฌธ

๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ/Spring
[Spring] DispatcherServlet ๋ฐ Spring MVC์ ๋์ ์์
2024.12.09
https://velog.io/@platinouss/DispatcherServlet-%EB%B0%8F-Spring-MVC%EC%9D%98-%EA%B5%AC%EB%8F%99-%EC%88%9C%EC%84%9C
๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ/Java
์ธ์
(Session) vs ์ฟ ํค(Cookie)
2024.11.18
1. ์ธ์
- ์๋ฒ(์ปจํ
์ด๋)์ ์ ์ฅ๋๋ ์ ๋ณด => ์๋ฒ์์ ๊ด๋ฆฌ๋๋ฏ๋ก ์๋์ ์ผ๋ก ๋ณด์์ ์ ๋ฆฌํจ- ์น๋ธ๋ผ์ฐ์ ๋ฅผ ์ข
๋ฃํ๊ฑฐ๋ ์ธ์
ํ์ด๋จธ๊ฐ ๋ง๋ฃ๋๊ฑฐ๋ ์๋ฒ๊ฐ ์ฌ์์๋๋ฉด ์ด๊ธฐํ (๋๋ ์๋ฐ์ ์ธ์
๊ฒฝ์ฐ invalidate() ๋ฉ์๋ ํธ์ถ๋๋ฉด ์ด๊ธฐํ)- ์ฃผ๋ก, ๋ก๊ทธ์ธ ์ ๋ณด ๋ฑ์ ์ ์ฅํ๋ ์ฉ๋๋ก ์ฌ์ฉํจ(HTTP ํ๋กํ ์ฝ์ ๋จ์ ์ ๋ณด์) 2. ์ฟ ํค- ํด๋ผ์ด์ธํธ(์น๋ธ๋ผ์ฐ์ )์์ ์ ์ฅ๋๋ ์ ๋ณด => ํด๋ผ์ด์ธํธ์์ ๊ด๋ฆฌ๋๋ฏ๋ก ์๋์ ์ผ๋ก ๋ณด์์ ์ทจ์ฝ(ํด๋ผ์ด์ธํธ์์์ ์๋ณ์กฐ ์ํ์ฑ ์์) => ๋์ , ์๋ฒ์ ์์์ ์๋ชจํ์ง ์๊ณ ํด๋ผ์ด์ธํธ์ ์์๋ง ์๋ชจํจ- ์น๋ธ๋ผ์ฐ์ ๊ฐ ๊ด๋ฆฌํ๋ ํน์ ์์น์ ํ์ผ(๋๋ ๋ฉ๋ชจ๋ฆฌ) ํํ๋ก ์ ์ฅ ( key, value ํ์์ผ๋ก ์ ๋ณด๊ฐ ์ ์ฅ๋๋ฉฐ, ์ฟ ํค๋ช
, ์ฟ ํค๊ฐ, ์ ํจ๊ธฐ๊ฐ ๋ฑ์ด ํฌํจ๋จ)- ์น๋ธ๋ผ์ฐ์ ๋..

๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ/Java
AJAX ๋?
2024.11.13
Ajax ( Asynchonous Javascript And Xml, ๋น๋๊ธฐ์ ์๋ฐ์คํฌ๋ฆฝํธ&XML)- ์น ํ์ด์ง(๋ธ๋ผ์ฐ์ )์ ๊ฐฑ์ (Refresh) ์์ด๋ ์๋ฒ๋ก ์์ฒญ์ ์ํํ๊ณ , ์์ฒญ์ ๋ํ ์๋ต์ ์ฒ๋ฆฌํ ์ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ(jQuery) ๋ผ์ด๋ธ๋ฌ๋ฆฌ- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ์ ์์
์์ฒญ ์ ์์ฒญ๋ ์๋ต์ด ๋์์ฌ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ , ๋ค๋ฅธ ์์
์ ์ํํ๋ฉด์ ์์ฒญ์ ๋ํ ์๋ต์ด ๋์์ค๋ฉด ํด๋น ์๋ต์ ์ฒ๋ฆฌํ๋ ๊ธฐ์ - ์ฃผ๋ก, ์์ด๋ ๋ฐ ํจ์ค์๋ ๊ฒ์ฆ ๋ฑ์ ์ค์๊ฐ ์ ๋ณด ์กฐํ ์์
์ ํ์ฉ ajax ๋ฌธ๋ฒ$.ajax({ type : xxx, // AJAX ๋ก ์์ฒญ ์ ์ฌ์ฉํ ๋ฉ์๋(= ์์ฒญ ๋ฐฉ์ = "GET" or "POST" ๋ฑ) ์ง์ url : xxx, // AJAX ๋ก ์์ฒญํ ์์ฒญ ์ฃผ์(URL) data : xx..