๐Ÿ“š CS [ComputerScience]/๐Ÿ“š CS ๋ฉด์ ‘ 22

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [19] [Java]

1. String, Stringbuffer, Stringbuilder String์€ ๋ถˆ๋ณ€๊ฐ์ฒด(immutable)ํ•œ ๊ฐ์ฒด์ด๋‹ค. ํ•œ๋ฒˆ ์ƒ์„ฑ๋œ ๊ฐ์ฒด์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋ฌธ์ž์—ด์„ ์กฐ์ž‘ํ•  ๋•Œ ๋งˆ๋‹ค ์ƒˆ๋กœ์šด String ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ถˆ๋ณ€์„ฑ ๋•๋ถ„์— thread-safeํ•˜๊ณ , String๊ฐ์ฒด๋ฅผ ์ž์œ ๋กญ๊ฒŒ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์–ด ์„ฑ๋Šฅ์ƒ ์ด์ ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. String a = "abc"; a = "abcd"; String b = new String("abc"); ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•˜๊ธฐ์—๋Š” ์ด ์ฝ”๋“œ๊ฐ€ abcd๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์‹ค์ œ ๋‚ด๋ถ€์ ์œผ๋กœ๋Š” abc๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€ abcd๋ฅผ ์ €์žฅํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์ฐธ์กฐํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ abc๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฉ”..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [ 3์›” 2์ฃผ์ฐจ ]

3์›” 2์ฃผ์ฐจ ๋‚ด์šฉ ์ •๋ฆฌ [3/11 ~ 3/15] ์‚ฌ์‹ค ์ด๋ฒˆ์ฃผ์—๋Š” ์ฝ”ํ…Œ, ์ž์†Œ์„œ, ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ํ•˜๋Š๋ผ ๋งŽ์€ ๊ธ€์„ ์ž‘์„ฑํ•˜์ง€๋Š” ๋ชปํ–ˆ๋‹ค. ์ด๋ฒˆ์ฃผ์—๋Š” ์šด์˜์ฒด์ œ, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ดค๋‹ค. ์ด์ œ ๊ธฐ๋ณธ์ ์ธ CS๋“ค์€ ๋ฉด์ ‘์—์„œ ๊ฑฐ์˜ ํ•˜์ง€ ์•Š๋Š” ๋ถ„์œ„๊ธฐ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ์ง€์‹์ด ๋ถ€์กฑํ•˜๋‹ค๋ฉด ๊ฐœ๋ฐœ์ž๋กœ์„œ ์–ด๋ ค์›€์ด ๋งŽ์€ ๊ฒƒ์„ ๋ช…ํ™•ํ•˜๋‹ค. ์ด ์ง€์‹๋“ค์„ ์ž์‹ ์˜ ํ”„๋กœ์ ํŠธ์—์„œ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜์˜€๋Š”์ง€ ์—ฐ๊ด€์ง€์œผ๋ฉด ์ตœ๊ณ ์˜ ๋ฉด์ ‘์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [18] [์ž๋ฃŒ๊ตฌ์กฐ / ์•Œ๊ณ ๋ฆฌ์ฆ˜]

1. ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ ? ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ๊ทœ์น™ ๋˜๋Š” ๋ชฉ์ ์— ๋งž๊ฒŒ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ์ด๊ณ , ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ž€ ์ž๋ฃŒ๊ตฌ์กฐ์— ์Œ“์ธ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•ด ์–ด๋– ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๋™์ž‘๋“ค์˜ ๋ชจ์ž„์ด๋‹ค. 2. Array [ ๋ฐฐ์—ด ] ์™€ LinkedList [ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ] Array ๋Š” ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์„ ํ˜• ์ž๋ฃŒ๊ตฌ์กฐ์ด๋ฉฐ, ๊ณ ์ • ๊ธธ์ด์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์ˆœ์„œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๋ฅผ ์˜๋ฏธํ•˜๋Š” Index๊ฐ€ ์กด์žฌํ•˜๋ฉฐ, Index๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” Random Access๋ฅผ ์ง€์›ํ•œ๋‹ค. Index๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ์ƒ‰์ธํ•˜๋ฉด O(1)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ์†Œ์š”๋œ๋‹ค. ํ•˜์ง€๋งŒ, ์ค‘๊ฐ„์— ๊ฐ’์„ ์‚ฝ์ž…ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋ฉด O(N)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ–๋Š”๋‹ค. ์ด๋Ÿฌํ•œ ๊ณ ์ •๊ธธ์ด์™€ ๋Š๋ฆฐ ์‚ฝ์ž…, ์‚ญ์ œ ์—ฐ์‚ฐ์„ ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [17] [TCP/UDP]

