ยซ   2025/06   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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
29 30
Archives
Recent Posts
06-25 03:19

Today
Total

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

๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (123)

์—ฐ์˜ ๊ธฐ๋ก ๐Ÿช

ํ”„๋กœ์„ธ์Šค, ์“ฐ๋ ˆ๋“œ, ๋™๊ธฐํ™”

๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค์™€ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ, ์“ฐ๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€์—์„œ ๋™์ž‘ํ•˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„์ด๋‹ค. ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค์™€ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ์˜ ํŠน์ง•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ์ž์›์ด ๋…๋ฆฝ์ ์œผ๋กœ ํ• ๋‹น์ž์›์„ ๊ณต์œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ๋„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ์˜ํ–ฅ์„ ๋ฏธ์น  ๊ฐ€๋Šฅ์„ฑ ์žˆ์Œ์œ„์™€ ๊ฐ™์ด ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ๋Š” ์ž์›์„ ๊ณต์œ ํ•˜๊ธด ํ•˜์ง€๋งŒ ์“ฐ๋ ˆ๋“œ๋ณ„๋กœ ๊ฐ๊ฐ์˜ ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ ๊ฐ’๊ณผ ์Šคํƒ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ„ ํ†ต์‹ (IPC, Inter-Process Communication)ํ”„๋กœ์„ธ์Šค๋Š” ์ž์›์ด ๋…๋ฆฝ์ ์œผ๋กœ ํ• ๋‹น๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์Šค๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋ฅผ ์œ„ํ•œ ๊ธฐ๋ฒ•์œผ๋กœ ๊ณต์œ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ์ด ์žˆ๋‹ค.๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๊ณต์œ ํ•˜๋Š” ..

์šด์˜์ฒด์ œ ๊ฐœ์š”

์šด์˜์ฒด์ œ์˜ ์—ญํ• ์šด์˜์ฒด์ œ์˜ ์—ญํ• ์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.์ž์› ๊ด€๋ฆฌ ๋ฐ ํ• ๋‹นํ”„๋กœ์„ธ์Šค ๋ฐ ์Šค๋ ˆ๋“œ ๊ด€๋ฆฌ์—ฌ๊ธฐ์„œ 1๋ฒˆ์˜ ์ž์›์€ CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜ ๋“ฑ์ด๋‹ค.CPU ๊ด€๋ฆฌ(CPU ์Šค์ผ€์ค„๋ง) : ์‹คํ–‰์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์ด CPU๋ฅผ ๊ณต์ •ํ•˜๊ฒŒ ํ• ๋‹น๋ฐ›๋„๋ก ๊ด€๋ฆฌ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ : ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์„ ์ ์ ˆํžˆ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๊ณ , ์ข…๋ฃŒ๋œ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‚ญ์ œํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ ๊ด€๋ฆฌ : ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜ ๋‚ด๋ถ€ ์ •๋ณด๋ฅผ ํŒŒ์ผ ๋ฐ ํด๋” ๋‹จ์œ„๋กœ ์ ‘๊ทผํ•˜๊ฒŒ ํ•ด์คŒ2๋ฒˆ ํ”„๋กœ์„ธ์Šค ๋ฐ ์Šค๋ ˆ๋“œ ๊ด€๋ฆฌ๋Š” ์ด๋ฏธ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ(ํ”„๋กœ์„ธ์Šค)์— ์ž์›์„ ํ• ๋‹นํ•˜๊ณ  ๋‚ด๋ถ€์— ์žˆ๋Š” ์Šค๋ ˆ๋“œ๋ผ๋Š” ์‹คํ–‰์˜ ๋‹จ์œ„๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.์ฆ‰ ์šด์˜์ฒด์ œ๋Š” ์ž์› ๊ด€๋ฆฌ์ž์ด๋‹ค. ์‹œ์Šคํ…œ ์ฝœ๊ณผ ์ด์ค‘ ๋ชจ๋“œ์•ž์„œ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•ด์•ผํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์šด์˜์ฒด์ œ๋„ ์ผ์ข…์˜ ํ”„๋กœ๊ทธ๋žจ์ด๊ธฐ ๋•Œ๋ฌธ..

ํ”„๋ก์‹œ์™€ ์•ˆ์ •์ ์ธ ํŠธ๋ž˜ํ”ฝ

ํฌ์›Œ๋“œ ํ”„๋ก์‹œ vs ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์—๋Š” ๋‹ค์–‘ํ•œ ์ค‘๊ฐ„์„œ๋ฒ„์™€ ๋„คํŠธ์›Œํฌ ์žฅ๋น„๋“ค์ด ์กด์žฌํ•œ๋‹ค. ์ค‘๊ฐ„์„œ๋ฒ„์˜ ์œ ํ˜•์œผ๋กœ๋Š” ํฌ์›Œ๋“œ ํ”„๋ก์‹œ(ํ”„๋ก์‹œ), ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ(๊ฒŒ์ดํŠธ์›จ์ด)๊ฐ€ ์กด์žฌํ•œ๋‹ค.ํฌ์›Œ๋“œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์•ž์„ ์˜๋ฏธํ•˜๋Š”๋ฐ, ์ด๊ฒƒ์€ ์ธํ„ฐ๋„ท์˜ ์•ž๋‹จ์— ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ํ”„๋ก์‹œ ์„œ๋ฒ„๋Š” ์ฃผ๋กœ ์บ์‹œ ์ €์žฅ, ํด๋ผ์ด์–ธํŠธ ์•”ํ˜ธํ™” ๋ฐ ์ ‘๊ทผ์ œํ•œ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ์ธํ„ฐ๋„ท์œผ๋กœ ๋‚˜์•„๊ฐ€๊ธฐ ์ „ ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ๊ฑฐ์ณ์„œ ๊ฐ„๋‹ค. ๋งŒ์•ฝ ์บ์‹ฑ๋˜์–ด ์žˆ๋Š” ๋‚ด์šฉ์ด๋ผ๋ฉด ์ธํ„ฐ๋„ท์„ ๊ฑฐ์ณ ์˜ค๋ฆฌ์ง„ ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ๊ณณ๊นŒ์ง€ ๊ฐˆ ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ, ์ฆ‰ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์ธํ„ฐ๋„ท์„ ๊ฑฐ์ณ์„œ ์˜จ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ๋“ค์ด ์˜ค๋ฆฌ์ง„์„œ๋ฒ„์— ๋„๋‹ฌํ•˜๊ธฐ ์ „ ๊ฑฐ์ณ๊ฐ€๋Š” ๊ณณ์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์บ์‹œ ์ €์žฅ์„ ํ•  ์ˆ˜๋„ ์žˆ๊ณ  ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ(๋ถ€ํ•˜ ๋ถ„์‚ฐ)๋กœ..

์‘์šฉ๊ณ„์ธต - HTTP์˜ ์‘์šฉ(์ฟ ํ‚ค, ์บ์‹œ, ์ฝ˜ํ…์ธ  ํ˜‘์ƒ, ์ธ์ฆ, ๋ณด์•ˆ)

์ฟ ํ‚ค์•ž์„œ HTTP๋Š” ์Šคํ…Œ์ดํŠธ๋ฆฌ์Šค ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ํ–ˆ์—ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๊ฐ™์€ ํด๋ผ์ด์–ธํŠธ์—์„œ ์š”์ฒญ์„ ๋‘ ๋ฒˆ ๋ณด๋‚ด๋„ ๋ณ„๊ฐœ์˜ ์š”์ฒญ์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ๋ฅผ ๊ธฐ์–ตํ•ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ์›น์‚ฌ์ดํŠธ์—์„œ ๋‹คํฌ๋ชจ๋“œ๋ฅผ ์ผฐ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ์ดํ›„ ์ด ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์‹œ ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋ฉด ๋‹คํฌ๋ชจ๋“œ๋กœ ๋ณด์—ฌ์ง€๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฐ ์ •๋ณด๋Š” ์„œ๋ฒ„์ธก์—์„œ Set-Cookie: mode=dark ํ—ค๋”๋ฅผ ์ „๋‹ฌํ•˜๊ณ , ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด๋ฅผ ๋ฐ›์•„ ์ €์žฅํ•ด๋‘”๋‹ค.์ดํ›„ ๊ฐ™์€ ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ๋ฐ›์•˜๋˜ ์ฟ ํ‚ค๊ฐ’์„ ์ „๋‹ฌํ•œ๋‹ค. ์ฟ ํ‚ค๊ฐ’์ด ์—ฌ๋Ÿฌ๊ฐœ์ด๋ฉด ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ „๋‹ฌํ•œ๋‹ค. (Cookie : mode=dark; message=test; . . .)์œ„์—์„œ ๋ดค๋“ฏ์ด ์ฟ ํ‚ค๋Š” ์ด๋ฆ„=๊ฐ’ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜๋Š”๋ฐ, ๊ทธ ์™ธ์—๋„ ๋„๋ฉ”์ธ๊ณผ ๊ฒฝ๋กœ, ์œ ํšจ๊ธฐ๊ฐ„๊ณผ ๊ฐ™์€ ..

์‘์šฉ๊ณ„์ธต - HTTP

DNS ์„œ๋ฒ„๋„คํŠธ์›Œํฌ ์ƒ์˜ ํ˜ธ์ŠคํŠธ๋ฅผ ์‹๋ณ„ํ•  ๋•Œ์—๋Š” IP์ฃผ์†Œ๊ฐ€ ์‚ฌ์šฉ๋˜์ง€๋งŒ, ํ˜ธ์ŠคํŠธ์˜ IP ์ฃผ์†Œ๋Š” ๋ฐ”๋€” ์ˆ˜ ์žˆ๊ณ  ์‚ฌ๋žŒ์ด ๋ณด๊ธฐ์—๋„ ์ข‹์ง€ ์•Š๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๋„๋ฉ”์ธ ๋„ค์ž„์„ ์‚ฌ์šฉํ•œ๋‹ค. www.google.com ๊ฐ™์€ ๊ฒƒ์„ ๋„๋ฉ”์ธ ๋„ค์ž„์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.๊ทธ๋Ÿฌ๋ฉด IP์ฃผ์†Œ์™€ ๋„๋ฉ”์ธ ๋„ค์ž„์„ ๋งคํ•‘์‹œ์ผœ์ฃผ๋Š” ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•ด์ง€๋Š”๋ฐ, ์ด๋ฅผ DNS ์„œ๋ฒ„๋ผ๊ณ  ํ•œ๋‹ค. ์œ„์—์„œ ๋ดค๋‹ค์‹œํ”ผ ๋„๋ฉ”์ธ์€ ๊ณ„์ธต์ ์œผ๋กœ ๋ถ„๋ฅ˜๋˜์–ด ์žˆ๋‹ค. ์ด ์ ์„ ์ด์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ๋„๋ฉ”์ธ์˜ IP๋ฅผ ์ฐพ์„ ๋•Œ ๊ณ„์ธต์ ์œผ๋กœ ์งˆ์˜ํ•œ๋‹ค. ๋„๋ฉ”์ธ ๋„ค์ž„์„ IP๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •์„ ์ข€ ๋” ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž. ๋จผ์ € www.google.com ์˜ IP ์ฃผ์†Œ๋ฅผ ์ฐพ๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด๋‹ค. ๊ฐ€์žฅ ๋จผ์ € ๋กœ์ปฌ์—์„œ ์ฐพ๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์œˆ๋„์šฐ์—๋Š” C:\Windows\System32\drivers\etc ๋””๋ ‰ํ† ๋ฆฌ์— ho..

์ „์†ก๊ณ„์ธต - TCP์™€ UDP

ํŒจํ‚ท์˜ ์ตœ์ข… ๋ชฉ์ ์ง€๋Š” ํ˜ธ์ŠคํŠธ๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ด๋‹ค. ์ด๋Š” IP์ฃผ์†Œ+ํฌํŠธ ๋ฒˆํ˜ธ์˜ ์กฐํ•ฉ์œผ๋กœ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ „์†ก๊ณ„์ธต์€ ์ด ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ณ„์ธต์ด๋‹ค.ํฌํŠธ ๋ฒˆํ˜ธํฌํŠธ ๋ฒˆํ˜ธ๋Š” ์ด 16๋น„ํŠธ๋กœ ํ‘œํ˜„๋œ๋‹ค. ๊ทธ๋ž˜์„œ 0~2^16-1๊นŒ์ง€ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค.0~1023์›ฐ๋…ธ์šด ํฌํŠธ1024~49151๋“ฑ๋ก๋œ ํฌํŠธ49152~65535๋™์  ํฌํŠธ์›ฐ๋…ธ์šด ํฌํŠธ๋Š” ๋Œ€์ค‘์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ํฌํŠธ์ด๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด FTP(20, 21), SSH(22), TELNET(23), DNS(53), DHCP(67, 68), HTTP(80), HTTPS(443) ๋“ฑ์ด ์žˆ๋‹ค.๋˜ ๋“ฑ๋ก๋œ ํฌํŠธ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์•„๋Š” MySQL(3306), Redis(6379), MSSQL(1433)๋“ฑ์ด ์žˆ๋‹ค.๋งˆ์ง€๋ง‰์œผ๋กœ ๋™์  ํฌํŠธ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๋กœ์„œ ๋™์ž‘ํ•˜๋Š” ํ”„๋กœ..

