Gallery
Search
Jar ๋น๋ ๋ฐ ์คํ์์์ ๋ฌธ์ ๋ฐ์
์ฐ์ ํ๋ก์ ํธ ๊ฐ๋ฐํ๊ฒฝ ์ธ ๋ค๋ฅธ PC์์์ ํ๋ก์ ํธ ํด๋ก , ์คํ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ. DB ์ค์ ๊น์ง ๋๊ฐ์ด ๊ตฌ์ฑํ์ง๋ง ์ฒ์๋ณด๋ ์ค๋ฅ์์.
ํ์๋ฆฌํ ๋ทฐ๋ฆฌ์กธ๋ฒ์ ๋ฌธ์ ๋ฐ์. ๋ฉ์ธ ํ์ด์ง๋ ์ ์์ด ๊ฐ๋ฅํ๋ฐ ๋ค๋ฅธ ๋ชจ๋ ํ์ด์ง๊ฐ ์ ๊ทผ ๋ถ๊ฐ๊ฐ ๋ํ๋จ. ํ์ด์ง ๋๋ ๋ฐ์ดํฐ ๋ก๋ฉ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๋ ๋ํ๋๋ Whitelabel Error๊ฐ ๋ํ๋๋ฉฐ

์๋ฒ ๋ด ์คํ ์ดํ ๋ํ๋์ค์ ์ค๋ฅ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์. ์ฃผ์ ๋ด์ฉ์ ๊ฒฐ๊ตญ THYMELEAF ์์ ๋ฐ์. ๋ชจ๋ ํ์ด์ง๊ฐ ์ ๊ทผ ๋ถ๊ฐ๋ฅ. ์ด์ํ๊ฒ ๋ฉ์ธํ์ด์ง๋ ์ ์์ด ๋๋ค?
ChatGPT ๋ํ ๋์๋์๊ฐ๋ ๋ง๋์๋๋ ํด๋์ค ํจ์ค์ ๊ด๋ จ๋ ํด๊ฒฐ์ฑ
์ ์ฃผ๊ธธ๋ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ค์ ์ฐจ์ด์ ์ ์ง์ ์ดํด๋ด
๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ / ์ฌ๋์์ ์ ๋ฌด์๋ค. ํด๋์คํจ์ค๋ ์ด๋ฏธ application.properties์์ ์ง์ ๋ ์ํ์ด๋ค.
[Spring][iLanD] [๋น๋] Jar ๋น๋ ์ดํ ์คํ ์ ํ์๋ฆฌํ ํธ๋ฌ๋ธ์ํ
[Spring][iLanD] [ํ๋ก์ ํธ์๋ฃ] ๊ฐ ๊ธฐ๋ฅ ๊ตฌํ ์์ฐ
ํ PC(Windows) ์คํ ํ๊ฒฝ ์ค์
๋ณธ ํ๋ก์ ํธ๋ MacOS์์ ๊ฐ๋ฐ๋์ด ์ผ๋ถ ํ๊ฒฝ์ด ์์ดํ๋ค. ํ๋ก์ ํธ ์คํ์ Windows์์ ์๋ฒ๋ก ์คํ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ด ์ด๊ธฐ ์ค์ ์ ํตํด์ ํ๋ก์ ํธ๋ฅผ ์คํ ํ ์ ์๋ค.
JDK-17 ์ค์น
๋ณธํ๋ก์ ํธ๋ Java๊ธฐ๋ฐ์ ํ๋ ์์ํฌ์ธ SpringBootํ๋ก์ ํธ๋ก JVM ๋ฐํ์ ํ๊ฒฝ์ด ํ์ํ๋ค. ๊ณต์ํํ์ด์ง์์ JDK17๋ฒ์ ์ ์ค์นํด์ค๋ค.

Windows์์๋ ๊ฐ๋จํ ํ์ผ์ ์คํ์์ผ ์ค์น ํ ์ ์์ผ๋ฉฐ ํฐ๋ฏธ๋์ ํตํด์ ์ค์น ์ํ๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ข๋ค.
[Spring][iLanD] [ํ๋ก์ ํธ์๋ฃ] ํOS ์คํํ๊ฒฝ ๊ตฌ์ถ๊ฐ์ด๋
๊ฐ๋จํ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฒ์์ ๊ตฌํํ์๋ค.
์บ์น๋ง์ธ๋์ ๊ฐ์ ์น์์ผ์ ํ์ฉํ ์ค์๊ฐ ๋ฉํฐํ๋ ์ด์ด ๊ฒ์์ ๋ค๋ฃจ๋ คํ์ผ๋, ์๊ฐ๋ณด๋ค ๋ชจ๋ฐ์ผ๊น์ง ๊ตฌํํด์ผํ๋ ๋์ด๋๊ฐ ์๊ณ , ๊ธฐํ์ ๋นํด ๊ท๋ชจ๊ฐ ์ปค์ง๊ฒ์ผ๋ก ์๊ฐ๋์ ๊ฐ๋ตํ ๋ฏธ๋๊ฒ์์ ์ค๋นํ๋ค.
5์น์ ๋จผ์ ์ฐจ์งํ๋ ๊ฐ์๋ฐ์๋ณด ๊ฒ์์ด๋ฉฐ ์๊ฐ๋ณด๋ค ์ฝ์ค๋ฅธ๋ค.


