๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ž๋ฐ”ํ”„๋กœ๊ทธ๋ž˜๋ฐ๋ฐ์‹ค์Šต (5)

JUINTINATION

HawkTalk - ์ž๋ฐ” ์ฑ„ํŒ… ํ”„๋กœ๊ทธ๋žจ

ํ”„๋กœ์ ํŠธ ๊ฐœ์š” Java Swing ํ™˜๊ฒฝ์˜ ํ…์ŠคํŠธ ์ฑ„ํŒ… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ, Socket ํ†ต์‹ ๊ณผ Multi Thread ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๊ตฌํ˜„ํ•œ ์ฑ„ํŒ… ํ”„๋กœ๊ทธ๋žจ ๊ทธ๋ฃน ์ฑ„ํŒ… ๋ฐ ์‹ค์‹œ๊ฐ„ ๊ทธ๋ฆผํŒ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ MySQL์„ ์ด์šฉํ•˜์—ฌ ์œ ์ € ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ ๋ฐ ์ˆ˜์ •, ์‚ญ์ œ ๊ฐ€๋Šฅ ์ฐธ์—ฌ ์ธ์› ์กฐ์žฅ : ์ด์Šนํ˜ธ(B989037, UI ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ํฌ๋กค๋ง์„ ์ด์šฉํ•œ ์‹ค์‹œ๊ฐ„ ๋‚ ์”จ ์ •๋ณด ํ™•์ธ ๊ธฐ๋Šฅ๊ณผ ์Šค๋ ˆ๋“œ๋ฅผ ์ด์šฉํ•œ ์ฑ„ํŒ… ๊ธฐ๋Šฅ ๊ตฌํ˜„) ์กฐ์› : ๊ถŒ๋•์žฌ(B989003, ์„œ๋ฒ„์™€ MySQL์„ ์ด์šฉํ•œ DB ๊ตฌ์ถ• ๋ฐ ์Šค๋ ˆ๋“œ๋ฅผ ์ด์šฉํ•œ ์ฑ„ํŒ…๋ฐฉ๊ณผ ์‹ค์‹œ๊ฐ„ ์˜จ๋ผ์ธ ๊ทธ๋ฆผํŒ ๊ตฌํ˜„) ์ฃผ์š” ๊ธฐ๋Šฅ ๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ, ์‚ฌ์šฉ์ž ๋“ฑ๋ก/์ˆ˜์ •/์‚ญ์ œ ์˜จ๋ผ์ธ ์œ ์ € ๋ชฉ๋ก ํ™•์ธ ๊ธฐ๋Šฅ ์˜จ๋ผ์ธ ์ฑ„ํŒ… ๊ธฐ๋Šฅ ๊ทธ๋ฃน ์ฑ„ํŒ… ๊ธฐ๋Šฅ ์˜จ๋ผ์ธ ๊ทธ๋ฆผํŒ ๊ธฐ๋Šฅ Jsoup์„ ์‚ฌ์šฉํ•œ ์‹ค์‹œ๊ฐ„ ๋‚ ์”จ ..

Toy Project 2023. 1. 8. 22:11
JDBC ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ž€?์—ฌ๋Ÿฌ ์‘์šฉ ์‹œ์Šคํ…œ๋“ค์˜ ํ†ตํ•ฉ๋œ ์ •๋ณด๋“ค์„ ์ €์žฅํ•˜์—ฌ ์šด์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต์šฉ ๋ฐ์ดํ„ฐ๋“ค์˜ ์ง‘ํ•ฉ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ, ๊ฒ€์ƒ‰, ๊ฐฑ์‹ ์„ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ๋„๋กœ ์กฐ์งํ™”ํ•˜์—ฌ ์ €์žฅDBMS๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DataBase Management System)์˜ค๋ผํด(Oracle), ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ SQL Server, MySQL, IBM์˜ DB2 ๋“ฑ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ข…๋ฅ˜๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šคํ‚ค(key)์™€ ๊ฐ’(value)๋“ค์˜ ๊ด€๊ณ„๋ฅผ ํ…Œ์ด๋ธ”๋กœ ํ‘œํ˜„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธํ‚ค๋Š” ํ…Œ์ด๋ธ”์˜ ์—ด(column)์ด ๋˜๋ฉฐ ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ–‰(row)์€ ํ•˜๋‚˜์˜ ๋ ˆ์ฝ”๋“œ(record)๋ฅผ ํ‘œ  ํ˜„ํ˜„์žฌ ์‚ฌ์šฉ๋˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ์ฒด ์ง€ํ–ฅ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์“ฐ์ด๋Š” ๊ฒƒ์œผ๋กœ, ์ •๋ณด๋ฅผ ๊ฐ์ฒด์˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜..

