CS 7

[CS] TCP/IP 4๊ณ„์ธต

๐Ÿ’กTCP/IP 4 ๊ณ„์ธต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ์ „์†ก ๊ณ„์ธต ์ธํ„ฐ๋„ท ๊ณ„์ธต ๋งํฌ ๊ณ„์ธต ๐Ÿ’ก์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ(FTP, HTTP, DNS, SSH ๋“ฑ)์ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ ๊ณ„์ธต ์„œ๋น„์Šค๋ฅผ ์‹ค์งˆ์ ์œผ๋กœ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ œ๊ณต ๐Ÿ’ก์ „์†ก ๊ณ„์ธต ์†ก์‹ ์ž์™€ ์ˆ˜์ง„์ž๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํ†ต์‹  ์„œ๋น„์Šค ์ œ๊ณต ์—ฐ๊ฒฐ ์ง€ํ–ฅ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ ์ง€์›, ์‹ ๋ขฐ์„ฑ, ํ๋ฆ„ ์ œ์–ด ์ œ๊ณต ๋ฐ์ดํ„ฐ ์ „๋‹ฌ๋  ๋•Œ ์ค‘๊ณ„ ์—ญํ•  TCP : ํŒจํ‚ท ์‚ฌ์ด ์ˆœ์„œ ๋ณด์žฅ '๊ฐ€์ƒํšŒ์„  ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹' UDP : ํŒจํ‚ท ์‚ฌ์ด ์ˆœ์„œ ๋ณด์žฅ x '๋ฐ์ดํ„ฐ๊ทธ๋žจ ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹' ๐Ÿ’ก์ธํ„ฐ๋„ท ๊ณ„์ธต ์žฅ์น˜๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ๋„คํŠธ์›Œํฌ ํŒจํ‚ท์„ IP ์ฃผ์†Œ๋กœ ์ง€์ •๋œ ๋ชฉ์ ์ง€๊นŒ์ง€ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ๋น„์—ฐ๊ฒฐํ˜• IP, ARP, ICMP ๐Ÿ’ก๋งํฌ ๊ณ„์ธต ์‹ค์งˆ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋ฉฐ ์žฅ์น˜ ๊ฐ„์— ์‹ ํ˜ธ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ทœ์น™์„ ์ •ํ•˜๋Š” ๊ณ„์ธต ์ „์„ , ๊ด‘์„ฌ์œ ..

[CS] ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„

๐Ÿ’กํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ ์„ ์–ธํ˜•๊ณผ ๋ช…๋ นํ˜•์œผ๋กœ ๋‚˜๋‰จ ์„ ์–ธํ˜• : ํ•จ์ˆ˜ํ˜• ๋ช…๋ นํ˜• : ๊ฐ์ฒด์ง€ํ–ฅ, ์ ˆ์ฐจ์ง€ํ–ฅ ๐Ÿ’ก์„ ์–ธํ˜•: ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ '๋ฌด์—‡์„' ์ˆœ์ˆ˜ ํ•จ์ˆ˜๋“ค์„ ์Œ“์•„ ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๊ณ  ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ ๐Ÿ’ก๋ช…๋ นํ˜•: ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ํ‘œํ˜„ ํŠน์ง• 1) ์ถ”์ƒํ™” 2) ์บก์Šํ™” 3) ์ƒ์†์„ฑ 4) ๋‹คํ˜•์„ฑ ์„ค๊ณ„ ์›์น™ 1) ๋‹จ์ผ ์ฑ…์ž„ ์›์น™ (S) 2) ๊ฐœ๋ฐฉ-ํ์‡„ ์›์น™ (O) 3) ๋ฆฌ์Šค์ฝ”๋“œ ์น˜ํ™˜ ์›์น™ (L) 4) ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™ (I) 5) ์˜์กด ์—ญ์ „ ์›์น™ (D) ๐Ÿ’ก๋ช…๋ นํ˜•: ์ ˆ์ฐจํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋กœ์ง์ด ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•  ์—ฐ์†์ ์ธ ๊ณ„์‚ฐ ๊ณผ์ •์œผ๋กœ ์ด๋ฃจ์–ด์ง

[CS] MVC ํŒจํ„ด

