728x90 300x250 IT30 DAO, DTO, VO, CRUD ๋ ๋ฌด์์ธ๊ฐ? 1. DAO (Data Access Object) INSERT, DELETE, UPDATE, SELECT ๋ฑ ๋ ์ฝ๋ ์ฒ๋ฆฌ๋ฅผ ์ฃผ ๋ชฉ์ ์ผ๋ก ํ๋ค. DTO ๊ฐ์ฒด๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ์ ์ฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ๋ก๋ถํฐ ๋ ์ฝ๋๋ฅผ SELECTํ ํ, DTO ๊ฐ์ฒด๋ก ๋ณ๊ฒฝํด ๊ฐ์ ธ์ด SQL์ ์ง์ ์คํํ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง ์ฆ DB์ ๋ฐ์ดํฐ๋ฅผ CRUD ํ๋ ์ญํ 2. DTO (Data Transfer Object) ๋ฐ์ดํฐ ์ ์ก๊ฐ์ฒด DTO๋ ๊ณ์ธต ๊ฐ ๋ฐ์ดํฐ ๊ตํ์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์์ํ ๋ฐ์ดํฐ ๊ฐ์ฒด (getter & setter ๋ง ๊ฐ์ง ํด๋์ค) ์ ์ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๋ฉด form์ ๋ด์ ๋์ด์จ ๋ฐ์ดํฐ๋ฅผ DTO์ ๋ฃ์ด์ DAO๋ก ์ ์กํ๋ค. DTO๋ฅผ ๋ฐ์ ์๋ฒ๊ฐ DAO๋ฅผ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ ์ฅ 3. VO (Value Objec.. 2022. 3. 28. ์ ์ ์น๊ฐ๋ฐ์ ๊ธฐ์ ์ง๋ฌธ/๋ต ๋ชจ์ ๐์๋ฐ์ ์ฅ๋จ์ ์ฅ์ ์ ๊ฐ์๋จธ์ ์ผ๋ก ์ธํด ์ด์์ฑ์ด ๋์ต๋๋ค. ๋จ์ ์ ์ปดํ๋ง์ธ๊ณผ์ ์ด ๋ฆ์ต๋๋ค. ์๋ต์ด ๋ฆ์ด ์๋ฒ์ ์ ํฉํ์ง ์์ต๋๋ค. ๐๊ฐ์ฒด์งํฅ ์ธ์ด ๋? ์๋ฐ, ํ์ด์ฌ C ++ ๋ฑ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ ์ฌ์ฉํ๋ ์ธ์ด ์ ๋๋ค. ์ ์ง๋ณด์๊ฐ ์ฝ์ต๋๋ค. ๐์๋ฐ๊ฐ์๋จธ์ ์ด๋ ? ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋๊ด๋ฆฌํด์ฃผ๊ณ , ์ฝ๊ฒ ๋ค๋ฅธ ์ด์์ฒด์ ์ด์ํ๋ ๊ฐ๋ฐํ๊ฒฝ์ด๋ผ ์๊ฐํฉ๋๋ค. ๐ํด๋์ค๋? ๊ฐ์ฒด์ ์ค๊ณ๋ ์ ๋๋ค. ํ์ค์ ์๋ก ๋ค๋ฉด ์๋์ฐจ์ ํ ์ด๋ ๋ถ์ด๋นจ์ด ํ ๊ฐ์๊ฒ ์ ๋๋ค. ๐์์ฑ์๋ ? ํด๋์ค์ ์ด๋ฆ์ด ๋์ผํ ๋ฉ์๋ : ํ๋๋ฅผ ์ด๊ธฐํํด์ค๋๋ค. ๐๊ฐ์ฒด์งํฅ ์ธ์ด ํน์ง 4๊ฐ์ง? ๊ฐ์ฒด์งํฅ (OOP) ์ถ์ํ ์์ํด๋์ค ์์๋ ์์คํธ๋ ํธ๊ฐ ๋ถ๊ณ ์์ํด๋์ค๋ ๋ฉ์๋์ด๋ฆ๋ง ๋ง๋ค์ด๋๊ณ ํ์ํด๋์ค ๊ฐ ์์๋ฐ์์ ์์ํด๋ผ์ค์๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ฒ๋ ํ๋๊ฒ์ ๋งํฉ๋.. 2022. 3. 24. AJAX๋ ๋ฌด์์ธ๊ฐ์? โจAJAX (Asynchronous Javascript And XML) AJAX๋, JavaScript์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ค ํ๋์ด๋ฉฐ ๋น๋๊ธฐ์ ์๋ฐ์คํฌ๋ฆฝํธ์ xml ์ ์ฝ์์ด๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ๊ฐ์ง๊ณ ์๋ XMLHttpRequest ๊ฐ์ฒด๋ฅผ ์ด์ฉํด์ ์ ์ฒด ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์น์ง ์๊ณ ๋ ํ์ด์ง์ ์ผ๋ถ๋ง์ ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ก๋ํ๋ ๊ธฐ๋ฒ ์ด๋ฉฐ JavaScript๋ฅผ ์ฌ์ฉํ ๋น๋๊ธฐ ํต์ , ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ์ XML ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ธฐ์ ์ด๋ค. ์ฆ, ์ฝ๊ฒ ๋งํ์๋ฉด ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํตํด์ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ ๊ฒ์ด๋ค. ์ข ๋ฅ๋ GET, POST, PUT, DELETE ๊ฐ ์๋ค. โจAJAX๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋? ๋จ์ํ๊ฒ WEBํ๋ฉด์์ ๋ฌด์ธ๊ฐ ๋ถ๋ฅด๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ณ ์ถ์ ๊ฒฝ์ฐ, ํ์ด์ง ์ ์ฒด๋ฅผ ์๋ก๊ณ ์นจํ์ง ์๊ธฐ ์ํด ์ฌ์ฉํ๋ค๊ณ ๋ณผ ์ .. 2022. 3. 22. ๋๊ธฐ ๋ฐฉ์๊ณผ ๋น๋๊ธฐ ๋ฐฉ์์ ์ฐจ์ด์ ๋๊ธฐ (synchronous : ๋์์ ์ผ์ด๋๋) - ๋๊ธฐ๋ ๋ง ๊ทธ๋๋ก ๋์์ ์ผ์ด๋๋ค๋ ๋ป์ ๋๋ค. ์์ฒญ๊ณผ ๊ทธ ๊ฒฐ๊ณผ๊ฐ ๋์์ ์ผ์ด๋๋ค๋ ์ฝ์์ธ๋ฐ์. ๋ฐ๋ก ์์ฒญ์ ํ๋ฉด ์๊ฐ์ด ์ผ๋ง๊ฐ ๊ฑธ๋ฆฌ๋์ง ์์ฒญํ ์๋ฆฌ์์ ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ ธ์ผ ํฉ๋๋ค. ์์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ ํ ์๋ฆฌ์์ ๋์์ ์ผ์ด๋จ A๋ ธ๋์ B๋ ธ๋ ์ฌ์ด์ ์์ ์ฒ๋ฆฌ ๋จ์(transaction)๋ฅผ ๋์์ ๋ง์ถ๊ฒ ๋ค. ๋น๋๊ธฐ (Asynchronous : ๋์์ ์ผ์ด๋์ง ์๋) - ๋น๋๊ธฐ๋ ๋์์ ์ผ์ด๋์ง ์๋๋ค๋ฅผ ์๋ฏธํฉ๋๋ค. ์์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ ๋์์ ์ผ์ด๋์ง ์์๊ฑฐ๋ผ๋ ์ฝ์์ ๋๋ค. ์์ฒญํ ๊ทธ ์๋ฆฌ์์ ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ง์ง ์์ ๋ ธ๋ ์ฌ์ด์ ์์ ์ฒ๋ฆฌ ๋จ์๋ฅผ ๋์์ ๋ง์ถ์ง ์์๋ ๋๋ค. ๐ก๋๊ธฐ์ ๋น๋๊ธฐ์ ์ฅ๋จ์ ๋๊ธฐ๋ฐฉ์ ๋น๋๊ธฐ๋ฐฉ์ ์ค๊ณ๊ฐ ๋งค์ฐ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ด์ง๋ง ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ง ๋.. 2022. 3. 22. SSL ์ธ์ฆ์๋ ๋ฌด์์ธ๊ฐ์? โจ๊ฐ์ SSL์ Secure Sockets Layer ์ ์ฝ์์ ๋๋ค. SSL ์ด๋ ์น์๋ฒ ์ธ์ฆ, ์๋ฒ ์ธ์ฆ์ด๋ผ๊ณ ๋ ํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ์ ์๋ฒ ๊ฐ์ ํต์ ์์ ์ ๋ณด๋ฅผ ์ํธํํจ์ผ๋ก์จ ๋์ค์ ํดํน์ ํตํด ์ ๋ณด๊ฐ ์ ์ถ๋๋๋ผ๋ ์ ๋ณด์ ๋ด์ฉ์ ๋ณดํธํ ์ ์๊ฒ ํด ์ฃผ๋ ๋ณด์ ์๋ฃจ์ ์ผ๋ก ๋ฒ์จ ์๋ฐฑ๋ง์ ์ฌ์ดํธ ์ด์์์ ์ํด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ์ ์ธ๊ณ์ ์ธ ํ์ค ๋ณด์ ๊ธฐ์ ์ 1994๋ Netscape์ ์ํด ๊ฐ๋ฐ๋์์ผ๋ฉฐ ์น์๋ฒ๊ณผ ์น๋ธ๋ผ์ฐ์ ๊ฐ์ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ํธํํด์ ๋ณด๋ด๊ฒ ๋ฉ๋๋ค. ์ฆ, ์ธํฐ๋ท์ ํ ๋ ์๋ค๊ฐ๋ค ํ๋ ๋ด์ฉ์ ์ํธํ ํด์ฃผ๋ ํ๋กํ ์ฝ(๊ท์น) ์ ๋๋ค. SSL ์ธ์ฆ์๋ ์ด๋ฐ ๋ณด์ํต์ ์ ํ๊ธฐ ์ํ ์ ์ ํ์ผ์ ๋๋ค. SSL ์ธ์ฆ์๋ฅผ ์๋ฒ์ ์ค์นํจ์ผ๋ก์จ SSL ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ๋ณด์ ํต์ ์ ํ ์ ์๊ฒ ๋๋ ๊ฒ์ ๋๋ค. .. 2022. 3. 19. arm ์ด๋ ๋ฌด์์ธ๊ฐ? - M1 ์ ํ์๋ฐฐ๊ฒฝ ARM(Advanced RISC Machine) * RISC ๋ (Reduced Instruction Set Coputer) ์ ์ฝ์ * ARM ์ ํ๊ตญ๋ง๋ก ์ง์ญํ๋ฉด ( ๊ณ ๊ธ ์ถ์ ๋ช ๋ น์ด ์ธํธ ์ปดํจํฐ ๊ธฐ๊ณ ) ARM ์ ์ผ๋ฐ ์ธํ CPU๊ณ์ด์ CISC๋ผ๋ ๋ช ๋ น์ด ๊ตฌ์กฐ๋ณด๋ค๋ ๊ฐ๋จํ RISC๋ผ๋ ๋ช ๋ น์ด ๊ตฌ์กฐ CPU ์ฒด๊ณ์ ํ ํ์ ์ด๋ฉฐ ์ฌ๋ฌผ์ธํฐ๋ท์ด๋ ๋ชจ๋ฐ์ผ ์๋๋ก์ด๋, ๋ฉํ, ์ธํฐ๋ท ๋ชจ๋, ๋์งํธ์นด๋ฉ๋ผ, ๋ํ ๋ ๋ฑ์ ์ฌ์ฉ๋๋ CPU ์ฒด๊ณ์ด๋ค. ๋ค์ ๋งํ๋ฉด ์ผ๋ฐ์ ์ธ ๋ฐ์คํฌํฑ PC์๋ ์ธํ CPU๋ AMD CPU์ ๋์ํด์ x86(32๋นํธ), x64(64๋นํธ), AMD64(64๋นํธ) ๋ฑ์ CPU ๋ช ๋ น์ฒด๊ณ๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๊ณ , ARM์ฉ ๊ธฐ๊ธฐ๋ค์๋ RISC ๋ช ๋ น์ฒด๊ณ๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๋ค. ARM์ ๊ฐ์ฅ ํฐ ํน์ง์ ์ ์ ๋ ฅ๊ณผ .. 2022. 3. 17. TDD(Test-Driven-Development) ๋ฐฉ๋ฒ๋ก โฝTDD ๋ ๋ฌด์์ธ๊ฐ? -TDD๋ Test Driven Development ์ ์ฝ์๋ก 'ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ' ์ด๋ผ๊ณ ํฉ๋๋ค. ๋ฐ๋ณตํ ์คํธ๋ฅผ ์ด์ฉํ ์ํํธ์จ์ด ๋ฐฉ๋ฒ๋ก ์ผ๋ก, ์์ ๋จ์์ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ํต๊ณผํ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ณตํ์ฌ ๊ตฌํํฉ๋๋ค. ์งง์ ๊ฐ๋ฐ ์ฃผ๊ธฐ์ ๋ฐ๋ณต์ ์์กดํ๋ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ด๋ฉฐ ์ ์์ผ(Agile software development) ๋ฐฉ๋ฒ๋ก ์ค ํ๋์ธ eXtream Programming(XP)์ 'Test-First' ๊ฐ๋ ์ ๊ธฐ๋ฐ์ ๋ ๋จ์ํ ์ค๊ณ๋ฅผ ์ค์์ํ๋ค. ์ด ๊ธฐ๋ฒ์ ๊ฐ๋ฐํ๊ฑฐ๋ '์ฌ๋ฐ๊ฒฌ' ํ ๊ฒ์ผ๋ก ์ธ์ ๋๋ Kent Beck์ 2003๋ ์ TDD๊ฐ ๋จ์ํ ์ค๊ณ๋ฅผ ์ฅ๋ คํ๊ณ ์์ ๊ฐ์ ๋ถ์ด๋ฃ์ด ์ค๋ค๊ณ ๋งํ์๋ค. โฝTDD ๊ฐ๋ฐ์ฃผ๊ธฐ ๋จ๊ณ์์๋ ์คํจํ๋ ํ ์คํธ ์ฝ๋๋ฅผ ๋จผ์ .. 2022. 3. 7. ์ ์์ผ(Agile) ๋ฐฉ๋ฒ๋ก ์ด๋ ๋ฌด์์ธ๊ฐ? โฝ์ ์์ผ(Agile)์ด๋? agile : 1. ๋ ๋ ตํ, ๋ฏผ์ฒฉํ 2. (์๊ฐ์ด) ์ฌ๋น ๋ฅธ, ๊ธฐ๋ฏผํ 1. ์ ์์ผ(Agile) ๋ฐฉ๋ฒ๋ก ์ ๊ตฌ์ฒด์ ์ธ ๊ฐ๋ฐ ํ๋ก์ธ์ค๊ฐ ์๋ ๊ฐ๋ฐ ์ง์นจ,์ฒ ํ์ ๊ฐ๊น๋ค. 2. ๋ณํ๋ฅผ ์์ฉํ๊ณ ํ์ ๊ณผ ์ ํ์ ๋น ๋ฅธ ์ธ๋๋ฅผ ๊ฐ์กฐํ๋ ๋ฐ๋ณต์ ๊ฐ๋ฐ ๋ฐฉ๋ฒ 3. ๋ฌธ์ํ๋ณด๋ค ์ฝ๋, ํ๋ก๊ทธ๋จ, ์ํํธ์จ์ด ์์ฒด๋ฅผ ์ค์์ ํ๋ค. 4. ์๊ตฌ์ฌํญ์ ๋ณํ๋ ๋ถ๊ฐํผํ๋ฉฐ ์ด์ ๋์ํ๋ ๊ฒ์ด ํ์ค์ ์ด๋ค. 5. ํ๊ฒฝ์ ๋น ๋ฅธ ๋ณํ์ ๋์ํ๋ ๊ฒ์ด ์ค์ํ๋ค. 1.์ ์์ผ ๋ฐฉ๋ฒ๋ก - ์ต์คํธ๋ฆผ ํ๋ก๊ทธ๋๋ฐ (Extreme Programming,XP) 1. ์ข์์ค์ฒ ์ง์นจ๋ค(good practices) ์ ๊ทน์ ์ผ๋ก ์ ์ฉ 2. XP์ ์ค์ฒ ์ง์นจ โ ์๊ณ ๋น๋ฒํ ๋ฆด๋ฆฌ์ฆ - ๋น ๋ฅธ ํผ๋๋ฐฑ๊ณผ ์ง์์ ์ธ ๊ฐ์ โ ๊ณ ๊ฐ๋ ๊ฐ๋ฐ ํ์ ์ผ์ โ ํ๋ก์ธ์ค.. 2022. 3. 7. error: rpc failed; curl 92 http/2 stream 0 was not closed cleanly: cancel (err 8) 1. rm -f ./.git/index.lock ๋ช ๋ น์ด ์คํ 2. git config --global http.version HTTP/1.1 3. git config --global http.postBuffer 524288000 ๊นํ์ ์ฌ๋ฆด ๋ ์ ํ๋ ์ฉ๋์ ๋๋ ค์ฃผ๋ ์์ 4. ํฐ ์ฉ๋ ํ์ผ ์ญ์ ํ๊ธฐ $ git rm --cached rm '' $ git status On branch master Changes to be committed: (use "git reset HEAD ..." to unstage) deleted: $ git commit -m 'Fixed untracked files' ... $ echo '' >> .gitignore 2022. 2. 21. ์ด์ 1 2 3 4 ๋ค์ 728x90 300x250