๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

โญ Personal_Study97

SQL SQL: Intro SQl์ด๋ž€ โœ” Structured Query Language โœ” RDBMS์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ํŠน์ˆ˜ ๋ชฉ์ ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด โœ” ๋ฐ์ดํ„ฐ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด โœ” RDBMS์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑ ๋ฐ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ…Œ์ด๋ธ”์—์„œ์˜ ์ž๋ฃŒ ๊ฒ€์ƒ‰ ๋ฐ ๊ด€๋ฆฌ๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค SQL Commands SQL syntax โœ” ๋ชจ๋“  SQL๋ฌธ์€ SELECT, INSERT, UPDATE ๋“ฑ๊ณผ ๊ฐ™์€ ํ‚ค์›Œ๋“œ๋กœ ์‹œ์ž‘ํ•˜๊ณ , ํ•˜๋‚˜์˜ statement๋Š” ์„ธ๋ฏธ์ฝœ๋ก (;)์œผ๋กœ ๋๋‚จ - ์„ธ๋ฏธ์ฝœ๋ฅธ์€ ๊ฐ SQL๋ฌธ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐฉ๋ฒ• โœ” ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์œผ๋‚˜ ๋Œ€๋ฌธ์ž ์ž‘์„ฑ ๊ถŒ์žฅ โœ” ์ฃผ์„: -- Statement & Clause โœ” Statement(๋ฌธ): ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์™„์ „ํ•œ ์ฝ”๋“œ ์กฐ๊ฐ โœ” Cl.. 2022. 10. 7.
Database: Intro Database: Intro Database ๋“ฑ์žฅ ์ด์ „์—๋Š”...? ํŒŒ์ผ์„ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ โœ” ์šฐ๋ฆฌ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ์— ์ €์žฅํ•œ๋‹ค. โœ” ์žฅ์  - ์šด์˜์ฒด์ œ์— ๊ด€๊ณ„์—†์ด ์–ด๋””์—์„œ๋‚˜ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ - ์ด๋ฉ”์ผ์ด๋‚˜ ๋ฉ”์‹ ์ €๋ฅผ ์ด์šฉํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ์ „์†ก ๊ฐ€๋Šฅ โœ” ๋‹จ์  - ๋Œ€์šฉ๋ž‘ ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ์— ๋ถ€์ ํ•ฉ - ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ์ •๋ฆฌํ•˜๊ธฐ ์–ด๋ ค์›€ ์Šคํ”„๋ ˆ๋“œ ์‹œํŠธ๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ โœ” ์Šคํ”„๋ ˆ๋“œ ์‹œํŠธ(์—‘์…€ ์‹œํŠธ)์‚ฌ์šฉ โœ” ์ปฌ๋Ÿผ(์—ด)์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ์œ ํ˜•์„ ์ €์žฅํ•˜๊ณ , ๋ ˆ์ฝ”๋“œ(ํ–‰)์„ ํ†ตํ•ด ๊ตฌ์ฒด์ ์ธ ๋ฐ์ดํ„ฐ ๊ฐ’์„ ์ €์žฅ โœ” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๊ฐ€๊ธฐ ์œ„ํ•œ ๊ธธ๋ชฉ... ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋“ฑ์žฅ โœ” ์Šคํ”„๋ ˆ๋“œ ์‹œํŠธ์™€ ๋‹ฌ๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด ์ž‘๋™ โœ” RDB(Relational Database): ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค โœ” ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ”์— .. 2022. 10. 5.
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋‹ค์ต์ŠคํŠธ๋ผ (Dijkstra) ๋‹ค์ต์ŠคํŠธ๋ผ (Dijkstra) ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ โœ” ์Œ์˜ ๊ฐ€์ค‘์น˜๊ฐ€ ์—†๋Š” ๊ทธ๋ž˜ํ”„์˜ ํ•œ ์ •์ ์—์„œ ๋ชจ๋“  ์ •์ ๊นŒ์ง€์˜ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ๊ฐ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์›๋ฆฌ * P[a][b]: a์™€ b ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ ์ถœ๋ฐœ์ ์œผ๋กœ๋ถ€ํ„ฐ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ์ €์žฅํ•  ๋ฐฐ์—ด distance[v]์„ ๋งŒ๋“ค๊ณ  ์ถœ๋ฐœ ๋…ธ๋“œ๋Š” 0, ๋‚˜๋จธ์ง€ ๋…ธ๋“œ๋“ค์€ ์ถฉ๋ถ„ํžˆ ํฐ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” ํ•œ๋‹ค. ํ˜„์žฌ ๋…ธ๋“œ Current๋ฅผ ์ถœ๋ฐœ ๋…ธ๋“œ์˜ ๋ฒˆํ˜ธ๋กœ ์„ค์ •ํ•œ๋‹ค. Current๋กœ๋ถ€ํ„ฐ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ž„์˜์˜ ๋…ธ๋“œ Next์— ๋Œ€ํ•ด distance[Current] + P[Current][Next](A๋ฅผ ๊ฑฐ์ณ์„œ B๋กœ ๊ฐ€๋Š” ์ตœ๋‹จ๊ฑฐ๋ฆฌ)์™€ distance[Next](ํ˜„์žฌ๊นŒ์ง€ ์•Œ๋ ค์ง„ B์˜ ์ตœ๋‹จ ๊ฑฐ๋ฆฌ)์˜ ๊ฐ’์„ ๋น„๊ตํ•ด์„œ ์งง์€ ๊ฐ’(์งง์€ ๊ฒฝ๋กœ)๋กœ ๊ฐฑ์‹ ํ•œ๋‹ค. Current์˜ ๋ชจ๋“  ์ด์›ƒ๋…ธ๋“œ N.. 2022. 10. 1.
UDP Multiplexing - Demultiplexing ๊ณผ์ •์—์„œ Source port#์˜ ์—ญํ• ์€ ๋ฌด์—‡์ผ๊นŒ? UDP Multiplexing - Demultiplexing ๊ณผ์ •์—์„œ Source port#์˜ ์—ญํ• ๊ณผ IP address ์–ด์ œ ๋„คํŠธ์›Œํฌ ์Šคํ„ฐ๋””๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค ๋ฌธ๋“ ์ƒ๊ธด ์˜๋ฌธ์ .... โœ” UDP ๋ฐฉ์‹์—์„œ Demux๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ Destination port#์™€ Destination IP addreess ์ •๋ณด๋ฅผ ์ด์šฉํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์‚ฌ์ง„์„ ๋ณด๋ฉด... โœ” ๊ทธ๋Ÿฐ๋ฐ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋ณด๋ฉด ํ—ค๋” ์ •๋ณด๋ฅผ ์ž˜ ๋ณด๋ฉด ๋‘ ๊ฐ€์ง€ ์˜๋ฌธ์ ์ด ์ƒ๊ธด๋‹ค. ์“ฐ์ง€๋„ ์•Š๋Š” src port#๋Š” ์™œ ์žˆ๋Š”๊ฐ€? ์ •์ž‘ ํ•„์š”ํ•œ dest IP๋Š” ์–ด๋”” ์žˆ๋Š”๊ฐ€? โœ” ๋‘ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์€ ๊ต์žฌ(Computer Networking A Top-Down ApproachKurose. James, Ross, Keith)์— ์žˆ์—ˆ๋‹ค. 1. Source Port number โœ” ์šฐ์„ .. 2022. 9. 30.
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ (MST) ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ (MST) ์‹ ์žฅ ํŠธ๋ฆฌ (Spanning Tree) โœ” ๊ทธ๋ž˜ํ”„ ๋‚ด์˜ ๋ชจ๋“  ์ •์ ์„ ํฌํ•จํ•˜๋Š” ํŠธ๋ฆฌ โœ” ๊ทธ๋ž˜ํ”„์˜ ์ตœ์†Œ ์—ฐ๊ฒฐ ๋ถ€๋ถ„ ๊ทธ๋ž˜ํ”„ (N - 1)๊ฐœ์˜ ๊ฐ„์„  -> ํŠธ๋ฆฌ ํ˜•ํƒœ ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ (Minimum spanning Tree) โœ” Spanning Tree ์ค‘์—์„œ ๊ฐ„์„ ์˜ ๊ฐ€์ค‘์น˜ ํ•ฉ์ด ์ตœ์†Œ(Minimun)์ธ ํŠธ๋ฆฌ โœ” ์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ ์ผ ์ˆ˜ ์žˆ๋‹ค. MST ๊ตฌํ˜„ - ํฌ๋ฃจ์Šค์นผ ์•Œ๊ณ ๋ฆฌ์ฆ˜ โœ” Greedy๋ฅผ ์ด์šฉํ•ด ๊ฐ ๋‹จ๊ณ„์—์„œ ์‚ฌ์ดํด์„ ์ด๋ฃจ์ง€ ์•Š๋Š” ์ตœ์†Œ ๋น„์šฉ ๊ฐ„์„ ์„ ์„ ํƒํ•œ๋‹ค. ๋™์ž‘ ์ˆœ์„œ ๊ฐ„์„ ์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. (์ตœ์†Œ ๋น„์šฉ) ์ •๋ ฌ๋œ ๊ฐ„์„  ๋ฆฌ์ŠคํŠธ์—์„œ ์ˆœ์„œ๋Œ€๋กœ ์‚ฌ์ดํด์„ ํ˜•์„ฑํ•˜์ง€ ์•Š๋Š” ๊ฐ„์„ ์„ ์„ ํƒํ•œ๋‹ค. (Union - Find ์ด์šฉ: Union-Find ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€?!) ์„ ํƒํ•œ ๊ฐ„์„ ์„ ํ˜„์žฌ .. 2022. 9. 29.
[์•Œ๊ณ ๋ฆฌ์ฆ˜] Union-Find ์œ ๋‹ˆ์˜จํŒŒ์ธ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ โœ” ์„œ๋กœ์†Œ ์ง‘ํ•ฉ(Disjoint Set) โœ” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ์กด์žฌํ•  ๋•Œ , ์ž„์˜์˜ ๋‘ ๋…ธ๋“œ๊ฐ€ ๊ฐ™์€ ๊ทธ๋ž˜ํ”„์— ์†ํ•ด์žˆ๋Š”์ง€ ํŒ๋ณ„ Union & Find Find ๋…ธ๋“œ x๊ฐ€ ํฌํ•จ๋œ ์ง‘ํ•ฉ์„ ์ฐพ๋Š” ์—ฐ์‚ฐ def find_parent(parent, current): if parent[current] != current: return find_parent(parent, parent[current]) return current Union ๋…ธ๋“œ x๊ฐ€ ํฌํ•จ๋œ ์ง‘ํ•ฉ๊ณผ ๋…ธ๋“œ y๊ฐ€ ํฌํ•จ๋œ ๋‘ ์ง‘ํ•ฉ์„ ํ†ตํ•ฉํ•˜๋Š” ์—ฐ์‚ฐ def union_parent(parent, x, y): x = find_parent(parent, x) y = find_parent(parent, y) # ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์—์„œ๋Š” ์ž‘์€ ์ชฝ์œผ๋กœ ํ•ฉ์นœ๋‹ค.. 2022. 9. 28.