game.js
๋๋ถ๋ถ ๊ฐ๋จํ ๋ณ์์ ์กฐ๊ฑด๋ฌธ์ผ๋ก ์ฒ๋ฆฌํ์ผ๋ฉฐ ๋ชจ๋ฐ์ผ๋ก๋ ํ
์คํธ๋ฅผ ํ๋ค. ๋์์ ๋ฐ๋ผ 3๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ๋์ ์ผ๋ก ๋ณ๊ฒฝํ๋๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ผ๋ถ ๊ธฐ๊ธฐ์ ๋ฐ๋ผ ์กฐ๊ธ ๋๋ฆฐ ๊ฒฝํฅ๋ ์๋๋ฐ ์คํ๋ ค ์ปดํจํฐ๊ฐ ์ผ๋นํ๊ฒ ๋ณ๊ฒฝํ๋๋ฏํ ๋ชจ์ต์ ์ด์ด ๋ฐ๋๋ค.
[Spring][iLanD] [Mini Game] ๊ฐ์๋ฐ์๋ณด ๊ฒ์ ๊ธฐ๋ฅ ๋ฃ๊ธฐ
์ด๋ฒ ํ๋ก์ ํธ์์ ๋ฐฐ์ด ํ์ผ์ ๋ํ ์์ฒญ๊ณผ ์๋ต ์ฒ๋ฆฌ
๊ฐ๋ฌผ๊ฐ๋ฌผํ์ง๋ง ์์ ๋ถํฐ ํ๋ก์ ํธ์์ ์ด๋ฏธ์ง์ฒ๋ฆฌ๋ฅผ ์ํด์ img src์์ ์ธ๋ถ ๊ฒฝ๋ก๋ก ์ฐธ์กฐํ๋๊ฒ์ ์์๋ก ์ฒ๋ฆฌํ๋ฉด์ ๊ธฐ๋ณธ์ ์ธ CRUD์์๋ ํ์ผ์ ๋ํ ์ฒ๋ฆฌ์ ๋ฏธํกํจ์ด ์์๋ค. ์ด๋ฒ ํ๋ก์ ํธ์์ ์ ์๋๋๊ฐ์ ๋ํด ๊ตฌํ์ ์ง์คํ๋ค๋ณด๋๊น ๊นจ๋ฌ์ ๋ถ๋ถ์ด ์๋ค.
๋ถ๋ช
ํ ์์ ์ ๋ฐฐ์ด ๋ด์ฉ์ธ๋ฐ, ์ฝ๋์ธ๋ฐ ํ์ผ ์์ฒด๋ฅผ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๊ฐ์ ์ก์๊ฒ ํฌ๋ค. Base64๋ก๋ง ํด๋ณด๊ณ ์์ง๋ง ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ๋ค์ ์์๊ฐ๋ณด๋ฉด ํจ์จ์ ์ธ๊ฒ ์์ง ์์๊น? ์ฐ์ ์ ๊ธฐ๋ฅ ๊ตฌํ ์์ฒด์ ๋ฌธ์ ๊ฐ ์๋ ๋ถ๋ถ๋ค์ด ํด๊ฒฐ๋๋ฉด์ ๋ญ๊ฐ ์๋๋๊ฒ๋ค์ ํด๊ฒฐํด๋๊ฐ๋ ์์ ๊ฐ์ด ์๊ฒผ๋ค.
์์ ๋ชฉ๋ก์ ํฌ์คํฐ์์ ์์ฒญํ๋ฉด์ผ๋ก ์ง์


[Spring][iLanD] [Base64] Video ํ์ผ ์ถ๊ฐ, Img ํฌ์คํฐ์ ๋ถ๋ฆฌ, Video ํ์ผ ์ฒ๋ฆฌ ๋ก์ง ๋ถ๋ฆฌ, ์ธ์ฝ๋ฉ ํ ์ด๋ฏธ์ง ์ถ๋ ฅ, Video ํ๊ทธ๋ฅผ ํตํ ์์ ์ฌ์
์ค์๊ฐ ์ฑํ
๊ธฐ๋ฅ์ด ์ด๋์ ๋ ๊ตฌํ๋์์ผ๋ ๋ค๋ฌ๊ธฐ๋ฅผ ๋ค์ด๊ฐ๋ค. ย
์ํ๋๊ฑด ์ฑํ
์ ๊ตฌ๋ถ์ด ์๋๋๊ฒ๊ณผ ์๋ด์ ๊ฐ์ ๋ถ๋ถ์ด ๋ถ์กฑํ๋ค.
์นดํก๊ณผ ๋น์ทํ๊ฒ ๊ตฌํํด๋ณด๊ณ ์ถ๋ค. ๊ตฌํ๋ ๋ชจ์ต์ ์ฐ์ ๋ค์๊ณผ ๊ฐ๋ค. ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด์ ๋ก๊ทธ์ธ๋ ์ ์ ์ ๋ก๊ทธ์ธ๋์ง ์์ ์ ์ ์ ์ํฉ์ ์ฐ์ถํ๋ค.
chatting.js
์ ๋ฐ์ ์ผ๋ก ์ฝ๋๊ฐ ๋ณต์กํด์ง๊ธดํ๋ค. ๋ก๊ทธ์ธ์ ์์ฑ๋๋ ํด๋ผ์ด์ธํธ ์ฟ ํค๋ก๋ถํฐ ์ฌ์ฉ์ ์ด๋ฆ์ ๋ฐ์์ค๋๋กํ๋ค. ๋ค๋ฅธ ๋ฐฉ๋ฒ๋ค๋ก user์ Authentication์ ๋ฐ์์ค๋ ๊ฒ์ ๊ตฌํํด๋ณด๊ณ ์ถ๋ค.
CSS๋ฅผ ํตํด ์นดํกlike ๋ฉ์ ์ ์์์ ์
ํ๋ณด์๋ค.
chatting.html
html์ ๊ทธ๋๋ก์ด๋ค.
[Spring][iLanD] [Web Socket] ์ค์๊ฐ ์ฑํ
๊ธฐ๋ฅ ๋ค๋ฌ๊ธฐ
์น ์์ผ์ ํ์ฉํ ์ฑํ
๊ธฐ๋ฅ ๊ตฌํ ๊ณผ์
์น์์ผ์ ํ์ฉํ ์ฑํ
๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์ํ๋ค.
์์กด์ฑ ์ถ๊ฐbuild.gradle ์ ์์กด์ฑ ์ถ๊ฐ
Configuration ์ถ๊ฐ
๋ทฐ ์ปจํธ๋กค๋ฌ ์ถ๊ฐ
chatting.html
chatting.js
Controllers
์ฐ์ ์ฑํ
ํ์ด์ง๋ฅผ ๋ฐํํ๋ ๋ทฐ์ปจํธ๋กค๋ฌ
[Spring][iLanD] [Web Socket] ์ค์๊ฐ ์ฑํ
๊ธฐ๋ฅ ๊ตฌํ
img src์์ ํ๋ก์ ํธ ๋ด๋ถ ๊ฒฝ๋ก์ธ์ ์์คํ
๊ฒฝ๋ก ํ์ผ ์ธ์ง ๋ถ๊ฐ๋ฅํ ๋ถ๋ถ
<img src="/uploads/${originFileName}" ์ฒ๋ผ ์ผ๋ฐ img src๋ก ์์ค๋ฅผ ๋ถ๋ฌ์ค๋ฉด context ๊ฒฝ๋ก๊ฐ ์ด๋ฏธ localhost:8080 ์ด ์กํ์๊ธฐ ๋๋ฌธ์ ์์คํ
๊ฒฝ๋ก๋ก ์ ๊ทผ ํ ์ ์์๋ค.

