์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- JavaScript
- ์ค๋ธ์
- ๋ ์
- ์๋ฐ
- ๊ฐ์ดํ ์ข ๋ญ๊ฐ๋น
- ์ค๋ผํด
- ์นดํ๋๊ฐ
- ์ฑ
- database
- ํ๋ก๊ทธ๋๋ฐ
- ํ์ฒ์ ๋ฆฌํธ๋ฆฌํธ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๊ฐ๋ฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์ํ์ฃผ
- ์นํผ๋ธ๋ฆฌ์ฑ
- ์ํ
- ๊น๋ฏธ๊ฒฝ์๋งํ์์
- Python
- ํ์ด์ฌ
- css
- ๋ฐฐ์์ ๋ฐฐ์
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ๋๊ฐ
- ์ฝ๋ฉ
- ๋ฐ์ํ
- html
- Java
- K๋ฐฐํฐ๋ฆฌ๋ ๋ณผ๋ฃจ์
- ์ ๋ฆฌํธ๋ฆฌํธ
- Today
- Total
๋ชฉ๋กfull stack/JAVA (30)
JiYoung Dev ๐ฅ

๐ MVC ํจํด Model. View, Controller๋ก ์ด๋ฃจ์ด์ง ์ํํธ์จ์ด ๋์์ธ ํจํด ๐ ์ถ์ ํด๋์ค ๊ตฌ์ฒด์ ์ด์ง ์์ ์ถ์์ ์ธ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ณ ์๋ ํด๋์ค ์์ ์ ๊ธฐ๋ฅ๋ค์ ํ์ ํด๋์ค๋ก ํ์ฅ ๋น์ทํ ํด๋์ค๊ฐ ์ฌ๋ฌ๊ฐ ์๊ธธ ์ ์๋ค๊ณ ๊ฐ์ ์ค๋ณต ๋ฉค๋ฒ ํตํฉ์ ์ฌ์ฉ - ๊ฐ ํด๋์ค์ ๋๊ฐ์ ๋ณ์๊ฐ ์์ ๋ ๋ช ํํ ๊ณ์ธต ๊ตฌ์กฐ๊ฐ ํ์ํ ๋ ๐ ์ธํฐํ์ด์ค ๊ฐ์ฒด์ ๋ด๋ถ ๊ตฌํ์ ์๊ด์์ด, ์ํ๋ ๋ฉ์๋๋ง ํธ์ถํ๊ณ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐ์ ์ ์๋ ์ํธ์์ฉ ๊ธฐ๋ฅ ๐ ๊ฒ์๋ง๋ค๊ธฐ ํ๋ก์ ํธ DAO vs DTO vs VO ์ฐจ์ด์ 1. DAO(Data Access Object) DB์ data์ ์ ๊ทผํ๊ธฐ ์ํ ๊ฐ์ฒด ์ง์ DB์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ , ์ญ์ , ์กฐํ ๋ฑ ์กฐ์ํ ์ ์๋ ๊ธฐ๋ฅ ์ํ MVCํจํด์ Model์์ ์ํ 2. DTO..
๐ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์์๋ค์ ์ผ์ ํ ์์๋๋ก ์ด๊ฑฐํ๋ ์๊ณ ๋ฆฌ์ฆ ๐ ์ฝ์ ์ ๋ ฌ ํน์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ์์น์ ์ฝ์ ํ๋ ์ ๋ ฌ ๋ฐ์ดํฐ๊ฐ ๊ฑฐ์ ์ ๋ ฌ ๋์ด ์์ ๋ ํจ์จ์ ๐ ๋ณํฉ์ ๋ ฌ ์ฃผ์ด์ง ์๋ฃ๋ฅผ ์๊ฒ ์ชผ๊ฐ ๋ค ํฉ์น๋ ๊ณผ์ ์์ ์ ๋ ฌ ๐ ํต์ ๋ ฌ ๊ธฐ์ค ํค(pivot)๋ฅผ ๊ธฐ์ค์ผ๋ก ์๊ฑฐ๋ ๊ฐ์๊ฐ์ ์ง๋ ๋ฐ์ดํฐ๋ ์์ผ๋ก, ํฐ ๊ฐ์ ์ง๋ ๋ฐ์ดํฐ๋ ๋ค๋ก ๊ฐ๋๋ก ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌํด๊ฐ๋ฉฐ ์ ๋ ฌ ์ผ์ชฝ์์ ์์ํ ํค๋ ๊ธฐ์คํค๋ณด๋ค ํฌ๋ฉด, ์ค๋ฅธ์ชฝ์์ ์์ํ ํค๋ ๊ธฐ์คํค๋ณด๋ค ์์ผ๋ฉด ๋ฉ์ถค ๋ ๊ฐ์ ์๋ฆฌ๋ฅผ ๋ฐ๊ฟ ๋ ๊ฐ์ ์ปค์๊ฐ ๋ง๋๋ฉด ์ผ์ชฝ์ผ๋ก๋ ๊ธฐ์คํค๋ณด๋ค ์์ ๊ฐ๋ง, ์ค๋ฅธ์ชฝ์๋ ๊ธฐ์คํค๋ณด๋ค ํฐ ๊ฐ๋ง ๋จ์ ๐ ๋ฒ๋ธ์ ๋ ฌ ๋ ์ธ์ ํ ์์๋ฅผ ๋น๊ตํ์ฌ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ ํ ํด๋ง ๋๋๋ ๊ฐ์ฅ ํฐ ์ซ์๊ฐ ์ ์ผ ๋ค์ ์์ ์์์ ์ธ๋ฑ์ค 0, 1๋ถํฐ > 1, 2 ..

