๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (28)

JUINTINATION

์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„(JSON / XML / AJAX / REST)

JSON(Javascript Object Notation)์ด๋ž€? JSON์€ ์†์„ฑ-๊ฐ’ ์Œ(Attribute-Value Pair) ๋˜๋Š” ํ‚ค-๊ฐ’ ์Œ(Key-Value Pair)์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์ธ๊ฐ„์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€ ํฌ๋งท์ด๋‹ค. AJAX(Asynchronous Javascript and XML)์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. XML(eXtensible Markup Language)์„ ๋Œ€์ฒดํ•˜๋Š” ์ฃผ์š” ๋ฐ์ดํ„ฐ ํฌ๋งท์ด๋‹ค. ์–ธ์–ด ๋…๋ฆฝํ˜• ๋ฐ์ดํ„ฐ ํฌ๋งท์œผ๋กœ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. JSON ํ‘œํ˜„ ์ž๋ฃŒํ˜• ์ž๋ฃŒํ˜• ์‚ฌ๋ก€ ์ˆซ์ž(Number) ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์˜ ์ˆ˜๋Š” ์ •์ˆ˜, ์‹ค์ˆ˜(๊ณ ์ •์†Œ์ˆ˜์ , ๋ถ€๋™์†Œ์ˆ˜์ )๋กœ ํ‘œํ˜„ ex) 74, 3.14, 3.4e+4 ๋ฌธ์ž์—ด(String) ํ•ญ์ƒ..

์„œ๋ฒ„ ์ธ์ฆ

๋ณด์•ˆ ์„œ๋ฒ„๋ž€? ๋ณด์•ˆ ์„œ๋ฒ„๋Š” ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ๊ฐœ์ธ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์†ก์ˆ˜์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์„œ๋ฒ„์ด๋‹ค. '๊ฐœ์ธ์ •๋ณด์˜ ๊ธฐ์ˆ ์  • ๊ด€๋ฆฌ์  ๋ณดํ˜ธ์กฐ์น˜ ๊ธฐ์ค€'์— ๋”ฐ๋ฅด๋ฉด ๋ณด์•ˆ ์„œ๋ฒ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถฐ์•ผ ํ•œ๋‹ค. ์„œ๋ฒ„์— SSL(Secure Socket Layer) ์ธ์ฆ์„œ๋ฅผ ์„ค์น˜ํ•˜์—ฌ ์ „์†ก ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์†ก์ˆ˜์‚ฐํ•˜๋Š” ๊ธฐ๋Šฅ ์„œ๋ฒ„์— ์•”ํ˜ธํ™” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๊ณ  ์ „์†ก ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์†ก์ˆ˜์‹ ํ•˜๋Š” ๊ธฐ๋Šฅ ์Šค๋‹ˆํ•‘(Sniffing)์„ ์ด์šฉํ•œ ์ •๋ณด ์œ ์ถœ, ํ”ผ์‹ฑ(Phishing)์„ ์ด์šฉํ•œ ์œ„์กฐ ์‚ฌ์ดํŠธ ๋“ฑ์— ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด ๋ณด์•ˆ ์„œ๋ฒ„ ๊ตฌ์ถ•์ด ํ•„์š”ํ•˜๋‹ค. ์ธ์ฆ(่ช่ญ‰, Authentication)์˜ ๊ฐœ๋… ์ธ์ฆ์€ ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด๋‚˜ ๋„คํŠธ์›Œํฌ ์‹œ์Šคํ…œ์—์„œ ๋กœ๊ทธ์ธ์„ ์š”์ฒญํ•œ ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ณ  ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ฒ€์ฆํ•˜๋Š” ๋ณด์•ˆ ์ ˆ์ฐจ์ด..

๊ต์ฐฉ์ƒํƒœ(Dead Lock)