๋ณด์์ ๋ถ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์ผ๋ก ๊ฒฐ๊ตญ ์๋ฒ๋ก๋ถํฐ ์ด๋ฏธ์ง ๋ฐ์ดํฐ ์์ฒด๋ฅผ ๋ฐ์์์ผํ๋ค. ์ด๋ฅผ ์ต์ง๋ก ๊ตฌํํ๊ธฐ ์ํด์ ๋ฐ์ดํฐ ์ ์ฅ ์
์ ์ฝ๋์ฒ๋ผ dir2๋ก ํ๋ก์ ํธ ๋ด๋ถ๋ก ์ด์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ ์ผ๋ถ ์๋๋๋๋ก ๊ตฌํํ์์ง๋ง ๋ฌธ์ ๊ฐ ์์๋ค. ์ด๋ฏธ์ง ๋ก๋๋ฅผ ์ํด์๋ ์๋ฒ๊ฐ ์ฌ์์๋์ด์ผํ๊ณ ๊ทธ ์ ๊น์ง๋ JSON ํ์
์ ์์ฒญ๋ง ๊ฐ๋ฅํด์ ธ์ ์ด๋ฏธ์ง ์์ฒด๊ฐ ๋ก๋๋์ง ์์๋ค. ์ด๊ฑด ์ฌ์ค ๋ถํ์ํ ๋ฐ์ดํฐ ์ค๋ณต, ๋ณต์ฌ์ด๋ฉฐ ์ผ๊ด์ฑ์ ํด์น ์ ์๋ค.

[Spring][iLanD] [File] TroubleShooting - ํ์ผ ์ธ์ฝ๋ฉํด์ ์กฐํํ๊ธฐ
๊ธฐ์กด HTML ํ๊ทธ ๋ฐ CSS์ ์๋ ์ด์์ผ๋ก ์ ์ฒด์ ์ผ๋ก ์์


[Spring][iLanD] MVP - [AboutUs] @media ํ๊ทธ๋ฅผ ์ด์ฉํ ๋ฐ์ํ ์ค๋ฒ๋ ์ด ํ
์คํธ๋ฐ์ค
ํ์ผ ์
๋ก๋ ์์น ๋ณ๊ฒฝ
ํ์ผ์ ์์คํ
๊ฒฝ๋ก๋ก ํ๋ ๊ฒฝ์ฐ ssh๋ฑ ํ์ผ ์๋ฒ์์ฒด๋ฅผ ๊ตฌ์ฑํด์ ์ ์ํด์ผํ๋ค. AWS S3์ ๊ฐ์ ํ์ผ์๋ฒ๊ตฌ์ฑ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํธ๋ ๊ฐ๋จํ๊ฒ ๊ตฌ์ฑํ๊ธฐ ์ํด ํ๋ก์ ํธ ๋ด๋ถ๊ฒฝ๋ก์ ํ์ผ์ ์
๋ก๋ํ๊ณ , ํ์ผ์ ๊ฐ๋จํ๊ฒ ๋ถ๋ฌ์ค๊ฒ ํ๊ณ ์ํ๋ค.
์ด๋ฅผํตํด ํ์ผ์
๋ก๋๊ด๋ จ CRUD๊ฐ ์๋ํ๋ฉด ํด๋น ๋ถ๋ถ์ ํ์ผ์ด ์
๋ก๋ ๋๋ ์ญ์ ๊ฐ ์ค์๊ฐ์ผ๋ก ์งํ๋๋ค.

๋ฏธ๋ฆฌ๋ณด๊ธฐ
ํ์ผ์ ์
๋ก๋ํ ๊ณต์ง๊ธ๊ณผ ๊ฐ์ ๊ธ์์ ํ์ผ(์ด๋ฏธ์ง)๊ฐ ์ ์ ๋ก๋๋๋์ง ํ์ธํ๊ณ ์ํ๋ค.
[Spring][iLanD] MVP - [File] ํ์ผ ์
๋ก๋ ํ๋ก์ ํธ ๊ฒฝ๋ก์ด๋ ๋ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ตฌํ
Create๋ฅผ ์ฐธ๊ณ ํ์ฌ Update๋ฅผ ์์ฉ
์๋ก์ด ํ์ผ์ด ์
๋ก๋๋๋ค.



ํ์ง๋ง ๋ฌธ์ ๋ ๊ธฐ์กด ํ์ผ์ด ๋จ์์๋ค๋ ๊ฒ
์ ์ ๊ฐ ์ด๋ค ๊ธ์ ์ฒจ๋ถํ์ผ์ ์๋ก ์
๋ก๋ํ๋ค๋ ํ์๋ ๋ค์๊ณผ ๊ฐ์ด ํ๋ก์ฐ๋ฅผ ์๊ฐํ ์ ์๋ค.
โข
๊ณต์ง ์
๋ฐ์ดํธ ์์ฒญ์ ๋ณด๋ธ๋ค๊ณ ๊ฐ์ ํ๋ฉด, ์ผ๋จ ์ธ๊ฐ์ง๋ก ๋๋ ์ง๋ค.
[Spring][iLanD] MVP - [File] ํ์ผ ์
๋ก๋ ์
๋ฐ์ดํธ API ๊ตฌํ
์ต์ข
ํ๊ฒฝ ๊ตฌ์ถ ํ๋ฉด

๋ชจ๋ฐ์ผ๋ฒ์ ์์์ ์คํ ํ
์คํธ ํ๋ฉด
ํ๊ฒฝ ๊ตฌ์ถ ์ ๊ฒฝ ์ฌ์ง์๋ฃ๋ค



[Spring][iLanD] [ํ๋ก์ ํธ์๋ฃ] ์ธ๋ถ ์ ์ ํ๊ฒฝ ๊ตฌ์ฑ ์๋ฃ ๋ชจ์ต
Notice : File ํ
์ด๋ธ์ 1:N ์ฐ๊ด๊ด๊ณ๋ก ์ค์ ๋์ด์์
orphanRemoval = true ๋ฅผ ํตํด ๊ณต์ง๊ฐ ์ญ์ ๋๋ฉด ํ์ผ์ ์ฐ๊ด๊ด๊ณ๊ฐ null๋ก ์ฌ๋ผ์ง๋ฏ๋ก ํจ๊ป ์ญ์ ๋๋ค. ํด๋น ์ต์
์ ์ํํ๊ธฐ ๋๋ฌธ์ ์ ์๊ฐํด์ ์ ์ฉํด์ผํ๋ค. ํนํ User์ ์๋ชป ์ฐ๊ฒฐํ๋ ๊ฒฝ์ฐ user๊ฐ ์์ฑํ ๊ฒ์ํ, ๊ฒ์๊ธ, ๋ชจ๋ ์ฌ๋ผ์ง ์ ์๋ค.
ํ
์คํธ
18๋ฒ ๊ณต์ง๋ฅผ ์ญ์ ํ์ผ๋ฉฐ, ์ด๋ 2๊ฐ์ด์์ ํ์ผ์ด ์ฐ๊ฒฐ๋์ด ์์๋ค.

๊ณต์ง๊ฐ ์ญ์ ๋์์ผ๋ฉฐ

[Spring][iLanD] MVP - [File] ๊ณต์ง ์ฐ๊ด๊ด๊ณ ์ญ์ ์ ํ์ผ ์ญ์ ๊ตฌํ
์ต์ด ์๋(์ค๋ณต ๋ฎ์ด์ฐ๊ธฐ ๋ฐ์)


์ค๋ณต ํ์ฉ์ ์ํ์ฌ noticeId๋ฅผ ๊ธฐ์ค์ผ๋ก UUID ์ถ๊ฐ



multipart ํ์ผ ์
๋ก๋๋ ํ์๋ผ ์ฒจ๋ถ์์ด ์ผ๋ฐ ๊ณต์ง๋ฅผ ๋ชป์ฌ๋ฆฌ๋ ๋ฌธ์ ๋ฐ์
[Spring][iLanD] MVP - [File] ํ์ผ ์
๋ก๋ API ๊ตฌํ
ํฐ๋ฏธ๋๋ก springboot ํ๋ก์ ํธ๋ฅผ ์คํํ๊ณ ์ ์์ํ ํ์ธ
ํด๋นํ๋ก์ ํธ ๊ฒฝ๋ก๋ก ์ด๋ํด์ bootRun ๋ช
๋ น์ด๋ก ์๋ฒ์์ ์คํ์ํจ๋ค.

ํด๋น ์๋ฒ localhost์์๋ ๋น์ฐํ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ํ๋ฉฐ,

๋ฌด์ ์ผ๋ก ๋ด๋ถ ๋คํธ์ํฌ(์ธํธ๋ผ๋ท) ์ฐ๊ฒฐ๋ ํ๊ฒฝ์์๋ ์ง์ ๋ด๋ถIP๋ฅผ ํตํด์ ์ ์ ๊ฐ๋ฅํ ํ๋ฉด์ ํ์ธ ํ ์ ์๋ค.
[Spring][iLanD] ์ธํธ๋ผ๋ท ์คํ ํ๊ฒฝ ๊ฐ๋จ ํ
์คํธ
ํ์ด์ง ์ฒ๋ฆฌ ๊ตฌํ

[Spring][iLanD] MVP - [Notice] ํ์ด์ง ์ฒ๋ฆฌ ๊ตฌํ
๋ก๊ทธ์ธ ํ์ด์ง ๊ตฌํ API ์ฐ๊ฒฐ

๊ณต์ง ์์ฑ ๊ธฐ๋ฅ

๊ณต์ง ์์ ๊ธฐ๋ฅ


๊ณต์ง ์ญ์ ๊ธฐ๋ฅ
[Spring][iLanD] MVP - [Admin] ๋ก๊ทธ์ธ ํ๋ก ํธ ์ฐ๊ฒฐ ๋ฐ ๊ด๋ฆฌ์ ํ์ด์ง ๊ตฌํ
์น ์์ผ์ ํ์ฉํ ์ค์๊ฐ ๊ทธ๋ฆผํ ๊ธฐ๋ฅ
๋ชจ๋ฐ์ผ ํฐ์น ๋ฐ์์ด ์์ด์ ์ ์ธ๋จ
JS๋ก ๊ฒ์์ ๋ฃ๋๊ฒ ์ฌ์ดํธ, ๊ฒ์ ์์ฒด๋ง์ผ๋ก ํ๋์ ํ๋ก์ ํธ๊ธ์ด๋ผ ํด๋น ํ๋ก์ ํธ์์๋ ๊ตฌํ ์ด๋ ค์
์น ์์ผ์ ํ์ฉํ ์ฑํ
์๋ฒ ๊ธฐ๋ฅ
[Spring][iLanD] ์ฌํ ๊ธฐ๋ฅ ๋ ํผ๋ฐ์ค ํ์
Home์ ๋ค๋น๊ฒ์ด์
์ ์ฉ ๋ฐ Footer ๊ณ ์

