- ์๋ฒ๊ฐ ์ข์ง์์ ๋ค์ ๋๋ฆฐ์ ์ํด๋ถํ ๋๋ฆฝ๋๋ค.
- ์ฌ์ฉ์ ํํ์ด์ง (Click)
- ๊ด๋ฆฌ์ ํํ์ด์ง (Click)
- ๊ด๋ฆฌ์ ID : admin01
- ๊ด๋ฆฌ์ Password : asdf123!
- ์ฌ๋ฌ ์บ ํ์ฅ์ ํ๊ณณ์ ๋ชจ์ ์ํ๋ ์บ ํ์ฅ์ ์ ํํ์ฌ ํด๋น ์บ ํ์ฅ์ ์์ฝ ํ ์ ์๋๋ก ๋์์ฃผ๋ ์ฌ์ดํธ
๊ต์ก ๋ชฉ์
- ํ ํ๋ก์ ํธ ๊ณผ์ ์ผ๋ก ํ์ ์ ํ์ํ ์ฌ๋ฌ ํด์ ์ฌ์ฉํ ํ๋ก์ ํธ ์์ฑ
- ๊ต์ก๋ฐ์ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ํ์ ๋ชจ๋ ํ๋ก ํธ/๋ฐฑ์ ์ค๊ณ, ๊ฐ๋ฐํ๋ฉฐ ํ๋ก์ธ์ค ์ดํด๋ ํฅ์
- ๋ค์ด๋ฒ ํด๋ผ์ฐ๋ ํ๋ซํผ(NCP)์ ์ฌ์ฉํ ๋ฐฐํฌ๋ฅผ ํตํด ๋๋ฉ์ธ, ์๋ฒ์ ๋ํ ์ดํด๋ ํฅ์ ๋ฐ ์๋ฒ ์ด์, ์ ์ง ๋ณด์ ๊ฒฝํ ์ถ์
- ์์ํฌํธ, kakao, naver, google ๋ฑ์ ๋ค์ํ API๋ฅผ ์ด์ฉํ์ฌ ์์ฝ/๊ฒฐ์ ๋ฐ ์์
๋ก๊ทธ์ธ, ์นด์นด์ค๋งต, ๋ ์จ ๊ธฐ๋ฅ, ์ฑ๋ด ๋ฑ ๊ตฌํ
- ์ ์ (์ด์ฉ ๊ณ ๊ฐ)์ ๊ด๋ฆฌ์(์บ ํ์ฅ ์ ์ฒด) ํ์ด์ง๋ฅผ ๋ณ๋๋ก ๋์ด ๋ณด์์ ๊ฐํํ ์บ ํ์ฅ ์ข ํฉ ์์ฝ ์น ์๋น์ค๋ก ๊ธฐํ
- ๋ค์ํ API ํ์ฉ๊ณผ ๋ฐ์ํ ์น, ์ง๊ด์ ์ธ UI๋ก ์ฌ์ฉ์ ํธ์ ์ ๊ณต
- ์บ ํ์ฅ ์ ์ฒด ๊ด๋ฆฌ์์ ๋์ ์น ์ปจํ ์ธ ์์ ๊ถํ ์ ๊ณต
- AES512๋ฐฉ์์ ๋จ๋ฐฉํฅ ์ํธํ ์ฌ์ฉ
- API์ฌ์ฉ์ ์์ด์ ๋ฌธ์๋ฅผ ์ดํดํ๊ณ ์ดํดํ ๋ด์ฉ์ ๋ฌธ์ํํ์ฌ ์ ์ฅํ๋ ์ต๊ด์ ์ค์์ฑ์ ๊นจ๋ฌ์
- ๋จ์ํ query๋ฌธ์ ์์ฑ๋ฒ์ด ์๋ DB์ ์๋ฒ ์ฐ๊ฒฐ์ ๊ณ ๋ คํด์ผ ํ ์ํฉ๋ค๊น์ง ์ ๊ฒฝ์จ์ผ ํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์
- ๋ฌธ์ ๋ฐ์ ์ ํด๋น ๋ฌธ์ ๋ฅผ ์ค์ค๋ก ํด๊ฒฐํ๊ณ ๋ด๊ฒ์ผ๋ก ๋ง๋ค๊ธฐ ์ํ ๋ฉ๋ชจ์ต๊ด์ ์ค์์ฑ
- ํ์ ์ ๊ฒฝํํ๊ณ ํ์ฅ์ญ์ ์๋ก ๋งก์ผ๋ฉด์ ์์ฌ์ํต์ ์ค์์ฑ๊ณผ ํ๋ก์ ํธ ์๋ฃ์ ๋ํ ์ฑ ์๊ฐ์ ๋ฐฐ์
| IDE | Back | Front | DB | FrameWork | API | Etc - Tools | Server |
|---|---|---|---|---|---|---|---|
| Eclipse IntelliJ VSCode |
Java JDK 11 | HTML JavaScript Jquery Ajax ThymeLeaf BootStrap |
MySQL v8.0.31 |
SpringBoot Mybatis |
Weather Kakao Import Naver ChatBot |
GitHub WorkBanch Gather Town Coggle Figma ERDCloud CloudCraft Google Sheet |
Tomcat NCP(Naver Cloud Platform) CentOS |
| NAME | Representative |
|---|---|
| ๊ณตํต | - ์ฃผ์ ์ ์ , ์ผ์ ์๋ฆฝ, ๊ธฐํ - ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ, ํ ์ด๋ธ/์ฃผ์ ๊ธฐ๋ฅ ์ค๊ณ - ๋์์ธ ๋ ์ด์์ ์ค๊ณ - ํ ์คํธ, ๋๋ฒ๊น , ๊ฒ์, ํฌํธํด๋ฆฌ์ค ์ ์ |
| ๊ฐ๋ฌด์ฑ | - DB์ค๊ณ - ERD/DDL/DML ์ ์ - ๋ฉ์ธ/์๋ธ ํ์ด์ง ๋ ์ด์์ ์์ - ์์ฝ ์์คํ , ์์ฝ ์กฐํ์์คํ - ADMINํต๊ณ ํ์ด์ง, ์์ฝ์ ๋ณด ๊ด๋ฆฌ ํ์ด์ง ๊ฐ๋ฐ |
| ๊นํ์ฑ | - ๋ฉ์ธ/์๋ธ ๋ ์ด์์ ์์
- ์์ฝ ์กฐํ์์คํ , ์์ฝ ์์ธ, ๊ฒฐ์ ์์คํ - ๋ ์จ ์์คํ ๊ฐ๋ฐ - ADMINํต๊ณ ํ์ด์ง - ํ๋ถ ์ฒ๋ฆฌ ํ์ด์ง ๊ฐ๋ฐ |
| ๋ฐ์ง์ | - UI ๋์์ธ ์ค๊ณ - ์์ด์ดํ๋ ์ ์ ์ - ํ๋ ์ ์์ , ๋ฉ์ธ/์๋ธ ํ์ด์ง ๋ ์ด์์ ์์ - ๋ฉ์ธ ํ์ด์ง CRUD, ๊ณต์ง์ฌํญ CRUD, ๊ตฌ์ญ์๊ฐ CRUD - ๋ก๊ทธ์ธ ํ๋ฉด - ์ง๋ ์์คํ , ์ฑ๋ด ์์คํ ๊ฐ๋ฐ |
| ์ค๋์ญ | - DB์ค๊ณ - ERD/DDL/DML ์ ์ - ๋ฉ์ธ/์๋ธ ํ์ด์ง ๋ ์ด์์ ์์ - ๋ฉ์ธ ํ์ด์ง CRUD, ์์ค CRUD, ์ํธ CRUD, ํ CRUD - ๋ก๊ทธ์ธ/SNS๋ก๊ทธ์ธ/๋ก๊ทธ์์/ํ์๊ฐ์ /์์ , ๋ง์ดํ์ด์ง ๊ฐ๋ฐ - ํ์๊ฐ์ ์ ์ํธํ(AES512) - ์์ฝ ์์คํ , ์์ฝ ์กฐํ์์คํ - ๋ฆฌ๋ทฐ์์คํ - ๋ค๊ตญ์ด ์ฒ๋ฆฌ - ํ์ผ์ ๋ก๋(์ค๋ณต์ด๋ฆํ์ผ, ๊ต์ฒด๋ ์ด๋ฏธ์ง ์ญ์ ์ฒ๋ฆฌ) - ADMIN๋ก๊ทธ์ธ, ํ์๊ด๋ฆฌ, ํด๋ฌด์ผ ์ง์ , ์์ฝ์ ๋ณด ๊ด๋ฆฌ ํ์ด์ง ๊ฐ๋ฐ |
- ์ฌ๋ฌ ์บ ํ์ฅ์ ๋ฑ๋ก ํ ์ฌ์ฉ ํ ์ ์๋๋ก ๊ตฌํ
- DB์์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์์ ์ธ์ ์ผ๋ก ๊ตฌ๋ถ
- ์ธ์ ๋ง๋ฃ์ ์บ ํ์ฅ ์ ํํ์ด์ง๋ก ์ด๋ํด ์ฌ์ฉ์๊ฐ ์๋ฌํ์ด์ง๋ฅผ ๋ณด๋ ๊ฒ์ ๋ฐฉ์ง
- ๋ฐ์ํ ์น์ผ๋ก ๋ง๋ค์ด ๋ชจ๋ฐ์ผ ํ๊ฒฝ์์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ฒ ๊ตฌํ
- ํ์๊ฐ์ ์ ๊ฐ input๋ง๋ค ์ ๊ท์์ ์ฌ์ฉํด ์ ํจ์ฑ๊ฒ์ฌ๋ฅผ ์ํ
- ๋น๋ฐ๋ฒํธ๋ AES512 ๋จ๋ฐฉํฅ ์ํธํ ๋ฐฉ์์ ์ฑํํ์ฌ DB์ ์ ์ฅ
- ํํด์ DB์ ์๋ ๋ฐ์ดํฐ ID์์ ๊ตฌ๋ถ์๋ฅผ ์ฝ์ ํ ๋๋จธ์ง ์ ๋ณด๋ ์ญ์
- ID๋ ํต๊ณํ์ด์ง์์ ์์ฝ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ๊ธฐ ์ํด ๋จ๊ฒจ๋
- JavaScript์ cell์ ์ด์ฉํ์ฌ ๋ฌ๋ ฅ ๊ตฌํ
- ํจ์ ๋ก์ง์ ์์ฑํ์ฌ ์ฒดํฌ๋ ๋ ์ง๋ฅผ ํ์
- DB์์ ํด์ผ๋ก ์ค์ ๋ ๋ ๊ณผ ์์ฝ์ด ์๋ฃ๋ ์ฌ์ดํธ๋ฅผ ์ ์ธํ๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ด
- ๊ธฐ์์ฒญ ๋ ์จ API๋ฅผ ์ฌ์ฉํ์ฌ ์ต๊ทผ ๋ ์จ๋ค์ ๋ณด์ฌ์ฃผ์ด ์์ฝ์ ํธ์์ฑ ์ ๊ณต
- ์์ฝ์๋ฃ๋ฅผ ์ํ ๊ฒฐ์ ๊ธฐ๋ฅ
- import API๋ฅผ ์ด์ฉํด ๊ฒฐ์ ์์ฒญ ํ ๊ฒฐ์ ์ ๋ณด๋ฅผ DB์ ์ ์ฅ
- ๊ฒ์ฆ๋จ๊ณ์์ import restAPI๋ฅผ ํตํด ๊ฒ์ฆ๊ณผ webhook์๋น์ค๋ฅผ ์ด์ฉํ ๊ฒฐ์ ์ ๋ณด ๋๊ธฐํ์์ ์ ์ํ
- ๊ณ ๊ฐ ํ๊ธฐ ์์คํ
- ๋ก๊ทธ์ธ์ ํ์ง ์์ผ๋ฉด ์์ฑํ ์ ์์
- ์์ฝ์ ์๋ฃํ์ง ์์ผ๋ฉด ์์ฑํ ์ ์์
- ์์ฝ ํ ์ฒดํฌ์ธ์ ํ์ง ์์ ์์ฝ์ ๋ํด์๋ ์์ฑํ ์ ์์
- ๊ฐ ๊ด๋ฆฌ์์ํธ ๋ณ๋ก ๋ฐ๋ก๋ฐ๋ก ๊ฐ์์ ํํ์ด์ง๋ฅผ ๊ด๋ฆฌ ํ ์ ์์
- ์ ์ ํ์ด์ง์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ธ์ ์ด ๋ง๋ฃ๋๋ฉด ์๋์ผ๋ก ๋ก๊ทธ์ธํ์ด์ง๋ก ์ด๋
- ์ํ๋ ํต๊ณ๋ง ๊ณจ๋ผ์ ๋ณผ ์ ์์ต๋๋ค.
- ์๋ณ ํต๊ณ, ๋ ๋ณ ๋งค์ถ, ์์ฝ์, ๋ฐฉ๋ฌธ๊ฐ, ๊ตฌ์ญ๋ณ ๋งค์ถ, ๊ตฌ์ญ๋ณ ๋ฐฉ๋ฌธ๊ฐ์ ์กฐํํ ์ ์์ต๋๋ค.
- JavaScript์ cell์ ์ด์ฉํ์ฌ ๋ฌ๋ ฅ ๊ตฌํ
- ํจ์ ๋ก์ง์ ์์ฑํ์ฌ ์ฒดํฌ๋ ๋ ์ง๋ฅผ ํ์
- ๋ฌ๋ ฅ์ ์ด์ฉํ์ฌ ํด๋น ๋ ์ง์ ์์ฝ์ ๋ชปํ๋๋ก ์ค์
- ํด๋น ์ด๋ฏธ์งํ์ผ์ด adminํ๋ก์ ํธ์ ์ด๋ฏธ์ง ํด๋๋ก ์ ์ฅ
- Userํ๋ก์ ํธ์์ ์ธ๋ถ ํด๋ ์ฌ์ฉ์ ์ค์ ํด์ฃผ์ด adminํด๋์ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ด
- ๊ธฐ์กด์ ์ฌ์ฉํ๋ ํ์ผ์ ์ญ์ ํจ
- ์ฌ์ฉ์ค์ธ ํ์ผ์ ์ด๋ฆ๊ณผ ๊ฐ์ ํ์ผ์ผ ๊ฒฝ์ฐ ๊ตฌ๋ถํ๊ธฐ ์ํด (์ซ์)๋ก ๊ตฌ๋ถ์ ํด์ค
- ๊ด๋ฆฌ์๋ ์ ์ ๊ฐ ์์ฒญํ๋ ํ๋ถ๊ฑด๋ค์ ๋ํด ๋ฆฌ์คํธ๋ฅผ ํ์ธ
- ํ์ธ ํ ์น์ธ or ํ๋ถ ๊ฑฐ์ ์ ์ ํ ํ ์ ์์
- ์นด์นด์ค ๋ก๊ทธ์ธ
- ํํด์ ์นด์นด์ค์ ์ฐ๊ฒฐ๋ ๋๊ณ DB์์๋ ๋ฐ์ดํฐ ์ญ์
- ์ผ๋ฐ ํ์๊ฐ์ ๊ณผ ๊ฐ์ ์์คํ ์ผ๋ก DB์์ ๋ฐ์ดํฐ ์ญ์
- ์๋, ๊ฒฝ๋๋ฅผ ์์ ํ์ฌ ์ง๋์ ํ์
- ๋ ์จ์ ๊ฒฝ์ฐ ๊ธฐ์์ฒญ์์ ์๊ตฌํ๋ x์ขํ, y์ขํ๋ก ๋ณํํ์ฌ ์ฌ์ฉ
- NCP์ AI Service-์ฑ๋ด์ ์ด์ฉํ ๊ตฌํ
- BootStrap ์ฌ์ฉ์ ํ์๋งตํ์์ jsํ์ผ ์คํ์๋๋ ํ์ ๋ฐ์ (ex. localhost/user/register) - ํด๊ฒฐ
Thymeleaf ์ฌ์ฉ์ src๋ฅผ th:src๋ก ๋ณ๊ฒฝํ์ฌ ํด๊ฒฐ
- Mapping ์คํ์ ์ถ๊ฐ์ ์ผ๋ก GETMapping์ด ์คํ๋๋ ํ์ ๋ฐ์ - ํด๊ฒฐ
ํ ํ๋ฆฟํ์ผ ์ค JSํ์ผ์์ ๋งตํ์ ๋๋ฒ์คํ๋๋ ๊ฒ์ผ๋ก ์ถ์ ๋จ
ํด๊ฒฐ์ ํ์ง๋ง, ์์ง ์๋ฒฝํ ์์ธ์ ํ์ ํ์ง ๋ชปํจโฆ.
- IntelliJ์์ main.java์ ์๋ xmlํ์ผ ์ธ์ ๋ชปํ๋ ๋ฌธ์ ๋ฐ์ - ํด๊ฒฐ
IntelliJ ์ด์์ธ๊ฒ์ผ๋ก ์ถ์ธก๋จ.
resourcesํ์ํด๋๋ก Path๋ฅผ ์๋ก ์ก์์ค ํ ํด๊ฒฐ
mybatis.mapper-locations=classpath:mybatis//*.xml
- ๋ค๋ฅธํ์ด์ง์์ Login์ url์ด ์ค์ฒฉ๋์ด์ง๋ ํ์ ๋ฐ์ - ํด๊ฒฐ
ex) Noticeํ์ด์ง์ ๋งตํ๋ ํ์ด์ง์์ Login ๋ชจ๋ฌ ์คํ์ /notice/login/loginOk๋ก ๋งตํ๋จ
๋งตํ ์ฃผ์ ์์ โ / โ ๋ฅผ ์ฝ์ ํ์ฌ ํด๊ฒฐ
- Kakao Map ๋ก๊ทธ์ธ, ํ์๊ฐ์ ํ 500์๋ฌ ํ์ ๋ฐ์ - ํด๊ฒฐ
Controller์์ โ / โ ๋ก ๋งตํ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ฌ๋๋๋ก ์ค์ ๋์ด ์์
UserController์์ main์ผ๋ก returnํ๋๊ฒ์ redirect๋ฅผ ์ฌ์ฉํ์ฌ โ / โ ๋ก ๋ฆฌํด์์ผ ํด๊ฒฐ
- ์์ฝํ์ด์ง ๋ฌ๋ ฅ์์ background-color ํด๋ฆญ์ด๋ฒคํธ์ ํ์๋ฆฌ ์ซ์์ ๋์๋ฆฌ ์ซ์ ํด๋ฆญ์ ํ์ ๋ถ๋ - ํด๊ฒฐ
์ฒ์์ ํด๋ฆญํ๋ ์ซ์์์ 0์ ๋ฌธ์ํ์ ์ผ๋ก ๋ถ์ฌ์ ์ซ์๋ก ์ธ์ ๋ชปํ๋ ๋ฌธ์ ๋ฐ์
ํด๋น ๋ฌธ์๋ฅผ ์ซ์๋ก ์ธ์ํ๊ฒ ํ๊ธฐ ์ํด 0์ผ ๋นผ์ฃผ์ด ์ซ์๋ก ์ธ์ํ๊ฒ ๋ง๋ฌ
- Controller์์ ๊ฐ์ ๋ณ์๋ช Listํ์์ผ๋ก ๋ฐ์์ง์ง ์๋ ํ์ ๋ฐ์ - ํด๊ฒฐ
Controller์์ ๋งค๊ฐ๋ณ์ ์ค์ ์ ์๋ ธํ ์ด์ ์ ์์ฑํด ์ฃผ์ด์ผํจ
@RequestParam ์๋ ธํ ์ด์ ์์ฑ ํ ๋ฌธ์ ํด๊ฒฐ
- Admin ํ์ด์ง์ ํ์ผ์ uploadํ๊ธฐ ๋๋ฌธ์ Userํ์ด์ง์์ ๋ฐ์ดํฐ๋ฅผ ๋ชป ๋ฐ์์ค๋ ํ์ ๋ฐ์ - ํด๊ฒฐ
Class๋ฅผ ์์ฑํด์ WebMVCConfigurer๋ฅผ ์์๋ฐ์ addResourceHandlers ๋ฉ์๋๋ฅผ Override ํจ
Configuration ์๋ ธํ ์ด์ ์ Class์ ์ ์ธํด์ฃผ์ด์ผ ํจ
๊ฒฝ๋ก ์์ฑ์ โ / โ ๋ซ๋๊ฑฐ ์ ์!!
- Jquery ๋์ ์ํ๋ ํ์ ๋ฐ์.. - ํด๊ฒฐ
$(document).ready(); ๋ฅผ ์ ์ธํด์ฃผ์ง ์์ ์๋ํ์ง ์์..
- sidebar์ ๋ฐ์ดํฐ ๋ฟ๋ ค์ฃผ๋๊ฑฐ mainํ์ด์ง์์๋ง ์๋ํ๊ณ ๋ค๋ฅธํ์ด์ง์์ ์๋ ์ํ๋ ํ์ ๋ฐ์ - ํด๊ฒฐ
ํ์ด์ง ์ด๋์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๊ณ ๋ณด๋ด์ฃผ๋ ๋จ๊ณ๊ฐ ์์ด ๋ฐ์ดํฐ ๋ฟ๋ ค์ฃผ์ง ๋ชปํจ
session์ ์ด์ฉํ์ฌ ํด๊ฒฐ
- ์๋ฒ์ MySQL์ฐ๋์ Query๋ฌธ ์๋ ์ํ๋ ๋ฌธ์ ๋ฐ์ - ํด๊ฒฐ
์ปฌ๋ผ์ ์๊ด์์ง๋ง, ํ ์ด๋ธ๋ช ์์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์์ํจ
ddl์ ๋ง๋ ํ ์ด๋ธ๋ช ์ ์๋ฌธ์๋ก ์ ๋ ฅํ dml์ ์ฌ์ฉํ๋ ํด๊ฒฐ ๋จ
- ์๋ฒ ๋ฐฐํฌํ ์ง์ฐ์๊ฐ์ด ๊ธธ๋ค๊ณ ๋์ ์ฐ๊ฒฐ ์๋๋ ๋ฌธ์ ๋ฐ์ - ํด๊ฒฐ
ACG์ค์ ์์ ๋ค๋ฅธ ํฌํธ๋ค์ ๋ฃ์์ง๋ง 80ํฌํธ๋ฅผ ์ถ๊ฐํ์ง ์์ ์ ์์ด ์๋จ
80ํฌํธ ์ถ๊ฐํ ํด๊ฒฐ
- Local์์๋ ์๋ํ๋ ๋ฐฐํฌ ํ siteedit๋งตํ์ ์๋ฌ๋ฐ์(500) - ํด๊ฒฐ
์๋ฒ์์ DB์ฟผ๋ฆฌ๋ฌธ ๋ ๋ฆด๋ ๋์๋ฌธ์ ๊ตฌ๋ถ์ ํด์ค์ผ๋ก ํด๊ฒฐ





