1. TCP / UDP TCP์™€ UDP๋Š” OSI์˜ 4๊ณ„์ธต์ด์ž TCP/IP์˜ ์ „์†ก ๊ณ„์ธต์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์ „์†ก๊ณ„์ธต์€ ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํ†ต์‹ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ, ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ๋ฐ์ดํ„ฐ์˜ ์ „๋‹ฌ์„ ๋‹ด๋‹นํ•œ๋‹ค. TCP (Transmission Control Protocol) ์ •์˜๋Š” ์ธํ„ฐ๋„ท์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”์„ธ์ง€ ํ˜•ํƒœ๋กœ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด IP์™€ ํ•จ๊ผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๋‹ค. TCP์˜ ํŠน์ง• - ์—ฐ๊ฒฐ ์ง€ํ–ฅ ๋ฐฉ์‹์œผ๋กœ ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹์„ ์‚ฌ์šฉ - 3-way handshake ๊ณผ์ •์„ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  4-way handshake๋ฅผ ํ†ตํ•ด ํ•ด์ œ - ํ๋ฆ„ ์ œ์–ด ๋ฐ ํ˜ผ์žก ์ œ์–ด - ๋†’์€ ์‹ ๋ขฐ์„ฑ (IP ํ”„๋กœํ† ์ฝœ์—์„œ๋Š” ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ TCP์—์„œ ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ) - UDP๋ณด๋‹ค ์†๋„๊ฐ€ ๋Š๋ฆผ TCP์˜ ์—ฐ๊ฒฐ ๊ณผ์ • (3-w..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [16] [์šด์˜์ฒด์ œ]

1. ์šด์˜์ฒด์ œ์˜ ์—ญํ•  - CPU ์Šค์ผ€์ค„๋ง & ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ - ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ - ๋””์Šคํฌ ํŒŒ์ผ ๊ด€๋ฆฌ - I/O ๋””๋ฐ”์ด์Šค ๊ด€๋ฆฌ * ํ”„๋กœ์„ธ์Šค๋ž€ ? ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•œ๋‹ค. ํ•˜๋“œ๋””์Šคํฌ์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด, ์‹คํ–‰์„ ์œ„ํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ์ด๋ฃจ์–ด์ง€๊ณ , ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์œผ๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋œ๋‹ค. ์ด ์ˆœ๊ฐ„๋ถ€ํ„ฐ ํ”„๋กœ์„ธ์Šค๋ผ ๋ถˆ๋ฆฐ๋‹ค. ์šด์˜์ฒด์ œ์˜ ๋ชฉ์  ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•จ 2. CPU ์Šค์ผ€์ค„๋ง CPU ์Šค์ผ€์ค„๋ง์€ ์–ธ์ œ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค์— CPU๋ฅผ ํ• ๋‹นํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์ž‘์—…. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ CPU ์ด์šฉ๋ฅ ์€ ๋†’๊ฒŒ, ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์— ๋งŽ์€ ์ผ์„ ํ•˜๊ฒŒ, ์ค€๋น„ ํ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ์ ๊ฒŒ, ์‘๋‹ต์‹œ๊ฐ„์€ ์งง๊ฒŒ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. ๋น„์„ ์ ํ˜• ์Šค์ผ€์ค„๋ง ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [ 3์›” 1์ฃผ์ฐจ ] [ 1 ]

3์›” 1์ฃผ์ฐจ ๋‚ด์šฉ ์ •๋ฆฌ [3/1 ~ 3/10] + ์ด์ „ ๋‚ด์šฉ 3์›” 1์ฃผ์ฐจ์— ๋‹ค๋ฃฌ ๋‚ด์šฉ๋“ค๊ณผ ๊ทธ ์ด์ „์— 2์›”์— ๋‹ค๋ค˜๋˜ ๋‚ด์šฉ์— ๋Œ€ํ•ด ๋Œ€๋žต์ ์ธ ์ •๋ฆฌ๋ฅผ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ํ•˜๋Š๋ผ ์ •๋ฆฌํ•˜๋Š”๋ฐ ์กฐ๊ธˆ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค. ๊ธฐ์ˆ  ๋ฉด์ ‘์—์„œ ๋‚˜์˜ฌ๋งŒํ•œ ๋‚ด์šฉ๋“ค๋กœ ๋‹ค๋ฃจ๊ณ  ์š”์ฆ˜์€ ๊ฑฐ์˜ ํ”„๋กœ์ ํŠธ ์œ„์ฃผ๋กœ ์งˆ๋ฌธ์„ ํ•œ๋‹ค์ง€๋งŒ ๊ธฐ๋ณธ์ ์ธ CS๋Š” ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋“ค์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•œ๋‹ค. ์ž˜ ์ •๋ฆฌ๋ฅผ ํ•ด์„œ ๋ฉด์ ‘์— ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. 1. ์Šคํ”„๋ง์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š” ? ์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ ์›น ํ”„๋ ˆ์ž„์›Œํฌ ์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”๋กœ ๋‹ค์–‘ํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํˆด์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋ง์˜ ํŠน์ง•์—๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ๋กœ ์ œ์–ด์˜ ์—ญ์ „์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด์˜ ์ƒ์„ฑ๋ถ€ํ„ฐ ์†Œ๋ฉธ๊นŒ์ง€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ œ์–ด๊ถŒ์„ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒƒ ์ž…๋‹ˆ๋‹ค. ๋‘๋ฒˆ์งธ๋Š” ์˜์กด์„ฑ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [15] [JPA]

1. JPA ๋ž€? JPA๋Š” ์ž๋ฐ” ์ง„์˜์—์„œ ORM(Object-Relational Mapping) ๊ธฐ์ˆ  ํ‘œ์ค€์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ชจ์Œ์ด๋‹ค. ์‹ค์งˆ์ ์œผ๋กœ ๊ตฌํ˜„๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ตฌํ˜„๋œ ํด๋ž˜์Šค์™€ ๋งคํ•‘์„ ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. JPA๋ฅผ ๊ตฌํ˜„ํ•œ ๋Œ€ํ‘œ์ ์ธ ์˜คํ”ˆ์†Œ์Šค๋กœ๋Š” Hibernate๊ฐ€ ์žˆ๋‹ค. ORM(Object-Relational Mapping) ? ์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์•Œ๊ณ ์žˆ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ Class์™€ RDB์˜ ํ…Œ์ด๋ธ”์„ ๋งคํ•‘ํ•œ๋‹ค๋Š” ๋œป์ด๋ฉฐ, ๊ธฐ์ˆ ์ ์œผ๋กœ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐ์ฒด๋ฅผ RDB ํ…Œ์ด๋ธ”์— ์ž๋™์œผ๋กœ ์˜์†ํ™” ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋ณด๋ฉด๋œ๋‹ค. ์žฅ์  1. SQL๋ฌธ์ด ์•„๋‹Œ Method๋ฅผ ํ†ตํ•œ DB๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์–ด, ๊ฐœ๋ฐœ์ž๋Š” ๊ฐ์ฒด ๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Œ 2. Query์™€ ๊ฐ™์ด ํ•„..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [14] [์•Œ๊ณ ๋ฆฌ์ฆ˜]

1. ๋™์  ๊ณ„ํš๋ฒ•(DP, Dynamic Programing) ์ด๋ž€ ? ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด, ๋ฌธ์ œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•˜์œ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ํ‘ธ๋Š” ๋ฐฉ๋ฒ• ๋™์  ๊ณ„ํš๋ฒ•์—์„œ๋Š” ์–ด๋–ค ๋ถ€๋ถ„ ๋ฌธ์ œ๊ฐ€ ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์–ด, ๋‹ต์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๊ณ„์‚ฐํ•˜๋Š” ๋Œ€์‹  ํ•œ ๋ฒˆ๋งŒ ๊ณ„์‚ฐํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์žฌํ™œ์šฉํ•˜๋Š” ๋ฉ”๋ชจ์ด์ œ์ด์…˜(Memoization) ๊ธฐ๋ฒ•์œผ๋กœ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๋™์  ๊ณ„ํš๋ฒ•์ด ๊ฐ–๋Š” 2๊ฐ€์ง€ ์กฐ๊ฑด 1. ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„(์ž‘์€) ๋ฌธ์ œ ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ๋Š” ๋‚˜๋ˆ ์ง„ ๋ถ€๋ถ„ ๋ฌธ์ œ๊ฐ€ ์ค‘๋ณต๋˜๋Š” ๊ฒฝ์šฐ๋กœ, ๋ฉ”๋ชจ์ด์ œ์ด์…˜ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด ์ค‘๋ณต ๊ณ„์‚ฐ์„ ์—†์•ค๋‹ค. 2. ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค๋Š” ๊ฒƒ์€ ๋ฌธ์ œ์˜ ์ตœ์ ํ•ด๊ฐ€ ๋ถ€๋ถ„ ๋ฌธ์ œ์˜ ์ตœ์ ํ•ด๋“ค๋กœ์จ ๊ตฌ์„ฑ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 2. ๋ฒ„๋ธ” ์ •๋ ฌ(Bubble Sort) ๋ž€ ? ๋ฒ„๋ธ” ์ •๋ ฌ์€ ์„œ๋กœ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [13] [ Database ]

1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด(DDL, DML, DCL)์— ๋Œ€ํ•ด ์„ค๋ช… - DDL (์ •์˜์–ด : Data Definition Language) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ๋ฅผ ์ •์˜, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ์–ธ์–ด ( alter, create, drop ) - DML (์กฐ์ž‘์–ด : Data Manipulation Language) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚ด์˜ ์ž๋ฃŒ ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ๊ฐฑ์‹ , ์‚ญ์ œ๋ฅผ ์œ„ํ•œ ์–ธ์–ด ( select, insert, update, delete ) - DCL (์ œ์–ด์–ด : Data Control Language) : ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋ฌด๊ฒฐ์„ฑ ์œ ์ง€, ๋ณ‘ํ–‰ ์ˆ˜ํ–‰ ์ œ์–ด, ๋ณดํ˜ธ์™€ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์–ธ์–ด ( commit, rollback, grant, revoke ) 2. SELECT ์ฟผ๋ฆฌ์˜ ์ˆ˜ํ–‰ ์ˆœ์„œ 1. FROM - ๊ฐ ํ…Œ์ด๋ธ”์„ ํ™•์ธํ•œ๋‹ค. 2...

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [12] [ Docker ]

1. ๋„์ปค๋ž€ ? ๋„์ปค(Docker)๋Š” ๋ฆฌ๋ˆ…์Šค ์ปจํ…Œ์ด๋„ˆ์— ๋ฆฌ๋ˆ…์Šค ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ”„๋กœ์„ธ์Šค ๊ฒฉ๋ฆฌ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ์‰ฝ๊ฒŒ ์ปจํ…Œ์ด๋„ˆ๋กœ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ด๋‹ค. ๋„์ปค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋„์ปค ์—”์ง„ ํ˜น์€ ๋„์ปค์— ๊ด€๋ จ๋œ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋„์ปค ์—”์ง„(Docker Engine)์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์ฃผ์ฒด๋กœ์„œ ์ด ์ž์ฒด๋กœ๋„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ณ  ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋„์ปค์˜ ํ”„๋กœ์ ํŠธ์ด๋‹ค. ๋„์ปค ์ƒํƒœ๊ณ„์— ์žˆ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋“ค์€ ๋„์ปค ์—”์ง„์„ ์ข€ ๋” ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์— ๋ถˆ๊ณผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋„์ปค์˜ ํ•ต์‹ฌ์€ ๋„์ปค ์—”์ง„์ด๋‹ค. Virtual Machine (๊ฐ€์ƒ๋จธ์‹ ) vs Docker Container (๋„์ปค ์ปจํ…Œ์ด๋„ˆ) ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ๊ณผ ๋„์ปค์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. ๊ธฐ..