๐ JDBC(Java DataBase Connectivity) ์๋ฐ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์๋ฐ API JDBC๋ฅผ ์ฌ์ฉํ๋ฉด Java์์ ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ๊ณ SQL์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ ์ ์์ ๐ JDBC Driver JDBC๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํต์ ์ ์ํ ํ์ค ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข ๋ฅ๋ ๋ฒค๋์ ๋ ๋ฆฝ์ ์ผ๋ก ์์ฑ๋ ์๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ ์ ์์. ๐ JDBC ํ๋ฆ ์์ โ๏ธ JDBC Driver ๋ก๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฒค๋๊ฐ ์ ๊ณตํ๋ JDBC ๋๋ผ์ด๋ฒ๋ฅผ ๋ก๋ํจ. ๋๋ผ์ด๋ฒ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐ๊ฒฐ์ ๊ด๋ฆฌํ๊ณ , JDBC API๋ฅผ ๊ตฌํํ ํด๋์ค๋ค์ ์งํฉ โ ํด๋น ํ๋ก์ ํธ์์ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ถ๋ฌ์ค๊ธฐ : ํ๋ก์ ํธ ์ฐํด๋ฆญ > Build Pat..

์ปดํจํฐ ํ์ผ์ ๊ณต์ ํ ์ ์๋๋ก ๋์์ค ๋จ์ : ๋ณด์ ๋ด ์ปดํจํฐ์ ๊นํ๋ธ์์ ์ ๊ทผํ ์ ์๋ ๊ณต๊ฐ์ ๋ง๋ฆ → ๋ก์ปฌ ์ ์ฅ์(local repository) ์ดํด๋ฆฝ์ค์์ ์์ ํ ๋ด์ฉ(์์ ๋ฌผ)์ ๋ก์ปฌ์ ์ฅ์๋ก ์ฎ๊ธฐ๋ ์์ : commit commit ์์ ์ด ์ ํ๋ ํ push, pull ์์ ์ด ์งํ๋จ ๊นํ๋ธ์ ๋จผ์ ๊ณต์ ๋ ๋ด์ฉ์ด ์๋ค๋ฉด ๊นํ๋ธ์ ์๋ ๋ด์ฉ์ ๋จผ์ ๋ด๋ ค๋ฐ์ ํ ํธ์ฌ๋ฅผ ํด์ค์ผ ํจ โ commit - pull โก commit - push โ GitHub ํ์ฉ์ ์ง์ผ์ผ ํ๋ ๊ท์น 1. ์์ ์ ํ ๋ ๊ฐ์ ํ์ผ์ ๋์์ ์์ ํ์ง ์๊ธฐ > ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ > ์ถฉ๋ ๋ฐ์ ์๋ฐฉ์ ์ํด ํ๋ก์ ํธ ์ฌ๋ณธ ๋ง๋ ํ ๊ฑฐ๊ธฐ์ ์์ ๊ทธ ํ push/pull 2. pull, push ์์ ์ ํ ๋ ๊ผญ commit์ ..

๐์ธํฐํ์ด์ค 1. ํด๋์ค๋ค์ด ๊ตฌํํด์ผ ํ๋ ๊ณตํต๋๋ ๊ธฐ๋ฅ ์ง์ 2. ์์ ๋ช ์ธ์ ๋๋ ํ๋ก์ ํธ ์ค๊ณ๋ 3. ๊ธฐ๋ฅ๋ง ์ ์ํจ์ผ๋ก์จ ๊ตฌํ ๊ฐ์ฒด์ ๊ฐ์ ๋์ ๋ณด๊ฐ (๊ตฌํ ๊ฐ์ ) ์ธํฐํ์ด์ค๊ฐ ์ถ์ ํด๋์ค๋ณด๋ค ๋ ๊ฐํ ๊ฐ์ ๋ ฅ์ ๊ฐ์ง๋ค. ๐ ์ธํฐํ์ด์ค ์์ฑ ๐ ์ธํฐํ์ด์ค ์์ ์ธํฐํ์ด์ค ์์ ํค์๋ : implements ์ธํฐํ์ด์ค๋ ๋ค์ค ์์์ด ๊ฐ๋ฅํ๋ค! ์์ผ๋ก ๋ฐฐ์ธ ๋ด์ฉ >> JDBC ์ง๊ธ๊น์ง ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ๋ฐ์ดํฐ ์ฌ์คํ์ํค๋ฉด ์ฌ๋ฆฌ์ง๋ ๋ฐ์ดํฐ > ํ๋ฐ์ฑ ๋ฐ์ดํฐ ์ฌ์คํ์ ์์ผ๋ ๋จ์์๋ ๋ฐ์ดํฐ > ๋นํ๋ฐ์ฑ ๋ฐ์ดํฐ ํ๋ฐ์ฑ ๋ฐ์ดํฐ๋ฅผ ๋นํ๋ฐ์ฑ ๋ฐ์ดํฐ๋ก ๋ง๋ค๊ณ ์ถ์ ๋ ๋ฐฉ๋ฒ 1. ๋ฌธ์ํ (๋ฉ๋ชจ์ฅ, ์์ , ํ๊ธํ์ผ) ๋ฐฉ๋ฒ 2. ์๋ฒ์ ์ ์ฅ ๋ฐฉ๋ฒ 3. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ ์๋ฐ์์ ์ฝ์์ฐฝ์ ์ ๋ ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋..