๊ต์ฐฉ์ƒํƒœ๋ž€? ๊ต์ฐฉ์ƒํƒœ๋Š” ์ƒํ˜ธ ๋ฐฐ์ œ์— ์˜ํ•ด ๋‚˜ํƒ€๋‚˜๋Š” ๋ฌธ์ œ์ ์œผ๋กœ ๋‘˜ ์ด์ƒ์˜ ํ”„๋กœ์„ธ์Šค๋“ค์ด ์ž์›์„ ์ ์œ ํ•œ ์ƒํƒœ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ์œ ํ•˜๊ณ  ์žˆ๋Š” ์ž์›์„ ์š”๊ตฌํ•˜๋ฉฐ ๋ฌดํ•œ์ • ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ˜„์ƒ์ด๋‹ค. ๊ต์ฐฉ์ƒํƒœ ๋ฐœ์ƒ์˜ ํ•„์š” ์ถฉ๋ถ„ ์กฐ๊ฑด ์ƒํ˜ธ ๋ฐฐ์ œ(Mutual Exclusion) ํ•œ ๋ฒˆ์— ํ•œ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋งŒ์ด ๊ณต์œ  ์ž์›์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ ์œ ์™€ ๋Œ€๊ธฐ(Hold and Wait) ์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ ์ž์›์„ ์ ์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉด์„œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋˜์–ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ์ž์›์„ ์ถ”๊ฐ€๋กœ ์ ์œ ํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋น„์„ ์ (Non-preemption) ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ์ž์›์€ ์‚ฌ์šฉ์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ฐ•์ œ๋กœ ๋นผ์•—์„ ์ˆ˜ ์—†์–ด์•ผ ํ•œ๋‹ค. ์›ํ˜• ๋Œ€๊ธฐ(Circular Wait) ๊ณต์œ  ์ž์›๊ณผ ๊ณต์œ  ์ž์›ใ…‡๋ฅด ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๊ธฐํ•˜..

ํ”„๋กœํ† ์ฝœ๊ณผ TCP/IP

ํ”„๋กœํ† ์ฝœ์ด๋ž€? ํ”„๋กœํ† ์ฝœ์€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ๊ธฐ๋“ค ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์›ํ™œํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ‘œ์ค€ํ™”์‹œ์ผœ ๋†“์€ ํ†ต์‹  ๊ทœ์•ฝ์ด๋‹ค. ํ”„๋กœํ† ์ฝœ์˜ ๊ธฐ๋ณธ ์š”์†Œ ๊ตฌ๋ฌธ(Syntax) ์ „์†กํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹, ๋ถ€ํ˜ธํ™”, ์‹ ํ˜ธ ๋ ˆ๋ฒจ ๋“ฑ์„ ๊ทœ์ • ์˜๋ฏธ(Semantics) ๋‘ ๊ธฐ๊ธฐ ๊ฐ„์˜ ํšจ์œจ์ ์ด๊ณ  ์ •ํ™•ํ•œ ์ •๋ณด ์ „์†ก์„ ์œ„ํ•œ ํ˜‘์กฐ ์‚ฌํ•ญ๊ณผ ์˜ค๋ฅ˜ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ œ์–ด ์ •๋ณด๋ฅผ ๊ทœ์ • ์‹œ๊ฐ„(Timing) ๋‘ ๊ธฐ๊ธฐ ๊ฐ„์˜ ํ†ต์‹  ์†๋„, ๋ฉ”์‹œ์ง€์˜ ์ˆœ์„œ ์ œ์–ด ๋“ฑ์„ ๊ทœ์ • ํ”„๋กœํ† ์ฝœ์˜ ๊ธฐ๋Šฅ ๋‹จํŽธํ™”(Fragmentation)์™€ ์žฌํ•ฉ์„ฑ(Assembly) ๋‹จํŽธํ™” : ์†ก์‹  ์ธก์—์„œ๋Š” ๊ธด ๋ฐ์ดํ„ฐ ๋ธ”๋ก์„ ์†์‰ฝ๊ฒŒ ์ „์†กํ•  ์ˆ˜ ์žˆ๋„๋ก ํฌ๊ธฐ๊ฐ€ ๋˜‘๊ฐ™์€ ์ž‘์€ ๋ธ”๋ก์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ „์†ก ์žฌํ•ฉ์„ฑ : ์ˆ˜์‹  ์ธก์—์„œ ์ชผ๊ฐœ์ง„ ์ž‘์€ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์„ ์žฌํ•ฉ์„ฑํ•˜์—ฌ ์›๋ž˜์˜ ๋ฉ”์‹œ์ง€๋กœ ๋ณต์›ํ•˜๋Š” ๊ธฐ๋Šฅ ์บก์Šํ™”(E..

OSI(Open System Interconnection) ์ฐธ์กฐ ๋ชจ๋ธ

OSI ์ฐธ์กฐ ๋ชจ๋ธ์€ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์›ํ™œํ•œ ํ†ต์‹ ์„ ์œ„ํ•ด ISO(๊ตญ์ œํ‘œ์ค€ํ™”๊ธฐ๊ตฌ)์—์„œ ์ œ์•ˆํ•œ ํ†ต์‹  ๊ทœ์•ฝ์œผ๋กœ 1~3 ๊ณ„์ธต์„ ํ•˜์œ„, 4~7 ๊ณ„์ธต์„ ์ƒ์œ„ ๊ณ„์ธต์ด๋ผ๊ณ  ํ•œ๋‹ค. ํ•˜์œ„ ๊ณ„์ธต ๋ฌผ๋ฆฌ ๊ณ„์ธต, ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต, ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ์ƒ์œ„ ๊ณ„์ธต ์ „์†ก ๊ณ„์ธต, ์„ธ์…˜ ๊ณ„์ธต, ํ‘œํ˜„ ๊ณ„์ธต, ์‘์šฉ ๊ณ„์ธต OSI ์ฐธ์กฐ ๋ชจ๋ธ์˜ ๋ชฉ์  ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์ƒํ˜ธ ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋…์„ ๊ทœ์ • OSI ๊ทœ๊ฒฉ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๋ฒ”์œ„ ๊ทœ์ •์˜ ์ ํ•ฉ์„ฑ์„ ์กฐ์ ˆํ•˜๊ธฐ ์œ„ํ•œ ๊ณตํ†ต์  ๊ธฐ๋ฐ˜์„ ์ œ๊ณต OSI ์ฐธ์กฐ ๋ชจ๋ธ์—์„œ์˜ ๋ฐ์ดํ„ฐ ๋‹จ์œ„ ํ”„๋กœํ† ์ฝœ ๋ฐ์ดํ„ฐ ๋‹จ์œ„(PDU: Protocol Data Unit) ๋™์ผ ๊ณ„์ธต ๊ฐ„์— ๊ตํ™˜๋˜๋Š” ์ •๋ณด์˜ ๋‹จ์œ„ ๋ฌผ๋ฆฌ ๊ณ„์ธต : ๋น„ํŠธ ๋ฐ์ดํ„ฐ ๋งํฌ ๊ณ„์ธต : ํ”„๋ ˆ์ž„ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต : ํŒจํ‚ท ์ „์†ก ๊ณ„์ธต : ์„ธ๊ทธ๋จผํŠธ ์„ธ์…˜, ํ‘œํ˜„, ์‘์šฉ ๊ณ„์ธต : ๋ฉ”์‹œ..

์ธํ„ฐ๋„ท(Internet)

์ธํ„ฐ๋„ท์ด๋ž€? ์ธํ„ฐ๋„ท์ด๋ž€ TCP/IP ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ์ „ ์„ธ๊ณ„ ์ˆ˜๋งŽ์€ ์ปดํ“จํ„ฐ์™€ ๋„คํŠธ์›Œํฌ๋“ค์ด ์—ฐ๊ฒฐ๋œ ๊ด‘๋ฒ”์œ„ํ•œ ์ปดํ“จํ„ฐ ํ†ต์‹ ๋ง์ด๋‹ค. ์ธํ„ฐ๋„ท์€ UNIX๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์ปดํ“จํ„ฐ๋Š” ๊ณ ์œ ํ•œ IP ์ฃผ์†Œ๋ฅผ ๊ฐ–๋Š”๋‹ค. ์ปดํ“จํ„ฐ ๋˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์„œ๋กœ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ธŒ๋ฆฌ์ง€, ๋ผ์šฐํ„ฐ, ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค. IP ์ฃผ์†Œ(Internet Protocol Address) IP ์ฃผ์†Œ๋Š” ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์ปดํ“จํ„ฐ ์ž์›์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ณ ์œ ํ•œ ์ˆ˜๋‹จ์œผ๋กœ ์ˆซ์ž๋กœ 8๋น„ํŠธ์”ฉ 4๋ถ€๋ถ„, ์ด 32๋น„ํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. IP ์ฃผ์†Œ๋Š” ๋„คํŠธ์›Œํฌ ๋ถ€๋ถ„์˜ ๊ธธ์ด์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด A ํด๋ž˜์Šค์—์„œ E ํด๋ž˜์Šค๊นŒ์ง€ ์ด 5๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. A Class ๊ตญ๊ฐ€๋‚˜ ๋Œ€ํ˜• ํ†ต์‹ ๋ง์— ์‚ฌ์šฉ(0 ~ 127๋กœ ์‹œ์ž‘) 2^24๊ฐœ์˜ ํ˜ธ์ŠคํŠธ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ..