- ์ฝ๋ ํ์ต ๋ด์ฉ ๋ณต๊ธฐ ๋ฐ ๊ณต์ ๋ฅผ ์ํ ๋ธ๋ก๊ทธ ํ์
- ๊ธฐ์กด์ ๋ฒจ๋ก๊ทธ ๋ธ๋ก๊ทธ๋ณด๋ค ๊ฐ๋ฐ ๋ธ๋ก๊ทธ์ ๋ ์ ์ด์ธ๋ฆฌ๋ ๊นํ๋ธ ๋ธ๋ก๊ทธ ๋ฐ๊ฒฌ
- ๊ธฐ์กด์ Diary Repository์ ์์ฑํ๋ ๊ฐ๋ฐ์ผ์ง ๋ฑ์ ๋ธ๋ก๊ทธ์ ์ ๋ก๋ํ๋ฉด ์ข๋ค๊ณ ์๊ฐ
- ๋๋ถ์ด ๊ธฐ์กด ์์ฑ์์ ๋ถ์์ ์์ด๋ ๊ตฌ๊ธ ์ ๋์ผ์ค์ ์๋ก์ด ์์ต ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
- ๊นํ๋ธ ๋ธ๋ก๊ทธ ์์ฑ ์ฐธ๊ณ ์๋ฃ 1
- ๊นํ๋ธ ๋ธ๋ก๊ทธ ์์ฑ ์ฐธ๊ณ ์๋ฃ 2
- ๊นํ๋ธ ๋ธ๋ก๊ทธ ์์ฑ ์ฐธ๊ณ ์๋ฃ 3
- Spring.io์์ ์๊ฐํ๋ tool 23๊ฐ์ง๋ฅผ ํ๋ก์ ํธ์ ์ ์ฉํด๋ณด๋ฉฐ Spring ์ดํด
- ๊นํ๋ธ Spring Repository๋ฅผ ์ด์ฉํ์ฌ tool์ ์ด์ฉํ ํ๋ก์ ํธ ์ฝ๋ ๊ณต์
- ์์ : Spring Framework๊ฐ ์ ์ฉ๋ ํ๋ก์ ํธ, Spring Security๊ฐ ์ ์ฉ๋ ํ๋ก์ ํธ
- Spring Framework๊ฐ ์ ์ฉ๋ Book Rental Service Web
- Spring Boot๊ฐ ์ ์ฉ๋ Book Rental Service Web
- Spring Security๊ฐ ์ ์ฉ๋ OOO Web ๋ฑ
- VS Code์ ์ ์ฒด์ ์ธ ์ ํ ๋ง ์ค์
- ex) Material Theme Darker High Contrast ํ ๋ง
- HTML, CSS, JS ๋ฑ์ ์๋ง์ ์์ด์ฝ์ผ๋ก ๊ตฌ๋ถ
- ์์ ํ๊ทธ์ ๋ ํ๊ทธ์ ์ง์ ๋ง์ถฐ์ฃผ๋ ๊ธฐ๋ฅ
- ํ๊ทธ๋ช ์ด ๋์์ ์์ ๋จ์ผ๋ก์จ ๊ท์ฐฎ์ ์ต์ํ
- HTML ํ์ด์ง ๋ด์ฉ๊ณผ CSS ํ์ด์ง ๋ด์ฉ ์ฐ๋
- CSS ํ์ด์ง ๋ด์ฉ๊ณผ HTML ํ์ด์ง ๋ด์ฉ ์ฐ๋
- Ctrl ํด๋ฆญ ํ HTML ํ๊ทธ์ ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๋ค ๋๋ฉด CSS ํ์ด์ง ๋ด์ฉ ํ์ธ ๊ฐ๋ฅ
- Ctrl ํด๋ฆญ ํ HTML ํ์ด์ง ๋ด์ฉ์ ํด๋ฆญํ๋ฉด ์ฐ๋๋ CSS ํ์ด์ง๋ก ์ด๋
- Ctrl ํด๋ฆญ ํ CSS ํ์ด์ง ๋ด์ฉ์ ํด๋ฆญํ๋ฉด ์ฐ๋๋ HTML ํ์ด์ง๋ก ์ด๋
- ์น ๋ธ๋ผ์ฐ์ ์ ๋ฒ์ ์ ๊ตฌ์ ๋ฐ์ง ์๊ณ CSS ์ฝ๋๋ฅผ ๊ตฌํํ ์ ์๋ ๊ธฐ๋ฅ
- ๊ดํธ์ ์์์ ๋ค๋ฅด๊ฒ ํ๊ธฐํ์ฌ ๋จ์ ์๋ฌ๋ฅผ ์ต์ํํ ์ ์๋ ๊ธฐ๋ฅ
- ํ์ฌ VS Code์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๊ธฐ ๋๋ฌธ์ ์ค์ ์์ ON/OFF ๊ฐ๋ฅ
- Extensions ์ค๋ช ์์ "์ค์ "์ด๋ผ๋ ๋จ์ด๋ฅผ ํด๋ฆญํ๋ฉด TRUE/FALSE ์ ํ ๊ฐ๋ฅ
- ํ๊ทธ๋ก ๋ค์ฌ์ฐ๊ธฐ ๋ ์ฌ๋ฐฑ์ ์๋ก๋ฌ๋กํ ์์์นธ ๋ฐฐ์น
- ๋ค์ฌ์ฐ๊ธฐ ๋ ๋ถ๋ถ์ ๋ํ ๊ตฌ๋ถ ๊ฐ๋ฅ
- ์์ ์ค์ธ HTML/CSS ์ฝ๋์ ๊ตฌํ ์ํ๋ฅผ ์ค์๊ฐ์ผ๋ก ํ์ธ ๊ฐ๋ฅ
- ์ฝ๋๋ฅผ ์ ์ฅํ๋ฉด ์น ํ์ด์ง ๋ด์ฉ์ด ์ค์๊ฐ์ผ๋ก ๋ณ๊ฒฝ
์์ฐ๊ณผํ ๊ณ์ด์ ์ฐ๊ตฌ์ ๋ฐ ๊ธฐ์ ์์์
๊ฐ๋ฐ์ ์ง๊ตฐ์ผ๋ก ์ ๊ณต ์ ํฅ์ ํ๊ธฐ ์ํด ์ค๋น ์ค์
๋๋ค.
๊ฐ๋ฐ์๋ก์ ์ถ์ ์ค๋นํ๋ฉฐ
ํ์ฌ๊น์ง์ ์ธ์์ ๋๋์ ๋ณด์์ต๋๋ค.
์ฐธ ์ฌ์ ์๋ ์ธ์์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ฌ๋ฆฌ์ ์ธ ์ฌ์ ๊ฐ ์๋ ์ด ์ํ๋ก
๊ณ์ ๋์ด๋ฅผ ๋จน์ด๊ฐ๋ ๊ฒ์ธ์ง ์๋ฌธ์ด ๋ค์์ต๋๋ค.
๊ทธ๋์ ์ฌ์ ๋ฅผ ๊ฐ์ง ๊ฒธ
๋งํฌ๋์ธ์ ๊ธ ํ๋ ์์ฑํด๋ณด์์ต๋๋ค.
10๋ ๋์ ์ถ์ ๋ ๊ฒฝํ์ ๋ฐํ์ผ๋ก
20๋ ๋ ์์ฐ๊ณผํ ๊ณ์ด ์ ๋ฌธ๊ฐ๋ก ์ฑ์ฅํ์์ต๋๋ค.
๋ํ๊ต ์
ํ ๋ฐ ๊ตฐ๋ ์ ์ญ ํ
ํ๊ต ์ํ์ ํ๋ฉฐ ๋๋๋ค๊ณผ ์ ์ด์ธ๋ ธ๊ณ
๋ ๋์๊ฐ ํ๊ณผ ํ์ํ์ฅ ํ๋๋ ํ์์ต๋๋ค.
๋ํ์๊น์ง ํ์
์ ์ด์ด๊ฐ๋ฉฐ
SCIE ๋ฐ SCOPUS ๋ฑ ๊ตญ์ ๋
ผ๋ฌธ์ ์์ฑํ์๊ณ
๋จ๊ทน ๋ฐ ํด์ธ ํํ ํ๋ ๋ฑ ๋ค์ํ ๊ฒฝํ์ ํ์์ต๋๋ค.
ํ์ ์ ์งํํ๋ฉฐ ํฌ์๋ ๋ณํํ์์ต๋๋ค.
๋ํ์ ์ํ ์ค ์ฃผ์์ ์์ํ์์ผ๋ฉฐ
ํฌ์ ์์ต์ ํ ๋ฌ ์ต๋ 800๋ง์ ์ ๋์์ต๋๋ค.
ํฌ์๋ฅผ ํ๋ฉฐ ๋์ ๋ง์ ๊ด์ฌ์ด ์๊ฒผ๊ณ
๋์ ํ ๋ถ์ผ์ ๋ชฐ๋ํ๋ ์ฐ๊ตฌ๋ณด๋ค ๋งค๋ ฅ์ ์ด์์ต๋๋ค.
๋ํ์ ์กธ์
์๊ธฐ๊ฐ ๋ค๊ฐ์์ผ๋ฉฐ
์์ผ๋ก์ ์ธ์์ ์ด๋ป๊ฒ ์งํ์ํฌ์ง ๊ณ ๋ฏผ ๋์์ต๋๋ค.
ํฌ์ ์์ต์ผ๋ก ์ธํด ๋์ ๊ด์ฌ์ด ํ์ฐฝ ๋ง์์๊ณ
ํด๋ณด๊ณ ์ถ๋ ์ฐ๊ตฌ๋ ๋จ๊น์์ด ํด๋์ ์ํ์์ต๋๋ค.
๊ทธ๋์ ๊ฒฐ๊ตญ ์๋ผ๋ฐธ์ด ๊ฐ์ฅ ์ข์ ์ง์ฅ์ผ๋ก ์ทจ์
ํ์ฌ
์ฃผ๋ง ๋ฐ ํด๊ทผ ํ ์๊ฐ์ ํ์ฉํ๊ธฐ๋ก ๋ง์ ๋จน์์ต๋๋ค.
๊ทผ๋ก ์ด์ธ์ ์๊ฐ์
์ต๋ํ ์์ฐจ๊ฒ ์ฌ์ฉํ๊ณ ์ถ์์ต๋๋ค.
๊ทธ๋์ ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ, ํฐ์คํ ๋ฆฌ ๋ธ๋ก๊ทธ,
์ ํ๋ธ, ์ ์์ฑ
, AI ์ด๋ฏธ์ง ํ๋งค, ์ด๋ชจํฐ์ฝ ํ๋งค ๋ฑ
๋ค์ํ ๋ถ์
์ ์๋ํ๋ฉฐ ๊ฐ๋ฅ์ฑ์ ํ์ธํ์์ต๋๋ค.
ํฌ์ ์ญ์ ๊พธ์คํ ํ์์ผ๋ฉฐ
์ฃผ์ ๋ฐ ๋ถ๋์ฐ ๊ฐญํฌ์๋ก ์์ต์ ๋ฐ์์์ผฐ์ต๋๋ค.
์ฃผ์ ์์ต์ ํ ๋ฌ ์ต๋ 1,600๋ง์ ์ ๋์๊ณ
๋ถ๋์ฐ ์๋ ์๋์ ์ต๋ 2,300๋ง์ ์ ๋์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ค ์ฐ์ธ์ ๋ง๋๊ฒ ๋์๊ณ
์ต๊ทผ ๊ฒฐํผ๊น์ง ํ๊ฒ ๋๋ฉฐ ๊ฐ์ ์ ์ด๋ฃจ์์ต๋๋ค.
๊ฐ์ ์ด ์๊ธฐ๊ณ ๋๋ ์ฌ๊ณ ๊ด์ด ๋ฌ๋ผ์ก์ต๋๋ค.
์์ฐ์ด๋ ๊ธ์ฌ๋ฅผ ๋์ฑ ์์ ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ถ์ด์ก์ต๋๋ค.
ํ ์ง์ฅ ๋ฐ ์ง์ข ์ ๋ง์กฑํ๊ณ ๋ ์์ต๋๋ค.
ํ์ง๋ง ๋
ธ๋
๊ธฐ๊น์ง ๋ณธ ์
์ ๊ณ์ ์ํํ๋ฉด
๋์ฝ์ ์ธ ๋ฐ์ ์ ์์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
๊ทธ๋์ ์ฅ๊ธฐ์ ๊ด์ ์ผ๋ก ๋ฐ์ดํฐ ๋ถ์๊ฐ, PM, PO,
ํ์คํ ๊ฐ๋ฐ์ ๋ฑ์ ์ง๋ก๋ฅผ ํฌ๋งํ๊ฒ ๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ธ์์ ๊ถ๊ทน์ ์ธ ๋ชฉํ๋ฅผ ์ค์ ํ์๊ณ
๋ชฉํ์ ๋๋ฌํ๊ธฐ๊น์ง์ ๊ณผ์ ์ ๊ธฐ๋ก ์ค์
๋๋ค.
ํด๋น ๊ธฐ๋ก์ ์ํด ๋งํฌ๋์ธ, ๊นํ๋ธ, ๋ฒจ๋ก๊ทธ ๋ฑ์
์ฝํ
์ธ ํ๋ซํผ์ ์ด์ฉํ๊ณ ์์ต๋๋ค.
์๊ฐ์ ๋ค์ฌ ์ง๊ธ๊น์ง์ ์ ์ธ์์ ์์ฝํด๋ณด์์ต๋๋ค.
๊ธ์ ์ฝ์ด๋ณด์
จ์ ๋ ์ฌ์ ๊ฐ ๋๊ปด์ก์์ง์.
์ ๋ ๊ธ ์์ฑ์ ์ํด ํ์ดํ ํ๊ธฐ ์ง์ ,
์ฌ๋ฆฌ์ ์ธ ์ฌ์ ๊ฐ ์ ํ ์๋ ์ํ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ๊ธ๋ก ์ ์ธ์์ ํํํ๋ค๋ณด๋
์ด์ ์ ๋ฐ์์ทจ ์ฌ์ด์ฌ์ด์ ์๋ ์ฌ์ ๊ฐ ๋ณด์์ต๋๋ค.
๋ํ ๊ณผ๊ฑฐ๋ฅผ ํ๊ณ ํ๋ ๊ณผ์ ์์
์ธ์์ ์ต๋ํ ๋ฉ์๊ฒ ์ด์๋ณด๋ ค๋ ๋
ธ๋ ฅ์ด ๋ณด์์ต๋๋ค.
๊ทธ๋์ ์ฐธ ํ๋ณตํฉ๋๋ค.
๊ตณ์ด ๊ณผ๊ฑฐ๋ก ๋์๊ฐ ํ์๊ฐ ์์๊ธฐ ๋๋ฌธ์
๋๋ค.
์ด์ ์ด ์์ฌ์ ๊ณผ๋ถํ๊ฐ ๊ฑธ๋ ธ๊ธฐ ๋๋ฌธ์
์ฌ์ ๊ฐ ์์๋ค๊ณ ๋๊ปด์ก๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด ๊ธ์ด ์ง์ณค๋ ์ ์ถ์ ํ๋ ฅ์ ๋ถ์ด๋ฃ์ด ์ฃผ์์ต๋๋ค.
์ค๋๋, ์ ์๋ผ๋, ํ๋ณตํ์ญ์์ค.
- e-Korea Tech ๋งํฌ
- (์ฒจ์ธ) ์ ๋ฌด๋ฃ์ธ์ง ๋ชจ๋ฅผ ์ ๋์ธ ๋ค์ํ ์ฝํ ์ธ ์ ๊ฐ์๋ค..
- HTML/CSS โ JavaScript โ React โ Next.js
- Next.js๋ฅผ ์ด์ฉํ์ฌ ์ต์ ์น ์ฌ์ดํธ ๊ตฌํ ๊ฐ๋ฅ
- I am a full-stack web developer with little experience.
- I want to make money by creating a website or program using ChatGPT.
- I would like to sell the API created using ChatGPT.
- Please provide the programming code in great detail and accuracy.
- Please provide only accurate information.
- Please provide easy to understand.
- Please provide some examples if necessary.
- ๋๋ ์ด๋ณด ํ์คํ ๊ฐ๋ฐ์์ด๋ฉฐ ChatGPT๋ฅผ ์ด์ฉํ์ฌ ๋์ ๋ฒ๊ณ ์ถ์ด์.
- ๋ต๋ณ์ ์ต๋ํ ์์ธํ๊ณ ์ ํํ๋ฉฐ ์ฝ๊ฒ ์๋ ค์ฃผ์ธ์.
- ํ์ ์์ฑ์ ๋ถ์ฌํ๊ณ ์ธ์คํด์ค๋ฅผ ์ฝ์ ์ํค๋ ์ ํต์ ์ธ DB์
- Structured Query Language ๋ฌธ๋ฒ์ด ์ ์ฉ๋จ
- ๋ฐ์ดํฐ ์ค๋ณต์ ํผํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ ๊ทํ(๋ค๋ฅธ ํ๋ก ๋ถ๋ฆฌ)ํ์ฌ ์ ์ฅํจ
- ๊ทธ๋ฌ๋ฏ๋ก ๋ฐ์ดํฐ ์ ์ถ๋ ฅ์ ๋ํ ์๋๋ ๋๋ฆฌ์ง๋ง ์ ํ๋๋ ๋์
- ACID Transaction ๊ธฐ๋ฅ์ด ์์ด์ ๊ธ์ ๊ฑฐ๋ ๋ฑ ์ฃผ์ ๊ฑฐ๋์ ์ฌ์ฉ๋จ
- DBMS ์ข ๋ฅ : MySQL, PostgreSQL, SQLite, MS SQL Server, MariaDB, ORACLE
- Relational DB ๊ตฌ์กฐ๋ณด๋ค ์์ ๋ก์ด ๋ฐฉ์์ DB์
- Collection ํด๋ ๋ด๋ถ์ document ํ์ผ์ ์ ์ฅ์ํด
- Document ํ์ผ ๋ด๋ถ์ JSON ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ์ํด
- JSON ํํ๋ Key-Value ๋ฐ์ดํฐ ํํ์ ๋น์ทํจ
- ๊ทธ๋ฐ๋ฐ Key-Value๋ง ์ฐ๊ฒฐ๋๋ค๋ฉด document๋ง๋ค ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ์์ดํด๋ ๋จ
- ๋ฐ์ดํฐ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ํ์ง ์๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทํํ์ง ์์
- ๊ทธ๋์ ๋ฐ์ดํฐ ์ ์ถ๋ ฅ ๋ฌธ๋ฒ์ด ๋ณด๋ค ๋จ์ํจ
- ๋ํ ๋ฐ์ดํฐ ๋ถ์ฐ ์ฒ๋ฆฌ์ ์ฉ์ดํจ
- DB ๊ฐ์ ์ผ๊ด์ฑ์ด ๋ถ์กฑํ๊ธฐ์ RDB๋ณด๋ค ์ ํ๋๊ฐ ๋ฎ์
- DB ํ์ฉ : SNS, ์ค์๊ฐ ์ฑํ , ๊ฒ์ํ, ์จ๋ผ์ธ ๊ฒ์
- DBMS ์ข ๋ฅ : MongoDB, CouchDB, Cloud Firestore
- ๋ฐ์ดํฐ๋ค๋ผ๋ฆฌ์ ๊ด๊ณ์ ์ค์ ์ ๋๋ DB์
- Graph Query Language๊ฐ ์ ์ฉ๋จ
- Node๋ฅผ ์์ฑ์ํค๊ณ node ๋ด๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ์ํจ
- Node๋ผ๋ฆฌ ์ด๋ค ๊ด๊ณ๊ฐ ์๋์ง ๊ธฐ์ ํ๋ ๊ธฐ๋ฅ์ด ์์
- ๊ทธ๋์ ๋ง์ธ๋๋งต๊ณผ ๋น์ทํ ํํ๋ก DB๋ฅผ ๊ด๋ฆฌํ ์ ์์
- DB ํ์ฉ : ๋นํ๊ธฐ ๋ ธ์ , SNS ์น๊ตฌ ๊ด๊ณ, ์ ์ผ๋ณ ์ ์ผ ๋ชจ์๋, ์ถ์ฒ ์๋น์ค
- DBMS ์ข ๋ฅ : Neo4j, OrientDB, ArangoDB, Sparsity
- ํ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ฉด์๋ RDB์ ๊ตฌ์กฐ๋ณด๋ค ์ ์ฐํ DB์
- Cassandra Query Language ๋ฑ ๊ฐ DBMS์ ๋ง๋ ์ธ์ด๊ฐ ์ ์ฉ๋จ
- ์๊ฐ ๊ธฐ๋ก์ ์ฝ๊ฒ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์๊ณ์ด ์๋ฃ ๊ด๋ฆฌ์ ์ฉ์ดํจ
- ๋ฐ์ดํฐ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ํ์ง ์๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทํํ์ง ์์
- ๋ฐ์ดํฐ ๋ณต์ ๋ฐ ๋ถ์ฐ์ ๋ฅํ๊ธฐ์ ์ ์ถ๋ ฅํด์ผ ๋ ๋ฐ์ดํฐ๊ฐ ๋ง์ ๋ ์ฌ์ฉ
- DB ๊ฐ์ ์ผ๊ด์ฑ์ด ๋ถ์กฑํ๊ธฐ์ RDB๋ณด๋ค ์ ํ๋๊ฐ ๋ฎ์
- ํ ์์ฑ ํ ํ ๋ด๋ถ์ row๋ฅผ ์์ฑ์ํด
- ์์ฑ๋ row ๋ด๋ถ์ ๋ค์ ํ๋ฅผ ์์ฑ์ํด
- ํ ๋ด๋ถ์ ์๋ ํ์ ๊ฒฝ์ฐ ์ปฌ๋ผ์ด ๋ฌ๋ผ๋ ์๊ด ์์
- DB ํ์ฉ : Netflix์ ์์ฒญ ๊ธฐ๋ก ๋ฑ ์๊ณ์ด ์๋ฃ๋ฅผ ๋ค๋ฃจ๋ ์ฌ์ฉ์ฒ
- DBMS ์ข ๋ฅ : Cassandra, APACHE HBASE, Google Cloud Bigtable
- ๊ฒ์์ฉ ์ธ๋ฑ์ค๋ฅผ ๋ณด๊ดํ๊ธฐ ์ํ DB์
- ์ผ๋ฐ์ ์ธ DB๊ฐ ์๋ ๊ฒ์์ฉ DB๋ก ์ธ๋ฑ์ค ๋ณด๊ด ๋ฐ ํ์ฉ ์ฉ๋๋ก ์ด์ฉ๋จ
- ๊ทธ๋์ SE DB๋ ๊ฒ์์ด ์ค์ํ ์น ๊ฐ๋ฐ ์ ํ์ฉ๋จ
- ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ ๊ฒ์์ ๋น ๋ฅด๊ฒ ํ ์ ์๋๋ก ๋๊ธฐ ์ํ ์งํ์
- ๋ฉ์ธ DB์ ๋ฐ์ดํฐ๋ฅผ SE DB์ ์ ๋ ฅ์ํค๋ฉด SE๋ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ณ ๋ณด๊ดํจ
- DB ํ์ฉ : ์ค์๊ฐ ๊ฒ์์ด ์กฐํ, ๊ฒ์์ด ์ถ์ฒ, ์คํ ๊ต์
- DBMS ์ข ๋ฅ : Elastic, Amazon Cloud Search, Google Cloud Search
- ๋ฉ์ธ DB๊ฐ ์๋ ์๋ธ DB์
- DBMS ์ค redis๋ ๋ฐ์ดํฐ๋ฅผ 1์ฐจ์ ์ผ๋ก RAM์ ์ ์ฅํจ
- ๊ทธ๋์ ๋ฐ์ดํฐ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅธ ์๋๋ก ์ ๋ฌ ๊ฐ๋ฅํจ
- ํํธ ๋ฉ์ธ DB ๋ฐ์ดํฐ ์ค ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ง redis์ ๋ณต์ ์ํด
- ๊ด๋ จ ์ฉ์ด : ์บ์ฑ, pub, sub, ์คํธ๋ฆฌ๋ฐ, ๋ก๊ทธ์ธ ๊ธฐ
- ๋ฉํ์ฝ๋M ์ด์ง ์ธ๋ ฅ ๋ด๋น์์ ๋งํฌ๋์ธ ๋ฉ์์ง๋ฅผ ์๋ น ๋ฐ์
- ๊ทธ๋์ ์ก์ฝ๋ฆฌ์ ์ด๋ ฅ์ ๋ฐ ๊นํ๋ธ/๋งํฌ๋์ธ/๋ฒจ๋ก๊ทธ ์ฃผ์๋ฅผ ์ ๋ฌํ์์
- ํ์ง๋ง ํ์ฌ ์ด๊ณต๊ณ์ด ๊ธฐ์ ๊ทผ๋ฌด์ค์ด๊ธฐ์ ๊ฐ๋ฐ์ ์์ฒด์ ๊ฒฝ๋ ฅ์ ์๋ ์ํ์
- ๊ทธ๋ฆฌ๊ณ ํ์ฐฝ ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ๊ฐ๋ฐ ์ค๋ ฅ์ ์๋ ์ค์ด์๊ธฐ์ ๊ธฐ๋๋ ํ์ง ์์
- ํํธ ๊ฐ๋ฐ์ ์์ฒด์ ๊ฒฝ๋ ฅ์ ์๋ค๊ณ ๋ง์๋๋ฆฌ๋.. ๋ต๋ณ์ 1~3์๊ฐ ๋ค์ ๋ฐ๊ฒ ๋จ..
- ๋ฉํ์ฝ๋M ์ ํ๋ธ ์ฑ๋
- ๋ณ๋๋ก ์์ต๋๋ค.
- ๊ฒฝ๊ธฐ๋ ๋จ์์ฃผ์
- ๊ฒฝ๊ธฐ๋ ๊ตฌ๋ฆฌ์
- ๊ฐ๋จ
- ํ๊ต ๋ฐ ๋ถ๋น
- ํ์๋ ์๋์ง๋ง ๊ฐ๋ฅํ๋ค๋ฉด ์ข๊ฒ ์ต๋๋ค.
- ๋ฐ์ดํฐ ๋ถ์: ๊ด๋ จ ๊ตญ์ ๋ ผ๋ฌธ 5ํธ ๋ณด์ (์์ฌ๊ณผ์ ๋น์ ์์ฑ)
- PM, PO, CM
- ๋ฐฑ์๋ ์น ๊ฐ๋ฐ์
- ๋งํฌ๋์ธ ํ๋กํ
- ์ก์ฝ๋ฆฌ์ ์ด๋ ฅ์
- ๊นํ๋ธ, ๋ฒจ๋ก๊ทธ ๋ธ๋ก๊ทธ ์กฐ๊ธ
์ด๋ ๊ฒ ๋ต๋ณ ๋๋ฆฌ๊ฒ ์ต๋๋ค! ๊ทธ๋ฐ๋ฐ ๊ฐ๋ฐ์ ์์ฒด์ ๊ฒฝ๋ ฅ์ ์์ต๋๋ค..
๊ฐ์๋ํ๊ต ์ง์งํ๊ณผ ํ๋ถ ๋ฐ ์ผ๋ฐ๋ํ์(์ธ๋ถ์ ๊ณต: ์งํ์) ์กธ์ ํ
ํ์ฌ ์ด๊ณต๊ณ์ด ์์ง๋์ด๋ง ์๋น์ค ๊ธฐ์ (์ฑํฌํ ์กฐ์ฌ)์ ๊ทผ๋ฌด์ค(์ด 2๋ 10๊ฐ์)์ ๋๋ค.
- ๐ GitHub Profile : https://github.com/Kim-src
- ๐ LinkedIn Profile : https://www.linkedin.com/in/chang-seong-kim-7826142a0
- โ Velog Blog : https://velog.io/@kim-src/series
- STS3์ java, jsp ํ์ผ์์ HTML, CSS, Java ์ธ์ด๋ก ์น ํ๋ก ํธ์๋ ์ ์ ์๋ฃ
- STS3์ java, jsp, xml ํ์ผ๊ณผ MySQL์ DB์ ๋ํ ์ฐ๋ ์๋์ค(๋ฐฑ์๋)
- ์๋ง์ ์๋ฌ๋ฅผ ํด๊ฒฐํ๋ฉฐ ์์ ํ์์ง๋ง ์๋ก์ด ์๋ฌ๊ฐ ๊ณ์ํด์ ๋ฐ์
- ์๋๋ ๊ฐ๋ฐ๋ ์น ํ์ด์ง ๊ด๋ จ ๊นํ๋ธ ๋งํฌ
- Book Rental Service ์น ๊ฐ๋ฐ ๊นํ๋ธ ์ฃผ์
- ๊พธ์คํ ๊ฐ๋ฐ๋ก STS3 ๊ฐ๋ฐ ํ๊ฒฝ์ ์๋นํ ์ ์๋จ
- Spring ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ฉด Tomcat ์๋ฒ ์ค๋ฅ๊ฐ ๋จ๋ ํ์์ด ๋ฐ๋ณต๋จ
- ChatGPT์ ์์กดํ๋ ์น ๊ฐ๋ฐ ์ค๋ ฅ์์ ์ผ๋ถ ๋ฐ์ ํจ
- ์น ๊ฐ๋ฐ์ ํ์ํ IDE, ์ธ์ด, ํ์ผ, ์ฝ๋์ ์ต์ํด์ง๊ธฐ ์์ํจ
- Book Rental Service ์น ๊ฐ๋ฐ ๊นํ๋ธ ์ฃผ์
- Spring (java, jsp ๋ฑ) ํ๊ฒฝ๊ณผ SQL ํ๊ฒฝ ์ฐ๋ ์๋
- pom.xml, Controller, View, Model์ ๋ํ ์์ฑ ๋ฐ ์์ ๋ฐ๋ณต
- ์ผ์ผ์ด ์ ๋ฆฌํ ์ ์๋ ์๋ง์ ์๋ฌ ๋ฐ์
- 08:30 ~ 23:59๊น์ง ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์์ฐจ๋ก ์๋ํด๋ดค์ง๋ง.. ๋ช ์ผ ์ฌ๋์ ์์ ..
- HomeController๋ฅผ ์์์ผ๋ก MVC Framework ๊ฐ๋ ์ดํด ์๋ฃ
- HTML, CSS๋ฅผ ํ์ฉํ ์น ํ์ด์ง์ ํ๋ก ํธ์๋ ๊ตฌ์ถ ๊ณผ์ ์ดํด ์๋ฃ
- "์ผ๋ฐ๋ํ ์จ๋ผ์ธ (์์ฌ)ํ์๊ณผ์ "์ ํ๊ตฌํจ
- ์ด ํ์๊ณผ์ ์ 2021๋ 2์ ๋์ ๋ ๊ต์ก์ ๋์
- 2023๋ ์ ๊ฒฝ์ฐ ์ ๊ตญ 22๊ฐ ๋ํ์์ 27๊ฐ ์์ฌ๊ณผ์ ์ผ๋ก ๊ตฌ์ฑ๋์์
- 2022๋ ์ ๊ฒฝ์ฐ ์ ๊ตญ 6๊ฐ ๋ํ์์ 7๊ฐ ์์ฌ๊ณผ์ ์ผ๋ก ๊ตฌ์ฑ๋์์
- ํด๋ง๋ค ๋ํ์, ์ ๊ณต ๊ตฌ์ฑ, ๋ชจ์ง ์ธ์ ๋ฑ์ด ๋ณ๊ฒฝ๋๋ ์ฃผ์ํด์ผ๋จ
- 2022๋ ์ ์ผ๋ฐ๋ํ ์จ๋ผ์ธ ์์ฌ ํ์๊ณผ์ ๊ตฌ์ฑ์ ์๋์ ๊ฐ์์์(์ถ์ฒ : ๊ต์ก๋ถ)
- STS 3 ๋ฐ Tomcat 9์ ํ์ฉํ ๋ฉ์ธ ํ์ด์ง(Home) ๊ตฌํ ์๋ฃ
- ๋์ ๋์ฌ ๊ณ ๊ฐ ๋ฑ๋ก ํ์ด์ง(register) ๊ตฌํ ์๋ฃ
- ๋์ ๋์ฌ ๊ณ ๊ฐ ๋ชฉ๋ก ํ์ด์ง(list) ๊ตฌํ ์๋ฃ
- ๋์ ๋์ฌ ๊ณ ๊ฐ ๋ชฉ๋ก์ ํด๋นํ๋ Member_tbl DB ์ฐ๊ฒฐ ์๋์ค
- STS 3 ๋ฐ Tomcat 9์ ํ์ฉํ ๋ฉ์ธ ํ์ด์ง(Home) ๊ตฌํ ์๋์ค
- SQL 8์ ํ์ฉํ ๊ณ ๊ฐ ๋ฐ ๋์ฌ ๋ฆฌ์คํธ DB ์์ฑ ์๋ฃ
- DB ์ข ๋ฅ๋ ๊ณ ๊ฐ ๋ชฉ๋ก(Memeber_tbl) ๋ฐ ๋์ฌ ๋ชฉ๋ก(Rent_tbl)
- ์ถํ Book Rental Service ๊ด๋ จ ๋ชจ๋ ํ์ด์ง ๊ตฌํ ๋ชฉ์
- STS ์ฐ์ธก ์๋จ "๋๋ณด๊ธฐ ๋ชจ์"์ ๊ฒ์์ฐฝ ํด๋ฆญ
- HTML Files, JSP Files ๋ฑ ์ํ๋ ํ์ผ ํ์ฅ์ ํด๋ฆญ
- Encoding ๊ธ์ ์ ๋ฐ์ค ํด๋ฆญ
- "Korean, EUC-KR" ์ ํ ํ OK ๋ฒํผ ํด๋ฆญ
- ZIP ํ์ฅ์์ ์์ถ ํ์ผ ์ค๋น
- Package Explorer (ํฐ ๋ฐฐ๊ฒฝ) โ Import โ General ์ง์
- General โ Existing Projects into Worksapce ํด๋ฆญ
- Select archivefile๋์ Browse ํด๋ฆญ ํ ์์ถ ํ์ผ ์ ํ
- Finish ํด๋ฆญ ํ ํ์ผ ๊ฒํ
- STS 3 ํ๊ฒฝ์์ export ์ํ๋ Package Explorer ํ์ผ ๋ค์ด๋ก๋
- Package Explorer ์์ถ ํ์ผ์ ์์ถ ํด์
- C ๋๋ผ์ด๋ธ โ ์ฌ์ฉ์ โ PC๋ช โ IdeaProjects ํด๋ฆญ
- IdeaProjects ํด๋ ๋ด์ ์ค๋น๋ exportํ๋ STS ํ์ผ ์ฝ์
- IntelliJ ์คํ โ New Project โ Maven project โ Ok ํด๋ฆญ
- ์ฐ์ธก ์๋จ์ Add Configurations โ " + " ๋ฒํผ ํด๋ฆญ
- Tomcat Server (TomEE ์๋) ์ ํ โ Name ์ ๋ ฅ
- Configure ํด๋ฆญ ํ Tomcat์ด ์ค์น๋ ๊ฒฝ๋ก ์ ํ
- HTTP port์ ํฌํธ ๋ฒํธ ์ ๋ ฅ
- OK ์ ์ ์๋จ์ Deployment ํญ ํด๋ฆญ
- " + " ๋ฒํผ ํด๋ฆญ ํ Artifact ํด๋ฆญ
- exportํ๋ STS ์์ถ ํ์ผ ์ ํ๋์ด ์์ผ๋ฉด OK
- ํ๋จ์ Application context ์ ๋ ฅ(์์ : /ch2) ํ OK ๋ฒํผ ํด๋ฆญ
- ์ฐธ๊ณ ๋ก Application context ์ ๋ ฅ๋์ด ๋ณด์ด์ง ์์ผ๋ฉด ์ฐฝ ํฌ๊ธฐ ํ๋
- ์ฐ์ธก ์๋จ์ Run ๋ฒํผ ํด๋ฆญ ํ ๋ด์ฉ ๊ฒํ
- Run ๊ฒฐ๊ณผ Cannot resolve symbol 'annotation' ์๋ฌ ๋ฐ์
- Tomcat ๋ผ์ด๋ธ๋ฌ๋ฆฌ import๋ก ๊ฐ๋จํ๊ฒ ํด๊ฒฐ ๊ฐ๋ฅ
- ์ผ์ชฝ ์๋จ์ File โ Project Structure ํด๋ฆญ
- Project Settings์ Libraries ์ ํ โ " + " ๋ฒํผ ํด๋ฆญ
- Java ์ ํ โ C ๋๋ผ์ด๋ธ์ Tomcat ์ค์น ์์น ์ ํ โ lib ์ ํ ํ OK ํด๋ฆญ
- Application context๋ก ์ ๋ ฅํ ์ด๋ฆ ๋ง์ผ๋ฉด OK ํด๋ฆญ
- ์ฐ์ธก ์๋จ์ Name ์ ๋ ฅ(์์ : Apache Tomcat 9.0 Library) โ OK ํด๋ฆญ
- IntelliJ ์์ ์ฐฝ ์ฐ์ธก ์๋จ์ "๋ง์น ๋ชจ์"์ผ๋ก ๋ Build Project ๋ฒํผ ํด๋ฆญ
- "Build complete successfully" ๋ฉ์์ง ์ถ๋ ฅ๋๋ฉด ์ฐ์ธก ์๋จ์ Run ๋ฒํผ ํด๋ฆญ
- Chrome ๋ฑ ์น ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ "localhost/context ์ด๋ฆ" ๊ฒ์ ํ ๊ฒฐ๊ณผ ํ์ธ
- URL ์ฃผ์ ์์ : localhost/ch2/resources/registerForm.html
- URL ์ฃผ์ ๋ณ๊ฒฝ ์์ : localhost/ch2/registerForm.html
- STS ํ๊ฒฝ โ Package Explorer ํ์ผ ์ ํ
- src โ main โ webapp โ WEB-INF โ spring โ appServlet โ servlet-context.xml ์ ํ
- 16๋ฒ์งธ ์ค ์ ๋์ mapping="/resources/**"์์ "resources"๋ง ์ญ์
- FastCampus ๋จ๊ถ์ฑ ๊ฐ์ฌ๋ ๊ฐ์
- Java & Spring ํ๋ก์ ํธ ์๋ด๋ฌธ์ ๊ธฐ์ ๋ ๋ด์ฉ ์ ๋ฆฌ
- ํ๋ก๊ทธ๋จ ์ ์์ ์ํด ์ฌ์ฉ ์์ ์ธ IDE ์ข ๋ฅ ์ ๋ฆฌ
- ํ๋ก๊ทธ๋จ ๊ตฌํ์ ์ํด ํ์ํ DataBase ํ์
- ํ๋ก๊ทธ๋จ์ด ๊ตฌํ๋ ์น ํ์ด์ง ๊ตฌ์ฒดํ
โ ๏ธ "No mapping found for HTTP"๋ ๋ฌด์์ ์๋ฏธํ ์ง..
- ๋ฉ์ธ ๋ฉ์๋ ๊ด๋ จ
@RequestMapping("/hello")
๋ชจ๋ import ๋ฌธ์ฅ ๋ฏธ๊ธฐ์import org.springframework.web.bind.annotation.RequestMapping;
์ผ๋ก ํด๊ฒฐ
โ ๏ธ ์ด๋ฒ์๋ 500 ์ฝ๋๋ฅผ ๋ฆฌํดํ๋ Tomcat..
- ๋ฌธ์ ๋ฅผ ์ฐพ์ง ๋ชปํ๊ธฐ์ java class ์ญ์ ํ ๋ค์ ์์ฑ
- ๊ทธ๋ผ์๋ ๋ฌธ์ ๋ฐ์ ์ STS ๋ฑ ์ด๊ธฐํ ํ ์ฌ์๋๊น์ง ์ฌ๋ฃ
๐ ๋๋์ด STS ํ๊ฒฝ์์ Tomcat ์คํ ์ฑ๊ณต
- Search ๋ฒํผ ํด๋ฆญ ๋ฐ JDK ๋ฒ์ ๊ฒ์ ํ JDK 11๋ก ๋ณ๊ฒฝ
- Preferences โ Java โ Installed JREs โ Add C:\jdk11
โ ๏ธ ์๋ฌธ ๋ชจ๋ฅผ ์ด์ ๋ก 404 ์ฝ๋๋ง ๋ฆฌํดํ๋ Tomcat..
- Tomcat์ ์ ์์ ์ผ๋ก ์คํ๋์์ง๋ง System.out์ผ๋ก ์ธํ 404 ์ฝ๋ ๋ฐํ
- STS ์ฝ์์ฐฝ์ "Hello" ์ถ๋ ฅ๋ ๊ฒ ํ์ธ
๐ STS ์ฝ์์ฐฝ์ "Hello" ์ถ๋ ฅ ์ฑ๊ณต
- Tomcat ๋ด๋ถ์์ ๊ฐ์ฒด ์์ฑ
- Instance Method์์๋ Method ํธ์ถ
- FastCampus์ ๋จ๊ถ์ฑ ๊ฐ์ฌ๋ ๊ฐ์
- STS 3์์ ์๋ก์ด Spring MVC Project ์์ฑ์ ์๋ํ์์
- ํ๋ก์ ํธ๋ช ์ ๋ ฅ ํ Next ๋ฒํผ์ ํด๋ฆญ
- ๊ทธ๋ฐ๋ฐ ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์์
An error has occurred. See error log for more details.
java.lang.ExceptionInInitializerError
- ์ค๋ฅ๋ฅผ ๋ฌด์ํ๊ณ ๋์ด๊ฐ ์ ์์ผ๋ฉฐ ๋ค๋ฅธ ์ค๋ฅ๋ ๋ฐ์๋จ
- ์ค๋ฅ์ ์์ธ์ STS 3์ Java JDK ๋ฒ์ ์ ํธํ ๋ฌธ์ ๋ก ์์๋จ
- ์ต์ java.lang package ๊ด๋ จ ์ค๋ฅ ๋ด์ฉ์ผ๋ก ํด์๋์๊ธฐ ๋๋ฌธ์
- STS3์ ํธํ์ฑ์ด ์ข์ Java JDK๋ JDK 11 ๋ฒ์ ์
- JDK 11 ๋ค์ด๋ก๋ ์ฌ์ดํธ๋ ์ด ๋ฌธ์ฅ์ ํด๋ฆญํ๋ฉด ๋ก๋๋จ
- ์ด๊ณณ ๋๋ ๋น์ทํ ์ฌ์ดํธ์์ JDK 11์ ๋ค์ด๋ก๋ ํด์ผ๋จ
- ์ฐธ๊ณ ๋ก ์์ฑ์์ ๊ฐ๋ฐ ํ๊ฒฝ์ Window 11 x64์
- ๋ค์ด๋ก๋ ๋ฐ์ JDK 11 zip ํ์ผ์ ์์ถ ํด์
- ์์ถ ํด์ ๋ ํด๋๋ฅผ C ๋๋ผ์ด๋ธ๋ก ์ด๋
- ์ด๋์ํจ ํ (์ ์ดํ โ ์์คํ ์์ฑ โ ) ํ๊ฒฝ ๋ณ์ ๋ฒํผ ํด๋ฆญ
- ์๋ก ๋ง๋ค๊ธฐ โ ์ด๋ฆ์ JAVA_HOME ์ ๋ ฅ โ ๊ฐ์ C:\jdk11 ์ ๋ ฅ
- "C:\jdk11"์ C ๋๋ผ์ด๋ธ์ JDK ํด๋ ์ฃผ์์
- ๊ธฐ์กด์ Path ํด๋ฆญ โ ํธ์ง ํด๋ฆญ โ ์๋ก ๋ง๋ค๊ธฐ ํด๋ฆญ โ C:\jdk11\bin ์ ๋ ฅ
- "C:\jdk11\bin"์ JDK 11 ํด๋์ bin ํด๋ ์ฃผ์์
- ๊ธฐ์กด ์์คํ ๋ณ์ ์ค Path ๋ณ์๋ฅผ ํธ์งํ๋ ๊ณผ์ ์
- ์ ๋ ฅํ JDK Path์ ์์น๋ ์ต์๋จ์ผ๋ก ์์น์์ผ์ผ ๋จ
- ๋ชจ๋ ํ๊ฒฝ ๋ณ์ ์ค์ ์ ์๋ฃ ํ ํ์ธ ํด๋ฆญ
- STS 3 ์คํ
- File โ New โ Spring Legacy Project ํด๋ฆญ
- Spring MVC Project โ Next
- Package ๊ตฌ์กฐ ์ ๋ ฅ ํ์ด์ง๋ก ๋์ด๊ฐ๋ฉด ์ค๋ฅ ํด๊ฒฐ ์๋ฃ
- Tomcat ํ์ด์ง ๋ก๋๋ฅผ ์ํด Chrome ์ฃผ์์ฐฝ์ localhost:8080์ ์ ๋ ฅํจ
- ๊ทธ๋ฐ๋ฐ "์ฌ์ดํธ์ ์ฐ๊ฒฐํ ์ ์์"์ด๋ผ๋ ์ค๋ฅ ํ์ด์ง๋ง ๋ก๋๋จ
- ์ค๋ฅ์ ์์ธ์ Tomcat ๊ด๋ จ cmd ๋ช ๋ น์ด ์ฐฝ์ ์ข ๋ฃ์์ผฐ๊ธฐ ๋๋ฌธ์
- Tomcat ์ข ๋ฃ ๋ฐฉ๋ฒ ์ค ํ๋๊ฐ cmd ๋ช ๋ น์ด ์ฐฝ์ ์ข ๋ฃ์ํค๋ ๊ฒ์
- Tomcat 9 ํ์ด์ง๋ฅผ ๋ก๋์ํค๊ธฐ ์ํด์ cmd ๋ช ๋ น์ด ์ฐฝ ์คํ
- ์คํ์ฐฝ ์คํ(Win + R) โ ๋ช ๋ น์ด ์ฐฝ ์คํ(cmd ์ ๋ ฅ)
- cmd์ ์๋์ ๊ฐ์ด "cd + Tomcat ์ค์น ์์น" ์ ๋ ฅ ํ Enter
cd C:\apache-tomcat-9.0.85\bin
- ์ดํ cmd์ Tomcat ์คํ ๋ช ๋ น์ด ์ ๋ ฅ ํ Enter
startup
- Tomcat ๊ด๋ จ cmd ๋ช ๋ น์ด ์ฐฝ ์ต์ํ ๋ฒํผ ํด๋ฆญ
- Chrome ์ฃผ์์ฐฝ์ https://localhost:8080 ์ ๋ ฅ
- ์๋์ ๊ฐ ์ ์์ ์ธ Tomcat ํ์ด์ง ๋ก๋ ํ์ธ
- ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ(IDE; Integrated Development Environment)
- STS : Spring Tool Suite
- IntelliJ : Java, Spring, Spring Boot ๋ฑ ๊ฐ๋ฐ ๊ฐ๋ฅ
- Java ๊ฐ๋ฐ ๋๊ตฌ : JDK (Java Development Kit)
- Web Server : Tomcat
- Web Browser : Chrome
- DBMS (DataBase Management System)
- MySQL (Structured Query Language)
- VS Code : Visual Studio Code
- Git : ๋ฒ์ ๊ด๋ฆฌ์ฉ ํด
- AWS : Amazon Web Services
- Apache Maven : HTTP Server ๊ด๋ จ ํด
- FastCampus ๋จ๊ถ์ฑ ๊ฐ์ฌ๋ ๊ฐ์
- class์ ์ํ ์ ๋ณด(๊ถํ : private) ์ ๋ ฅ
- class์ ์์ฑ์ ๋ฉ์๋(constructor method) ์ ๋ ฅ
- ๋ง์ฐ์ค ์ฐํด๋ฆญ ํ Generate ํด๋ฆญ
- Generate ๋ฉ๋ด์์ Constructor ์ ํ ํ ์ค๋ฒ๋ก๋ฉ
- Generate ๋ฉ๋ด์์ Getter and Setter ์ ํ ํ OK ํด๋ฆญ
- Generate ๋ฉ๋ด์์ toString() ์ ํ ํ OK ํด๋ฆญ
- main class ์ค๊ณ ๋ฐ ์ธ์คํด์ค ๋ณ์ ์์ฑ ํ ๊ฒํ
package kim.java.model;
public class MovieVO {
private String title;
private int date;
private String starring;
private String type;
private int running_time;
private int level;
public MovieVO() {}
public MovieVO(String title, int date, String starring, String type, int running_time, int level) {
this.title = title;
this.date = date;
this.starring = starring;
this.type = type;
this.running_time = running_time;
this.level = level;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getDate() {
return date;
}
public void setDate(int date) {
this.date = date;
}
public String getHero() {
return starring;
}
public void setHero(String hero) {
this.starring = hero;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getRunning_time() {
return running_time;
}
public void setRunning_time(int running_time) {
this.running_time = running_time;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
@Override
public String toString() {
return "MovieVO{" +
"title='" + title + '\'' +
", date=" + date +
", starring='" + starring + '\'' +
", type='" + type + '\'' +
", running_time=" + running_time +
", level=" + level +
'}';
}
}
package kim.java.part3;
import kim.java.model.MovieVO;
public class BestVOModeling {
public static void main(String[] args) {
MovieVO vo = new MovieVO("Avatar: The Way of Water", 20221214, "Sam Worthington", "Action", 192, 12);
System.out.print(vo);
}
}
- JVM : Java Virtual Machine
- 4๊ฐ์ง์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ
- Method Area
- Heap Area
- Stack Area
- Literal Pool
- static ์์ผ๋ฉด class method
- static ์์ผ๋ฉด instance method
- static ์์ผ๋ฉด ๊ธฐ์ธ์์ฒด๋ก ์๋ ํ๊ธฐ
- ์ด๋ class๋ก๋ถํฐ ์ฌ์ฉํ ๋ฉ์๋์๋ ์ ๋ถ static ์ ๋ ฅ
- class์ static ์์ผ๋ฉด ์์ฑ์ ๋ฉ์๋ ๊ถํ์ private์ผ๋ก ์ค์
- Java์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๊ณ๋ System, Math ๋ฉ์๋ ๋ฑ์ด ์์์
- ๋ณ๋์ new ์์ฑ์ ๋ฉ์๋ ์์ด ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ ๋ฉ์๋์ด๊ธฐ ๋๋ฌธ์
- System, Math ๋ณ์ ๋ฑ์ .(์ฐ๊ฒฐ)์ ์ ๋ ฅํ๋ฉด ์ค๊ณ๋ ๋ณ์๋ค์ด ํ์๋จ
Q1. ๋์ผํ ๊ธฐ์ต๊ณต๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ธ ๊ตฌ์กฐ๋ก ๋ง๋ค์ด์ ์ฌ์ฉํ๋ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ๋ฌด์์ด๋ผ๊ณ ํฉ๋๊น?
- Array
Q2. ํ์ค ์ธ๊ณ์ ๊ฐ์ฒด๋ ์ด์ง์ ์ธ ๊ตฌ์กฐ๋ก ํํ๋๋๋ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์์์ ์ด์ง์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๋ ๋๊ตฌ๋ ๋ฌด์์ ๋๊น?
- Class
Q3. ๋ฐฐ์ด๊ณผ ํด๋์ค์ ๊ณตํต์ ์ผ๋ก Java์์ ๋ฐฐ์ด๊ณผ ํด๋์ค๋ฅผ ๋ฌด์์ด๋ผ๊ณ ์ทจ๊ธํฉ๋๊น?
- Object
Q4. ๋ฐฐ์ด๊ณผ ํด๋์ค๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ฐ์ฐ์๋ ๋ฌด์์ ๋๊น?
- new
- MovieVO[ ] mv = new MovieVO[5];
Q1. ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ์์ ์์ ๋จ ํ ๋ฒ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ฉํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํค์๋๋ ๋ฌด์์ ๋๊น?
- Static
- ๋ฉ์๋๊ฐ ํธ์ถ๋๋ฉด ํธ์ถ๋ ๊ธฐ๊ณ์ด ์ฝ๋๊ฐ push ๋๊ณ ์คํ๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ
- ํ์ฌ ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ณ ์๋ ์ํ๋ฅผ ํ์ ํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ
- LIFO (Last-In-First-Out) ๊ตฌ์กฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ
- Call Stack Frame Area / Stack Area / Stack Memory
- ์์ฑ์ ๋ฉ์๋์ ๊ถํ์ private์ผ๋ก ๋ณ๊ฒฝ
- Method Area
- Heap Area
- Stack Area
- Literal Pool
- FastCampus ๋ฐ๋งค์ผ ๊ฐ์ฌ๋ ๊ฐ์
- Java์์ class์ ์ํ์ ๋ณด ๊ถํ์ ์ผ๋ฐ์ ์ผ๋ก private ์ํ๋ก ์ค๊ณ๋จ
- ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ public ์ํ์ setter method๋ฅผ ์ฌ์ฉํด์ผ class๊ฐ ํ์ฉ๋จ
- ์ ์ฅ๋ ๋ฐ์ดํฐ๋ public ์ํ์ getter method๋ฅผ ์ฌ์ฉํด์ผ ์ถ์ถ ๋๋ ์ถ๋ ฅ๋จ
- ํํธ ์์ฑ์ method๋ฅผ ์ด์ฉํ์ฌ ํด๋น class์ ์ด๊ธฐ ์ํ ์ ๋ณด๋ฅผ ์ค๊ณํ ์ ์์
- class๋ ์ฌ๋ฌ ์ข ๋ฅ์ ๋ฐ์ดํฐ ์๋ฃํ์ผ๋ก ๊ตฌ์ฑ๋ ์ด์ง์ ์ธ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ๊ฐ์ฒด(object)์
- array๋ ํ ์ข ๋ฅ์ ๋ฐ์ดํฐ ์๋ฃํ์ผ๋ก ๊ตฌ์ฑ๋ ๋์ผํ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ๊ฐ์ฒด(object)์
- class์ ๊ฒฝ์ฐ ์ค๊ณ(๋ชจ๋ธ๋ง)๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํ ํจ
- array์ ๊ฒฝ์ฐ java์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ธ ๋๊ดํธ [ ]๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํ ํจ
- class๊ฐ ์ฌ๋ฌ๊ฐ ๋ชจ์ด๋ฉด "๊ฐ์ฒด ๋ฐฐ์ด"์ด๋ผ๊ณ ํํํ ์ ์์
- array๋ ๊ฐ์ ์ข ๋ฅ์ ์๋ฃํ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ๊ฐ ๋ชจ์ธ "๊ธฐ๋ณธ ๋ฐฐ์ด"์ด๋ผ๊ณ ํํํ ์ ์์
- VO : Value Object, DTO : Data Transfer Object
- DAO : Data Access Object
- Utility : VO, DTO, DAO๊ฐ ์๋ ๋ชจ๋ธ์ด๋ฉฐ ์ ์ ๋ช ์นญ์ ์์
- VO ๋ฐ DTO : ๋ฐ์ดํฐ๋ฅผ ์ผ๊ด์ ์ผ๋ก ์ด๋์ํฌ ๋ ์ฌ์ฉ๋จ
- DAO : ๋ฐ์ดํฐ๋ฅผ DB์ ์ฐ๊ฒฐ์ํฌ ๋ ์ฌ์ฉ๋จ
- Utility : ํ๊ตญ์ด ์ฌ์ฉ์ ์ํ UTF-8 ๋ฑ์ ์ค์ ํ๋ ๋ฑ ๋ณด์กฐ ์ญํ ์
- ๊ธฐ๋ณธ ์์ฑ์ ๋ฉ์๋์ ์ค๋ฒ๋ก๋ฉํ๋ฉด ๊ฐ ๋ฐ์ดํฐ์ ์๋ฃํ์ด ์๋์ผ๋ก ์ ๋ ฅ๋จ
- public ๋ณ์๋ช () ๊ดํธ ์์ ์๋ฃํ ๋ฐ ๋ณ์๋ช ์ ์์๋๋ก ์ ๋ ฅํ์ฌ ์ค๊ณํ๋ฉด ๋จ
- toString() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๊ฐํธํ๊ฒ ์ถ๋ ฅํ ์ ์์
- ์ฌ์ง์ด System.out.println(๋ณ์๋ช );์์ toString()์ ์๋ตํด๋ ์ ์ ์ถ๋ ฅ๋จ
package kim.java.model;
public class PersonVO {
private String name;
private int age;
private String phone;
// Constructor Method : ๊ธฐ๋ณธ ์์ฑ์ ๋ฉ์๋
// ์ค๋ฒ๋ก๋ฉ ํ๋ ค๋ฉด ๊ธฐ๋ณธ ์์ฑ์ ๋ฉ์๋๊ฐ ์์ด์ผ ๋ ๋ฏํจ
public PersonVO() {
this.name = "Hong";
this.age = 30;
this.phone = "010-1234-1234";
}
// ์์ฑ์ ๋ฉ์๋์ ์ค๋ฒ๋ก๋ฉ ์์
// PsersonVO() ๊ดํธ ์์ ๊ฐ ์
๋ ฅํ๋ฉด ์๋ฃํ์ด ์๋์ผ๋ก ๊ธฐ์
๋จ
public PersonVO(String name, int age, String phone) {
this.name = name;
this.age = age;
this.phone = phone;
}
// Setter Method
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setPhone(String phone) {
this.phone = phone;
}
// Getter Method
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
public String getPhone() {
return this.phone;
}
// ๊ฐํธ ์ถ๋ ฅ์ฉ toString Method
public String toString(){
return name + "\t" + age + "\t" + phone;
}
}
Q1. ๋ค๋ฅธ ๊ฐ์ฒด์์ ์์ ์ ์ ๋ณด๋ฅผ ์จ๊ธฐ๊ณ ํด๋์ค ์ธ๋ถ์์ ํน์ ์ ๋ณด์ ๋ํ ์ ๊ทผ์ ๋ง๋๋ค๋ ๊ฒ์ ๋ฌด์์ด๋ผ๊ณ ํฉ๋๊น?
- Information Hiding
Q2. ์๋๋ ์ ๋ณด์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ ์ค ๊ฐ์ ์ ์ฅํ๋ ๋ฉ์๋๋ฅผ ๋ฌด์์ด๋ผ๊ณ ํฉ๋๊น?
- Setter Method
Q3. ์๋๋ ์ ๋ณด์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ ์ค ๊ฐ์ ์ป์ด์ค๋ ๋ฉ์๋๋ฅผ ๋ฌด์์ด๋ผ๊ณ ํฉ๋๊น?
- Getter Method
Q4. ์๋๋ ์ ๋ณด์ ์ ๊ทผํ๋ ใ ์๋ฒ ์ค ๊ฐ์ฒด ์ด๊ธฐํ๋ฅผ ํตํด ์ ๊ทผํ๋ ๋ฉ์๋๋ฅผ ๋ฌด์์ด๋ผ๊ณ ํฉ๋๊น?
- Constructor Method
Q5. ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ ์ ์ฒด๋ฅผ ๋ฌธ์์ด ํํ๋ก ๋๊ฒจ์ฃผ๊ธฐ ์ํ ๋ฉ์๋๋ฅผ ๋ฌด์์ด๋ผ๊ณ ํฉ๋๊น?
- toString()
- FastCampus ๋ฐ๋งค์ผ ๊ฐ์ฌ๋ ๊ฐ์
- ํ์ฑ(parsing)์ ๊ตฌ๋ฌธ ๋ถ์์ด๋ผ๋ ์๋ฏธ๋ก ํ ํฐ์ผ๋ก ๋ถ์ํ ์ ์์
- ํ ํฐ(token)์ ๊ตฌ๋ฌธ์ ์ต์ ๋จ์์ธ ๋จ์ด๋ฅผ ์๋ฏธํจ
- ํ ํฐ์ผ๋ก ๋ถ์ํ ๋ฌธ๋ฒ ๊ตฌ์กฐ๋ก ํ์คํธ๋ฆฌ(parse tree)๋ฅผ ์์ฑํ ์ ์์
- Parsing ๊ด๋ จ ์ถ๊ฐ์ ์ธ ํ์ต ํ์
- 2023-12-15 Cavity Detection Model (CDM) PJT ์์
- 2024-01-09 CDM์ ์ฒซ ์ด๋ฏธ์ง ํ์ต ์๋ฃ
- ์ถํ ์ด๋ฏธ์ง ํ์ต ๊ณผ์ ์ ๋ํ ๊ฒํ ์งํ ์์
- 2024-01-08 ์์ ํ๋ ๋ฐ์ดํฐ ๋ถ์ toy project ๊ฒฐ๊ณผ ๋ด์ฉ์ ๋ฒจ๋ก๊ทธ ๋ฐ ๋งํฌ๋์ธ์ ์ ๋ก๋ ํจ
- References๋์ ๊ด๋ จ ๋งํฌ๋ฅผ ์์ฑํจ
- ์บ๊ธ ์ฌ์ดํธ์์ ๋ฐ์ดํฐ์ ์ ๋ฐ์ทํ๋ ๋ฐฉ๋ฒ์ ํ์ตํจ
- ๋ทํ๋ฆญ์ค, ๋์ฆ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ฌ Word Cloud ๋ฑ์ ์ ์ํจ
- ํ๊ตญ์ ๋ณดํต์ ๊ธฐ์ ํํ(TTA)์์ ์ ์ํ ์ ๋ณดํต์ ์ฉ์ด ์ฌ์ ์ ์กด์ฌ๋ฅผ ์ธ์งํจ
- ์ ๋ณดํต์ ๊ด๋ จ ์ฉ์ด ํ์ต ์ ์๊ธดํ๊ฒ ์ฌ์ฉ๋ ๊ฐ๋ฅ์ฑ์ด ์์
- "Google Colab ๋ด Python code" ๋ฐ "GitHub repository" ์ฐ๋ ์คํจ
- GitHub repository ์ฐ๋์ ์ํ ์ฝ๋ ์ ๋ ฅ์ ๋ค์ํ๊ฒ ์๋ํด๋ดค์ง๋ง ์ผ๋ฐ์ ์ธ ํฐ๋ฏธ๋์ ์ ๋ ฅํ๋ ๋ฐฉ์๊ณผ๋ ์์ดํ ๋๋์ด์์
- ๊ฒฐ๊ตญ Google Colab ํ์ผ ํญ์์ "GitHub์ ์ฌ๋ณธ ์ ์ฅ" ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ GitHub "Stock" repository์ ๋ด์ฉ์ ์ ๋ก๋ํ์์
- ์ถํ Python toy-project ์ GitHub ์ฐ๋์ ์ฌ๋์ ํ ์์ ์
- Python์ ํ์ฉํ ๋ฐ์ดํฐ ๋ถ์ Toy-PJT
- FastCampus Selena ๊ฐ์ฌ๋ ๊ฐ์
Q1. ์๋ฐ์์ ๊ฐ์ฒด์ ์ ๊ทผํ ๋ ์ฌ์ฉํ๋ ์ ๊ทผ์ ํ์(Access Modifier) 4๊ฐ์ง๋ ๋ฌด์์ ๋๊น?
- public, private, protected, default
Q2. ์๋ฐ์์ ๊ธฐ๋ฅ์ด ์๋ก ๋น์ทํ ํด๋์ค๋ค๋ผ๋ฆฌ ๋ชจ์์ ๊ด๋ฆฌ๋ฅผ ์ฝ๊ฒ ํ๊ธฐ ์ํ ๊ฒ์ ๋ฌด์์ ๋๊น?
- package โ ๋ณด์ ์ค์ ์ด ์ค์ํ๋ค๋ ๊ฒ์ด ์ผ๋ฐ ํด๋์์ ์ฐจ์ด
- java.lang
- main class ์๋จ์ import package์ ์์น ์ ๋ ฅ
- class ์ด๋ฆ ์์ ๋งค๋ฒ full name ์ ๋ ฅ
Q5. ์๋ฐ์์ ์ ๊ณตํ๋ API ์ค์์ String class์ Scanner class์ full name์ ๋ฌด์์ ๋๊น?
- String class : java.lang.String
- Scanner class : java.util.Scanner
- import
- FastCampus ๋ฐ๋งค์ผ ๊ฐ์ฌ๋ ๊ฐ์