๐๋ฉํฐํ์คํน ๋ค์์ ์์ ์ ๋์์ ์ฒ๋ฆฌํ๋ ๊ฒ ์์ฉํ๋ก๊ทธ๋จ์์์ ๋ฉํฐํ์คํน ์ : ์์์ถ๋ ฅ + ์๋ฆฌ์ถ๋ ฅ + ์๋์กฐ์ + ์์์ฌ์/๋ฉ์ถค ์์ฉํ๋ก๊ทธ๋จ์ ๋ณดํต ์์ ์ด ์ฌ๋ฌ๊ฐ๊ฐ ๋์ ์คํ๋์ด์ผ ํ๋ค. ๐์ฐ๋ ๋(Thread) ์์ ์ ํ ๋ ํ์ํ ํ๋์ ์ค(์ ์ด) ํ ๊ฐ์ง ์์ ์ ํ๊ธฐ ์ํ ํ๋์ ์ ์ด ์ฐ๋ ๋ ํ๋ ๊ฐ์ง๊ณ ๋ ํ๋์ ์์ ๋ง ๊ฐ๋ฅ ๋์์ ์ฌ๋ฌ๊ฐ์ ์์ ์ ํ๊ณ ์ถ๋ค๋ฉด ์ฌ๋ฌ๊ฐ์ ์ฐ๋ ๋๊ฐ ํ์ํ๋ค. ๋ก๊ทธ์ธ A์ฌ์ฉ์ ๋ก๊ทธ์ธ ์ ์ด - ์์ 1๊ฐ, ๋ก๊ทธ์ธ B์ฌ์ฉ์ ๋ก๊ทธ์ธ์ ์ด - ์์ 1๊ฐ ๊ฐ์ ๊ธฐ๋ฅ์ด๋๋ผ๋ ์ฌ์ฉ์๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋์ ์์ ์ด๋ค >> ์ฐ๋ ๋๊ฐ ์ฌ๋ฌ๊ฐ ํ์ํ๋ค. ์ฐ๋ ๋๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ํ๋ก์ธ์ค์ ํ๋ก๊ทธ๋จ ๋จ์ด์ ๋ํ ์ดํด๊ฐ ํ์ํ๋ค. ์ฐ๋ ๋, ํ๋ก์ธ์ค, ํ๋ก๊ทธ๋จ 3๊ฐ๋ ์ธํธ ํ๋ก๊ทธ๋จ์ด ํ๋ก์ธ์ค์..
๐๋ฐฐ์ด ๋ด์ฉ ์ ๋ฆฌ ๐๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํน์ง 1. ์บก์ํ(์ ๋ณด์๋) 2. ์์ ๊ฐ์ ๊ธฐ๋ฅ, ๊ฐ์ ๋ณ์๊ฐ ์์ผ๋ฉด ์์์ ํ์ฉ ์์์ ์. ๋ง์ฐ์ค Class์ ๊ธฐ๋ฅ : ์ฐํด๋ฆญ, ์ขํด๋ฆญ, ๋๋๊ทธ ํ ๋ง์ฐ์ค Class์ ๊ธฐ๋ฅ : ์ฐํด๋ฆญ, ์ขํด๋ฆญ, ๋๋๊ทธ → ๋ง์ฐ์ค์์ ์์ + ์คํฌ๋กค ์ธ์ฒด๊ณตํ ๋ง์ฐ์ค Class์ ๊ธฐ๋ฅ : ์ฐํด๋ฆญ, ์ขํด๋ฆญ, ๋๋๊ทธ → ๋ง์ฐ์ค์์ ์์ + ํผ๋ก๊ฐ์ public class ํ ๋ง์ฐ์ค extends ๋ง์ฐ์ค { // ์์ํด๋์ค extends ๋ถ๋ชจํด๋์ค //์์ํด๋์ค๋ ๋ถ๋ชจํด๋์ค์ ๊ธฐ๋ฅ, ํ๋๋ฅผ ๋ฌผ๋ ค๋ฐ๋๋ค. } ์ปดํ์ผ์ ๋ฐ์ดํฐ(๊ธฐ๋ฅ)๋ฅผ ํ์ํด๋๊ฐ๋ ๋ฐฉํฅ : ์์ ํด๋์ค → ๋ถ๋ชจ ํด๋์ค ๋๋ฌผ(๋จน๋ค, ์๋ค, ์์ง์ด๋ค) ์กฐ๋ฅ(๋จน๋ค, ์๋ค, ์์ง์ด๋ค) → ๋๋ฌผ ํด๋์ค๋ฅผ ์์๋ฐ์ ์์ง์ด๋ค์ ๊ตฌํ๋จ์ ..

๐๋์์ธ ํจํด(Design Pattern) ์ํํธ์จ์ด๊ณตํ์ ์ํํธ์จ์ด ๋์์ธ์์ ํน์ ๋ฌธ๋งฅ์์ ๊ณตํต์ ์ผ๋ก ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋ํด ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ํด๊ฒฐ์ฑ ์์ค๋ ๊ธฐ๊ณ ์ฝ๋๋ก ๋ฐ๋ก ์ ํ๋ ์ ์๋ ์์ฑ๋ ๋์์ธ์ ์๋๋ฉฐ ๋ค๋ฅธ ์ํฉ์ ๋ง๊ฒ ์ฌ์ฉ๋ ์ ์๋ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๋๋ฐ์ ์ฐ์ด๋ ํ ํ๋ฆฟ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ดํ๋ฆฌ์ผ์ด์ ์ด๋ ์์คํ ์ ๋์์ธํ ๋ ๊ณตํต๋ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๋๋ฐ์ ์ฐ์ด๋ ํ์ํ๋ ๊ดํ ๊ณผ๊ฑฐ ์ํํธ์จ์ด ๊ฐ๋ฐ ๊ณผ์ ์์ ๋ฐ๊ฒฌ๋ ์ค๊ณ์ ๋ ธํ์ฐ๋ฅผ ์ถ์ ํ์ฌ ๊ทธ ๋ฐฉ๋ฒ์ ์ด๋ฆ์ ๋ถ์ด๊ณ ์ดํ ์ฌ์ฌ์ฉํ๊ธฐ ์ข์ ํํ๋ก ํน์ ๊ท์ฝ์ ๋ง๋ค์ด ์ ๋ฆฌํ ๊ฒ. ์ฆ, "ํจ์จ์ ์ธ ์ฝ๋๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ฐฉ๋ฒ๋ก " ๐MVC ํจํด (M : model, V : view, C : controller) ๋์์ธ ํจํด(Design Pattern)์ ํ ์ข ๋ฅ๋ก ..

๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํน์ง 1. ์บก์ํ(Encapsulation) : ์ ๋ณด์๋ 2. ์ถ์ํ(Abstract) 3. ์์(inheritance) โ โ โ โ โ โ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ฅ์ ์ ๋๋ถ๋ถ์ ์์ ํน์ง์ผ๋ก๋ถํฐ ๋์จ๋ค. 5. ๋คํ์ฑ ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ๋ฌธ์ . ๋ค์ ์ค ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํน์ง์ผ๋ก ์ณ์ง ์์ ๊ฒ์? 1. ์บก์ํ 2. ์ถ์ํ 3. ์ ๋ณด์๋ 4. ์์ ์ ๋ต 3๋ฒ → ์ ๋ณด์๋์ ์บก์ํ์ ํฌํจ ๐ ์์ ์ฌ์ ์ ์ ์ : ๋ฌผ๋ ค๋ฐ๋ค, ์ด์ด๋ฐ๋ค, ๋ค๋ฅผ ์๋ค ๋ค๋ฅธ ํด๋์ค๊ฐ ๊ฐ์ง๊ณ ์๋ ํ๋, ๊ธฐ๋ฅ์ ๋ฌผ๋ ค๋ฐ๋๋ค๋ ๋ป ๋ถ๋ชจ ํด๋์ค(์ํผ ํด๋์ค)๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ธฐ๋ฅ์ ์์ ํด๋์ค(์๋ธ ํด๋์ค)๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์๋๋ก ๊ธฐ์กด์ ํด๋์ค์ ๋ณ์(๋ฐ์ดํฐ)์ ๋ฉ์๋(๋ก์ง, ์ฝ๋)๋ฅผ ๋ฌผ๋ ค๋ฐ์ ์๋ก์ด ํด๋์ค๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒ ๊ทธ๋ฆผ..

๐ ์คํ(stack) ์์ด ๋ป : ์๋ค ์๋ฃ๊ฐ ์์์ ธ ์์. ๋งจ ์๋์ ์๋ ์ ๋ค์ ์ฌ์ฉํ๊ธฐ ์ด๋ ค์. ์์ ์๋ ๋ฐ์ดํฐ๋ถํฐ ์ฌ์ฉํ๋ ๊ตฌ์กฐ ๋ฐ์ดํฐ๋ฅผ ์ผ์์ ์ผ๋ก ์์ ๋๋ ์๋ฃ๊ตฌ์กฐ ๊ฐ์ฅ ๋์ค์ ๋ฃ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋จผ์ ๊บผ๋ (ํ์ ์ ์ถ Last In First Out) ์๋ฐ ํ๋ก๊ทธ๋จ์์ ๋ฉ์๋๋ฅผ ํธ์ถํ๊ณ ์คํํ ๋ ๋ด๋ถ์์ ์ฌ์ฉ ํธ์ฌ(push)์ ํ(pop)์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃธ โ ํ๋ก๊ทธ๋จ ์์ → main ๋ฉ์๋ push → main ๋ฉ์๋๋ฅผ ์คํ์ ๋ฃ์ (main push) โก main์์์ z๋ผ๋ ๋ฉ์๋ ํธ์ถ(push) → z ๋ฉ์๋๋ฅผ ์คํ์ ๋ฃ์ โข z ๋ฉ์๋ ์์ x์ y ๋ฉ์๋ ํธ์ถ → x ํธ์ถ(push) > ๋ง๋ฌด๋ฆฌ(pop) → y ํธ์ถ(push) > ๋ง๋ฌด๋ฆฌ(pop) โฃ z ํ โค main ํ ์ค..