๋„คํŠธ์›Œํฌ ๊ณ„์ธต - IP

IP ์ฃผ์†Œ๋ž€ํ”„๋ ˆ์ž„์— ๋ชฉ์ ์ง€์™€ ์†ก์‹ ์ง€์˜ MAC ์ฃผ์†Œ๊ฐ€ ์žˆ์—ˆ๋“ฏ์ด, IP ํŒจํ‚ท ํ—ค๋”์—๋„ ์†ก์‹ ์ง€, ์ˆ˜์‹ ์ง€์˜ IP ์ฃผ์†Œ ํ•„๋“œ๊ฐ€ ์žˆ๋‹ค. ๋ผ์šฐํ„ฐ๋Š” ์ด IP ์ฃผ์†Œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชฉ์ ์ง€๊นŒ์ง€ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋กœ ํŒจํ‚ท์„ ์ „๋‹ฌํ•ด์ฃผ๋Š” ๋„คํŠธ์›Œํฌ ์žฅ๋น„์ด๋‹ค.IPv4 vs IPv6IPv4๋Š” 32๋น„ํŠธ๋กœ 2^32๊ฐœ์˜ ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.IPv6๋Š” 128๋น„ํŠธ์ด๋ฏ€๋กœ ์ด 2^128๊ฐœ์˜ ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.IPv4 192.168.1.1IPv62001:0230:abcd:ffff:0000:0000:ffff:1111IPv4 ํŒจํ‚ท ํ—ค๋”์—๋Š” ์‹๋ณ„์ž, ํ”Œ๋ž˜๊ทธ, ๋‹จํŽธํ™” ์˜คํ”„์…‹์ด ์žˆ๋‹ค.์‹๋ณ„์ž : ์–ด๋–ค ํŒจํ‚ท์ด ๋‹จํŽธํ™” ๋œ ๊ฒƒ์ธ์ง€ ๊ตฌ๋ถ„ํ•ด์ค€๋‹ค. ๊ฐ™์€ ์กฐ๊ฐ์—์„œ ๋‚˜์˜จ ํŒจํ‚ท๋“ค์€ ์‹๋ณ„์ž๊ฐ€ ๊ฐ™๋‹ค.ํ”Œ๋ž˜๊ทธ : 3๋น„ํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” 0์ด๊ณ  DF(Don’t fragme..

๋ฌผ๋ฆฌ, ๋ฐ์ดํ„ฐ๋งํฌ ๊ณ„์ธต - ์ด๋”๋„ท, NIC, ํ—ˆ๋ธŒ, ์Šค์œ„์น˜

์ด๋”๋„ท์ด๋ž€?์ด๋”๋„ท(Ethernet) ์€ ๋ฌผ๋ฆฌ ๊ณ„์ธต๊ณผ ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต์—์„œ์˜ ๊ทœ๊ฒฉ์„ ์ •์˜ํ•ด ๋‘” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต์—์„œ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ์˜ ๋‹จ์œ„์ธ ํ”„๋ ˆ์ž„์˜ ๊ตฌ์กฐ๋ผ๊ฑฐ๋‚˜, MAC์ฃผ์†Œ์˜ ๊ตฌ์กฐ ๋“ฑ์ด ์ •์˜๋˜์–ด ์žˆ๋‹ค.ํ˜„๋Œ€ ๋Œ€๋ถ€๋ถ„์˜ LAN์€ ์ด๋”๋„ท์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์•ž์„œ ๋งํ•œ ํ”„๋ ˆ์ž„์— ๋Œ€ํ•ด ๋จผ์ € ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž.์ด๋”๋„ท ํ‘œ์ค€์— ๋”ฐ๋ฅด๋ฉด ํ”„๋ ˆ์ž„์€ ํ”„๋ฆฌ์•ฐ๋ธ”, ์Šคํƒ€ํŠธ ํ”„๋ ˆ์ž„ ๋”œ๋ฆฌ๋ฏธํ„ฐ, ๋ชฉ์ ์ง€ MAC ์ฃผ์†Œ, ์†ก์‹ ์ง€ MAC ์ฃผ์†Œ, ์ƒ์œ„๊ณ„์ธต์ •๋ณด/๋ฐ์ดํ„ฐ ๊ธธ์ด, ํŽ˜์ด๋กœ๋“œ, FCS(Frame Check Sequence)๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.ํ”„๋ฆฌ์•ฐ๋ธ”์€ ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž์˜ ํด๋Ÿญ(ํƒ€์ด๋จธ)๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•จ์ด๋‹ค. ์ˆ˜์‹ ์ž๋Š” ํ”„๋ฆฌ์•ฐ๋ธ”์„ ํ†ตํ•ด ์†ก์‹ ์ž์˜ ํด๋Ÿญ์„ ํŒŒ์•…ํ•˜๊ณ  ๋™๊ธฐํ™”ํ•œ๋‹ค.์Šคํƒ€ํŠธ ํ”„๋ ˆ์ž„ ๋”œ๋ฆฌ๋ฏธํ„ฐ(SFD, Start Fram..

[C++ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ํ”Œ๋กœ์ด๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ด ๊ธ€์€ ํ”Œ๋กœ์ด๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ•™์Šตํ•˜๋ฉฐ ์ด๋ ‡๊ฒŒ ์งœ๋ฉด ์™œ ์•ˆ๋ ๊นŒ?๋ฅผ ๊ณ ๋ฏผํ•œ ๊ณผ์ •์„ ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ํ”Œ๋กœ์ด๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด๊ฐ€ ์ฒ˜์Œ์ด๋ผ๋ฉด ์•„๋ž˜ ๋งํฌ์—์„œ ํ”Œ๋กœ์ด๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์ตํžŒ ํ›„ ๊ธ€์„ ์ฝ์œผ์‹œ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.https://blog.encrypted.gg/1035 [์‹ค์ „ ์•Œ๊ณ ๋ฆฌ์ฆ˜] 0x1C๊ฐ• - ํ”Œ๋กœ์ด๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์•ˆ๋…•ํ•˜์„ธ์š”, ์ด๋ฒˆ์—๋Š” ํ”Œ๋กœ์ด๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ตœ๋‹จ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ํ”Œ๋กœ์ด๋“œ, ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋งŒ ๋‹ค๋ฃจ๊ณ  ๋‚˜๋ฉด ๋‚˜๋ฆ„ ๊ธธ์—ˆ๋˜ ๊ทธ๋ž˜ํ”„ ํŒŒํŠธ๊ฐ€ ๋๋‚ฉ๋‹ˆ๋‹ค. ๋ชฉ์ฐจ๋Š” ๋ˆˆ์œผ๋กœ ํ•œ ๋ฒˆblog.encrypted.gg ์ตœ๋‹จ๊ฑฐ๋ฆฌํ”Œ๋กœ์ด๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ทธ๋ž˜ํ”„์˜ ๋ชจ๋“  ์ •์ ๊ฐ„์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•œ ํŽธ์ด๋‹ค.NxNํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ ํฐ ๊ฐ’(INF)์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.๊ฐ ์ •์ ๊ฐ„์˜ ..

[C++ ์•Œ๊ณ ๋ฆฌ์ฆ˜] LCS, Longest Common Subsequence

๊ฐœ์š”LCS(Longest Common Subsequence)๋Š” ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด๋กœ, ๋‘ ๋ฌธ์ž์—ด ์‚ฌ์ด ๊ณตํ†ต๋˜๋Š” ๋ถ€๋ถ„์„ ๋งํ•œ๋‹ค. ์ฆ‰ ๋ฌธ์ž์—ด์˜ ์ƒ๋Œ€์ ์ธ ์ˆœ์„œ๋งŒ ๊ฐ™์œผ๋ฉด ๋œ๋‹ค.์˜ˆ๋ฅผ๋“ค์–ด ์•„๋ž˜์™€ ๊ฐ™์ด 2๊ฐœ์˜ ๋ฌธ์ž์—ด์ด ์žˆ์„ ๋•ŒLCS๋Š” ABCCE์ด๋‹ค. ์ด๋Ÿฐ LCS๋Š” DP๋ฅผ ํ™œ์šฉํ•ด์„œ ๊ตฌํ•œ๋‹ค.๊ณผ์ •๋จผ์ € AABCCDE์™€ A์˜ ๊ณตํ†ต๋ถ€๋ถ„์„ ๊ตฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ํ‘œ์—๋Š” ํ˜„์žฌ๊นŒ์ง€ ๊ฐ€์žฅ ๊ธด ๊ณตํ†ต๋ถ€๋ถ„์˜ ๊ธธ์ด๋ฅผ ์ €์žฅํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ‘œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๋œ๋‹ค. (A๋Š” ๊ธธ์ด๊ฐ€ 1์ด๋‹ˆ ์ตœ๋Œ€ ๊ณตํ†ต๋ถ€๋ถ„์˜ ๊ธธ์ด๋Š” 1์ด๋‹ค.)์ด์ œ AABCCDE์™€ AB์˜ ์ตœ์žฅ๊ณตํ†ต๋ถ€๋ถ„์ˆ˜์—ด์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•ด๋ณด๋„๋ก ํ•˜์ž. ๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋  ๊ฒƒ์ด๋‹ค.์—ฌ๊ธฐ์„œ ์ฃผ๋ชฉํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์€ ๊ณตํ†ต๋˜๋Š” ๋ถ€๋ถ„์ธ B๊ฐ€ ๋‚˜์™”์„ ๋•Œ์ด๋‹ค. ์ €๊ณณ์€ AAB์™€ AB์˜ LCS์˜ ๊ธธ์ด๋ฅผ ๊ธฐ๋กํ•œ ๋ถ€๋ถ„์ธ๋ฐ AB..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ ์ด์ง„ํŠธ๋ฆฌ (C++)

https://school.programmers.co.kr/learn/courses/30/lessons/150367 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ๋ฌธ์ œ ๋ถ„์„๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์€ ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ์ด์ง„์ˆ˜๋กœ ๋ฐ”๊พธ๊ณ  ํฌํ™” ์ด์ง„ํŠธ๋ฆฌ๋กœ ๋‚˜ํƒ€๋ƒˆ์„ ๋•Œ ํ•ด๋‹น ํŠธ๋ฆฌ๊ฐ€ ์ด์ง„ํŠธ๋ฆฌ๊ฐ€ ๋งž๋Š”์ง€๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.์ด์ง„์ˆ˜๋ฅผ ํฌํ™” ์ด์ง„ํŠธ๋ฆฌ๋กœ ๋‚˜ํƒ€๋‚ด๋ ค๋ฉด ์•ž์— 0์„ ์ฑ„์›Œ์„œ ๊ฐ’์„ ๊ฐ€๊ณตํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์ด ๋ถ€๋ถ„์„ ์ข€ ๋” ๋ถ„์„ํ•ด๋ณด๋„๋ก ํ•˜์ž.์•„๋ž˜์™€ ๊ฐ™์ด ์ƒ๊ธด ๊ฒƒ์ด ํฌํ™” ์ด์ง„ํŠธ๋ฆฌ์ด๋‹ค. ๋ฆฌํ”„๋…ธ๋“œ๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋ชจ๋‘ 2๊ฐœ์˜ ์ž์‹๋…ธ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ํฌํ™” ์ด์ง„ํŠธ๋ฆฌ๋ผ๊ณ  ํ•œ๋‹ค. 1์ธต์งœ๋ฆฌ ํฌํ™” ์ด์ง„ํŠธ๋ฆฌ๋ผ๋ฉด ๋…ธ๋“œ์˜ ์ˆ˜๋Š” 1๊ฐœ, 2์ธต์ด๋ฉด 3๊ฐœ, 3..

[C++ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฌดํ–ฅ๊ทธ๋ž˜ํ”„ ์‚ฌ์ดํด dfs

dfs๋ฅผ ์‘์šฉํ•˜์—ฌ ๋ฌดํ–ฅ๊ทธ๋ž˜ํ”„์—์„œ์˜ ์‚ฌ์ดํด์„ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ์ด๋‹ค.  ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด ์ ์„ ํ•˜๋‚˜์”ฉ ์ˆœํšŒํ•˜๋ฉฐ ์‚ฌ์ดํด์ด ์กด์žฌํ•˜๋Š”์ง€ ํŒ๋ณ„ํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ทธ๋ž˜ํ”„๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ๋ˆˆ์œผ๋กœ ๋ด์„œ๋Š” 2 3 5 ์‚ฌ์ดํด์ด ์กด์žฌํ•จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ์—์„œ๋Š” 1์—์„œ๋ถ€ํ„ฐ dfs๋ฅผ ํ•˜๋ฉฐ ๋ฐ”๋กœ ์‚ฌ์ดํด์„ ์ฐพ๊ฒŒ ๋œ๋‹ค.dfs ๊ฐ€์žฅ ์•„๋ž˜ path.pop_back()์€ 4์™€ ๊ฐ™์ด ์‚ฌ์ดํด์— ํฌํ•จ๋˜์ง€ ์•Š๋Š” ๋…ธ๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ์ธ์ ‘ํ•œ ๋…ธ๋“œ๊ฐ€ ์ „์— ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋ฐ–์— ์—†์„ ๋•Œ์˜ ๊ฒฝ์šฐ์ด๋‹ค.#include #include #include using namespace std;vector> graph; // ๊ทธ๋ž˜ํ”„ ์ธ์ ‘ ๋ฆฌ์ŠคํŠธvector> edges; // ๊ฐ„์„  ์ •๋ณดvector visited;vector path;b..

[๋ฐฑ์ค€ 16724] ํ”ผ๋ฆฌ๋ถ€๋Š” ์‚ฌ๋‚˜์ด(C++)

https://www.acmicpc.net/problem/16724๋ฌธ์ œ์„ค๋ช…UDLR(์ƒํ•˜์ขŒ์šฐ)๋กœ ๊ฐ ์นธ์— ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์ด ์–ด๋–ค ๋ฐฉํ–ฅ์— ์žˆ๋Š”์ง€ ์ฃผ์–ด์ง„๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ํ™”์‚ดํ‘œ๋ฅผ ๋”ฐ๋ผ ์ญ‰ ์ด๋™ํ–ˆ์„ ๋•Œ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์•ˆ์ „๊ตฌ์—ญ์œผ๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๋ฉด ๋ช‡ ๊ฐœ์˜ ์•ˆ์ „ ๊ตฌ์—ญ์„ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋ฌป๋Š” ๋ฌธ์ œ์ด๋‹ค. ์•„์ด๋””์–ด์ด ๋ฌธ์ œ๋Š” ๊ทธ๋ž˜ํ”„์˜ ์‚ฌ์ดํด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์‚ฌ์ดํด 1๊ฐœ๋‹น 1๊ฐœ์˜ ์•ˆ์ „๊ตฌ์—ญ์„ ๋งŒ๋“ค์–ด ์ฃผ๋ฉด ๋œ๋‹ค. ๊ทธ๋ž˜์„œ dfs๋ฅผ ํ†ตํ•ด ๊ทธ๋ž˜ํ”„๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ๋ถ€๋ชจ(์‚ฌ์ดํด์˜ ์‹œ์ž‘์ )๋ฅผ ๊ธฐ๋กํ•ด์ฃผ๊ณ , ๋งˆ์ง€๋ง‰์— ๋ถ€๋ชจ๊ฐ€ ์ด ์ข…๋ฅ˜๊ฐ€ ์žˆ๋Š”์ง€๋ฅผ ๋ฆฌํ„ดํ•ด์คฌ๋‹ค.์•„๋ž˜์˜ ๊ฒฝ์šฐ ๋ถ€๋ชจ๊ฐ€ 2์ข…๋ฅ˜๊ฐ€ ๋‚˜์™”์œผ๋‹ˆ 2๋ฅผ ๋ฆฌํ„ดํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์ฝ”๋“œ์ •๋‹ต ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. dfs๋ฅผ ์ด์šฉํ•ด ์ˆœํšŒํ•˜๋ฉฐ ๋‹ค์Œ ๋ธ”๋Ÿญ์ด ํ˜„์žฌ์™€ ๋ถ€๋ชจ๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด Unionํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋ถ€๋ชจ๋ฅผ ํ•ฉ์ณ..

Problem Solving/BOJ 2025. 1. 21. 19:51
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋„๋„›๊ณผ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„ (C++)

https://school.programmers.co.kr/learn/courses/30/lessons/258711 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ๋ฌธ์ œ ๋ถ„์„์•„๋ž˜์™€ ๊ฐ™์ด ๋„๋„›๋ชจ์–‘, ๋ง‰๋Œ€๋ชจ์–‘, 8์ž๋ชจ์–‘ ๊ทธ๋ž˜ํ”„๊ฐ€ ์žˆ๋‹ค.์—ฌ๊ธฐ์„œ ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ “์ด ๊ทธ๋ž˜ํ”„๋“ค๊ณผ ๋ฌด๊ด€ํ•œ ์ •์ ์„ ํ•˜๋‚˜ ์ƒ์„ฑํ•œ ๋’ค, ๊ฐ ๋„๋„› ๋ชจ์–‘ ๊ทธ๋ž˜ํ”„, ๋ง‰๋Œ€ ๋ชจ์–‘ ๊ทธ๋ž˜ํ”„, 8์ž ๋ชจ์–‘ ๊ทธ๋ž˜ํ”„์˜ ์ž„์˜์˜ ์ •์  ํ•˜๋‚˜๋กœ ํ–ฅํ•˜๋Š” ๊ฐ„์„ ๋“ค์„ ์—ฐ๊ฒฐ”ํ–ˆ๋‹ค๋Š” ๋ถ€๋ถ„์ด๋‹ค.์ฆ‰ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์ ์„ ์ฐพ์œผ๋ฉด ๊ฑฐ๊ธฐ์— ์—ฐ๊ฒฐ๋œ ๊ฒƒ์€ ๋„๋„›, ๋ง‰๋Œ€, 8์ž๊ทธ๋ž˜ํ”„ ์ค‘ ํ•˜๋‚˜์—ฌ์•ผ ํ•œ๋‹ค๋Š” ์†Œ๋ฆฌ์ด๋‹ค.๊ทธ๋ ‡๊ธฐ์— ์ •์ ์— ์•„๋ž˜์™€ ๊ฐ™์ด ๋„๋„›๊ทธ๋ž˜ํ”„ 2๊ฐœ๋ฅผ ํ•ฉ์นœ ๊ฒƒ ๊ฐ™์€ ๋ชจ์–‘์ด ๋ถ™์–ด์žˆ๊ฑฐ๋‚˜ ํ•˜๋Š” ์ผ..

AWS SAA-C03 ์˜ค๋‹ต๋…ธํŠธ

AWS ์„œ๋น„์Šค ๊ฐœ์š”๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ๋ฐ ๋ถ„์„Redshift: ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ๋ฐ ๋ถ„์„์„ ์œ„ํ•œ ๋„๊ตฌIdentity ๋ฐ ์ ‘๊ทผ ์ œ์–ดaws:PrincipalOrgId: ์กฐ์ง ์ž์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ดaws:PrincipalOrgPaths: ์กฐ์ง ๋‚ด ํŠน์ • ๋ถ€์„œ๋ฅผ ๋ช…์‹œ์ฝ˜ํ…์ธ  ๋ฐ ๋ฐ์ดํ„ฐ ์ „์†กCloudFront: ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜์— ์ •์  ์ฝ˜ํ…์ธ ๋ฅผ ๋ฐฐ์น˜, ์›๋ณธ ์„œ๋ฒ„์—์„œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ดAWS Global Accelerator: ์• ๋‹ˆ์บ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์„œ๋ฒ„๋กœ ๋ผ์šฐํŒ…ํ•˜์—ฌ ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์ „์†กKinesis Data Firehose: A์„œ๋น„์Šค์—์„œ B์„œ๋น„์Šค๋กœ ๋ฐ์ดํ„ฐ ์ „์†กKinesis Data Stream: ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ์•„ ํŠน์ • ์„œ๋น„์Šค(A)์— ์ „๋‹ฌ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ฐ์‚ฌAWS Config: ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ ๋ณ€๊ฒฝ ๋ฐ ์ถ”์ AWS CloudTrail: ๋กœ๊ทธ ๊ธฐ๋ก ๋ฐ ๋‚ด์—ญ ..

[C++ ์•Œ๊ณ ๋ฆฌ์ฆ˜] ํ€ต์ •๋ ฌ

ํ€ต์ •๋ ฌ์€ ์ˆซ์ž ํ•˜๋‚˜(pivot)๋ฅผ ๊ณจ๋ผ์„œ ์˜ฌ๋ฐ”๋ฅธ ์ž๋ฆฌ์— ๋„ฃ์–ด๊ฐ€๋ฉฐ ์ •๋ ฌ์„ ์ง„ํ–‰ํ•œ๋‹ค. ์ด๋•Œ ๋ฐฐ์—ด์„ ์ชผ๊ฐœ๊ฐ€๋ฉฐ ์žฌ๊ท€์ ์œผ๋กœ ์ •๋ ฌ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ข…์ ์ธ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(nlogn)์ด๋‹ค. ๋™์ž‘ ๊ณผ์ •์ด๋ก ์ ์ธ ๋‚ด์šฉ์— ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ ์–ด๋–ค์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด๋„๋ก ํ•˜์ž. ์•„๋ž˜์™€ ๊ฐ™์ด {5, 4, 1, 7, 6, 2} ๋ฐฐ์—ด์ด ์žˆ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ ๋งจ ์™ผ์ชฝ์„ ํ”ผ๋ด‡์œผ๋กœ ์žก๊ณ  left์™€ right๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ๊ฐ ์ง€์ •ํ•œ๋‹ค.์—ฌ๊ธฐ์„œ์˜ left๋Š” pivot๋ณด๋‹ค ์ž‘์•„์•ผํ•˜๊ณ , right๋Š” pivot๋ณด๋‹ค ์ปค์•ผํ•œ๋‹ค. ์ด์ œ left๋ฅผ ํ•˜๋‚˜์”ฉ ์˜ฎ๊ธฐ๋ฉฐ 5๋ณด๋‹ค ํฐ ์ˆ˜๊ฐ€ ์ฒ˜์Œ์œผ๋กœ ๋‚˜์˜ค๋Š” ์ง€์ ์„ ์ฐพ์œผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.right๋Š” pivot๋ณด๋‹ค ์ปค์•ผํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ ์ด๋ฏธ pivot๋ณด๋‹ค ์ž‘๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ์—ฌ๊ธฐ์„œ ๋ฉˆ์ถฐ์ค€๋‹ค.์ด์ œ left์™€ right๊ฐ€..

ํ”„๋กœํ† ์ฝœ ์Šคํƒ๊ณผ LAN ์–ด๋Œ‘ํ„ฐ์˜ ๋™์ž‘

์•ž์„œ Socket ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ์˜ Socket, Connect, Write, Read, Close ๋™์ž‘์— ๋Œ€ํ•ด ์‚ดํŽด๋ดค๋‹ค. ์ด๋Ÿฌํ•œ ๋™์ž‘๋“ค์„ ๋’ท๋‹จ์—์„œ ํ”„๋กœํ† ์ฝœ ์Šคํƒ๊ณผ LAN ์–ด๋Œ‘ํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค. ๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.์ €๋ฒˆ์—” Socket ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊นŒ์ง€ ์‚ดํŽด๋ดค์œผ๋‹ˆ ํ”„๋กœํ† ์ฝœ ์Šคํƒ ๋‚ด๋ถ€๋ฅผ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž. TCP์™€ UDP๋Š” ์šฉ๋„์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค. TCP๋Š” ๋ธŒ๋ผ์šฐ์ €๋‚˜ ๋ฉ”์ผ ๋“ฑ์˜ ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์„ ๋‹ด๋‹นํ•˜๊ณ , UDP๋Š” DNS ์„œ๋ฒ„์— ๋Œ€ํ•œ ์กฐํšŒ์™€ ๊ฐ™์€ ์งง์€ ์ œ์–ด์šฉ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์„ ๋‹ด๋‹นํ•œ๋‹ค. (์˜์ƒ ์ „์†ก์—๋„ ์‚ฌ์šฉ๋œ๋‹ค.)์•„๋ž˜์— ์žˆ๋Š” IP ๋‹ด๋‹น์€ ํŒจํ‚ท์˜ ์†ก์ˆ˜์‹ ์„ ์ œ์–ดํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค. ๋‚ด๋ถ€์— ์žˆ๋Š” ARP ํ”„๋กœํ† ์ฝœ์€ IP ์ฃผ์†Œ์— ๋Œ€์‘ํ•˜๋Š” ์ธํ„ฐ๋„ท์˜ MAC ์ฃผ์†Œ๋ฅผ ์กฐ์‚ฌํ•  ๋•Œ, ICMP๋Š” ํŒจํ‚ท ์šด๋ฐ˜ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜ ..

PC์—์„œ ์ธํ„ฐ๋„ท๊นŒ์ง€: ํŒจํ‚ท์˜ ์—ฌ์ • (2)

์ง€๋‚œ ๊ธ€์—์„œ๋Š” BAS๊ฐ€ ์…€์„ ํ•ฉ์ณ ํŒจํ‚ท์œผ๋กœ ๋ณต์›ํ•œ ๋’ค PPP ํŒจํ‚ท์„ ์ถ”์ถœํ•˜๊ณ , ํ„ฐ๋„๋ง์šฉ ํ—ค๋”๋ฅผ ๋ถ™์—ฌ ์†ก์‹ ํ•˜๋Š” ๊ณผ์ •๊นŒ์ง€ ์‚ดํŽด๋ดค์—ˆ๋‹ค. ๊ทธ๋•Œ์˜ ๊ณผ์ •์„ ๋ณต๊ธฐํ•ด๋ณด๋ฉด MAC์™€ PPPoE๊ฐ€ BAS์— ์ „๋‹ฌ๋˜๋Š”๋ฐ์— ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— BAS์—์„œ ๋ฒ„๋ ค์ง„๋‹ค๊ณ  ํ–ˆ๋‹ค. ์ด ๊ณผ์ •์— ๋Œ€ํ•ด ์ข€ ๋” ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž.์šฐ์„  BAS ์—ญํ• ์€ ํฌ๊ฒŒ ์•„๋ž˜ ๋‘ ๊ฐ€์ง€ ์ด๋‹ค.1. ๋ณธ์ธ ํ™•์ธ๊ณผ ์„ค์ •๊ฐ’ ํ†ต์ง€2. ํ„ฐ๋„๋ง์„ ์ด์šฉํ•œ ํŒจํ‚ท ์šด๋ฐ˜์•ž์„  ๊ทธ๋ฆผ์— ๋‚˜์˜จ ๋™์ž‘์€ 2๋ฒˆ ์—ญํ• ๊ณผ ๊ด€๋ จ๋œ ๊ฒƒ์ด๋‹ค.ADSL์ด๋‚˜ FTTH ์•ก์„ธ์Šค ํšŒ์„ ์€ ์ตœ์ดˆ์— ํ”„๋กœ๋ฐ”์ด๋”(KT, SKT ๋“ฑ)๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ• ๋‹นํ•œ ์ธํ„ฐ๋„ท ์ ‘์†์šฉ ์‚ฌ์šฉ์ž๋ช…๊ณผ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•ด ๋กœ๊ทธ์ธ์„ ํ•ด์•ผ ์ธํ„ฐ๋„ท์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋‹ค. BAS๋Š” PPPoE๋ผ๋Š” ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ด ์ด๋Ÿฌํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. PPPoE๋Š” PPP๋ผ๋Š” ๋ฐฉ์‹์„ ADS..

PC์—์„œ ์ธํ„ฐ๋„ท๊นŒ์ง€: ํŒจํ‚ท์˜ ์—ฌ์ • (1)

์•ž์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์œผ๋ฉด ํ”„๋กœํ† ์ฝœ ์Šคํƒ์ด ๋ฉ”์‹œ์ง€๋ฅผ ์†ก์ถœํ•ด์ค€๋‹ค๊ณ  ํ–ˆ์—ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ์†ก์ถœ๋œ ๋ฉ”์‹œ์ง€๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•ด์„œ ์ธํ„ฐ๋„ท๊นŒ์ง€ ์†ก์ถœ๋˜๋Š”์ง€ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค.๊ฐœ์š”๋จผ์ € ์ง‘์—์„œ ์ธํ„ฐ๋„ท์œผ๋กœ ๋‚˜๊ฐ€๊ธฐ๊นŒ์ง€์˜ ์ „์ฒด์ ์ธ ๊ณผ์ •์„ ์‚ดํŽด๋ณด๋„๋ก ํ•˜์ž.ํด๋ผ์ด์–ธํŠธ์—์„œ ๋งŒ๋“  ํŒจํ‚ท์€ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ๋ณ€ํ™”ํ•˜๋ฉฐ ํ”„๋กœ๋ฐ”์ด๋”(ISP : KT, SKT ๋“ฑ)์— ๋„์ฐฉํ•˜๊ฒŒ ๋œ๋‹ค. ์ฐธ๊ณ ๋กœ ์ขŒ์ธก ๋์— ์žˆ๋Š” ์ธํ„ฐ๋„ท ์ ‘์†์šฉ ๋ผ์šฐํ„ฐ๋Š” ํŒจํ‚ท ์†ก์‹ ๊ณผ ํŒจํ‚ท ์ค‘๊ณ„ ๋™์ž‘์„ ํ•œ๋‹ค.ํŒจํ‚ท ์ค‘๊ณ„๋Š” ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ์—์„œ ๋“ค์–ด์˜จ ํŒจํ‚ท์„ ๋ชฉ์ ์ง€๋กœ ์ „๋‹ฌํ•˜๋Š” ์ค‘๊ฐ„ ์—ญํ• ์ด๊ณ , ํŒจํ‚ท ์†ก์‹ ์€ ์ž์‹ ๊ณผ ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ์žฅ์น˜๊ฐ€ ์ƒ์„ฑํ•œ ํŒจํ‚ท์„ ๋ฐ›์•„ ๋„คํŠธ์›Œํฌ๋กœ ์ „์†กํ•˜๋Š” ๊ฒƒ์ด๋‹ค.ํŒจํ‚ท ์ค‘๊ณ„ ๋™์ž‘์€ ์ด๋”๋„ท์˜ ๋ผ์šฐํ„ฐ์™€ ๊ฑฐ์˜ ๊ฐ™๋‹ค. ์—ฌ๊ธฐ์„œ ์ฃผ๋ชฉํ•  ๊ณณ์€ ํŒจํ‚ท ์†ก์‹  ๋™์ž‘์ด๋‹ค. ์ด๋”๋„ท์—์„œ์˜ ํŒจํ‚ท ์†ก์‹ ์˜ ์ฃผ ๋ชฉ์ ์€ ..

๋ธŒ๋ผ์šฐ์ €์— google.com์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ์ผ์–ด๋‚˜๋Š” ์ผ์— ๋Œ€ํ•ด ๋งํ•ด๋ณด์„ธ์š”.

๋ธŒ๋ผ์šฐ์ €์— google.com์„ ์ž…๋ ฅํ–ˆ์„ ๋•Œ ์ผ์–ด๋‚˜๋Š” ์ผ์— ๋Œ€ํ•ด ๋งํ•ด๋ณด์„ธ์š”. ๋ผ๋Š” ์งˆ๋ฌธ์€ ๊ธฐ์ˆ ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ํ•ด๋ดค๋‹ค๋ฉด ํ•œ๋ฒˆ์ฏค ๋“ค์–ด๋ดค์„๋ฒ•ํ•œ ์งˆ๋ฌธ์ด๋‹ค. ์ด์— ๋‚ด๋ถ€ ๋™์ž‘์„ ์ฐจ๊ทผ์ฐจ๊ทผ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.์ผ๋ฐ˜์ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต์„ ๋ณด๋‚ธ๋‹ค. ๋ผ๊ณ  ํ•˜๋Š”๋ฐ ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ๋งŽ์€ ์ผ๋“ค์ด ์ผ์–ด๋‚œ๋‹ค. 1. URL ์ž…๋ ฅ: ์‚ฌ์šฉ์ž๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์— URL์„ ์ž…๋ ฅํ•œ๋‹ค. 2. ๋„๋ฉ”์ธ ์ด๋ฆ„ ์ถ”์ถœ: ๋ธŒ๋ผ์šฐ์ €๋Š” ์ž…๋ ฅํ•œ URL์—์„œ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ถ”์ถœํ•œ๋‹ค.3. DNS ์ฟผ๋ฆฌ ์ „์†ก: ๋ธŒ๋ผ์šฐ์ €๋Š” DNS ๋ฆฌ์กธ๋ฒ„์— ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ „๋‹ฌํ•˜์—ฌ ํ•ด๋‹น IP ์ฃผ์†Œ๋ฅผ ์š”์ฒญํ•œ๋‹ค. 4. IP ์ฃผ์†Œ ์ˆ˜์‹ : DNS ๋ฆฌ์กธ๋ฒ„๊ฐ€ ๋„๋ฉ”์ธ ์ด๋ฆ„์— ๋Œ€ํ•œ IP ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 5. ์†Œ์ผ“ ์—ฐ๊ฒฐ ์ˆ˜๋ฆฝ: ์ด์ œ ๋ธŒ๋ผ์šฐ์ €๋Š” IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์„œ๋ฒ„์™€์˜ TCP/IP ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/C++] ์ž…๊ตญ์‹ฌ์‚ฌ

https://school.programmers.co.kr/learn/courses/30/lessons/43238 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr๋ฌธ์ œ ๋ถ„์„๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์€ ๊ฐ ์‹ฌ์‚ฌ๊ด€์ด ์‹ฌ์‚ฌํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๊ณผ ์‚ฌ๋žŒ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋‘๊ฐ€ ์‹ฌ์‚ฌ๋ฅผ ๋ฐ›๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.๋ฌธ์ œ ์š”๊ตฌ์‚ฌํ•ญ ์ž์ฒด๋Š” ๋ณต์žกํ•˜์ง€ ์•Š์ง€๋งŒ ๋ฌธ์ œ๋Š” ์ œํ•œ์‚ฌํ•ญ์ด๋‹ค.์ž…๊ตญ์‹ฌ์‚ฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‚ฌ๋žŒ๋„ ๋งค์šฐ ๋งŽ๊ณ , ๊ฐ ์‹ฌ์‚ฌ๊ด€์ด ์‹ฌ์‚ฌํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„๋„ ์ปค์„œ ์ˆœํšŒ๋ฅผ ํ•ด์„œ ๊ตฌํ•œ๋‹ค๊ธฐ๋ณด๋‹ค๋Š” ๋‚˜๋ˆ„๊ธฐ๋กœ ๊ตฌํ•  ์ƒ๊ฐ์„ ํ•ด์•ผํ•œ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ์ž…๊ตญ ์‹ฌ์‚ฌ๊ด€์ด ๊ฐ๊ฐ 5, 7๋ถ„์— ํ•œ๋ช…์”ฉ ์‹ฌ์‚ฌ๋ฅผ ํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ 100๋ถ„๋™์•ˆ ์‹ฌ์‚ฌํ•  ์ˆ˜ ..

[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] B- Tree์™€ ์ธ๋ฑ์Šค์˜ ์ดํ•ด

์ด ๊ธ€์€ ์•„๋ž˜ ๊ธ€์„ ์ฝ์œผ๋ฉฐ ์ •๋ฆฌํ•œ ๋‚ด์šฉ๊ณผ, ์ถ”๊ฐ€๋กœ ๊ถ๊ธˆํ•œ ์ ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.https://mangkyu.tistory.com/286 [MySQL] B-Tree๋กœ ์ธ๋ฑ์Šค(Index)์— ๋Œ€ํ•ด ์‰ฝ๊ณ  ์™„๋ฒฝํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ธฐ์ธ๋ฑ์Šค๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹(๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜)์— ๋”ฐ๋ผ B-Tree ์ธ๋ฑ์Šค, Hash ์ธ๋ฑ์Šค, Fractal ์ธ๋ฑ์Šค ๋“ฑ์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ B-Tree ๊ตฌ์กฐ๊ฐ€ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— B-Tree ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์ธ๋ฑ์Šค์˜ ๋™์ž‘mangkyu.tistory.com  B- Tree๋Š” BinaryTree(์ž์‹์ด 2๊ฐœ์ธ ํŠธ๋ฆฌ)์—์„œ ๊ฐœ๋…์„ ํ™•์žฅํ•ด n๊ฐœ์˜ ์ž์‹์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ํ•œ ๊ฒƒ์ด๋‹ค.DB์—๋Š” ํŽ˜์ด์ง€๋ผ๋Š” ๊ฐœ๋…์ด ์žˆ๋Š”๋ฐ, ํŽ˜์ด์ง€๋ž€ ๋””์Šคํฌ์™€ ๋ฉ”๋ชจ๋ฆฌ(๋ฒ„ํผํ’€)์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ฐ๋Š” ์ตœ์†Œ ๋‹จ์œ„์ด๋‹ค. ์ธ๋ฑ์Šค์™€ PK, ํ…Œ..