์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์†Œ์ผ“(Socket)์ด๋ž€?TCP/IP ๋„คํŠธ์›Œํฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ํ†ต์‹  ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋„๋ก ์ง€์›ํ•˜๋Š” ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ ๋‘ ์‘์šฉํ”„๋กœ๊ทธ๋žจ ๊ฐ„์˜ ์–‘๋ฐฉํ–ฅ ํ†ต์‹  ๋งํฌ์˜ ํ•œ์ชฝ ๋ ๋‹จ์†Œ์ผ“๋ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Œ์†Œ์ผ“์€ ํŠน์ • IP ํฌํŠธ ๋ฒˆํ˜ธ์™€ ๊ฒฐํ•ฉ์†Œ์ผ“ ์ข…๋ฅ˜ : ์„œ๋ฒ„ ์†Œ์ผ“๊ณผ ํด๋ผ์ด์–ธํŠธ ์†Œ์ผ“TCP/IP ํ”„๋กœํ† ์ฝœTCP๋Š” Transmission Control Protocol๋‘ ์‹œ์Šคํ…œ ๊ฐ„์— ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ „์†ก์„ ๊ด€์žฅํ•˜๋Š” ํ”„๋กœํ† ์ฝœTCP์—์„œ ๋™์ž‘ํ•˜๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ ์‚ฌ๋ก€e-mail, FTP, ์›น(HTTP) ๋“ฑIP๋Š” Internet ProtocolํŒจํ‚ท ๊ตํ™˜ ๋„คํŠธ์›Œํฌ์—์„œ ์†ก์‹  ํ˜ธ์ŠคํŠธ์™€ ์ˆ˜์‹  ํ˜ธ์ŠคํŠธ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒƒ์„ ๊ด€์žฅํ•˜๋Š” ํ”„๋กœํ† ์ฝœTCP๋ณด๋‹ค ํ•˜์œ„ ๋ ˆ๋ฒจ ํ”„๋กœํ† ์ฝœIP ์ฃผ์†Œ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„๋  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํ„ฐ ์ฃผ์†Œ์ˆซ์ž๋กœ ๊ตฌ์„ฑ๋œ ์ฃผ์†Œ..

์Šค๋ ˆ๋“œ์™€ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น

๋ฉ€ํ‹ฐํƒœ์Šคํ‚น์ด๋ž€?ํ•˜๋‚˜์˜ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์—…(ํƒœ์Šคํฌ)์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์Šค๋ ˆ๋“œ๋ž€?ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ํ๋ฆ„์˜ ๋‹จ์œ„ ์ž๋ฐ”์—์„œ๋Š” JVM์— ์˜ํ•ด ์Šค์ผ€์ค„๋ง๋˜๋Š” ์‹คํ–‰ ๋‹จ์œ„์˜ ์ฝ”๋“œ ๋ธ”๋Ÿญ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์ด๋ž€?ํ•˜๋‚˜์˜ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋กœ ๊ตฌ์„ฑํ•œ ์Šค๋ ˆ๋“œ๊ฐ€ ๋Œ€๊ธฐํ•˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ ์‹คํ–‰ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด์ ์œผ๋กœ ์‹œ๊ฐ„ ์ง€์—ฐ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Œ์ž๋ฐ”์˜ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น์€ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ๋งŒ ๊ฐ€๋ŠฅJVM๊ณผ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ์˜ ๊ด€๊ณ„ํ•˜๋‚˜์˜ JVM์€ ํ•˜๋‚˜์˜ ์ž๋ฐ” ์‘์šฉํ”„๋กœ๊ทธ๋žจ๋งŒ ์‹คํ–‰์ž๋ฐ” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘๋  ๋•Œ JVM์ด ํ•จ๊ป˜ ์‹คํ–‰๋จ์ž๋ฐ” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋ฉด JVM๋„ ํ•จ๊ป˜ ์ข…๋ฃŒ๋จํ•˜๋‚˜์˜ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ์Šค๋ ˆ๋“œ๋กœ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ์Šค๋ ˆ๋“œ๋ฅผ ๋งŒ๋“œ๋Š” 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•java.lang.Thread ํด๋ž˜์Šค ์‚ฌ์šฉjava.lang.Runnable ์ธํ„ฐํŽ˜์ด์Šค ์‚ฌ์šฉThr..

์ œ๋„ค๋ฆญ๊ณผ ์ปฌ๋ ‰์…˜

์ปฌ๋ ‰์…˜์š”์†Œ(element) ๊ฐ์ฒด๋“ค์˜ ์ €์žฅ์†Œ๊ฐ์ฒด๋“ค์˜ ์ปจํ…Œ์ด๋„ˆ๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ์š”์†Œ์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ํฌ๊ธฐ ์ž๋™ ์กฐ์ ˆ์š”์†Œ์˜ ์‚ฝ์ž…, ์‚ญ์ œ์— ๋”ฐ๋ฅธ ์š”์†Œ์˜ ์œ„์น˜ ์ž๋™ ์ด๋™๊ณ ์ • ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ ๋‹ค๋ฃจ๋Š” ์–ด๋ ค์›€ ํ•ด์†Œ๋‹ค์–‘ํ•œ ๊ฐ์ฒด๋“ค์˜ ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฒ€์ƒ‰ ๋“ฑ์˜ ๊ด€๋ฆฌ ์šฉ์ด์ปฌ๋ ‰์…˜์€ ์ œ๋„ค๋ฆญ(generics) ๊ธฐ๋ฒ•์œผ๋กœ ๊ตฌํ˜„๋จ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ๋Š” ๊ฐ์ฒด๋งŒ ๊ฐ€๋Šฅ๊ธฐ๋ณธ์ ์œผ๋กœ int, char, double ๋“ฑ์˜ ๊ธฐ๋ณธ ํƒ€์ž… ์‚ฌ์šฉ ๋ถˆ๊ฐ€JDK 1.5๋ถ€ํ„ฐ ์ž๋™ ๋ฐ•์‹ฑ/์–ธ๋ฐ•์‹ฑ์œผ๋กœ ๊ธฐ๋ณธ ํƒ€์ž… ๊ฐ’์„ ๊ฐ์ฒด๋กœ ์ž๋™ ๋ณ€ํ™˜ ์ œ๋„ค๋ฆญํŠน์ • ํƒ€์ž…๋งŒ ๋‹ค๋ฃจ์ง€ ์•Š๊ณ , ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ํƒ€์ž…์œผ๋กœ ๋ณ€์‹ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํด๋ž˜์Šค๋‚˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ผ๋ฐ˜ํ™”์‹œํ‚ค๋Š” ๊ธฐ๋ฒ•, , : ํƒ€์ž… ๋งค๊ฐœ ๋ณ€์ˆ˜์š”์†Œ ํƒ€์ž…์„ ์ผ๋ฐ˜ํ™”ํ•œ ํƒ€์ž…์ œ๋„ค๋ฆญ ํด๋ž˜์Šค ์‚ฌ๋ก€์ œ๋„ค๋ฆญ ์Šคํƒ : StackE์— ํŠน์ • ํƒ€์ž…์œผ๋กœ ๊ตฌ์ฒดํ™”์ •์ˆ˜๋งŒ ๋‹ค๋ฃจ๋Š” ์Šคํƒ Stack๋ฌธ์ž..