Programming (71) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ [DBeaver / MySQL] ๋ฌดํ ๋ก๋ฉ ํด๊ฒฐ DBeaver / MySQL ๋ฌดํ ๋ก๋ฉ ํด๊ฒฐ๋ฒ ์ต๊ทผ ํ์๋ค๊ณผ ์งํํ๋ ๊ฐ์ธ ํ๋ก์ ํธ์์ DB์กฐ์์ ํ๋๊ฒฝ์ฐ๊ฐ ๋ง๋ค๋ณด๋ DBeaver๊ฐ ๋ฌดํ๋ก๋ฉ์ด ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ๋ฅผ ์ข ์ข ๋ชฉ๊ฒฉํ๊ฒ ๋์ต๋๋ค. ๋ณดํต ์ฟผ๋ฆฌ๋ฌธ์ ์๋ฅ๋ ์ธ๋ถ์์ธ์ ์ํด์ ์ ์ ์ข ๋ฃ๋์ง ์์ ์ํ์์ ๋ค๋ฅธ ๊ณณ์์ SQL๋ช ๋ น์ ์คํํ๊ธฐ์ DBeaver๊ฐ ์ด๋ฅผ ์ธ์ํ์ง ๋ชปํ๊ณ ๊ณ์ ์คํ์ ์์ฒญํ๋ค๊ฐ ๋ฌดํ ๋ก๋ฉ์ด ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ ์์ต๋๋ค. ์์, โโ Java ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํด query ์คํ -> ์ค๋ฅ -> "DB ๋๊ธฐ ์ค" DBeaver๋ฅผ ํตํด query ์คํ -> "DB ๋๊ธฐ ์ค"์ด ๋๋ ๋ ๊น์ง ๊ธฐ๋ค๋ฆผ... -> ๋ฌดํ ๋ก๋ฉ ์ด๋ฐ ๋ชจ์ต ํน์ ๋ฐ๋์ ๊ฒฝ์ฐ์ ๋๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ํด๊ฒฐ๋ฒ์ ์ฌ์ฉํ๋ DB ์ ์ ๊ฒฝ์ฐ MySQL ์๋น์ค๋ฅผ ์ฌ์์ํ๋ ๊ฒ (๊ฐ์ธ ํ๋ก์ ํธ๋.. [Java] XMLํ์ผ๊ณผ ์๋ฐ(Java)๋ก ํ์ฑ(parsing)ํ๊ธฐ xml์์ ํ์ผ ํ๊ตญ์ด 25 ์์ธ java๋ก xmlํ์ผ parsing ํ๊ธฐ XML ํ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ์ ์ฐจ๋ HTML ํ์ผ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ์ ์ฐจ์ ์ ์ฌํฉ๋๋ค. HTML์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ์์ ํ๊ธฐ ์ํด์๋ ํ์ํ ํ๊ทธ๋ฅผ ์ธ์ํด์ค ํ์๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, document.getElementById("๊ฐ์ ธ์ฌ ํ๊ทธ์ Id") ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด์ ํน์ ์์ด๋๋ฅผ ๊ฐ์ง ํ๊ทธ๋ฅผ ์ธ์ํ ์ ์์ต๋๋ค. ์ด์ฒ๋ผ xmlํ์ผ ์ญ์ ํ๊ทธ๋ฅผ ์ธ์ํ๊ธฐ ์ํด์ ํ์ํ ์ ์ฐจ๋ ๋ฌธ์์ ์์ฒด ๊ฐ์ฒด์ธ document๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋๋ค. import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.. <ํ ์ด ํ๋ก์ ํธ ํ๊ณ ๋ก> ์๋ฐ ์ค์(Java Swing)์ ์ด์ฉํ GUI ํ๋ก๊ทธ๋จ(ft. DBeaver) Java๋ด์ ๋ด์ฅ๋์ด์๋ GUI์ธ ์ค์(swing)์ ์ด์ฉํ์ฌ ๊ฐ๋จํ ํ ์ด ํ๋ก๊ทธ๋จ(๊ฐ๊ณ๋ถ ํ๋ก์ ํธ)์ ์์ฑํ์์ต๋๋ค. ์ด๋ค ๊ธฐ๋ฅ์ ์ด๋ป๊ฒ ๋ง๋ค์๋์ง ์๊ฐํด์ผํ ๋ถ๋ถ์ด ์ด๋ค ๊ฒ ์์์ง ํ๊ณ ํ๊ธฐ ์ํด ๊ธฐ๋กํฉ๋๋ค. ใใใ๋ฐ๋ก๊ฐ๊ธฐ ๋ก๊ทธ์ธ ํ์๊ฐ์ ํ ์คํธ ํ๋ ํํธ ์ฝ์ ํ ์ด๋ธ ๋ฐ์ดํฐ ์ฝ์ ํ ์ด๋ธ ์๋ก๊ณ ์นจ ํ ์ด๋ธ ํ ์ญ์ โถ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ์์ด๋ ํน์ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ธฐ์ ํ๋ ํ ์คํธํ๋(textfield)๊ฐ ๊ธฐ์ ๋์ง ์์ผ๋ฉด ํ๋จ ๋ผ๋ฒจ์ ๊ฒฝ๊ณ ๋ฌธ์ ์์ฑ. ์ณ์ง ์์ ์์ด๋๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ์ ๋, ๊ฒฝ๊ณ ๋ฌธ GUI ์์ฑ. ๋ก๊ทธ์ธ ๋ฒํผ์ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํด์ฃผ๋ ๋ฉ์๋ actionListener ๊ฐ์ฒด๋ฅผ ์์ฑํด ๋ ํด์ฃผ๊ณ ํ ์คํธ๊ฐ ๋น์ด์์ ๋, ์ ํํ๋ idHint, pwHint ๋ฌธ์์ด๊ณผ ๋์ผํ ๊ฒฝ์ฐ ๋ผ๋ฒจ ๊ฒฝ๊ณ ๋ฌธ์ด ๋ณด์ผ ์ ์๊ฒ ํด .. ์๋ฐ[Java] ์ ์ถ๋ ฅ Stream ์ดํดํ๊ธฐ โถInputStream / Sytem.in.read() ImputStream์ ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ์ ์ ์๋ ์ญํ ์ ํ๋ค. ์ฌ์ฉ์ ์ ๋ ฅ์ ์์ฃผ ์ฐ์ด๋ ํด๋์ค์ธ Scanner์ ๋ค๋ฅธ ๋์์ ๋ณด์ด๋๋ฐ, ๊ฐ์ฅ ํฐ ํน์ง์ 1byte ๋จ์๋ก ์ ๋ ฅ์ ๋ฐ์์จ๋ค๋ ์ ์ด๋ค. Sytem.in.read()์ ์ฌ์ฉ์ ์ ๋ ฅ์ ์์ ์ ์ฅํ๋ ๋ฒํผ(Buffer)์์ ์ ์ฅ๋ ๊ฐ์ ํ๋์ฉ ๊ฐ์ ธ์จ๋ค. ์ด read()์ return ๊ฐ์ byte๋จ์์ ๋ฐ์ดํฐ ํน์ -1(๋ฒํผ์ ๊ฐ์ด ์์ ๋)์ด๋ค. โถ์์คํค์ฝ๋ ๊ฐ์ผ๋ก ์ ์ฅ read() ๋ฉ์๋๋ก ๋ฆฌํดํ ๊ฐ์ ๋ณ์์ ์ ์ฅํ๊ฒ ๋ ํ ๋ฐ, ์ด๋ ์ฌ์ฉ์ ์ ๋ ฅ ๊ฐ์ ๋ฆฌํด ๊ฐ์ธ byte๋จ์(0~255)์ ๋ง์ถ์ด ์์คํค์ฝ๋ ๊ฐ์ ์ ์ฅํ๊ฒ ๋๋ค. ๋ณ์ a์ ์ฌ์ฉ์ ์ ๋ ฅ์ผ๋ก ๋ฌธ์ 'a'๋ฅผ ๋ฐ์ผ๋ฉด ๋ฌธ์ 'a.. ์๋ฐ[Java] ์ธํฐํ์ด์ค[Interface] ์ฌ์ฉ๊ณผ ์ด์ โถ ์ธํฐํ์ด์ค(Interface) ๋? ์๋ฐ์์ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค๋, ์ถ์ ํด๋์ค์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ถ์๋ ํ์ ๋ง๋ค์ด ๊ฐ๋ฐ์ ํผ์ ์ด ์๊ฒ๋ ๋์์ฃผ๋ ์ญํ ์ ํ๋ ๊ฐ์ฒด์ด๋ค. ํ์ ์ ํ๋ ๊ฐ๋ฐ์๋ค๋ผ๋ฆฌ์ ์ํํ ์์ฌ์ํต์ ์ํด์ ์์ฑ๋ ๊ฐ๋ ์ผ๋ก ์ธํฐํ์ด์ค๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง๋ ๊ฒ ๊ฐ๋ค. โถ ์ถ์ ํด๋์ค์ ๋ฌด์์ด ๋ค๋ฅผ๊น? ์ถ์ ํด๋์ค๋ ํธ๋ฆฌ ํ์์ผ๋ก ์์ ํด๋์ค์ ํ์ ํด๋์ค๋ก ๋๋์ด์ง๋ ํธ๋ฆฌ ๊ตฌ์กฐ์ด๋ค. ํ์ ํด๋์ค๋ ์์ ํด๋์ค์์ ์ถ์ํ์ํจ ์์ฑ์ ํน์ ๋ฉ์๋๋ฅผ ์ ์ํ๋ฉด์ ๋ ๊ตฌ์ฒดํ๋์ด๊ฐ๋ค. ๋ฐ๋ฉด์, ์ธํฐํ์ด์ค๋ ํธ๋ฆฌ ๊ตฌ์กฐ์ ๊ฐ์ ์์ง์ ๊ตฌ์กฐ๊ฐ ์๋ ์ํ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค. ์์ง์ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ ์ถ์ ํด๋์ค๋ ํ๋์ ์์ ํด๋์ค์๊ฒ๋ง ์์๋ฐ์ ์ ์์ง๋ง, ์ํ์ ๊ตฌ์กฐ์ ์ธํฐํ์ด์ค๋ ํ๋์ ํด๋์ค๊ฐ ์ฌ๋ฌ ์ธํฐํ์ด.. ์๋ฐ[Java] ์ ๊ทผ ์ ์ด์[Access modifier] ์๋ฐ์ ์ ๊ทผ ์ ์ด์ default / public(package) / private / protected / static / final โถ default(package) ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ ๊ทผ ์ ์ด์๋ก ์๋ต์ด ๊ฐ๋ฅํ๋ค. => ์ ๊ทผ ์ ์ด์๋ฅผ ์๋ตํ๋ฉด default๋ก ์ค์ ๋๋ค. default๋ ๊ฐ์ ํจํค์ง ๋ด์ ์๋ class๋ผ๋ฉด ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค. 1๋ฒ ํจํค์ง์ 1๋ฒ ํด๋์ค๋ฅผ ์ ์ํ์๋ค. 2๋ฒ ํจํค์ง๋ฅผ ๋ง๋ค๊ณ 2๋ฒ ํด๋์ค๋ฅผ ๋ง๋ค๊ณ 2๋ฒ ํด๋์ค์ 1๋ฒ ํด๋์ค๋ฅผ ๋ถ๋ฌ์ค๊ธฐ(import)๋ฅผ ํ์ ๋, ์ค๋ฅ ๋ฐ์ => ๊ฐ์ ํจํค์ง ์์์๋ง ๋ถ๋ฌ์ค๊ธฐ ๊ฐ๋ฅ โถ public ์ด๋ฆ์ฒ๋ผ ์ด๋์๋ ๋ถ๋ฌ์ฌ ์ ์๋ค. ๋ค๋ฅธ ํจํค์ง ์์ ๋ค๋ฅธ ํด๋์ค์์๋ ๋ถ๋ฌ์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. testPackage1 ํจํค์ง์ ์๋ TestClass2 .. ์์ ์ฒซ ๋ฐฐํฌ ํ๋ก๊ทธ๋จ - ์ฌํ๊ทผ๋ฌด ๋์ฐ๋ฏธ ํ๋ก๊ทธ๋๋ฐ์ ์ฒ์ ํฅ๋ฏธ๋ฅผ ๋๊ปด๋ณธ ๊ฒ์ด ํ๋ถ์์ ์๋ํ ํ๋ก๊ทธ๋จ์ ๊ฒฝํํ ํ์๋ค. ํ์ด์ฌ ์์ฒด๊ฐ ํธ๋ฆฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋น ๋ฅด๊ณ ๊ฐ๋จํ ์๋ํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ์ ์ฐธ ์ข์ ๊ฒ ๊ฐ๋ค. ์ฝ๊ฐ์ ๊ณ๊ธฐ๊ฐ ์๊ฒจ์ ๊ฐ๋จํ๋ฉด์ ์ฌ๋ฐ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ์ถ์ด์ "์ฌํ๊ทผ๋ฌด ๋์ฐ๋ฏธ"๋ผ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ดค๋ค. โถ ๋ฌด์จ ํ๋ก๊ทธ๋จ์ผ๊น? ์ฌ์ค ๊ฑฐ์ฐฝํ ์ด๋ฆ์ ๋นํด์ ์๋นํ ํ์ ..ใ ? ๊ฐ๋จํ ํ๋ก๊ทธ๋จ์ด๋ค. ํน๋ณํ ๊ธฐ๋ฅ์ ์๊ณ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ๋ง์ฐ์ค๋ฅผ ์๋์ผ๋ก ์์ง์ฌ์ ํ๋ฉด ๊บผ์ง์ ๋ฐฉ์งํด์ค๋ค. โถ ์ ๋ง๋ค์์๊น? ๋ณ๋ก ์ธ๋ชจ์์ด ๋ณด์ด๋ ์ด ํ๋ก๊ทธ๋จ์ ๋ง๋ ๊ณ๊ธฐ๊ฐ ์๋๋ฐ ์ฝ๋ก๋๋ก ์ธํด์ ์น๋๋๊ฐ ์ฌํ๊ทผ๋ฌด๋ฅผ ํ๋ ์๊ฐ์ด ์๋์ ์ผ๋ก ๋ง์์ก๋ค. ์ฌ๋ด์ ์๊ฒฉ ํ๋ก๊ทธ๋จ์ ์ด์ฉํ๋๋ฐ ์ด ํ๋ก๊ทธ๋จ์ด ์ผ์ ์๊ฐ ๋์ ์ฌ์ฉ์ ์ ๋ ฅ(ํค๋ณด๋, ๋ง์ฐ์ค ์ฌ์ฉ).. ์๋ฐ(Java) ์ฌ์ฉ์ ์ /์ถ๋ ฅ๊ณผ ๋ฒํผ(butter) ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. c์ธ์ด๋ java์ ๊ฒฝ์ฐ ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ์ ๋, ๋ฒํผ(buffer)๋ผ๋ ๋ ์์ ๊ฐ์ ์์๋ก ์ ์ฅํด๋์๋ค๊ฐ ํ๋ฒ์ ๋ณ์์ ์ ์ฅํ๋๋ฐ ์ซ์์ ๋ฌธ์๊ฐ ๋ค๋ฅด๊ฒ ๋์ํด์ ์ด์ํ ์๋ํ ๋ฐ์ ๋ค๋ฅด๊ฒ ๋๊ธฐ๋ ํ๋ค. โถ ๋ฒํผ(buffer)์ ์ดํด ์ผ๋จ, ์ ๋ฒํผ๋ผ๋ ๊ฒ์ด ์กด์ฌํ๋์ง๋ถํฐ ์์์ผํ ๊ฒ ๊ฐ๋ค. ์ปดํจํฐ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ง๋ง ์ผ๋ฐ์ ์ธ ์ปดํจํฐ(๊ฐ์ ์ฉ)๋ 1์ด์ ์ฝ 8์ฒ ~ 1์ต ๋ฒ ์ ๋์ ์ฐ์ฐ์ ์ฒ๋ฆฌํ ์ ์๋ค๊ณ ํ๋ค. ๋ง์ฝ, ์ปดํจํฐ๊ฐ ์ฌ์ฉ์์๊ฒ ์ ๋ณด๋ฅผ ์ ๋ ฅ ๋ฐ์์ผํ ๋, ์ฐ๋ฆฌ๊ฐ ์ ๋ณด๋ฅผ ๋ชจ๋ ์ ๋ ฅํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ ค์ผ ํ๋ค๋ฉด, ์ฐ๋ฆฌ๊ฐ 1 / 1์ต ์ด ์์ ํ๋์ ๊ฐ์ ์ ๋ ฅํ์ง ์๋ ํ ์ปดํจํฐ๋ ๊ทธ๋์ ๊ณ์ ๋๊ธฐํ๊ณ ์์ด์ผ ํ๋ค. CPU์ ์ฅ์์๋ ์ํฐ์ง๋ ์ผ์ด ์๋.. ์ด์ 1 ยทยทยท 5 6 7 8 9 ๋ค์