์ „์ฒด ๊ธ€

Lv.7 (3.5-year) ๐Ÿ€
์ œ์•ฝ์กฐ๊ฑด์ด๋ž€ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์กฐ๊ฑด์˜ ๋ฐ์ดํ„ฐ๋งŒ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ…Œ์ด๋ธ”์˜ ํŠน์ • ์นผ๋Ÿผ์— ์„ค์ •ํ•˜๋Š” ์ œ์•ฝ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ œ์•ฝ์กฐ๊ฑด์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ ๋˜๋Š” ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๊ด€๊ณ„์— ๋Œ€ํ•œ ๊ทœ์น™ ๋˜๋Š” ์กฐ๊ฑด์„ ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ œ์•ฝ์กฐ๊ฑด์„ ์„ค์ •ํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„, ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๊ณ , ์ด์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์•ฝ์กฐ๊ฑด์˜ ์ข…๋ฅ˜๋กœ๋Š” PK, UK, NOT NULL, CHECK, FOREIGN KEY๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 1. ๊ณ ์œ ํ‚ค (Unique Constraint): ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ๊ณ ์œ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ทœ์น™์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. NULL๊ฐ’์„ ๊ฐ€์ง€๋”๋ผ๊ณ  ๊ณ ์œ ํ‚ค ์ œ์•ฝ์กฐ๊ฑด์— ์œ„๋ฐฐ๋˜์ง€ ์•Š์œผ๋ฉฐ, NULL๊ฐ’์„ ์—ฌ๋Ÿฌ๊ฐœ ๊ฐ€์ง€๋”๋ผ๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. 2. ๊ธฐ๋ณธ ํ‚ค (Primary Key Constraint): ํ…Œ์ด๋ธ” ๋‚ด์—์„œ ๊ณ ์œ ํ•˜๊ณ  ์‹๋ณ„ ๊ฐ€..
ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋…ผ๋ฆฌ์ ์ธ ์—ฐ์‚ฐ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„๋ผ๋Š” ๊ฒƒ์€ ์‹ค์ œ ํ•ด๋‹น ์ž‘์—…์„ ์œ„ํ•ด ๋ช‡๋‹จ๊ณ„๊ฐ€ ๊ฑธ๋ฆฌ๋Š”์ง€์™€ ๊ด€๋ จ ์—†์ด ํ•˜๋‚˜์˜ ์ž‘์—…์„ ์ด์•ผ๊ธฐ ํ•ฉ๋‹ˆ๋‹ค. ๋…ผ๋ฆฌ์ ์ธ ์ž‘์—… ๋‹จ์œ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์„ธ๋ถ€์ ์ธ ์—ฐ์‚ฐ๋“ค์˜ ์ง‘ํ•ฉ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์—๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ sql๋ฌธ์žฅ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ํŠธ๋žœ์žญ์…˜์€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์กฐ์ž‘ํ•˜๋Š”๋ฐ ๋ช‡ ๋‹จ๊ณ„๊ฐ€ ๊ฑธ๋ฆฌ๋“ ์ง€ ์ƒ๊ด€ ์—†์ด, ํ•ด๋‹น ํŠธ๋žœ์žญ์…˜์ด ์™„์ „ํžˆ ์ ์šฉ๋˜๊ฑฐ๋‚˜, ์•„๋‹ˆ๋ฉด ๋ชจ๋‘ ์ ์šฉ๋˜์ง€ ์•Š๋Š” ALL ํ˜น์€ NOTING์˜ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠธ๋žœ์žญ์…˜์˜ ํŠน์„ฑ์„ ์›์ž์„ฑ ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์˜ ํŠน์„ฑ์œผ๋กœ๋Š” ์›์ž์„ฑ, ์ผ๊ด€์„ฑ, ๊ณ ๋ฆฝ์„ฑ, ์ง€์†์„ฑ์ด ์žˆ๋Š”๋ฐ์š”. ํŠนํžˆ ์›์ž์„ฑ์ด ์ค‘์š”ํ•œ ํŠน์„ฑ์ž…๋‹ˆ๋‹ค. ๋ชจ๋‘ ์ ์šฉํ•˜๊ฑฐ๋‚˜ ํ•˜๋‚˜๋„ ์ ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ํŠธ๋žœ์žญ์…˜์˜ ์›์ž์„ฑ์€ ์ปค๋ฐ‹๊ณผ ๋กค๋ฐฑ์œผ๋กœ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ..
ํ•จ์ˆ˜ ์ข…์†(FD: Functional dependency) ์–ด๋–ค ๋ฆด๋ ˆ์ด์…˜ R์—์„œ X์™€ Y๋ฅผ ๊ฐ๊ฐ E์˜ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ ์ง‘ํ•ฉ์˜ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์ด๋ผ ํ•˜์ž. ์–ดํŠธ๋ฆฌ๋ทฐํŠธ X์˜ ๊ฐ’ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์‹œ๊ฐ„์— ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ Y์˜ ๊ฐ’์ด ์˜ค์ง ํ•˜๋‚˜๋งŒ ์—ฐ๊ด€๋˜์–ด ์žˆ์„ ๋•Œ Y๋Š” X์— ํ•จ์ˆ˜ ์ข…์†์ด๋ผ ํ•˜๊ณ , X -> Y๋กœ ํ‘œ๊ธฐํ•œ๋‹ค. ํ•จ์ˆ˜ ์ข…์†(Functional Dependency)์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ํŠน์ •ํ•œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ๋Š” ์ฃผ๋กœ ์†์„ฑ(Attribute)๊ณผ ํ…Œ์ด๋ธ”(Table) ๊ฐ„์˜ ํ•จ์ˆ˜ ์ข…์†์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์ด๋•Œ, ์†์„ฑ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์—ด(Column)์„ ๋‚˜ํƒ€๋‚ด๊ณ , ํ…Œ์ด๋ธ”์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ‘œ(Table)๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•™์ƒ ์ •๋ณด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ์—ฌ..
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ…Œ์ด๋ธ”์˜ ์ˆ˜ํ‰ ๋ถ„ํ• ๊ณผ ์ˆ˜์ง ๋ถ„ํ• ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ๋ฐ ๊ด€๋ฆฌ์—์„œ ์ค‘์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ์ด ๋‘ ๊ฐ€์ง€ ๋ถ„ํ•  ๋ฐฉ๋ฒ•์€ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅ, ๊ด€๋ฆฌ ๋ฐ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ๊ฐ ๋ถ„ํ•  ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค: 1. ์ˆ˜ํ‰ ๋ถ„ํ•  (Horizontal Partitioning) ์ˆ˜ํ‰ ๋ถ„ํ• ์€ ํ…Œ์ด๋ธ”์„ ํ–‰(row) ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ์ฃผ๋กœ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง„ ํ…Œ์ด๋ธ”์„ ๊ด€๋ฆฌํ•˜๊ณ  ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜ํ‰ ๋ถ„ํ• ์˜ ์ฃผ์š” ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค: - ๋กœ์šฐ ๊ธฐ๋ฐ˜ ๋ถ„ํ• : ํŠน์ • ๊ธฐ์ค€์— ๋”ฐ๋ผ ํ…Œ์ด๋ธ”์˜ ๋กœ์šฐ(ํ–‰)๋“ค์„ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‚ ์งœ ๊ธฐ์ค€์œผ๋กœ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์›”๋ณ„๋กœ ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ: ๊ฐ ํŒŒํ‹ฐ์…˜์€ ๋ณ„๋„์˜ ๋ฌผ๋ฆฌ์  ํ…Œ์ด๋ธ”๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ฐ..
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ์˜ ํˆฌ๋ช… ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ "ํˆฌ๋ช…์„ฑ(transparency)"์€ ์‚ฌ์šฉ์ž๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์˜ ๋‚ด๋ถ€ ๋™์ž‘ ๋ฐ ๊ตฌ์กฐ๋ฅผ ์ˆจ๊ธฐ๋Š” ๊ฐœ๋…์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์•ก์„ธ์Šคํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์ค‘์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํˆฌ๋ช…์„ฑ์„ ์œ ์ง€ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ถ„์‚ฐ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ค‘์•™์ง‘์ค‘์‹๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํˆฌ๋ช…์„ฑ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ ์—ฌ๋Ÿฌ ๋…ธ๋“œ ๋˜๋Š” ์œ„์น˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‹ค์–‘ํ•œ ํˆฌ๋ช…์„ฑ ์œ ํ˜•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ๋Š” ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์œ„ํ•œ ์—ฌ์„ฏ ๊ฐ€..
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ๋™์‹œ์„ฑ๊ณผ ๋ณ‘ํ–‰ ์ œ์–ด๋Š” ์ค‘์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ๋™์‹œ์„ฑ (Concurrency) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ณ  ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋™์‹œ์„ฑ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํšจ์œจ์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ์ค‘์š”ํ•œ ํŠน์ง•์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์ž‘์—…ํ•  ๋•Œ, ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ๊ณผ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์กดํ•˜๋ ค๋ฉด ๋ณ‘ํ–‰ ์ œ์–ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ณ‘ํ–‰ ์ œ์–ด (Concurrency Control) ๋ณ‘ํ–‰ ์ž‘์—… ์ค‘์— ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค. ๋ณ‘ํ–‰ ์ž‘์—…์ด ์ถฉ๋Œํ•˜์ง€ ์•Š๋„๋ก ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์ด ์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ๋ณ‘ํ–‰ ์ œ์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฃผ์š” ๊ธฐ์ˆ ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค: - Locking (์ž ๊ธˆ): ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ ..
Entity (์—”ํ„ฐํ‹ฐ), Attribute (์†์„ฑ) ์ง์‚ฌ๊ฐํ˜•์˜ ์ƒ๋‹จ์— entity์˜ ์ด๋ฆ„์„ ํ‘œ๊ธฐํ•˜๊ณ , ๊ทธ ์•„๋ž˜์— attribute์˜ ์ด๋ฆ„์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น attribute๊ฐ€ PK, FK์ผ ๊ฒฝ์šฐ ์ขŒ์ธก์— ํ‘œ๊ธฐํ•ด์ค๋‹ˆ๋‹ค. Relation (๊ด€๊ณ„) relation์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐํ˜ธ๋“ค๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์‹ค์„ ๊ณผ ์ ์„  ์‹ค์„ ์€ ์‹๋ณ„ (Identifying) ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์‹๋ณ„ ๊ด€๊ณ„๋ž€ ๋ถ€๋ชจ entity ์˜ ๊ธฐ๋ณธํ‚ค ๋˜๋Š” ์œ ๋‹ˆํฌํ‚ค๋ฅผ ์ž์‹ entity ์˜ ๊ธฐ๋ณธํ‚ค๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ด€๊ณ„๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ž์‹ entity ๋Š” ๋ถ€๋ชจ Entity ๊ฐ€ ์กด์žฌํ•ด์•ผ ์กด์žฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ ์„ ์€ ๋น„์‹๋ณ„ (Non-Identifying) ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋น„์‹๋ณ„ ๊ด€๊ณ„๋ž€ ๋ถ€๋ชจ entity ์˜ ๊ธฐ๋ณธํ‚ค ๋˜๋Š” ์œ ๋‹ˆํฌํ‚ค๋ฅผ ์ž์‹ entity ์—์„œ ์™ธ๋ž˜ํ‚ค..
๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”(Routing Table)๊ณผ ARP ํ…Œ์ด๋ธ”(Address Resolution Protocol Table)์€ ๋„คํŠธ์›Œํฌ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”(Routing Table) ๋ผ์šฐํ„ฐ๋‚˜ ์Šค์œ„์น˜์™€ ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ์žฅ๋น„์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๋ชฉ์ ์ง€ IP ์ฃผ์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒจํ‚ท์„ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ(์˜ˆ: RIP, OSPF, BGP)์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌ์ž์— ์˜ํ•ด ์ˆ˜๋™์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์—๋Š” ๋ชฉ์ ์ง€ IP ์ฃผ์†Œ, ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ, ์ถœ๊ตฌ ์ธํ„ฐํŽ˜์ด์Šค, ๋‹ค์Œ ํ™‰(๋„ฅ์ŠคํŠธ ํ™‰) ๋ผ์šฐํ„ฐ์˜ IP ์ฃผ์†Œ ๋“ฑ์˜ ์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ท์ด ๋ชฉ์ ์ง€๋กœ ์ „๋‹ฌ๋  ๋•Œ๋งˆ๋‹ค ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•˜๊ณ  ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. A..
๋ชฉํ‘œ ์ง€๋‚œ ๊ธ€์˜ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด IDS๋ฅผ ์„ค๊ณ„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๐Ÿ’ก ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์™€ ํ†ต์‹ ํ•˜๋Š” ํŒจํ‚ท์˜ ๊ฒฝ์šฐ, MAC ์ฃผ์†Œ๊ฐ€ gateway์˜ MAC ์ฃผ์†Œ์ธ 00:50:56:f1:51:86 ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๋กœ๊ทธ๋ฅผ ๋„์šด๋‹ค MAC ์ฃผ์†Œ ๊ธฐ๋ฐ˜ ํƒ์ง€ 00:50:56:f1:51:86 : ๊ฒŒ์ดํŠธ์›จ์ด์˜ MAC ์ฃผ์†Œ ๋“ค์–ด์˜ค๋Š” ํŒจํ‚ท์˜ ๊ฒฝ์šฐ source ์˜ mac์ฃผ์†Œ๊ฐ€ 00:50:56:f1:51:86์ด ์•„๋‹Œ ๊ฒฝ์šฐ๋ฅผ ๊ธฐ๋ก ๋‚˜๊ฐ€๋Š” ํŒจํ‚ท์˜ ๊ฒฝ์šฐ destination์˜ mac์ฃผ์†Œ๊ฐ€ 00:50:56:f1:51:86์ด ์•„๋‹Œ ๊ฒฝ์šฐ๋ฅผ ๊ธฐ๋ก ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ ๋“ค์–ด์˜ค๋Š” ํŒจํ‚ท์˜ ๊ฒฝ์šฐ, source ์˜ MAC์ฃผ์†Œ๊ฐ€ 00:50:56:f1:51:86์ด ์•„๋‹Œ ๊ฒฝ์šฐ ๋กœ๊ทธ๋ฅผ ๋„์šฐ๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค. iptables -A INPUT -m mac ! --mac-so..
์‹ค์Šต ํ™˜๊ฒฝ IP Address MAC Address 192.168.100.1 ํ˜ธ์ŠคํŠธ PC 192.168.100.2 00:50:56:f1:51:86 ๊ฒŒ์ดํŠธ์›จ์ด 192.168.100.30 00:0c:29:f0:7e:2c ํ”ผํ•ด์ž (Xubuntu) 192.168.100.128 00:0c:29:ce:c0:c2 ๊ณต๊ฒฉ์ž (Kali) ARP Request and Reply ๋จผ์ € ARP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • IP์— ๋Œ€ํ•œ MAC ์ฃผ์†Œ๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์„ ๊ฐ€๋ณ๊ฒŒ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž PC์ธ Kali์˜ Ettercap์—์„œ Scan for Hosts ๋ฉ”๋‰ด ์‹คํ–‰ํ•œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. Kali(192.168.100.128)์—์„œ ARP Request ํŒจํ‚ท์„ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ํ˜„์žฌ PC์ธ Xubuntu์—์„œ, IP๊ฐ€ ..
๊ฐœ์š” ARP ์Šคํ‘ธํ•‘ ๊ณต๊ฒฉ์ด๋ž€ ๊ณต๊ฒฉ์ž๊ฐ€ ARP(Address Resolution Protocol) ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž์‹ ์˜ MAC์ฃผ์†Œ๋ฅผ ๊ณต๊ฒฉ ๋Œ€์ƒ์ž PC์˜ IP์ฃผ์†Œ์™€ ๋งคํ•‘ํ•˜์—ฌ ๋งˆ์น˜ ๊ณต๊ฒฉ ํ”ผํ•ด์ž์˜ MAC์ฃผ์†Œ์ธ ๊ฒƒ ์ฒ˜๋Ÿผ ์†์—ฌ ํŒจํ‚ท์„ ๊ฐ€๋กœ์ฑ„๋Š” ๊ณต๊ฒฉ์ž…๋‹ˆ๋‹ค. ARPํ”„๋กœํ† ์ฝœ์€ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ํ•ด๋‹น IP์˜ MAC์ฃผ์†Œ๋ฅผ ์ฐพ๋Š” ํ”„๋กœํ† ์ฝœ ์ž…๋‹ˆ๋‹ค. ์†ก์‹ ์ž๊ฐ€ ARP Request ํŒจํ‚ท์„ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ๋กœ ์š”์ฒญํ•˜๋ฉด, ํ•ด๋‹น๋˜๋Š” ์ˆ˜์‹ ์ž๋Š” ์ž์‹ ์˜ MAC์ฃผ์†Œ๋ฅผ ๋‹ด์•„ ARP Reply ํŒจํ‚ท์„ ์œ ๋‹ˆ์บ์ŠคํŠธ๋กœ ์†ก์‹ ์ž์—๊ฒŒ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. Ettercap ์‚ฌ์šฉ ์‹œ์ž‘ํ•˜๊ธฐ Ettercap์€ kali์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์น˜๋œ ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ ๋„๊ตฌ ์ž…๋‹ˆ๋‹ค. ํŒจํ‚ท ์Šค๋‹ˆํ•‘๊ณผ ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋ฉฐ, LAN์—์„œ ํ˜ธ์ŠคํŠธ ๊ฐ„ ํ†ต์‹ ์„ ๊ฐ์‹œํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š”..
ยท Web Dev
APM(Apache, PHP, MySQL) ์„ค์น˜ apache2, php7, mysql8.0์„ ๋™์‹œ์— ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์„ค์น˜ ๋ฒ„์ „ ํ™•์ธ JSP https://wnsgml972.github.io/linux/2018/07/27/linux_jsp/ https://yyman.tistory.com/1362 [JSP] 3. Hello World - ์‹ค์ œ ์„œ๋ฒ„์— ์˜ฌ๋ฆฌ๊ธฐ(index.jsp) // Hello World-Post to Real Server (index.jsp) [JSP] 3. Hello World - ์‹ค์ œ ์„œ๋ฒ„์— ์˜ฌ๋ฆฌ๊ธฐ(index.jsp) // Hello World-Post to Real Server (index.jsp) ์‹ค์ œ ์„œ๋ฒ„์— ์ฒ˜์Œ์œผ๋กœ index.jsp๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์˜ฌ๋ ค๋ณด๊ฒ ๋‹ค. ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ์€ ์šฐ๋ถ„ํˆฌ ..
CAPTCHA์˜ ๊ฐœ๋… CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)๋Š” ์ธ๊ฐ„์—๊ฒŒ๋Š” ์‰ฝ์ง€๋งŒ ๊ธฐ๊ณ„์—๊ฒŒ๋Š” ์–ด๋ ค์šด ๊ณผ์ œ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ…Œ์ŠคํŠธํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ด‡(์ปดํ“จํ„ฐ)์ด ์•„๋‹ˆ๋ผ ์ธ๊ฐ„์ธ์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ธ์ฆ ๋ฐฉ๋ฒ•๋“ค์„ ๋งํ•œ๋‹ค. ์ผ ๊ทธ๋Ÿฌ์ง„ ๋ฌธ์ž์—ด์˜ ์ด๋ฏธ์ง€๋ฅผ ๋ณด๊ณ  ์–ด๋–ค ๊ธ€์ž์ธ์ง€ ์ž…๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ, ํ˜น์€ ์ œ์‹œ๋œ ์‚ฌ์ง„๋“ค ์ค‘ ์ฃผ์–ด์ง„ ๋‹จ์–ด์™€ ๊ด€๋ จ ์žˆ๋Š” ์‚ฌ์ง„์„ ๊ณ ๋ฅด๋Š” ๊ฒฝ์šฐ๊ฐ€ CAPTCHA๋ฅผ ๋งŒ๋‚œ ๊ฒฝ์šฐ์ด๋‹ค. CAPTCHA์˜ ์ง„ํ™” 2003๋…„, ๊ฐ€์งœ ์ด๋ฉ”์ผ ๊ณ„์ •์„ ๋“ฑ๋กํ•˜๋Š” ์ŠคํŒธ ๋ด‡ ๋•Œ๋ฌธ์— ๋ฌธ์ œ์— ๋Œ€์‘ํ•˜์—ฌ ์นด๋„ค๊ธฐ ๋ฉœ๋Ÿฐ ๋Œ€ํ•™๊ต ์—ฐ๊ตฌํŒ€์ด CAPTCHA๋ผ๋Š” ์šฉ์–ด ์™€ ํ•จ๊ป˜ ๊ธฐ์ˆ ์„ ๊ฐœ๋ฐœํ•˜์˜€๋‹ค. ์ด๋•Œ ๋งŒ๋“ค์–ด์ง„ CAPTCHA๊ฐ€ ๋ฐ”๋กœ ๋ฌด์ž‘์œ„์˜ ๋ฌธ์ž์—ด์„ ..
ํ”„๋กœ์ ํŠธ ๊ฐœ์š” ์ด๋ฒˆ ํ•™๊ธฐ ์ˆ˜๊ฐ•ํ•˜๊ณ  ์žˆ๋Š” '์นจ์ž…ํƒ์ง€์™€ ์ฐจ๋‹จ์‹œ์Šคํ…œ'๊ณผ๋ชฉ์˜ ๊ธฐ๋ง ํ”„๋กœ์ ํŠธ๋กœ, KT ํŒŒ๋กœ์Šค ํ”„๋ก์‹œ ํ•ดํ‚น ์‚ฌ๊ฑด์„ ๋ ˆํผ๋Ÿฐ์Šค ํ•˜์—ฌ ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค. KT ํŒŒ๋กœ์Šค ํ”„๋ก์‹œ ํ•ดํ‚น ์‚ฌ๊ฑด์€ ์›น ํ”„๋ก์‹œ ํˆด์ธ "Paros Proxy"๋ฅผ ํ† ๋Œ€๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜์—ฌ, ๋ธŒ๋ฃจ์Šค ํฌ์Šค(Bruth Force, ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๊ณต๊ฒฉ) ๊ณต๊ฒฉ์„ ์ง„ํ–‰, ๊ฐœ์ธ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•œ ์‚ฌ๊ฑด์ž…๋‹ˆ๋‹ค. Paros Proxy๋Š” ์›น ์‚ฌ์ดํŠธ์˜ ์ทจ์•ฝ์ ์„ ์ ๊ฒ€ํ•˜๋Š” ๋ณด์•ˆ ๋„๊ตฌ์ด์ง€๋งŒ, ์›น ํ•ดํ‚น์˜ ๋„๊ตฌ๋กœ์„œ๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ €ํฌ ํŒ€์€ ์ด ์‚ฌ๋ก€์—์„œ ๋‘ ๊ฐ€์ง€ ํฌ์ธํŠธ๋ฅผ ์žก์•˜์Šต๋‹ˆ๋‹ค. Man-in-the-Middle Attack (์ค‘๊ฐ„์ž ๊ณต๊ฒฉ) Bruth Force (๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๊ณต๊ฒฉ) ํŒ€์›๋ถ„๊ณผ ๊ฐ์ž ๋‹ค๋ฅธ ํฌ์ธํŠธ์—์„œ ๊ณต๊ฒฉ ๋ฐ ๋ฐฉ์–ด ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜๊ธฐ๋กœ ํ•˜์˜€๊ณ , ์ €๋Š” 1๋ฒˆ ์ค‘๊ฐ„์ž..
https://developers.google.com/tech-writing/overview Overview of technical writing courses | Technical Writing | Google Developers Send feedback Overview of technical writing courses Stay organized with collections Save and categorize content based on your preferences. The following table summarizes the technical writing courses: The pre-class components introduce topics; the in-class developers...
hye2021
all-i-want.tistory.com