๐Ÿ’กMVC ํŒจํ„ด์ด๋ž€? ๋ชจ๋ธ(Model), ๋ทฐ(View), ์ปจํŠธ๋กค๋Ÿฌ(Controller)๋กœ ์ด๋ฃจ์–ด์ง„ ๋””์ž์ธ ํŒจํ„ด ๐Ÿ’ก์žฅ์  ์žฌ์‚ฌ์šฉ์„ฑ, ํ™•์žฅ์„ฑ์ด ์šฉ์ด ๐Ÿ’ก๋‹จ์  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ณต์žกํ•ด์งˆ์ˆ˜๋ก ๋ชจ๋ธ๊ณผ ๋ทฐ์˜ ๊ด€๊ณ„๊ฐ€ ๋ณต์žกํ•ด์ง ๐Ÿ’ก๋ชจ๋ธ(Modle) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์ƒ์ˆ˜, ๋ณ€์ˆ˜ ๋ทฐ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋ฉด ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฐฑ์‹  ๐Ÿ’ก๋ทฐ(View) ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์š”์†Œ (๋ชจ๋ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด) ๐Ÿ’ก์ปจํŠธ๋กค๋Ÿฌ(Controller) ๋ฉ”์ธ ๋กœ์ง ๋‹ด๋‹น ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ชจ๋ธ๊ณผ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ทฐ๋ฅผ ์ž‡๋Š” ๋‹ค๋ฆฌ ์—ญํ•  (๋ชจ๋ธ, ๋ทฐ์˜ ๋ณ€๊ฒฝ์„ ํ•ด์„ํ•˜์—ฌ ๊ฐ๊ฐ์˜ ๊ตฌ์„ฑ ์š”์†Œ์— ์•Œ๋ ค์คŒ) ๋ชจ๋ธ๊ณผ ๋ทฐ์˜ ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ ๐Ÿ’กMVC ํŒจํ„ด ์˜ˆ์‹œ ์Šคํ”„๋ง(spring) : ์–ด๋…ธํ…Œ์ด์…˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ ๊ฐ’์„ ์‰ฝ๊ฒŒ..

[CS] ๋””์ž์ธ ํŒจํ„ด_ํ–‰์œ„ํŒจํ„ด

๐Ÿ’กํ–‰์œ„ ํŒจํ„ด์ด๋ž€? ํด๋ž˜์Šค๋‚˜ ๊ฐ์ฒด์˜ ์ฑ…์ž„ ๋ถ„๋ฐฐ ๋ฐฉ๋ฒ•๊ณผ ๊ด€๋ จ๋œ ํŒจํ„ด ๐Ÿ’กํ–‰์œ„ ํŒจํ„ด ํŠน์ง• ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์„ ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋กœ ๋ถ„๋ฐฐํ•˜์—ฌ ๊ฒฐํ•ฉ๋„ ์ตœ์†Œํ™” ๐Ÿ’กํ–‰์œ„ ํŒจํ„ด ์ข…๋ฅ˜ Chain-of-Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor ๐Ÿ’กChain-of-Responsibility ํŒจํ„ด ์ •์˜ : ์‚ฌ์Šฌ ๋ฐฉ์‹์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฐ์ฒด๊ฐ€ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ๊ทธ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฐ์ฒด๋ผ๋ฉด ๋‹ค์Œ ๊ฐ์ฒด์— ๋„˜๊น€ ex) JAVA์˜ try catch๋ฌธ ์žฅ์  : ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ์•Œ ํ•„์š” ์—†์Œ : ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ํ•ธ๋“ค๋Ÿฌ๋ฅผ chain์— ๋™์ ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌ ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œ ๊ฐ€๋Šฅ..

[CS] ๋””์ž์ธ ํŒจํ„ด_๊ตฌ์กฐํŒจํ„ด