992px ์ดํ(๋ชจ๋ฐ์ผ), ๊ทธ ์ด์ ํ๋ธ๋ฆฟ(1200px), ๊ทธ์ด์ ๋ฐ์คํฌํ
์์ด์ฝ ๋ฐฐ์น๊ฐ ์ ์ ํ๊ฒ ๋ถ๋ฐฐ๋๋๋ก, ๋ชจ๋ฐ์ผ ๋ฒ์ ์์๋ 2์ด, ๊ทธ ์ด์ ๋ฒ์ ์์๋ 3์ด ๋ฐฐ์น

[Spring][iLanD] MVP - [Home] @media ํ๊ทธ๋ฅผ ์ด์ฉํ ๋ฉ์ธ ํ์ด์ง ๋ฐ์ํ ๋ฉ๋ด ๋ณ๊ฒฝ ์ ์ฉ
์ฐธ๊ณ ์๋ฃ
์คํ๋ง ๋ถํธ ํ์ผ ์ ๋ก๋ / ํ์ผ ๋ค์ด๋ก๋
โข
MultipartFileย ํด๋์ค ์ฌ์ฉ
โฆ
์์กด์ฑ ํ์ ์์
โฆ
application.properties ํ์ผ์์ ํ์ผ ์ต๋ ํฌ๊ธฐ๋ง ์ค์
โข
์๋์ผ๋ก MultipartConfigElement ํด๋์ค๋ฅผ ๋น์ผ๋ก ๋ฑ๋ก
โข
ํ์ผ๋ช
์ค๋ณต๋์ง ์๋๋ก UUID ์ฌ์ฉ
โฆ
์ํํธ์จ์ด ๊ตฌ์ถ์ ์ฌ์ฉ๋๋ ์๋ณ์ ํ์ค
โฆ
16 ์ฅํ
(128๋ฐ์ดํธ)์ ์
โฆ
ํ์ค ํ์์์ UUID๋ 32๊ฐ์ 16์ง์๋ก ํํ๋๋ฉฐ ์ด36๊ฐ ๋ฌธ์(32๊ฐ ๋ฌธ์์ 4๊ฐ์ ํ์ดํ)๋ก ๋ 8-4-4-4-12๋ผ๋ 5๊ฐ์ ๊ทธ๋ฃน์ ํ์ดํ์ผ๋ก ๊ตฌ๋ถ
โฆ
์๋ฐ UUID ํด๋์ค์ randomUUID() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ ์ผํ ์๋ณ์ ์์ฑ
์คํ๋ง ๋ถํธ ํ๋ก์ ํธ์์ ํ์ผ ์ ๋ก๋ / ๋ค์ด๋ก๋ ์์
ํ์ผ ์ ๋ก๋
โข
ํ์ผ๋ช
์ค๋ณต๋์ง ์๋๋ก ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝํด์ ์
๋ก๋
โข
ํ ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ ํ์ผ ์
๋ก๋
โข
์๋ณธ ํ์ผ๋ช
๊ทธ๋๋ก ์
๋ก๋
ํ์ผ ๋ค์ด๋ก๋
โข
ํด๋ ๋ด ํ์ผ ๋ชฉ๋ก์์ ์ ํํด์ ๋ค์ด๋ก๋
ํ์ผ ์ ๋ก๋ ์์ 1
โข
ํ์ผ๋ช
์ค๋ณต๋์ง ์๋๋ก ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝํด์ ์
๋ก๋
[Spring][iLanD] MVP - [File] ํ์ผ ์
๋ก๋ API ๋ ํผ๋ฐ์ค ํ์
๊ณต์ง์กฐํ(์ ์ ) Ajax๋ฅผ ํตํ ์ฐ๊ฒฐ



์ค์ ๊ณต์ง ๊ตฌ๋ถ


[Spring][iLanD] MVP ํ๋ก ํธ์๋์ API ์ฐ๊ฒฐ 1์ฐจ ๊ธฐ๋ณธ CRUD, Ajax๋ก ๋์ ๋ค๋น๊ฒ์ด์
๊ตฌํ
์์ CREATE


์์ READ


[Spring][iLanD] MVP - [Video] ์์ CRUD API
CREATE

READ


UPDATE
[Spring][iLanD] MVP - [Info] ์ ๋ณด API
๊ฒ์ํ ์์ฑ, ์์ , ์ญ์ , ์กฐํ ๊ตฌํ
๊ฒ์ํ์ ์ด 4๊ฐ๋ก ๊ตฌ์ฑ๋ ์์
๊ฐ ๊ฒ์ํ์ ์์ ๋ณ๊ฐ์ ํ
์ด๋ธ๋ก ๊ตฌ์ฑํด๋๋์ง๋ง ๊ณตํต ๋ถ๋ถ์ ๋ถ๋ชจ ํ
์ด๋ธ๋ก ๊ตฌ์ฑํด์ ์ถํ ํ์ฅ์ฑ, ์ ์ง๋ณด์์ฑ์ ๊ณ ๋ ค
๊ฐ ๊ฒ์ํ์ ๊ฒ์๊ธ๋ค์ด ์์์์๋ก ์ถ๊ฐ๋ ๊ฒ์
Create ํ
์คํธ


Update ํ
์คํธ
[Spring][iLanD] MVP - [Boards] ๊ฒ์ํ CRUD API
๊ณต์ง ์์ฑ


๊ณต์ง ์์



