CS6 [DB] ์ธ๋ฑ์ค๋? B+Tree ๊ตฌ์กฐ๋ถํฐ ์ค์บ ๋ฐฉ์๊น์ง ์ ๋ฆฌ ๐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค๋?๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ๋ฑ์ค(Idex)๋ ๊ฒ์ ์๋๋ฅผ ํฅ์์ํค๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ๋ก, ์ฑ ์ ์์ธ(index)์ฒ๋ผ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ๊ธฐ ์ํ ๋๊ตฌ์ด๋ค.์ ๋ ฌ๋ ๊ตฌ์กฐ๋ฅผ ์ ์งํ๊ธฐ ๋๋ฌธ์ ์กฐํ ์ฑ๋ฅ์ ๋ฐ์ด๋์ง๋ง, INSERT, UPDATE, DELETE ์์๋ ์ฑ๋ฅ์ด ๋จ์ด์ง ์ ์๋ค.(์ ๋ ฌ ์ ์ง์ ์ฌ๊ตฌ์ฑ ๋น์ฉ ๋๋ฌธ) โ ์ธ๋ฑ์ค๋ ์ด๋ค ์๋ฃ๊ตฌ์กฐ๋ก ๊ตฌํ๋ ๊น?๋๋ถ๋ถ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS)๋ B-Tree ๋๋ B+Tree ๊ธฐ๋ฐ ์ธ๋ฑ์ค ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ค.(MySQL์ InnoDB ์คํ ๋ฆฌ์ง ์์ง ๊ธฐ์ค์ผ๋ก ์ ๋ฆฌํ ์์ ) ๐ณ B+Tree ์ธ๋ฑ์ค ๊ตฌ์กฐB+Tree๋ B-Tree์ ๋ณํ์ผ๋ก ๋ชจ๋ ์ค์ ๋ฐ์ดํฐ(๋ ์ฝ๋ ์์น)๋ ๋ฆฌํ ๋ ธ๋์๋ง ์กด์ฌํญ์ ์ ๋ ฌ๋ ์ํ ์ ์ง(→ ๋ฒ์ ์กฐํ๊ฐ ๋น ๋ฅด๋ค, ์์ฐจ ์ .. 2025. 7. 29. [DB] ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค ์๋ฒฝ ์ ๋ฆฌ! (Isolation Level) ๐ ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค์ด๋?ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค(Isolation Level)์ ๋์์ ์คํ๋๋ ํธ๋์ญ์ ๋ค์ด ์๋ก์ ์์ ์ ์ผ๋ง๋ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ํ ๊ฒ์ธ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ธฐ์ค์ด๋ค.๊ฒฉ๋ฆฌ ์์ค์ด ๋ฎ์์๋ก ๋์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ(์ฑ๋ฅ)์ ๋์์ง์ง๋ง ๋ฐ์ดํฐ ์ผ๊ด์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.๋ฐ๋๋ก ๊ฒฉ๋ฆฌ ์์ค์ด ๋์์๋ก ์ ํฉ์ฑ์ ํฅ์๋์ง๋ง ์ฑ๋ฅ์ด ์ ํ๋ ์ ์๋ค. โ ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ์์ค 4๊ฐ์ง๊ฒฉ๋ฆฌ ์์ค๋ณด์ฅ ์์ค๋ฐ์ ๊ฐ๋ฅํ ๋ฌธ์ READ UNCOMMITTED๊ฐ์ฅ ๋ฎ์Dirty Read, Non-Repeatable Read, Phantom ReadREAD COMMITTED๋ฎ์Non-Repeatable Read, Phantom ReadREPEATABLE READ๋์Phantom ReadSERIALIZABLE๊ฐ์ฅ ๋์์์ (์ฑ.. 2025. 7. 28. [DB] ACID๋? ํธ๋์ญ์ ์ 4๋ ์์ฑ ํ ๋ฒ์ ์ ๋ฆฌ ๐พ ACID๋?๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํธ๋์ญ์ (Transaction)์ด ์์ ํ๊ฒ ์ฒ๋ฆฌ๋๊ธฐ ์ํด ๋ฐ๋์ ์ง์ผ์ผ ํ๋ 4๊ฐ์ง ์์ฑ์ ์๋ฏธํ๋ค.ํธ๋์ญ์ ์ ํ๋์ ์์ ๋จ์์ด๋ฉฐ, ์ด ์์ ์ ์ ๋ถ ์ํ๋๊ฑฐ๋ ์ ํ ์ํ๋์ง ์์์ผ ํ๋ค. โ ACID 4๊ฐ์ง ์์ฑ ์์ฝ์ฝ์ด์ด๋ฆ์๋ฏธ ์์ฝA์์์ฑ (Atomicity)์ ๋ถ ์ํ๋๊ฑฐ๋, ์ ํ ์ํ๋์ง ์์์ผ ํ๋ค.C์ผ๊ด์ฑ (Consistency)ํธ๋์ญ์ ์ ํ์ ๋ฐ์ดํฐ ์ํ๊ฐ ์ผ๊ด๋์ด์ผ ํ๋ค.I๊ณ ๋ฆฝ์ฑ (Isolation)๋์์ ์คํ๋๋ ํธ๋์ญ์ ์ ์๋ก ๊ฐ์ญํ์ง ์์์ผ ํ๋ค.D์ง์์ฑ (Durability)ํธ๋์ญ์ ์ด ์ฑ๊ณตํ๋ฉด ๊ฒฐ๊ณผ๋ ์๊ตฌํ ๋ณด์กด๋์ด์ผ ํ๋ค. ๐ ๊ฐ ์์ฑ ์์ธํ ์์๋ณด๊ธฐ1๏ธโฃ A - ์์์ฑ (Atomicity)๐ ํธ๋์ญ์ ๋ด ๋ชจ๋ ์์ ์ ์ ๋ถ ์ฑ๊ณตํ๊ฑฐ๋, ์ ๋ถ .. 2025. 7. 24. [Java] SOLID ์์น ์ ๋ฆฌ: ๊ฐ์ฒด์งํฅ ์ค๊ณ์ 5๊ฐ์ง ํต์ฌ ๐ฆ SOLID ์์น์ด๋?SOLID๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP)์ 5๊ฐ์ง ํต์ฌ ์ค๊ณ ์์น์ ๋ํ๋ด๋ ์ฝ์ด๋ค.์ฝ๋์ ์ ์ฐ์ฑ, ํ์ฅ์ฑ, ์ ์ง๋ณด์์ฑ์ ๋์ด๊ธฐ ์ํด ๊ณ ์๋ ์ค๊ณ ์ง์นจ์ผ๋ก, ํด๋์ค ๊ฐ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๊ณ ๋ณ๊ฒฝ์ ์ ์ฐํ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์๋๋ก ๋์์ค๋ค. โ SOLID 5๊ฐ์ง ์์น ์์ฝ์ฝ์ด์ด๋ฆ์๋ฏธS๋จ์ผ ์ฑ ์ ์์น (SRP)ํ๋์ ํด๋์ค๋ ํ๋์ ์ฑ ์๋ง ๊ฐ์ ธ์ผ ํ๋ค.O๊ฐ๋ฐฉ-ํ์ ์์น (OCP)ํ์ฅ์๋ ์ด๋ ค ์๊ณ , ๋ณ๊ฒฝ์๋ ๋ซํ ์์ด์ผ ํ๋ค.L๋ฆฌ์ค์ฝํ ์นํ ์์น (LSP)์์ ํด๋์ค๋ ๋ถ๋ชจ ํด๋์ค๋ฅผ ๋์ฒดํ ์ ์์ด์ผ ํ๋ค.I์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น (ISP)ํด๋ผ์ด์ธํธ์ ํ์ํ ์ธํฐํ์ด์ค๋ง ์ ๊ณตํ๋ค.D์์กด ์ญ์ ์์น (DIP)๊ตฌํ์ด ์๋ ์ถ์(์ธํฐํ์ด์ค)์ ์์กดํด์ผ ํ๋ค. ๐ ๊ฐ ์์น ์์ธํ ์์๋ณด๊ธฐ1๏ธ.. 2025. 7. 24. [๋คํธ์ํฌ] TCP์ UDP์ ์ฐจ์ด์ ์๋ฒฝ ์ ๋ฆฌ! ๐ก TCP์ UDP๋ ์ธ์ , ์ ์ฌ์ฉํ๋๊ฐ?๋คํธ์ํฌ ๋ฉด์ ์์ ๊ฑฐ์ ๋น ์ง์ง ์๋ ๋จ๊ณจ ์ง๋ฌธ ์ค ํ๋.."TCP์ UDP์ ์ฐจ์ด์ ์?"TCP์ UDP๋ ์ ์ก ๊ณ์ธต(OSI 4๊ณ์ธต)์ ๋ํ์ ์ธ ํ๋กํ ์ฝ์ด๋ฉฐ, ์ ๋ขฐ์ฑ vs ์๋๋ผ๋ ๊ด์ ์ผ๋ก ์์ฃผ ๋น๊ต๋๋ค. ๐งฑ ๊ธฐ๋ณธ ๊ฐ๋ ๐ฆ TCP (Transmission Control Protocol)์ฐ๊ฒฐ ์งํฅํ ํ๋กํ ์ฝ๊ฐ์ ํ์ (3-way handshake)์ ํตํด ์ฐ๊ฒฐ ์ค์ ์ ๋ขฐ์ฑ ๋ณด์ฅ: ํ๋ฆ ์ ์ด, ํผ์ก ์ ์ด, ์ค๋ฅ ์ ์ด์๋๋ ๋๋ฆฌ์ง๋ง ๋ฐ์ดํฐ ์์ค ์๋ ์ ์ก ๋ณด์ฅํ์ผ ์ ์ก, ์ด๋ฉ์ผ, ์น ์์ฒญ(HTTP/1.1, HTTP/2) ๋ฑ์ ์ฌ์ฉ๐ฆ UDP (User Datagram Protocol)๋น์ฐ๊ฒฐํ ํ๋กํ ์ฝ๋ฐ์ดํฐ๊ทธ๋จ ๋จ์ ์ ์ก (์๊ณ ๋น ๋ฆ, ์์ ๋ณด์ฅ ์์)์ ๋ขฐ์ฑ ์์ → .. 2025. 7. 21. [๋คํธ์ํฌ] https://www.google.com ์ ์ ์ ์ผ์ด๋๋ ์ผ ์ฝ๊ฒ ์ ๋ฆฌ! ๐ฌ ๋ฉด์ ๋จ๊ณจ ์ง๋ฌธ!"https://www.google.com์ ์ ์ํ๋ฉด ์ด๋ค ์ผ์ด ์ผ์ด๋ ๊น์?"๋ฉด์ ๊ด ์ ์ฅ์์ ํ ๋ฒ์ ์ง๋ฌธ์ผ๋ก ๋ค์ํ ๋คํธ์ํฌ ์ง์์ ํ์ธํ ์ ์๋ ์ข์ ์ง๋ฌธ์ด๊ธฐ ๋๋ฌธ์ ์์ฃผ ๋ฑ์ฅํ๋ค.OSI 7๊ณ์ธต๊ณผ ์ฐ๊ด ์ง์ด ์ค๋ช ํด ๋ณด๋ผ๋ ์๊ตฌ๋ ์์ฃผ ์๋ค. ๐ ์น ์ ์์ ์ ์ฒด ํ๋ฆ๋ธ๋ผ์ฐ์ ๊ฐ URL์ ์ ํ ๊ฐ์ ํ์ฑํด์ HTTP Request Message๋ฅผ ๋ง๋ค๊ณ OS์ ์ ์ก ์์ฒญ์ ํ๋ค. ์ด๋, Domain์ผ๋ก ์์ฒญ์ ๋ณด๋ผ ์ ์๊ธฐ ๋๋ฌธ์ DNS Lookup์ ์ํํ๋ค.DNS Lookup ๊ณผ์ ์ ํฌ๋กฌ์ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ → hosts ํ์ผ → DNS Cache์ ์์๋ก ๋๋ฉ์ธ์ ๋งค์นญ๋๋ ip๋ฅผ ์ฐพ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ค๋ช ํ๋ DNS Lookup์ ๋ฃจํธ ๋๋ฉ์ธ ์๋ฒ์์๋ถํฐ ์๋ธ ๋๋ฉ์ธ ์๋ฒ ์์ผ๋ก .. 2025. 7. 21. ์ด์ 1 ๋ค์