๋ด์ฉ
โข
๋น์ ๊ณต์๋ฅผ ์ํ ํ๋ก๊ทธ๋๋ฐ ํ์ต๋ฒ
โข
AI ๋ฅผ ํ์ฉํ ํจ์จ์ ์ธ ํ์ต์ ๋ต
โข
Java~JSP ์นํ๋ก๊ทธ๋๋ฐ ํต์ฌํํธ ๋ฆฌ๋ทฐ
โข
๋ฏธ๋ ํ๋ก์ ํธ ๋๋น DB ์ค๊ณ ์ค์ต
โข
๋ฏธ๋ ํ๋ก์ ํธ ๋๋น ํ๋ฉด ์ค๊ณ ์ค์ต
โข
ํ๋ก์ ํธ ์ฃผ์ ๋ ํผ๋ฐ์ค
โข
JSP ์น๊ฐ๋ฐ ์ฃผ์๊ธฐ๋ฅ ํ๋ก์ธ์ค ์ ๋ฆฌ
๋น์ ๊ณต์๋ฅผ ์ํ ํ๋ก๊ทธ๋๋ฐ ํ์ต๋ฒ
ํ์ต ๋ฐฉ๋ฒ
1.
ํ๋ก๊ทธ๋๋ฐ ํ์ต
a.
ํ๋ก๊ทธ๋๋ฐ ๋ฌธ๋ฒ
i.
๊ธฐ์ด ๋ฌธ๋ฒ
1.
๊ต์ฌ
2.
ํ์ต์๋ฃ
ii.
๊ฐ๋ฐ ๋ฌธ์
2.
4.
iii.
๊ต์ก ์ฌ์ดํธ
1.
2.
3.
JavaScript
a.
b.
๊ด๋ จ ์ง์
i.
์
๋ฌด ํ๋ก์ธ์ค
1.
ํ์ ๊ด๋ฆฌ
2.
๊ฒ์๊ธ ๊ด๋ฆฌ
ii.
๋ฐ์ดํฐ ๊ตฌ์กฐ
1.
๋ฐฐ์ด
2.
๋ฆฌ์คํธ
3.
์คํ
4.
ํ
5.
ํธ๋ฆฌ
6.
๊ทธ๋ํ
7.
ํ
iii.
์ํคํ
์ฒ ํจํด
1.
3 ๊ณ์ธต ํจํด
2.
MVC ํจํด
3.
MSA (Micro Service Archirecture)
iv.
๋์์ธ ํจํด
1.
์ฑ๊ธํค ํจํด
2.
๋น๋ ํจํด
3.
ํฉํ ๋ฆฌ ๋ฉ์๋ ํจํด
c.
์์ค ์ฝ๋
i.
์ฝ๋ ๋ณต์ต ๋ฐฉ๋ฒ
ii.
์๋ฌ ๋
ธํธ
์ฝ๋ ๋ณต์ต ๋ฐฉ๋ฒ
a.
์ฝ๋ ์์ฑ ์์ฒด๊ฐ ์ด๋ ค์ด ๊ฒฝ์ฐ
i.
ํ๋ฉด์ ๋ฐ์ฉ, ๋ถํ ํด์, ์ค์ต์ฝ๋ ๋๋ ์์ ์ฝ๋ ๊ทธ๋๋ก ๋ฐ๋ผ์ ์ฐ์ต
ii.
๋จ์ถํค ํ์ฉ ์ฐ์ต
iii.
๋ชจ๋ ์ฝ๋๋ฅผ ๋ค ์์ฑํ๊ธฐ ๋ณด๋ค, ํค์๋ ์์ฃผ๋ก ์๋ ์์ฑ ์ฐ์ต
iv.
ํจ์๋ ๋ธ๋ก ๋จ์๋ก ์คํ ํ๋ฆ ์์๋ฅผ ์ฃผ์์ผ๋ก ์์ฑ // 1 2 3
v.
์ฝ๋๋ฅผ ์คํ ํ๋ฆ ์์๋ก ์์ฑํ๋ ์ฐ์ต
vi.
์ฝ๋ ํ ์ค ํ ์ค์ ๋ํ ์ค๋ช
์ ์ฃผ์์ผ๋ก ์์ฑ
b.
์ด๋ ์ ๋ ์ฝ๋๋ฅผ ๋์ผ๋ก ์ฝ์ ์ ์๋ ๊ฒฝ์ฐ
i.
๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด ์๋ ๊ณ ๋ฏผ
ii.
์ค๋ณต๋ ์ฝ๋๊ฐ ์๋์ง ํ์ธ
iii.
์ค๋ณต๋ ์ฝ๋๋ฅผ ํจ์๋ ํด๋์ค ๋จ์๋ก ๋ชจ๋ํ ์ฐ์ต
1.
ํ์ผ ์
๋ ฅ ํ์ผ ๋ณต์ฌ
2.
ํ์ผ ์
๋ ฅ ํ์ผ ์ ๋ณด ํ์ธ
3.
ํ์ผ ์
๋ ฅ ๋ถ๋ถ์ ๋ํ ์ฝ๋๋ฅผ ํจ์ํ
4.
๊ทธ ์ธ, ํด๋์ค, ํจํค์ง ์์ญ ์ด์์์์ ์ค๋ณต ํด๋์ค๋ก ์ ์
iv.
์ฌ์ฌ์ฉํ๊ธฐ ์ํ ์ฝ๋ ์ค๊ณ
1.
์ธํฐํ์ด์ค, ๊ตฌํ ํด๋์ค ํ์ฉํด์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ฝ๋๋ก ๋ณํ
2.
์์์ ํ์ฉํ์ฌ ๊ตฌํ
v.
์ฝ๋ ๋ฌธ์ํ
1.
๋งํฌ ๋ค์ด (.md) ๋ฌธ์๋ก ์์ฑ
a.
ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ฌธ์ํ
2.
๋
ธ์
์ ์ ๋ฆฌ
a.
``` (๋ฐฑํฑ 3๋ฒ ์ฝ๋ ๋ธ๋ญ)
b.
/์ฝ์์ ๊ฐ์กฐ๋ ์ค๋ช
๋ฐ์ค
3.
๊นํ๋ธ
a.
Wiki
b.
Issue
c.
Discussions
์๋ฌ ๋ ธํธ
1.
์๋ฌ๊ฐ ๋ฐ์ํ ์ฝ๋
2.
์๋ฌ ๋ฉ์์ง
a.
์ด๋ฏธ์ง ์บก์ฒ
b.
์๋ฌ ๋ฉ์์ง ํ
์คํธ
3.
์๋ฌ ์์ธ
a.
์คํ์
b.
๊ฒฝ๋ก๋ ๊ธฐํธ ๋๋ฝ
c.
ํ์ผ ์์น ๋ถ๋ถ๋ช
d.
๋ฌธ๋ฒ ์ค๋ฅ
e.
deprecated
f.
๋ฒ์ ํธํ์ฑ
4.
์๋ฌ ํด๊ฒฐ
์ผ๋ณ๋ก ์๋ฌ ๋
ธํธ ์์ฑ, ์นดํ
๊ณ ๋ฆฌ ๋ณ๋ก ์๋ฌ ๋
ธํธ ๋ถ๋ฅ
AI ๋ฅผ ํ์ฉํ ํจ์จ์ ์ธ ํ์ต ์ ๋ต
1.
ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ AI
a.
ChatGPT (์ฑ์งํผํฐ)
b.
Gemini (์ ๋ฏธ๋์ด)
c.
wrtn (๋คผํผ)
2.
Github Copilot
3.
Ollama (๋ก์ปฌ AI)
ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ AI
โข
ํ์ต ๋ด์ฉ ์ ๋ฆฌ ํจ์จํ
โข
ํ์ตํ ์์ค ์ฝ๋ ๋ฆฌ๋ทฐ
โข
์๋ก์ด ํ์ต ๋ด์ฉ์ด๋ ์๋ก์ด ๊ธฐ๋ฅ ์ํ ์ฝ๋ ์์ฑ
์ค๋ ํ์ตํ ๋ด์ฉ์ ์๋ 3๊ฐ์ง๋ก ์ ๋ฆฌํด๋ณด์ธ์.
โข
ํ์ต ๋ด์ฉ
โข
์ดํดํ์ง ๋ชปํ ๋ด์ฉ
โข
๋ ๊ถ๊ธํ ๋ด์ฉ
์ ๋ฆฌ ์์
โข
์ค๋ ํ์ตํ ๋ด์ฉ
โฆ
Servlet
โช
์ ์
โช
์์ฒญ ์ฒ๋ฆฌ - HttpServletRequest
โช
์๋ต ์ฒ๋ฆฌ - HttpServletResponse
โช
ํ์ด์ง ์ด๋ ๋ฐฉ์
โข
forward
โข
redirect
โช
ํ์ผ ์
๋ก๋
โช
ํ์ผ ๋ค์ด๋ก๋
โช
์ธ๋ค์ผ ์ด๋ฏธ์ง
โฆ
JSP
โช
์ ์
โช
JSP ํ๊ทธ
โข
์คํฌ๋ฆฝํธ ํ๊ทธ
โข
๋๋ ํฐ๋ธ ํ๊ทธ
โข
์ก์
ํ๊ทธ
โช
๋ด์ฅ๊ฐ์ฒด
โข
์ดํดํ์ง ๋ชปํ ๋ด์ฉ
โฆ
ํ์ด์ง ์ด๋ ๋ฐฉ์
โฆ
๋ด์ฅ๊ฐ์ฒด
โข
๋ ๊ถ๊ธํ ๋ด์ฉ
โฆ
ํ์ผ ๋ค์ด๋ก๋๋ฅผ ์ฌ๋ฌ ํ์ผ์ ์์ถ ๋ค์ด๋ก๋
ํ๋กฌํํธ ์์
(ํ์ต ๋ด์ฉ)
์ด ๋ด์ฉ๋ค ํ์ต ๋
ธํธ๋ก ์์ฝํด์ค
๊ทธ๋ฆฌ๊ณ ์ดํดํ์ง ๋ชปํ ๋ด์ฉ๊ณผ ๋ ๊ถ๊ธํ ๋ด์ฉ์ ์์์ฝ๋์ ์ฌ์ด ์ค๋ช
์ ์ถ๊ฐํด์ค
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ ์ ์ฒด ๋ด์ฉ์ ํ๋ก ์ ๋ฆฌํด์ค
Plain Text
๋ณต์ฌ
ํ๋ ํ๋ ํค์๋ ๋ฌผ์ด๋ณด๋ ๊ฒ๋ณด๋ค, ๋ฆฌ์คํธ๋ก ์ ๋ฆฌํด์ค ํ ๋ฒ์ ๋ช
๋ นํ๋ฉด ์กฐ๊ธ ๋ ์์ถ์ ์ผ๋ก ์ ๋ฆฌํ ์ ์๊ฒ ์ต๋๋ค.
์ผ์ผ ํ์ต ๋ ธํธ
Github Copilot
๋ง์ดํฌ๋ก์ํํธ์์ ์ง์ํด์ ์... ๋ญ ์ฝ๋๋ ์๋๋ฉด ์ด๋ฐ AI ์ธ์ด๋ชจ๋ธ์ ์ง์ํ๋ ์๋น์ค์์.
vscode ํ์ฅ์ ์ถ๊ฐํด์ ํ์ฉํ ์ ์์ต๋๋ค.
Ollama (๋ก์ปฌ AI)
llama 3.1 ์ธ์ด๋ชจ๋ธ์ ๋ก์ปฌ์ ์ค์นํ๊ณ Open Web UI๋ฅผ ์ฌ์ฉํด์
ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ ai ์๋น์ค์ ๋์ผํ๊ฒ ๋ก์ปฌ ๊ธฐ๋ฐ์ ai ๋ฅผ ์ฌ์ฉํด ๋ณผ ์ ์์ต๋๋ค
Ollama ์ค์น
1.
Ollama ๋ค์ด๋ก๋ ๋ฐ ์ค์น
2.
Ollama ๋ช
๋ น์ด๋ก ์ธ์ด ๋ชจ๋ธ ์ค์น
Ollama ๋ค์ด๋ก๋ ๋ฐ ์ค์น
Ollama ๋ช ๋ น์ด๋ก ์ธ์ด ๋ชจ๋ธ ์ค์น
CMD ๋ ํฐ๋ฏธ๋์์ ๋ช
๋ น์ด ์
๋ ฅ
ollama run llama3.1
Bash
๋ณต์ฌ
Open WebUI
์ธ๊ณต์ง๋ฅ(AI) ๋ชจ๋ธ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์น ๊ธฐ๋ฐ์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค
์ค์น
โข
Python ์ผ๋ก ์ค์นํ๊ธฐ
โข
Docker ๋ก ์ค์นํ๊ธฐ
Python ์ผ๋ก ์ค์นํ๊ธฐ
โข
Python ์ค์น
โข
pip ์
๊ทธ๋ ์ด๋
โข
open-webui ์ค์น
โข
open-webui ์คํ
Python ์ค์น
pip ์ ๊ทธ๋ ์ด๋
python -m pip install --upgrade pip
PowerShell
๋ณต์ฌ
์ค์น ์์ 2024-09-27 ๊ธฐ์ค Python 3.12 ๋ฒ์ ์ ์ง์๋์ง ์๊ณ , 3.11 ๋ฒ์ ๊น์ง ํธํ๋์์ต๋๋ค.
open-webui ์ค์น
pip install open-webui
PowerShell
๋ณต์ฌ
open-webui ์คํ
open-webui serve
PowerShell
๋ณต์ฌ
open-webui ์ ์
http://localhost:8080/
Plain Text
๋ณต์ฌ
์ธ์ด ๋ชจ๋ธ ์ ํ ๋ฐ ํ๋กฌํํธ ์ ๋ ฅ
Docker ๋ก ์ค์นํ๊ธฐ
(์ด์ด์ ์์ฑ์ค)
Java~JSP ์นํ๋ก๊ทธ๋๋ฐ ํต์ฌํํธ ๋ฆฌ๋ทฐ
โข
Java
โฆ
ํด๋์ค
โฆ
์ธํฐํ์ด์ค
โฆ
์์
โฆ
์ปฌ๋ ์
โฆ
๋๋ค์
โฆ
์คํธ๋ฆผ
โฆ
ํ์ผ ์
์ถ๋ ฅ
โฆ
JDBC
โข
DB
โฆ
ํ
์ด๋ธ ์์ฑ
โฆ
๋ฐ์ดํฐ ์กฐ์์ด (CRUD)
โช
๋ฐ์ดํฐ ์กฐํ
โข
์กฐ์ธ
โข
์๋ธ ์ฟผ๋ฆฌ
โช
๋ฐ์ดํฐ ์ฝ์
โช
๋ฐ์ดํฐ ์์
โช
๋ฐ์ดํฐ ์ญ์
โฆ
โข
HTML
โฆ
๊ธฐ๋ณธ ํ๊ทธ
โฆ
์
๋ ฅ์์ ํ๊ทธ
โฆ
๋ ์ด์์ ํ๊ทธ
โฆ
์๋งจํฑ ํ๊ทธ
โข
CSS
โฆ
๋ฐ์ค ๋ชจ๋ธ margin & padding
โฆ
ํํ ์์ฑ display
โฆ
์์น ์์ฑ position
โฆ
Flex
โฆ
Grid
โฆ
๋ฐ์ํ @media ์ฟผ๋ฆฌ
โข
JavaScript
โฆ
DOM
โฆ
AJAX
โข
Servlet & JSP
โฆ
Servlet
โช
์์ฒญ & ์๋ต
โช
ํํฐ
โช
์ธ์
โช
์ฟ ํค
โฆ
JSP
โช
JSP ํ๊ทธ
โช
JSTL
โช
EL ํํ ์ธ์ด
โฆ
์
๋ฌด ํ๋ก์ธ์ค
โช
๋ก๊ทธ์ธ
โช
ํ์๊ฐ์
โช
๊ณตํต
โข
ํ์ด์ง ์ฒ๋ฆฌ
โข
๊ฒ์
โข
ํํฐ
โช
ํ์ ๊ด๋ฆฌ
โช
๊ฒ์๊ธ ๊ด๋ฆฌ
โช
๋๊ธ ๊ด๋ฆฌ
โช
ํ์ผ ๊ด๋ฆฌ
โข
ํ์ผ ์
๋ก๋
โข
ํ์ผ ๋ค์ด๋ก๋
โช
์ํ ๊ด๋ฆฌ
โช
์ฃผ๋ฌธ ๊ด๋ฆฌ
โข
์ฃผ๋ฌธ์ ์์ฑ
โข
์ฅ๋ฐ๊ตฌ๋
โข
๊ฒฐ์
โข
์ฃผ๋ฌธ ์ทจ์
โข
ํ๋ถ
โฆ
์ํคํ
์ฒ
โช
MVC ์ํคํ
์ฒ
โฆ
์ค๊ณ
โช
DDD (๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ)
ํ์ด์ง ์ฒ๋ฆฌ
์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ค์ ํ์ด์ง๋ง๋ค ๊ฐ์๋ฅผ ์ง์ ํด์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ์์
โข
๋ฐ์ดํฐ ๊ฐ์
โข
ํ ํ์ด์ง๋น ๋ฐ์ดํฐ ๊ฐ์
โข
๋
ธ์ถ ํ์ด์ง ๊ฐ์
ํ์ด์ง ์ฒ๋ฆฌ๊ฐ ๊ตฌํ์ด ๋ ์ ์๋๋ก ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์ ์ฉํ ์๊ฐ ์์ต๋๋ค.
๊ทธ๊ฑธ ์ง์ ์ฐ๋ฆฌ๊ฐ ์ฝ๋๋ฅผ ๊ฐ๋ฐํด์ ๊ตฌํํ ์๋ ์๊ณ , ๋ ์ด์ ๋ค์ ์ค๋ฌด์ ๊ฐ๋ฉด ์ด๋ค ํ๋ ์์ํฌ์ ๋ฐ๋ผ์ ๊ทธ ํ๋ ์์ํฌ์ ๊ฐ์ด ์ฐ๊ณํด์ ์ธ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ด์ง ์ฒ๋ฆฌ๋ฅผ ์ง์ํด์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํด์๋ ์ธ ์๊ฐ ์์ด์.
ํ์ด์ง ์ฒ๋ฆฌ ์ ์ฉ
1.
Page ๊ฐ์ฒด ์ ์
2.
์ฟผ๋ฆฌ ์ ์ฉ
3.
ํ์ด์ง๋ค์ด์
Page ๊ฐ์ฒด ์ ์
โข
ํ์ ์ ๋ณด
โฆ
ํ์ด์ง ๋ฒํธ
โฆ
ํ์ด์ง๋น ๊ฒ์๊ธ ์
โฆ
๋
ธ์ถ ํ์ด์ง ๊ฐ์
โฆ
์ ์ฒด ๋ฐ์ดํฐ ๊ฐ์
โข
์์ ์ ๋ณด
โฆ
์์ ๋ฒํธ
โฆ
๋ ๋ฒํธ
โฆ
์ฒซ ๋ฒํธ
โฆ
๋ง์ง๋ง ๋ฒํธ
Page.java
import lombok.Data;
/**
* [ํ์ด์ง]
* โ
ํ์ด์ง ํ์ ์ ๋ณด
* ํ์ด์ง ๋ฒํธ
* ํ์ด์ง๋น ๊ฒ์๊ธ ์
* ๋
ธ์ถ ํ์ด์ง ๊ฐ์
* ์ ์ฒด ๋ฐ์ดํฐ ๊ฐ์
*
* โญ ํ์ด์ง ์์ ์ ๋ณด
* ์์ ๋ฒํธ
* ๋ ๋ฒํธ
* ์ฒซ ๋ฒํธ
* ๋ง์ง๋ง ๋ฒํธ
*/
@Data
public class Page {
// ํ์ด์ง ๊ธฐ๋ณธ๊ฐ
private static final int PAGE_NUM = 1; // ํ์ฌ ํ์ด์ง ๋ฒํธ ๊ธฐ๋ณธ๊ฐ
private static final int ROWS = 10; // ํ์ด์ง๋น ๊ฒ์๊ธ ์ ๊ธฐ๋ณธ๊ฐ
private static final int COUNT = 10; // ๋
ธ์ถ ํ์ด์ง ๊ฐ์ ๊ธฐ๋ณธ๊ฐ
// โ
ํ์ ์ ๋ณด
private int page; // ํ์ด์ง ๋ฒํธ
private int rows; // ํ์ด์ง๋น ๊ธ ์
private int count; // ๋
ธ์ถ ํ์ด์ง ๊ฐ์
private int total; // ์ ์ฒด ๋ฐ์ดํฐ ๊ฐ์
// โญ ์์ ์ ๋ณด
private int start; // ์์ ๋ฒํธ
private int end; // ๋ ๋ฒํธ
private int first; // ์ฒซ ๋ฒํธ
private int last; // ๋ง์ง๋ง ๋ฒํธ
private int prev; // ์ด์ ๋ฒํธ
private int next; // ๋ค์ ๋ฒํธ
private int index; // ๋ฐ์ดํฐ ์์ ๋ฒํธ
// ์์ฑ์
public Page() {
this(0);
}
// ๋ฐ์ดํฐ ๊ฐ์
public Page(int total) {
this(PAGE_NUM, total);
}
// ํ์ฌ ๋ฒํธ, ๋ฐ์ดํฐ ๊ฐ์
public Page(int page, int total) {
this(page, ROWS, COUNT, total);
}
public Page(int page, int rows, int count, int total) {
this.page = page;
this.rows = rows;
this.count = count;
this.total = total;
calc();
}
// setter
// - ๋ฐ์ดํฐ ๊ฐ์ ์ง์ ํ, ํ์ด์ง ์์ ์ฌ๊ณ์ฐ
public void setTotal(int total) {
this.total = total;
calc();
}
// ํ์ด์ง ์ฒ๋ฆฌ ์์
public void calc() {
// ์ฒซ ๋ฒํธ
this.first = 1;
// ๋ง์ง๋ง ๋ฒํธ
this.last = (this.total - 1) / rows + 1;
// ์์ ๋ฒํธ
this.start = ( (page-1) / count ) * count + 1;
// ๋ ๋ฒํธ
this.end = ( (page-1) / count + 1 ) * count;
if( this.end > this.last ) this.end = this.last;
// ์ด์ ๋ฒํธ
this.prev = this.page - 1;
// ๋ค์ ๋ฒํธ
this.next = this.page + 1;
// ๋ฐ์ดํฐ ์์ ๋ฒํธ(index)
this.index = (this.page - 1) * this.rows;
}
}
Java
๋ณต์ฌ
ํ์ด์ง ๋จ์๋ก ์ฟผ๋ฆฌ ์ ์ฉ
- MySQL : LIMIT (์์index, ํ์ด์ง๋น ๊ฒ์๊ธ ์)
ํ์ด์ง ๋ฒํธ : 1
* ๊ฒ์๊ธ ๋ชฉ๋ก์์ 0๋ฒ์งธ index ๋ถํฐ 10๊ฐ์ ๋ฐ์ดํฐ๋ง ์กฐํ
SELECT *
FROM board
LIMIT (0, 10)
Java
๋ณต์ฌ
ํ์ด์ง ๋ฒํธ : 5
* ๊ฒ์๊ธ ๋ชฉ๋ก์์ 40๋ฒ์งธ index ๋ถํฐ 10๊ฐ์ ๋ฐ์ดํฐ๋ง ์กฐํ
SELECT *
FROM board
LIMIT (40, 10)
Java
๋ณต์ฌ
์๋น์ค ๋ฉ์๋์ ํ์ด์ง ๊ฐ์ฒด๋ฅผ ํ์ฉ
โข
ํ์ด์ง ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ ๋ชฉ๋ก๋ง ํ์ํ ๊ฒฝ์ฐ
public List<Board> list(Page page, Option option) throws Exception;
Java
๋ณต์ฌ
โข
ํ์ด์ง ์ฒ๋ฆฌ ๋ชฉ๋ก๊ณผ ํ์ด์ง๋ค์ด์
์ ํจ๊ป ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ
public Map<String, Object> list(Page page, Option option) throws Exception;
Java
๋ณต์ฌ
map
โข
โpageโ : Page
โข
โlistโ : List<Board>
โข
DTO ๋ฅผ ์ถ๊ฐ๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
public BoardDTO list(Page page, Option option) throws Exception;
Java
๋ณต์ฌ
BoardDTO ( List<Board> , Page )
์ ํํ๋ ํ์ด์ง์ฒ๋ฆฌ๋ณด๋ค๋ ํด๋์ค ๋ง๋ค์ด๋จ๋๋ฐ ๋ด์ฉ์ด ์ถ๊ฐ๋ ๋ ์ด๋ป๊ฒ ์์ ํด์ผ ์ข์์ง ๋ชจ๋ฅด๊ฒ ๋ค์?
DAO ์ ํ์ด์ง๋ค์ด์
์ฒ๋ฆฌ๋ฅผ ์ถ๊ฐํ ๋, ๋งค๊ฐ๋ณ์๋ ๋ฉ์๋ ์ถ๊ฐํ ๋ ์๋ก์ด ํด๋์ค๋ฅผ ์ ์ธํด์ผํ๋๊ฑด์ง ๋ชจ๋ฅด๊ฒ ์ต๋๊น?
๋ง์ํ์ ๋ด์ฉ๋๋ก ์๋ก์ด ๋๋ฉ์ธ์ ๋ํด์ ํ์ด์ง์ ์ ์ฉํ ๋ ์๋ก์ด ํด๋์ค๋ฅผ ์ถ๊ฐ๋ก ์ ์ธํ๋ค๊ณ ํ๋ฉด
์๋ก์ด DTO๋ฅผ ๋ง๋ค์ด์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์
๋๋ค. ์ด๋ ๊ฒ ํ๊ฒ ๋๋ค๋ฉด ํ์ด์ง ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฐ์ฒด๋ค๋ง๋ค ๋ณ๋๋ก DTO ํด๋์ค๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ๋ง๋ค์ด์ผ ํฉ๋๋ค.
๋จ์ ์ ์ค๋ณตํด์ DTOํด๋์ค๋ฅผ ๋ง๋ค๊ฒ ๋๋ ์ ์
๋๋ค.
๋๋ฉ์ธ VS DTO
โข
๋๋ฉ์ธ : ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ํ
์ด๋ธ ์ปฌ๋ผ๊ณผ ๋์ผํ๊ฒ ๊ตฌ์ฑํ๊ณ , ์ถ๊ฐ์ ์ธ ๋ก์ง์ ๊ฐ์ง ๊ฐ์ฒด
โข
DTO : ๊ณ์ธต ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๊ฐ์ฒด
ํ์ด์ง ์ฒ๋ฆฌ์ ๊ด๋ จํด์ ์ปฌ๋ ์
๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ฉ์ธ๋ง์ ์ฌ์ฉํด์ ๋ณ๋๋ก DTO๋ฅผ ๋ง๋ค์ง ์๊ณ ๋
ํ์ด์ง ์ฒ๋ฆฌ ์๋น์ค ๋ก์ง๋ค์ ๋ง๋ค ์๊ฐ ์๊ฒ ๋ค. ๊ทธ๋ฐ๋ฐ ํ์์ ๋ฐ๋ผ์ ํ์ด์ง ๊ฐ์ฒด์ ๋ฐ์ดํฐ ๋ชฉ๋ก์ ํฌํจํ๋ ๋ณ๋์ DTO๋ฅผ ๊ตฌ์ฑํด์ ํ์ด์ง ์ฒ๋ฆฌ ๋ก์ง์ ๋ง๋ค ์๋ ์๊ฒ ๋ค.
๋ฏธ๋ ํ๋ก์ ํธ ๋๋น DB ์ค๊ณ ์ค์ต
โข
์๊ตฌ์ฌํญ ์ ์์
โข
๊ธฐ๋ฅ์ ์์
โข
๋ฆด๋ ์ด์
์คํค๋ง
โข
๋ฌผ๋ฆฌ ์คํค๋ง(ERD)
โฆ
โข
DDL
โฆ
ํ
์ด๋ธ ์์ฑ
โฆ
์ ์ฝ์กฐ๊ฑด ์ง์
โฆ
์ํ ๋ฐ์ดํฐ ์ถ๊ฐ
๋ฏธ๋ ํ๋ก์ ํธ ๋๋น ํ๋ฉด ์ค๊ณ ์ค์ต
ํ๋ก์ ํธ ์ฃผ์ ๋ ํผ๋ฐ์ค
JSP ์น๊ฐ๋ฐ ์ฃผ์๊ธฐ๋ฅ ํ๋ก์ธ์ค ์ ๋ฆฌ
์ฃผ์๊ธฐ๋ฅ
โข
๋ก๊ทธ์ธ
โข
ํ์๊ฐ์
โข
๊ณตํต
โฆ
ํ์ด์ง ์ฒ๋ฆฌ
โฆ
๊ฒ์
โฆ
ํํฐ
โข
ํ์ ๊ด๋ฆฌ
โข
๊ฒ์๊ธ ๊ด๋ฆฌ
โข
๋๊ธ ๊ด๋ฆฌ
โข
ํ์ผ ๊ด๋ฆฌ
โฆ
ํ์ผ ์
๋ก๋
โฆ
ํ์ผ ๋ค์ด๋ก๋
๋ง๋ฌด๋ฆฌ
ํ๋ก์ ํธ
1.
๊ธฐํ
2.
์ค๊ณ
3.
๊ฐ๋ฐ
4.
ํ
์คํธ
5.
๋ฐฐํฌ
+๊ฒฐ๊ณผ๋ณด๊ณ ์ ์์ฑ, ๋ฐํํ
๊ธฐํ
โข
์์ด๋์ด ํ์
โข
์ฃผ์ ์ ์
โข
์๊ตฌ์ฌํญ ๋ถ์
โข
๋ ํผ๋ฐ์ค ์ฌ์ดํธ ๋ถ์
โข
๋ฒค์น๋งํน
โข
๋ผ์ด๋ธ๋ฌ๋ฆฌ
โข
API
์ค๊ณ
โข
DB ์ค๊ณ
โฆ
์๊ตฌ์ฌํญ ์ ์์
โฆ
๊ธฐ๋ฅ์ ์์
โฆ
๋ฆด๋ ์ด์
์คํค๋ง
โฆ
๋ฌผ๋ฆฌ ์คํค๋ง(ERD)
โช
โฆ
DDL
โช
ํ
์ด๋ธ ์์ฑ
โช
์ ์ฝ์กฐ๊ฑด ์ง์
โช
์ํ ๋ฐ์ดํฐ ์ถ๊ฐ
โข
ํ๋ฉด ์ค๊ณ
โฆ
๊ณตํต ๋ ์ด์์
โฆ
๋ฉ์ธ ํ๋ฉด
โฆ
์์ธ ํ๋ฉด
โฆ
๊ด๋ฆฌ์ ํ๋ฉด
๊ฐ๋ฐ
โข
์ญํ ๋ถ๋ด
โข
Github ๋ ํฌ์งํ ๋ฆฌ ์ธํ
โฆ
๊ธฐ๋ณธ ํ๋ก์ ํธ ๊ตฌ์กฐ
โฆ
๋ธ๋์น ์์ฑ
โข
๊ตฌํ
ํ ์คํธ
๋ฐฐํฌ
โข
JSP ํ๋ก์ ํธ
โข
.war ์คํ ํ์ผ ์์ฑ
โข
ํธ์คํ
์๋ฒ ๊ตฌ์
โข
์๋ฒ ์คํ ํ์ผ ๋ฐฐํฌ