๊ณต์ง๊ธ ์ญ์
[Spring][iLanD] MVP - [Notice] ๊ณต์ง CRUD API
๊ฒ์ํ - ๊ฒ์๊ธ(4์ข
) - ํ์ผ
๋ชจ๋ ์ฝํ
์ธ ๋ ์ฌ์ค ๊ฒ์๊ธ์ด๋ผ ๋ณผ ์ ์๋ค. ๊ทธ ์ปฌ๋ผ์ ๋ด์ฉ์ด ๋ฌ๋ผ์ง๊ฑฐ๋ ์์น๋ง ๋ฌ๋ผ์ง ๋ฟ, ํ์ผ์ด ์๋๊ฒ ์๋๊ฒ ์ถํ์ ์ถ๊ฐ๊ฐ ํ์ํ ๊ฒ์ ๊ณ ๋ คํ์ฌ ํ์ผ ํ
์ด๋ธ์ ๋ณ๋๋ก ๋ถ๋ฆฌํ๊ณ ์ฐ๊ด๊ด๊ณ๋ก ์ฒ๋ฆฌํ๋ค.
Board.java
๊ฒ์ํ์ ํ์ด๋๋ ๊ฒ์ํ ์ํฐํฐ์ด๋ค. ๊ฐ ๊ฒ์๊ธ๋ค์ ์ข
๋ฅ๋ฅผ @OneToMany ์ฐ๊ด๊ด๊ณ๋ฅผ ํตํด์ ๊ฐ ๋ฆฌ์คํธ๋ค์ ๊ฐ์ ธ์ค๋๋ก ์ค์ ํ๋ค.
Notice.java
์ฒซ๋ฒ์งธ ๊ฒ์๊ธ์ ์ํฐํฐ์ธ ๊ณต์ง ๊ฒ์๊ธ์ด๋ค. ๊ฒ์ํ:๊ณต์ง๊ฒ์๊ธ ์ 1:N ์ฐ๊ด๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ด๊ฒ๊ณผ ๋์ผํ๊ฒ Info, Video, Game ๊ฒ์๊ธ์ด ๋์ผํ ์ปฌ๋ผ, ์ฐ๊ด๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. ๋ํ์ ์ผ๋ก Notice๋ถ๋ถ์ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
File.java
Notice, Info, Video, Game ๊ฒ์๊ธ ๋ชจ๋ ํ์ผ์ด ์ฒจ๋ถ๋ ์ ์๋ค. ํ์ฌ Game๋ถ๋ถ์ ์ด๋ป๊ฒ ๊ตฌ์ฑํ ์ง ์ข ๋ ์ฌ๋ก๋ฅผ ์ฐพ์๋ด์ผํ์ง๋ง, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌด์ธ๊ฐ ์ฌ๋ฌ ์ข
๋ฅ ๊ฒ์์ ์ฌ๋ฆฐ๋ค๋ ์๋ฏธ์์๋ ๊ฒ์๊ธ๊ณผ ๋์ผํ ๊ฒ์ผ๋ก ์๊ฐํ์ผ๋ฉฐ ์ผ๋จ ๋๋ฏธ๋ก ์์ฑํด๋์๋ค.
File์ Multipart๋ก ์
๋ก๋ํ๋ ์์ผ๋ก ์๋ฒ๋ด ํน์ ๊ณต๊ฐ์ ์ ์ฅ๋๋๋ก ํ ๊ฒ์ด๋ฉฐ, ์ด๋ฏธ์ง๋ ์์์ ํด๋น ๊ฒฝ๋ก์์๋ถํฐ ์ถ์ถํ์ฌ ์คํ ๋๋ ๋ก๋ํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๊ฒ ๋ ๊ฒ์ผ๋ก ํ๋จ๋๋ค.
์ฌ๋ฌ ํ์ผ๋ค์ด ์ฒจ๋ถ๋ ์ ์๋ ์ํฉ์ ๊ณ ๋ คํ์ฌ 1:N ์ฐ๊ด๊ด๊ณ๋ฅผ ๋งตํํ๋ค.
JPA์ ์ํด ์๋์ผ๋ก ํ
์ด๋ธ์ด ์์ฑ๋๋ค.
์ด์ ๊ณต์ง ๊ฒ์ํ CRUD๋ฅผ ๊ตฌํํ๋ฉด ์ฌ์ค ๋ค๋ฅธ ๋ถ๋ถ๋ค์ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ์ ๋ค๋ฅผ๋ฐ ์๋ค. ํ์ผ ์
๋ก๋์ ๋ก๋ ๋ถ๋ถ์ ์ ์ฒดํฌํด์ผ ํ๋ค.
[Spring][iLanD] MVP - ์ฃผ์ ์ํฐํฐ ์์ฑ ๋ฐ ์ฐ๊ด๊ด๊ณ ๊ตฌ์ฑ
์ ์ฒด ๊ณผ์
1.
์์กด์ฑ ์ถ๊ฐ
2.
UserDetailsImpl ์์ฑ
3.
UserRepository ์ถ๊ฐ
4.
UserDetailsService ์์ฑ
5.
JWT์ ํธ ํด๋์ค ์ถ๊ฐ
6.
JWTํํฐ ์ถ๊ฐ
7.
์คํ๋ง ์ํ๋ฆฌํฐ ์ค์
8.
์คํ๋ง ์ค์
9.
์ปจํธ๋กค๋ฌ ์ค์
์ถํ Refresh Token ์ฐธ๊ณ ์๋ฃ
์์กด์ฑ ์ถ๊ฐ
UserDetailsImpl.java
[Spring][iLanD] MVP - [Auth] SpringSecurity JWT+์ฟ ํค ๋ฐฉ์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ
ํ์ ๊ฐ์
, ์์ , ํํด API ๊ตฌํ
โข
๋น๋ฐ๋ฒํธ๋ SpringSecurity์ BCryptPasswordEncoder๋ฅผ ํตํด ๊ธฐ๋ณธ ๋จ๋ฐฉํฅ ํด์ ์๊ณ ๋ฆฌ์ฆ BCrypt ๋ก ๋ณตํธํ ๋ถ๊ฐ๋ฅํ ์ํธํ ๊ธฐ๋ฅ์ ํ์ฉ
โฆ
PasswordEncoder.java configํจํค์ง์ ๋ณ๋๋ก ์์ฑํ์ฌ ์ ์ํ์ผ๋ฉฐ ํ์ ํด๋์ค(UserService)์ ์ฃผ์
๋๊ณ ์ฌ์ฉ๋จ
โฆ
BCrypt๋ ์์ ํ ํด์ ํจ์๋ก ์๋ ค์ ธ ์์ผ๋ฉฐ, ํด์๋ ๊ฐ๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ ์ํธ(salt)๋ฅผ ํตํด ๋ณด์์ฑ์ ๊ฐํ
โข
๊ธฐ๋ณธ์ ์ผ๋ก ์
๋ ฅ๊ฐ์ ์ ํจ์ฑ ๊ฒ์ฌ๋ ๋ค์๊ณผ ๊ฐ์
โฆ
ํ์์ ๋ก๊ทธ์ธ ์์ด๋๊ฐ ๋ e-mail์ UK๋ก ์ค๋ณต์ด ๋ถ๊ฐ๋ฅ, @Email ์ด๋
ธํ
์ด์
์ ๋ฐ๋ฅธ ์ด๋ฉ์ผ ์ ํจ์ฑ ๊ฒ์ฌ
โช
ex)abc@abc.com
โฆ
์ด๋ฆ์ ํ๊ธ 2~4๊ธ์๊น์ง ํ์ฉ
โช
ex)๊นํ
์ค, ๊นํ
, ๊นํ
์คํธ OK
โฆ
๋น๋ฐ๋ฒํธ๋ ๋น๋ฐ๋ฒํธ๋ 8~15์ ์๋ฌธ ๋ ์๋ฌธ์, ์ซ์, ํน์๋ฌธ์๋ฅผ ํฌํจํด์ผ ํจ
โช
ex)test1234!
โข
usertype์ ํ๋ก ํธ์์ ๋๋กญ๋ค์ด๋ฐ์ค๋ก value๋ฅผ 0,1,2 ๋ฅผ ์ ๋ฌํ๋๋ก ์ค๊ณํ ์์
โฆ
0์ธ ๊ฒฝ์ฐ USER
โฆ
1์ธ ๊ฒฝ์ฐ ADMIN ํ์ ๊ฐ์
์ด ๊ฐ๋ฅํ์ง๋ง, token ํ๋๋ฅผ ์๋ชป ์
๋ ฅํ๋ฉด ๊ฐ์
๋ถ๊ฐ, โadminโ์ ์ ํํ ์
๋ ฅํด์ผ admin ํ์ ๊ฐ์
์๋ฃ
โฆ
2์ธ ๊ฒฝ์ฐ STAFF ํ์ ๊ฐ์
์ด ๊ฐ๋ฅํ์ง๋ง, token ํ๋๋ฅผ ์๋ชป ์
๋ ฅํ๋ฉด ๊ฐ์
๋ถ๊ฐ, โstaffโ์ ์ ํํ ์
๋ ฅํด์ผ staff ํ์ ๊ฐ์
์๋ฃ
UserSignupRequestDto.java
UserUpdateRequestDto.java
UserController.java
UserService.java
UserRepository.java
ํ
์คํธ
[Spring][iLanD] MVP - [Users] ํ์ CUD API
ย ํ์ ๊ฐ์
๋ฐ ๋ก๊ทธ์ธ ๊ตฌํ - staff only (๋นํ์์ ๋ชจ๋ ์ ์ )
โข
ํ์ ๊ฐ์
์์
โฆ
ํ์ ์์ด๋
โฆ
๋น๋ฐ๋ฒํธ
โฆ
์ด๋ฆ
โฆ
์ ์ ํ์
RoleEnum ๊ตฌํ (staff์น๋ฌด์ / admin๊ด๋ฆฌ์ / โuserโ or none)
โช
ํ์๊ฐ์
์ ์ผ๋ฐ ์ ์ ๊ฐ ๋ชปํ๋๋ก ์ํฌ๋ฆฟ ํค๋ฅผ ๋ฑ๋กํ๋๋กํจ ๊ทธ ์ธ ์ ํจ์ฑ์ฒดํฌ๋ก ์ ๊ทผ ๋ถ๊ฐ
โข
๋ก๊ทธ์ธ
โฆ
๊ธฐ๋ณธ ์ ๋ณด
โช
DB์ ์์ด๋
โช
DB์ ๋น๋ฐ๋ฒํธ
โฆ
JWT ํ ํฐ+์ฟ ํค ์์ฑ ๋ฐฉ์์ผ๋ก ๋ก๊ทธ์ธ ์ธ์ฆ/์ธ๊ฐ ๊ตฌํ
ย Notice ๊ณต์ง๊ฒ์ํ
โข
CREATE - admin or staff only (์ค์๊ณต์ง์ปฌ๋ผํ์)
โข
READ
โฆ
admin
โฆ
user
โข
UPDATE - admin or staff only
โข
DELETE - admin or staff only
ย Movie&TV ์ปจํ
์ธ ๊ฒ์ํ
โข
CREATE - admin or staff only
โฆ
multipartํ์ผ์
๋ก๋๋ฅผ ํตํด ์๋ฒ์ ์ ์ฅ ํ ์ ์๋ ๊ธฐ๋ฅ ํ์ธ ํ์(๋์ฉ๋ ๊ฐ๋ฅ์ฑ์์)
โข
READ
โฆ
admin or staff
โฆ
user or none
โช
์์ ์คํธ๋ฆฌํ ํ์ด์ง๋ก ์ฌ์ ๊ฐ๋ฅํ์ง ํ์ธ ํ์
โข
UPDATE - admin or staff only
โข
DELETE - admin or staff only
ย ์ฑํ
๊ธฐ๋ฅ
โข
WebSocket์ ํตํ ๊ตฌํ ํ์ธ ํ์
[Spring][iLanD] ๊ธฐ๋ฅ ๋ถ๋ฅ
SpringBoot ํ๋ก์ ํธ ๊ตฌ์กฐ ์์ฑ

HomeController๋ฅผ ํตํ ๋ฉ์ธํ์ด์ง HTTP์์ฒญ ์ ๊ทผ ์ํ ํ์ธ

โข
์์กด์ฑ ์ฃผ์
dependencies {
//SpringBoot AOP
implementation 'org.springframework.boot:spring-boot-starter-aop'
//THYMELEAF
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
//JWT
compileOnly group: 'io.jsonwebtoken', name: 'jjwt-api', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-impl', version: '0.11.5'
runtimeOnly group: 'io.jsonwebtoken', name: 'jjwt-jackson', version: '0.11.5'
//SpringBoot JPA
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
//SpringBoot Security
implementation 'org.springframework.boot:spring-boot-starter-security'
//SpringBoot Thymeleaf
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
//SpringBoot Validation
implementation 'org.springframework.boot:spring-boot-starter-validation'
//SpringBoot WEB
implementation 'org.springframework.boot:spring-boot-starter-web'
//SpringBoot Thymleaf Security
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'
//Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
//MySQL
runtimeOnly 'com.mysql:mysql-connector-j'
//JSON
implementation 'org.json:json:20230227'
//SpringBoot Test
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//SpringBoot Security Test
testImplementation 'org.springframework.security:spring-security-test'
}
Shell
๋ณต์ฌ
[Spring][iLanD] ๊ธฐ์ด ํ๋ก์ ํธ ๊ตฌ์กฐ ์์ฑ ๋ฐ ์์กด์ฑ ์ฃผ์
, ํ
์คํธ
ERD ์์ฑ
๋๋ฉ์ธ๋ณ DB ๊ตฌ์กฐ ์ค๊ณ

