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

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [11] [์ž๋ฐ” ์ปฌ๋ ‰์…˜ / Collection Framework]

1. ์ปฌ๋ ‰์…˜์ด๋ž€ ? ์ปฌ๋ ‰์…˜์€ ๋งŽ์€ ๋ฐ์ดํ„ฐ ์š”์†Œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋œปํ•˜๋ฉฐ, ArrayList, LinkedList, HashMap ๋“ฑ์ด ํฌํ•จ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์ปฌ๋ ‰์…˜๋“ค์€ ์ œ๋„ค๋ฆญ(generics) ํ˜•์‹์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์–ด ์ปฌ๋ ‰์…˜๊ณผ ํ•จ๊ป˜ ์ œ๋„ค๋ฆญ์— ๋Œ€ํ•ด์„œ๋„ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค. ์ž๋ฐ”์—์„œ๋Š” ์ด๋Ÿฐ ์ปฌ๋ ‰์…˜์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์™€ ํด๋ž˜์Šค๋“ค์ด ์žˆ์œผ๋ฉฐ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํด๋ž˜์Šค๋“ค์˜ ์ข…๋ฅ˜์™€ ์ƒ์† ๊ณ„์ธต๋„๋Š” ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™๋‹ค. 2. ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์žฅ์  1. ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‹คํ˜•์„ฑ์„ ์ด์šฉํ•œ ๊ฐ์ฒด์ง€ํ–ฅ์  ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ํ‘œ์ค€ํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ์šฉ๋ฒ•์„ ์ตํžˆ๊ธฐ์—๋„ ํŽธ๋ฆฌํ•˜๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’๋‹ค. List list = new ArrayList(); list = new LinkedList(); ์ด๋ ‡๊ฒŒ List ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋‹ค๋ฅธ ํด๋ž˜..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [10] [์ž๋ฃŒ๊ตฌ์กฐ]

1. ์ž๋ฃŒ๊ตฌ์กฐ๋ž€ ? ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋“ค์˜ ๋ฌถ์Œ์„ ์ €์žฅํ•˜๊ณ , ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ ๊ฒƒ 2. ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  ? 1. ๋ฐ์ดํ„ฐ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ , ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 2. ๋Œ€๋ถ€๋ถ„์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํŠน์ • ์ƒํ™ฉ์— ๋†“์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ์— ํŠนํ™”๋˜์–ด ์žˆ๋‹ค. 3. ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ข…๋ฅ˜์™€ ๊ตฌ๋ถ„ ์„ ํ˜•๊ตฌ์กฐ - ๋ฐฐ์—ด(Array) - ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(LinkedList) - ์Šคํƒ(Stack) - ํ(Queue) ๋น„์„ ํ˜•๊ตฌ์กฐ - ํŠธ๋ฆฌ(Tree) - ๊ทธ๋ž˜ํ”„(Graph) Stack, Queue, Tree, Graph๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์Šคํƒ [Stack] LIFO(Last In First Out) ์ฆ‰, ์Šคํƒ์€ ๋งˆ์ง€๋ง‰์— ๋“ค์–ด์˜จ ๊ฒƒ์ด ๊ฐ€์žฅ ๋จผ์ €๋‚˜๊ฐ€๋Š” ํ›„์ž…์„ ์ถœ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ..

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

1. Servlet ์ด๋ž€ ? ์„œ๋ธ”๋ฆฟ์ด๋ž€ ๋™์  ์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฐ” ๊ธฐ๋ฐ˜์˜ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์ด๋‹ค. ์›น์„ ๋งŒ๋“ค ๋•Œ Request, Response์—๋Š” ๊ทœ์น™์ด ์กด์žฌํ•˜๋Š”๋ฐ ์ด๋Ÿฌํ•œ ์›น ์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ํ๋ฆ„์„ ๊ฐ„๋‹จํ•œ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ๋งŒ์œผ๋กœ ์ฒด๊ณ„์ ์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์ด๋‹ค. Servlet์˜ ์ฃผ์š” ํŠน์ง• ํด๋ผ์ด์–ธํŠธ์˜ Request์— ๋Œ€ํ•œ ๋™์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปดํฌ๋„ŒํŠธ HTML์„ ์‚ฌ์šฉํ•ด Response Java์˜ ์Šค๋ ˆ๋“œ๋ฅผ ์ด์šฉ MVC ํŒจํ„ด์—์„œ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ด์šฉ java.servlet.http.HttpServlet ํด๋ž˜์Šค๋ฅผ ์ƒ์† UDP ๋ณด๋‹ค ์†๋„๊ฐ€ ๋Š๋ฆฌ๋‹ค HTML ๋ณ€๊ฒฝ ์‹œ Servlet์„ ์žฌ ์ปดํŒŒ์ผ ํ•ด์•ผํ•จ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋ž€? ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋ž€ ์„œ๋ธ”๋ฆฟ์„ ๋‹ด๊ณ  ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์ปจํ…Œ์ด๋„ˆ์ด๋‹ค. ํด..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [8] [OSI 7 Layer]

1. OSI 7 Layer OSI 7 ๊ณ„์ธต์€ ๋„คํŠธ์›Œํฌ์—์„œ ํ†ต์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ 7 ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆˆ ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๋‚˜๋ˆˆ ์ด์œ ๋Š” ํ†ต์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ๋‹จ๊ณ„๋ณ„๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 7๋‹จ๊ณ„ ์ค‘ ํŠน์ •ํ•œ ๊ณณ์— ์ด์ƒ์ด ์ƒ๊ธฐ๊ฒŒ ๋˜๋ฉด ๋‹ค๋ฅธ ๋‹จ๊ณ„์˜ ์žฅ๋น„๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฑด๋“ค์ง€ ์•Š๊ณ  ์ด์ƒ์ด ์ƒ๊ธด ๊ณ„์ธต๋งŒ ๊ณ ์น˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. PC๋ฐฉ์—์„œ ์ˆ˜๊ฐ•์‹ ์ฒญ์„ ํ•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. - PC๋ฐฉ์˜ ๋ชจ๋“  ์ปดํ“จํ„ฐ๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋ฉด -> ๋ผ์šฐํ„ฐ(๋„คํŠธ์›Œํฌ ๊ณ„์ธต) ๋ฌธ์ œ - ๋‚ด PC๋งŒ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. -> ์ˆ˜๊ฐ•์‹ ์ฒญ ์‚ฌ์ดํŠธ(์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต)์˜ ๋ฌธ์ œ ์ด๋ ‡๊ฒŒ ํŠน์ •ํ•œ ๊ณ„์ธต์˜ ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” 3๊ณ„์ธต ๋ถ€ํ„ฐ ์ž์„ธํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. 3๊ณ„์ธต - ๋„คํŠธ์›Œํฌ ๊ณ„์ธต (Network Layer) ์ด ๊ณ„์ธต์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์€ ๋ฐ์ดํ„ฐ๋ฅผ ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [7] [@Transactional / AOP]

@Transactional ๊ณผ AOP์˜ ๊ด€๊ณ„ + Proxy ๊ฐ์ฒด spring ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋ฉด ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์‹ค์ œ๋กœ @Transactional ๋งŒ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ๋ฉด์ ‘ ์ค€๋น„๋ฅผ ํ•˜๋ฉด์„œ aop์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋‹ค ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ, ๋กœ๊น… ๋“ฑ์„ aop๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๋Š”๋ฐ ๋กœ๊น…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ํ–ˆ์–ด๋„ ํŠธ๋žœ์žญ์…˜์€ ๋”ฐ๋กœ ๊ตฌํ˜„ํ•œ ์ ์ด ์—†์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. 1. Transaction [ ํŠธ๋žœ์žญ์…˜ ] / AOP [ ๊ด€์ ์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ ] ๋จผ์ € ํŠธ๋žœ์žญ์…˜์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„๋ฅผ ๋œปํ•œ๋‹ค. ๋‹จ์ˆœํžˆ ๋ช…๋ น์–ด ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ์ž‘์—…์˜ ๋‹จ์œ„์ธ ๊ฒƒ์„ ์ž˜ ์ดํ•ดํ•ด์•ผ ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [6] [Data Base]

1. ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ํŠน์ง• ? 1. ์‹ค์‹œ๊ฐ„ ์ ‘๊ทผ์„ฑ (Real-Time Accessibility) - ๋น„์ •ํ˜•์ ์ธ ์งˆ์˜์— ๋Œ€ํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ์— ์˜ํ•œ ์‘๋‹ต์ด ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ 2. ์ง€์†์ ์ธ ๋ณ€ํ™” (Continuous Evolution) - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋Š” ๋™์ . ์ฆ‰, ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…(Insert), ์‚ญ์ œ(Delete), ๊ฐฑ์‹ (Update)์œผ๋กœ ํ•ญ์ƒ ์ตœ์‹ ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•จ 3. ๋™์‹œ ๊ณต์šฉ (Concurrent Sharing) - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ชฉ์ ์„ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ์‘์šฉ์ž๋“ค์„ ์œ„ํ•œ ๊ฒƒ์ด๋ฏ€๋กœ ๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ๊ฐ™์€ ๋‚ด์šฉ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ 4. ๋‚ด์šฉ์— ์˜ํ•œ ์ฐธ์กฐ (Content Reference) - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•  ๋•Œ ๋ฐ์ดํ„ฐ ๋ ˆ์ฝ”๋“œ์˜ ์ฃผ์†Œ๋‚˜ ์œ„์น˜์— ์˜ํ•ด์„œ๊ฐ€ ..

๐Ÿ“š [CS๋ฉด์ ‘] ์›น ๋ฉด์ ‘ ์งˆ๋ฌธ [5] [Spring AOP]

1. Spring AOP ๋ž€? AOP๋Š” Aspect Oriented Programming ์˜ ์•ฝ์ž๋กœ ๊ด€์  ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๋ถˆ๋ฆฐ๋‹ค. ๊ด€์  ์ง€ํ–ฅ์€ ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ์–ด๋–ค ๋กœ์ง์„ ๊ธฐ์ค€์œผ๋กœ ํ•ต์‹ฌ์ ์ธ ๊ด€์ , ๋ถ€๊ฐ€์ ์ธ ๊ด€์ ์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๋ณด๊ณ  ๊ทธ ๊ด€์ ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐ๊ฐ ๋ชจ๋“ˆํ™”ํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋กœ๋“ค์–ด ํ•ต์‹ฌ์ ์ธ ๊ด€์ ์€ ๊ฒฐ๊ตญ ์šฐ๋ฆฌ๊ฐ€ ์ ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ๋œ๋‹ค. ๋˜ํ•œ ๋ถ€๊ฐ€์ ์ธ ๊ด€์ ์€ ํ•ต์‹ฌ ๋กœ์ง์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ–‰ํ•ด์ง€๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ, ๋กœ๊น…, ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๋“ฑ์„ ์˜ˆ๋กœ ๋“ค ์ˆ˜ ์žˆ๋‹ค. AOP์—์„œ ๊ฐ ๊ด€์ ์„ ๊ธฐ์ค€์œผ๋กœ ๋กœ์ง์„ ๋ชจ๋“ˆํ™”ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ฝ”๋“œ๋“ค์„ ๋ถ€๋ถ„์ ์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๋ชจ๋“ˆํ™”ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ๋‹ค. ์ด๋•Œ, ์†Œ์Šค ์ฝ”๋“œ์ƒ์—์„œ ๋‹ค๋ฅธ ๋ถ€๋ถ„์— ๊ณ„์† ๋ฐ˜๋ณตํ•ด์„œ ์“ฐ๋Š” ์ฝ”๋“œ๋“ค์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ ์ด๊ฒƒ์„ ํฉ์–ด์ง„ ๊ด€์‹ฌ์‚ฌ (Crosscut..

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

1. MSA ์•„ํ‚คํ…์ณ๋ž€ ? MSA(Micro Serice Architecture) ์ด๋ž€ 1๊ฐœ์˜ ์‹œ์Šคํ…œ์„ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ๊ฐ๊ฐ์˜ ์„œ๋น„์Šค๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์„œ๋น„์Šค๋Š” API๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ 1๊ฐœ์˜ ํฐ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์‹œ์Šคํ…œ์˜ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ํ•œ ํ”„๋กœ์ ํŠธ์— ํ†ตํ•ฉ๋˜์–ด ์žˆ๋Š” Monolithic Architecture์˜ ํ•œ๊ณ„์ ์„ ๊ทน๋ณตํ•˜๊ณ ์ž ๋“ฑ์žฅํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. - ์žฅ์  1. ์ผ๋ถ€ ์„œ๋น„์Šค์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ์ „์ฒด ์„œ๋น„์Šค์— ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š๋Š”๋‹ค. 2. ๊ฐ๊ฐ์˜ ์„œ๋น„์Šค๋“ค์€ ์„œ๋กœ ๋‹ค๋ฅธ ์–ธ์–ด์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค. 3. ์„œ๋น„์Šค์˜ ํ™•์žฅ์ด ์šฉ์ดํ•˜๋‹ค. - ๋‹จ์  1. ์„œ๋น„์Šค๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ์–ด ํ…Œ์ŠคํŠธ๋‚˜ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ๋“ฑ์ด ์–ด๋ ต๋‹ค. 2. ์„œ๋น„์Šค ๊ฐ„์— API ๋กœ ํ†ต์‹ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ์— ๋Œ€ํ•œ ๋น„์šฉ์ด ๋ฐœ..

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

1. HTTP / HTTPS HTTP(Hyper Text Transfer Protocol)์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ, ์„œ๋ฒ„/ํด๋ผ์ด์–ธํŠธ ๋ชจ๋ธ์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. HTTP๋Š” ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๋Š” stateless์˜ ํŠน์ง•๊ณผ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๋งž๋Š” ์‘๋‹ต์„ ๋ณด๋‚ธ ํ›„ ์—ฐ๊ฒฐ์„ ๋Š๋Š” Connectionless์˜ ํŠน์ง•์„ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. - ์žฅ์  1. ํ†ต์‹ ๊ฐ„์˜ ์—ฐ๊ฒฐ ์ƒํƒœ ์ฒ˜๋ฆฌ๋‚˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์–ด ์„œ๋ฒ„ ๋””์ž์ธ์ด ๊ฐ„๋‹จํ•˜๋‹ค. 2. ๊ฐ๊ฐ์˜ HTTP ์š”์ฒญ์— ๋…๋ฆฝ์ ์œผ๋กœ ์‘๋‹ต๋งŒ ๋ณด๋‚ด์ฃผ๋ฉด ๋œ๋‹ค. - ๋‹จ์  1. ์ด์ „ ํ†ต์‹ ์˜ ์ •๋ณด๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋–„๋ฌธ์— ๋งค๋ฒˆ ์ธ์ฆ์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. -> ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ฟ ํ‚ค / ์„ธ์…˜์„ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ HTTPS๋Š” HTTP์— ์•”ํ˜ธํ™”๊ฐ€ ์ถ”๊ฐ€๋œ ํ”„๋กœํ† ์ฝœ ์ž…๋‹ˆ๋‹ค. HTTP๋Š” ์›๋ž˜ T..

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

1. Transaction ํŠธ๋žœ์žญ์…˜์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„์ด๋‹ค. ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ์˜ˆ์‹œ๋กœ ์€ํ–‰ ์ž…์ถœ๊ธˆ์ด ์žˆ๋‹ค. ์€ํ–‰์—์„œ ๋‚ด๊ฐ€ A์—๊ฒŒ ๋ˆ์„ ๋ณด๋ƒˆ๋‹ค๋ฉด ๋‚˜์˜ ํ†ต์žฅ์—์„œ ๋ˆ์ด ๋น ์ ธ๋‚˜๊ฐ€๊ณ  A์˜ ํ†ต์žฅ์— 1000์›์ด ์ž…๊ธˆ๋˜๋Š” ๊ฒƒ์ด ํ•˜๋‚˜์˜ ๊ณผ์ •์ด๋‹ค. ์ด ์ค‘๊ฐ„์— ์–ด๋– ํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ์„œ ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๋‹ค๋ฉด ๊ทธ๊ฒƒ์€ ์ž˜๋ชป๋œ ์‹œ์Šคํ…œ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํŠธ๋žœ์žญ์…˜์˜ ํŠน์ง• 4๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ์ฐพ์•„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. - ์›์ž์„ฑ (Atomicity) All or Nothing. ํŠธ๋žœ์žญ์…˜์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ชจ๋‘ ๋ฐ˜์˜๋˜๊ฑฐ๋‚˜ ์ „ํ˜€ ๋ฐ˜์˜๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค๋Š” ํŠน์ง•์ด๋‹ค. ์ค‘๊ฐ„์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๊ธฐ์กด์˜ ๊ณผ์ •๋“ค์„ ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ€์•ผ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋˜‘๊ฐ™๋‹ค. ๋งŒ์•ฝ ํŠธ๋žœ์žญ์…˜ ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๊ทธ ์ค‘๊ฐ„์— ์˜ค๋ฅ˜๊ฐ€ ..