๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] ์‹ค๊ธฐ _ ์ถœ์ œ ์˜ˆ์ƒ ๊ฐœ๋… ์ „์ฒด ์š”์  ์ •๋ฆฌ 3

๋ฐ˜์‘ํ˜•

* 2020๋…„ 1~4ํšŒ ๊ธฐ์ถœ๋ฌธ์ œ ๋ฐ ํ•„๊ธฐ ๋ฌธ์ œ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถœ์ œ ์˜ˆ์ƒ ๊ฐœ๋… ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

โœ‹ 21. XML (eXtensible Markup Language)

: ์›น๋ธŒ๋ผ์šฐ์ € ๊ฐ„ HTML ๋ฌธ๋ฒ•์ด ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ์™€ SGML์˜ ๋ณต์žกํ•จ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ๋‹ค๋ชฉ์  ๋งˆํฌ์—… ์–ธ์–ด

<?xml version="๋ฒ„์ „" encoding="์–ธ์–ด์…‹" standalone="yes|no"?>

๐Ÿ“ข ๋‹ค์Œ ์„ค๋ช…์— ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ์˜๋ฌธ ์•ฝ์–ด๋กœ ์“ฐ์‹œ์˜ค.

HTML์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•œ ์ธํ„ฐ๋„ท ์–ธ์–ด๋กœ, SGML์˜ ๋ณต์žกํ•œ ๋‹จ์ ์„ ๊ฐœ์„ ํ•œ ๋‹ค๋ชฉ์  ๋งˆํฌ์—… ์–ธ์–ด์ด๋‹ค.

์›น ์ƒ์—์„œ ๊ตฌ์กฐํ™”๋œ ๋ฌธ์„œ๋ฅผ ์ƒํ˜ธ๊ตํ™˜ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„๋œ ์›น ํ‘œ์ค€ ๋ฌธ์„œ ํฌ๋งท์œผ๋กœ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์ •์˜๊ฐ€ ๋ช…ํ™•ํ•˜๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ์ƒˆ๋กœ์šด ํƒœ๊ทธ์™€ ์†์„ฑ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ์„ฑ์„ ๊ฐ€์ง„๋‹ค.

 

๋‹ต : XML

โœ‹ 22. JSON (JavaScript Object Notation)

: ์†์„ฑ - ๊ฐ’ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€ ํฌ๋งท

๐Ÿ‘‰ JSON์€ XML์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ๊ฒƒ์œผ๋กœ, ์‚ฌ๋žŒ์ด ์ฝ๊ธฐ์— ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์กŒ๋‹ค.

 

๐Ÿ“ข ๋‹ค์Œ ์„ค๋ช… ์ค‘ ๋นˆ ์นธ์— ๊ฐ€์žฅ ๋ถ€ํ•ฉํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฌธ ์•ฝ์–ด๋กœ ์“ฐ์‹œ์˜ค.

() ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ „์†กํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ๋Ÿ‰์˜ data ๊ตํ™˜ ํ˜•์‹์ด๋‹ค.

() ํ‘œํ˜„์‹์€ ์‚ฌ๋žŒ๊ณผ ๊ธฐ๊ณ„ ๋ชจ๋‘ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šฐ๋ฉฐ ์†Œ์šฉ๋Ÿ‰์œผ๋กœ ์ตœ๊ทผ์—๋Š” XML์„ ๋Œ€์ฒดํ•ด์„œ ๋ฐ์ดํ„ฐ ์ „์†ก ๋“ฑ์— ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

AJAX์—์„œ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด () ์„ ๋ฐ์ดํ„ฐ ์ „์†ก ํ˜•์‹์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

() ์˜ ๋ฌธ๋ฒ•์€ key์™€ value๊ฐ€ ์Œ์œผ๋กœ ์กด์žฌํ•˜๋ฉฐ ํƒœ๊ทธ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์ค‘๊ด„ํ˜ธ {} ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ํ•˜๊ณ , ๊ฐ’์€ , ๋กœ ๋‚˜์—ดํ•˜๊ธฐ์— ๊ทธ ํ‘œํ˜„์ด ๊ฐ„๋‹จํ•˜๋‹ค.

 

๋‹ต : JSON

โœ‹ 23. AJAX (Asynchronous JavaScript and XML)

: JavaScript๋ฅผ ์ด์šฉํ•œ ๋น„๋™๊ธฐ ํ†ต์‹ ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ XML ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ธฐ์ˆ 

 

๐Ÿ“ข '๋น„๋™๊ธฐ์‹ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ XML' ์„ ์˜๋ฏธํ•˜๋Š” ์šฉ์–ด๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์›น ์„œ๋ฒ„ ๊ฐ„์— XML ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ถ€์ ์œผ๋กœ ํ†ต์‹ ํ•˜๋Š”

๋Œ€ํ™”์‹ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์ž‘์„ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์˜ํ•ด ์›น ์„œ๋ฒ„์—์„œ ๋กœ๋”ฉ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์›น ๋ธŒ๋ผ์šฐ์ €์˜

ํŽ˜์ด์ง€์— ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์›น ํŽ˜์ด์ง€ ์ „์ฒด๋ฅผ '์ƒˆ๋กœ๊ณ ์นจ' ํ•  ํ•„์š” ์—†์ด ์ฆ‰, ์ƒˆ๋กœ์šด HTML ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ํ•„์š” ์—†์ด

ํ˜„์žฌ ํŽ˜์ด์ง€์—์„œ ํ•„์š”ํ•œ ์ผ๋ถ€๋ถ„๋งŒ ๋กœ๋”ฉ๋˜๋„๋ก ํ•˜๋Š” ์›น ๊ฐœ๋ฐœ ๊ธฐ๋ฒ•์„ ์˜๋งˆํ•˜๋Š” ์˜๋ฌธ ์•ฝ์ž(์•ฝ์–ด)๋ฅผ ์“ฐ์‹œ์˜ค.

 

๋‹ต : AJAX

โœ‹ 24. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ค‘ ์„œ๋ฒ„ ํ™˜๊ฒฝ

๐Ÿ‘€ ์„œ๋ฒ„

- ์›น ์„œ๋ฒ„ (Webserver)  : ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์ง์ ‘ ์š”์ฒญ์„ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•˜๋Š” ์„œ๋ฒ„

                                        ๐Ÿ‘‰ ์ €์šฉ๋Ÿ‰์˜ ์ •์  ํŒŒ์ผ๋“ค์„ ์ œ๊ณต

                                        ๐Ÿ‘‰ ex. Apache HTTP Server, Google Web Server

 

- ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ (WAS : Web Application Server)

 : ์‚ฌ์šฉ์ž์—๊ฒŒ ๋™์  ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์›น ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐ›์•„ ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜,

   ์›น ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ ๋˜๋Š” ์›น ์„œ๋ฒ„์™€ ํŒŒ์ผ ์„œ๋ฒ„ ์‚ฌ์ด์—์„œ ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์„œ๋ฒ„

   ๐Ÿ‘‰ ex. Apache Tomcat, Orcale WebLOgic ๋“ฑ

 

- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ (DB Server)

  ๐Ÿ‘‰ ex. Apache Tomcat, Orcale WebLOgic ๋“ฑ

 

- ํŒŒ์ผ ์„œ๋ฒ„ (File Server)

  ๐Ÿ‘‰ ex. AWS S3 ๋“ฑ

โœ‹ 25. ๊ฐœ๋ฐœ ์–ธ์–ด์˜ ์„ ์ • ๊ธฐ์ค€

๐Ÿ“ข ์ ์ •์„ฑ, ํšจ์œจ์„ฑ, ์ด์‹์„ฑ, ์นœ๋ฐ€์„ฑ, ๋ฒ”์šฉ์„ฑ

โœ‹ 26. ๋ชจ๋“ˆ์˜ ๋…๋ฆฝ์„ฑ ์ธก์ •๋ฐฉ๋ฒ•

๐Ÿ“ข ๊ฒฐํ•ฉ๋„ (Coupling): ๋ชจ๋“ˆ ๊ฐ„์— ์ƒํ˜ธ ์˜์กดํ•˜๋Š” ์ •๋„ ๋˜๋Š” ๋‘ ๋ชจ๋“ˆ ์‚ฌ์ด์˜ ์—ฐ๊ด€ ๊ด€๊ณ„๋ฅผ ์˜๋ฏธ

๐Ÿ“ข ์‘์ง‘๋„ (Cohesion): ์ •๋ณด ์€๋‹‰ ๊ฐœ๋…์„ ํ™•์žฅํ•œ ๊ฒƒ, ๋ช…๋ น์–ด๋‚˜ ํ˜ธ์ถœ๋ฌธ ๋“ฑ ๋ชจ๋“ˆ์˜ ๋‚ด๋ถ€ ์š”์†Œ๋“ค์˜ ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š” ์ •๋„

                                      (๋ชจ๋“ˆ์ด ๋…๋ฆฝ์ ์ธ ๊ธฐ๋Šฅ์œผ๋กœ ์ •์˜๋˜์–ด ์žˆ๋Š” ์ •๋„๋ฅผ ์˜๋ฏธ)

 

๐Ÿ’ก ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋ช‡ ๊ฐœ์˜ ์ž‘์€ ๋ถ€๋ถ„์œผ๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ฒฝ์šฐ ๊ทธ ๋ถ„ํ•  ๋‹จ์œ„๋ฅผ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“ˆ (Module) ์ด๋ผ ํ•œ๋‹ค. ๋‹ค์Œ ์ค‘ ๋ฐ”๋žŒ์งํ•œ ๋ชจ๋“ˆ์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ๋นˆ์นธ (1), (2)์— ์•Œ๋งž์€ ์šฉ์–ด๋ฅผ ์“ฐ์‹œ์˜ค.

๋ชจ๋“ˆํ™”๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ๋ฐฉ๋ฒ•์—์„œ๋Š” ๋ชจ๋“ˆ์˜ ๋…๋ฆฝ์„ฑ์„ ๋†’๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹์€ ์„ค๊ณ„ ๋ฐฉํ–ฅ์ด๋‹ค. ๋ชจ๋“ˆ์˜ ๋…๋ฆฝ์„ฑ์„ ๋†’์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ ๋ชจ๋“ˆ ๊ฐ„์˜ ๊ด€๋ จ์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” (1) ์€ ๋‚ฎ์ถ”๊ณ , ๋ชจ๋“ˆ ์•ˆ์— ์š”์†Œ๋“ค์ด ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š” ์ •๋„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” (2) ๋Š” ๋†’์ด๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ๋ฐ”๋žŒ์งํ•˜๋‹ค.

 

๋‹ต : (1) ๊ฒฐํ•ฉ๋„  (2) ์‘์ง‘๋„

โœ‹ 27. ๊ฒฐํ•ฉ๋„์˜ ์ข…๋ฅ˜

๐ŸŽ“ ๋‚ด ๊ณต ์™ธ ์ œ ์Šค ๋ฐ ('๋‚ด์šฉ ๊ฒฐํ•ฉ๋„' ๊ฐ€ ๊ฐ€์žฅ ๊ฐ•ํ•จ)

์ž๋ฃŒ ๊ฒฐํ•ฉ๋„ (Data Coupling) - ์Šคํƒฌํ”„ ๊ฒฐํ•ฉ๋„ (Stamp Coupling) - ์ œ์–ด ๊ฒฐํ•ฉ๋„ (Control Coupling)

- ์™ธ๋ถ€ ๊ฒฐํ•ฉ๋„ (External Coupling) - ๊ณตํ†ต ๊ฒฐํ•ฉ๋„ (Common Coupling) - ๋‚ด์šฉ ๊ฒฐํ•ฉ๋„ (Content Coupling)

๊ฒฐํ•ฉ๋„์˜ ์ข…๋ฅ˜

โœ‹ 28. ์‘์ง‘๋„์˜ ์ข…๋ฅ˜

๐ŸŽ“ ์šฐ ๋…ผ ์‹œ ์ ˆ  ํ†ต ์ˆœ ๊ธฐ ('์šฐ์—ฐ์  ์‘์ง‘๋„' ๊ฐ€ ๊ฐ€์žฅ ์•ฝํ•จ)

๊ธฐ๋Šฅ์  ์‘์ง‘๋„ (Functional Cohesion) - ์ˆœ์ฐจ์  ์‘์ง‘๋„ (Sequential Cohesion) - ํ†ต์‹ ์  ์‘์ง‘๋„ (Communication Cohesion) - ์ ˆ์ฐจ์  ์‘์ง‘๋„ (Procedural Cohesion) - ์‹œ๊ฐ„์  ์‘์ง‘๋„ (Temporal Cohesion) - ๋…ผ๋ฆฌ์  ์‘์ง‘๋„ (Logical Cohesion)

- ์šฐ์—ฐ์  ์‘์ง‘๋„ (Coincidental Cohesion)

์‘์ง‘๋„์˜ ์ข…๋ฅ˜

โœ‹ 29. ํŒฌ์ธ (Fan-In) / ํŒฌ์•„์›ƒ (Fan-Out)

ํŒฌ์ธ (Fan-In)         :  ์ž์‹ ์„ ํ˜ธ์ถœํ•˜๋Š” ๋ชจ๋“ˆ์˜ ์ˆ˜

ํŒฌ์•„์›ƒ (Fan-Out)  :  ์ž์‹ ์ด ํ˜ธ์ถœํ•˜๋Š” ๋ชจ๋“ˆ์˜ ์ˆ˜

 

๐Ÿ“ข ๋‹ค์Œ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ตฌ์กฐ์—์„œ Fan-in์˜ ์ˆ˜๊ฐ€ 2 ์ด์ƒ์ธ ๋ชจ๋“ˆ์˜ ์ด๋ฆ„์„ ์“ฐ์‹œ์˜ค.

๋‹ต  :  F, H

๋ฐ˜์‘ํ˜•