๊ฐ๋ฐ์ฉ IDE - ๋ก์ปฌ DB์์ฑ ๋ฐ DB ์ปค๋ฅ์
ํ์ธ
Entity ํด๋์ค ์์ฑ
[Spring][iLanD] ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ 1์ฐจ(ERD)
ํ๋ก ํธ์๋ ์ปจ์
๋์์ธ
์ฃผ์ ์ปจํ
์ธ ๋์์ธ
[Spring][iLanD] ํ๋ก์ ํธ ๋๋ฉ ๋ฏธํ
, ํ๋ก ํธ์๋ ๋์์ธ ๊ตฌํ ์ํ, ์ฝ๋ ํ์ธ, ๊ณผ์
๋ฒ์ ํ์ธ

[Spring][iLanD] ํ๋ก์ ํธ ์งํ ๋ก๋๋งต ์์ฑ
ํ๋ก์ ํธ ์์ฑ ๋ฐ .gitignore ๋ฑ๋ก ๋ฐ Git Init Commit
Github Remote Repository ์์ฑ

[Spring][iLanD] Git, Github ์ ์ฅ์ ์ฐ๊ฒฐ ๊ด๋ฆฌ
ํ๋ก์ ํธ ์ถ์ง ์ด์
์ฃผ๋ณ ๋คํธ์ํฌ๋ฅผ ํตํด ์์ง๋ง ์ค์ ๊ณผ ๊ฐ์ ๊ฒฝํ ๋์์ ์ฃผ๊ฒ ๋ค๋ ์ ์๊ฐ ๋ค์ด์์ผ๋ฉฐ ๊ฐ์ฌํ ๋ง์์ ๋คํด ์ต์ ์ ๋คํด ๋ฐฐ์ด ๊ฒ๋ค์ ํ ๋๋ก ํ๋ก์ ํธ๋ฅผ ์งํํด๋ณด๊ณ ์ ํฉ๋๋ค.
๊ต์ก๊ณผ์ ์์์ ์ฌ๋ฌ ํ ํ๋ก์ ํธ์ ๋ฌ๋ฆฌ ๋ณธ์ธ ์ค์ค๋ก ์ด๋์ ๋ ๊ฐ๋ฐ ํ ์ ์์์ง, ์ด๋ ๋ถ๋ถ๋ค์ด ๋ถ์กฑํ์ง ์ค์ ์ผ๋ก ๊ฒฝํํ๊ณ ์ถ์์ผ๋ฉฐ ํ ํ๋ก์ ํธ ํน์ฑ์ ๋ถ์
๊ณผ์ ์์ ์ง์ ๋ชป ๋ค๋ฃจ์ด๋ณธ ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ์ค์ค๋ก ๊ตฌํํด ๋ณผ ์ ์๋ ์ข์ ๊ธฐํ๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
๋ณธ์ธ์ ๊ฐ๋ฐ ๋ฒ์, ํํฉ ํ์
โข
๊ฐ๋จํ Figma๋ฅผ ํตํด ์ ์๋ ์ปจ์
๋์์ธ์ ์์ผ๋ ๋ฐฑ์๋ API ๊ตฌ์ฑ์ ์ ํ ์๋ ์ํ
โข
API ๊ฐ๋ฐ์ด ํ์ํ๋ฉฐ ์ด์ ๋ฐ๋ผ ํ๋ก ํธ์๋์ ์ฝ๋ ๋๋ ๊ตฌ์ฑ์ด ๋ณ๊ฒฝ๋ ๊ฐ๋ฅ์ฑ์ด ์์
โข
๋์์ธ๊ณผ ์ปจ์
, ์๊ตฌ ๊ธฐ๋ฅ์ ์ต๋ํ ์ ์ง
โข
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ํ์
โข
Java ๊ธฐ๋ฐ์ SpringBoot ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋ฐ์์ ๊ฒฝํ์ , ๊ธฐ๊ฐ์ , ๊ฐํธ์ฑ์ ์ ํฉ
โข
์๋ฒ ๋ฐ ํด๋ผ์ด์ธํธ ๊ฐ๋ฐ ์ดํ ์ต์ข
์ ์ผ๋ก ๋ด๋ถ ์คํํ๊ฒฝ์ ๊ตฌ์ถํด์ฃผ๊ณ ์ธ๋ถ์ ์ ํ
์คํธํ๋ ๊ณผ์ ๊น์ง ํ์

[Spring][iLanD] ๊ฐ๋ฐ ๊ณ์ฝ ์ฒด๊ฒฐ ๋ฐ ์ถ์ง ์ด์ , ๋ฒ์