๐Ÿ’ก๊ตฌ์กฐ ํŒจํ„ด์ด๋ž€? ๊ตฌ์กฐ ํŒจํ„ด์ด๋ž€ ํด๋ž˜์Šค๋‚˜ ๊ฐ์ฒด๋ฅผ ๋” ํฐ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“œ๋Š” ํŒจํ„ด ๐Ÿ’ก๊ตฌ์กฐ ํŒจํ„ด ํŠน์ง• ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•œ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ•˜๋‚˜์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ธํ„ฐํŽ˜์ด์Šค๋‚˜ ๊ตฌํ˜„์„ ๋ณตํ•ฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ์ฒด๋ฅผ ํ•ฉ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• ์ œ๊ณต ๐Ÿ’ก๊ตฌ์กฐ ํŒจํ„ด ์ข…๋ฅ˜ Adapter Bridge Composite Decorator Facade Flyweight Proxy ๐Ÿ’กAdapter ํŒจํ„ด ์ •์˜ : ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์„ ํ•„์š”ํ•œ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ„ด ์žฅ์  : ํด๋ž˜์Šค ์žฌํ™œ์šฉ์„ฑ ์ฆ๊ฐ€ ๋‹จ์  : ํด๋ž˜์Šค๋ฅผ ์žฌํ™œ์šฉํ•  ๋•Œ ์ถ”๊ฐ€ ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•˜์—ฌ ๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์†๋„ ์ €ํ•˜ ๐Ÿ’กBridge ํŒจํ„ด ์ •์˜ : ์ถ”์ƒ์ ์ธ ๋ถ€๋ถ„๊ณผ ๊ตฌ์ฒด์ ์ธ ๋ถ€๋ถ„์„ ๋‚˜๋ˆ  ๊ตฌํ˜„ํ•˜๋Š” ํŒจํ„ด ์žฅ์  : ๋…๋ฆฝ์ ์œผ๋กœ ํ™•์žฅ ๊ฐ€๋Šฅ : ์ถ”์ƒ์ ์ธ ๋ถ€๋ถ„๊ณผ ๊ตฌ์ฒด์ ์ธ ๋ถ€๋ถ„ ๋ถ„๋ฆฌ ๊ฐ€๋Šฅ..

[CS] ๋””์ž์ธ ํŒจํ„ด_์ƒ์„ฑํŒจํ„ด

๐Ÿ’ก์ƒ์„ฑ ํŒจํ„ด์ด๋ž€? ์ƒ์„ฑ ํŒจํ„ด์ด๋ž€ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ์ ˆ์ฐจ๋ฅผ ์ถ”์ƒํ™”ํ•˜๋Š” ํŒจํ„ด ๐Ÿ’ก์ƒ์„ฑ ํŒจํ„ด ํŠน์ง• ์‹œ์Šคํ…œ์ด ์–ด๋–ค ๊ตฌ์ฒด์ ์ธ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์บก์Šํ™” ํŠน์ • ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋˜์–ด๋„ ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ์— ํฌ๊ฒŒ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Œ (์œ ์—ฐ์„ฑ) ๐Ÿ’ก์ƒ์„ฑ ํŒจํ„ด ์ข…๋ฅ˜ Singleton Prototype Factory Methods Builder Abstract Factory ๐Ÿ’กSingleton ํŒจํ„ด ์ •์˜ : ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์— ์˜ค์ง ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋งŒ ๊ฐ€์ง€๋Š” ํŒจํ„ด์œผ๋กœ ๋ณดํ†ต ๋ฐ์ดํŠธ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๋ชจ๋“ˆ์— ๋งŽ์ด ์‚ฌ์šฉํ•จ : ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋†“๊ณ  ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ๋‹ค๋ฅธ ๋ชจ๋“ˆ๋“ค์ด ๊ณต์œ ํ•˜๋ฉด์„œ ์‚ฌ์šฉ ์žฅ์  : ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋“œ๋Š” ๋น„์šฉ์ด ์ค„์–ด๋“ฆ ๋‹จ์  : ์˜์กด์„ฑ์ด ๋†’์•„์ง ์˜์กด์„ฑ ์ฃผ์ž… : ์˜์กด์„ฑ ๋‚ฎ์ถ”๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฉ”์ธ ๋ชจ๋“ˆ๊ณผ ๋‹ค๋ฅธ ํ•˜์œ„ ๋ชจ..

[CS] ๋””์ž์ธ ํŒจํ„ด

๐Ÿ’ก๋””์ž์ธ ํŒจํ„ด์ด๋ž€? ํ”„๋กœ๊ทธ๋žจ์„ ์„ค๊ณ„ํ•  ๋•Œ ๋ฐœ์ƒํ–ˆ๋˜ ๋ฌธ์ œ์ ๋“ค์„ ๊ฐ์ฒด ๊ฐ„์˜ ์ƒํ˜ธ ๊ด€๊ณ„ ๋“ฑ์„ ์ด์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋‚˜์˜ ๊ทœ์•ฝ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด ๋†“์€ ๊ฒƒ ๐Ÿ’ก๋””์ž์ธ ํŒจํ„ด์˜ ์ข…๋ฅ˜ ์ƒ์„ฑ ํŒจํ„ด : Singleton, Prototype, Factory Methods, Builder, Abstract Factory ๊ตฌ์กฐ ํŒจํ„ด : Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy ํ–‰์œ„ ํŒจํ„ด : Chain-of-Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor