๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ๐ŸŒฎ ๐Ÿ’ฌ
๐Ÿ“œ ์ž๊ฒฉ์ฆ/์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ

2022๋…„ 1ํšŒ์ฐจ ํ•„๊ธฐ ๊ธฐ์ถœ๋ฌธ์ œ ํ’€์ด

by ๋ฐ”์ฟ„๋ฆฌ 2025. 2. 5.

 

4. ์ƒ์† Inheritance

- ๊ฐ์ฒด์ง€ํ–ฅ ๊ธฐ๋ฒ•์—์„œ ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ์™€ ์†์„ฑ์„ ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ๋ฌผ๋ ค๋ฐ›๋Š” ๊ฒƒ์„ ์˜๋ฏธ

 

โœ… ์ถ”์ƒํ™” Abstraction

- ๋ถˆํ•„์š”ํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์ˆจ๊ธฐ๊ณ , ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋…

- ์‚ฌ์šฉ์ž๋Š” ๋‚ด๋ถ€ ๊ตฌํ˜„์„ ๋ชฐ๋ผ๋„ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ

 

โœ… ๋‹คํ˜•์„ฑ Polymorphism

- ๊ฐ™์€ ์ธํ„ฐํŽ˜์ด์Šค(๋ฉ”์„œ๋“œ, ์—ฐ์‚ฐ์ž ๋“ฑ)๋ฅผ ์—ฌ๋Ÿฌ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ

- ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋‚˜ ํ•จ์ˆ˜๊ฐ€ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๋กœ ๋™์ž‘ ๊ฐ€๋Šฅ

 

โœ… ์บก์Аํ™” Encapsulation

- ๊ฐ์ฒด์˜ ๋ฐ์ดํ„ฐ(์†์„ฑ)์™€ ๋ฉ”์„œ๋“œ๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ๊ณ , ์ง์ ‘์ ์ธ ์ ‘๊ทผ์„ ์ œํ•œํ•˜๋Š” ๊ธฐ๋ฒ•

- ๋ฐ์ดํ„ฐ๋ฅผ ์ˆจ๊ธฑ(private), getter/setter ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ

 

5. ํ•˜ํ–ฅ์‹ vs ์ƒํ–ฅ์‹ ์„ค๊ณ„

๋น„๊ต ํ•ญ๋ชฉ ํ•˜ํ–ฅ์‹(Top-Down) ์„ค๊ณ„ ์ƒํ–ฅ์‹(Bottom-Up) ์„ค๊ณ„
์„ค๊ณ„ ๋ฐฉ์‹ ์ „์ฒด ์‹œ์Šคํ…œ → ์„ธ๋ถ€ ๋ชจ๋“ˆ ์ž‘์€ ๋ชจ๋“ˆ → ์ „์ฒด ์‹œ์Šคํ…œ
์ง„ํ–‰ ์ˆœ์„œ ๊ฐœ๋…์ ์ธ ์„ค๊ณ„ ํ›„, ์„ธ๋ถ€ ์„ค๊ณ„ ์ง„ํ–‰ ๋…๋ฆฝ์ ์ธ ๋ชจ๋“ˆ์„ ๋จผ์ € ๊ฐœ๋ฐœ ํ›„ ํ†ตํ•ฉ
๊ฐœ๋ฐœ ์†๋„ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ์†๋„ ๋А๋ฆผ (์„ค๊ณ„ ์™„๋ฃŒ ํ›„ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ) ๋น ๋ฅธ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ (๋ชจ๋“ˆ ๋‹จ์œ„๋กœ ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ)
์š”๊ตฌ ์‚ฌํ•ญ ๋ณ€๊ฒฝ ์š”๊ตฌ ์‚ฌํ•ญ ๋ณ€๊ฒฝ ์‹œ ํฐ ์ˆ˜์ •์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Œ ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ ๊ฐ€๋Šฅ
์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ ์ƒ๋Œ€์ ์œผ๋กœ ๋‚ฎ์Œ ๋†’์Œ (๋ชจ๋“ˆ ๋‹จ์œ„๋กœ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
ํ…Œ์ŠคํŠธ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์ „์ฒด ์„ค๊ณ„ ํ›„ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ ๋ชจ๋“ˆ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅ
์ ์šฉ ์˜ˆ์‹œ ์šด์˜์ฒด์ œ, ๋Œ€ํ˜• ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฐœ๋ฐœ, API ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ
์–ด๋–ค ๊ฒฝ์šฐ์— ์ข‹์„๊นŒ - ๋ช…ํ™•ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ์ „์ฒด์ ์ธ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ์ค‘์š”ํ•œ ํ”„๋กœ์ ํŠธ
- ๋Œ€ํ˜• ํ”„๋กœ์ ํŠธ, ๊ธฐ์—… ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ, ์šด์˜์ฒด์ œ ๊ฐœ๋ฐœ ๋“ฑ
- ์ž‘์€ ๋ชจ๋“ˆ์„ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๊ณ  ์กฐํ•ฉํ•˜๋Š” ๊ฒฝ์šฐ
- ๊ธฐ์กด ๋ชจ๋“ˆ์„ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ (๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, API ๊ฐœ๋ฐœ)
- ์—ฐ๊ตฌ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ, ๋น ๋ฅด๊ฒŒ ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

 

โœ… ์ •๋ฆฌํ•˜๋ฉด

ํ•˜ํ–ฅ์‹ ์„ค๊ณ„๋Š” ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ๋จผ์ € ์ •์˜ํ•˜๊ณ  ์„ธ๋ถ€์ ์œผ๋กœ ์„ค๊ณ„ํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์— ์ ํ•ฉํ•˜์ง€๋งŒ, ์ดˆ๊ธฐ ์„ค๊ณ„ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.

์ƒํ–ฅ์‹ ์„ค๊ณ„๋Š” ์ž‘์€ ๋ชจ๋“ˆ์„ ๋จผ์ € ๊ฐœ๋ฐœํ•˜๊ณ  ์กฐํ•ฉํ•˜๋Š” ๋ฐฉ์‹์ด๋ผ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ฒ˜์Œ์—๋Š” ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๊ฐ€ ๋ถˆ๋ช…ํ™•ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

6. ์ž๋ฃŒํ๋ฆ„๋„ DFD์˜ ๊ฐ ์š”์†Œ๋ณ„ ํ‘œ๊ธฐ

- ์™ธ๋ถ€ ๊ฐœ์ฒด External Entity = Terminator → ์‚ฌ๊ฐํ˜•

- ํ”„๋กœ์„ธ์Šค Process → ์› ๋˜๋Š” ์ง์‚ฌ๊ฐํ˜•

- ์ž๋ฃŒ ์ €์žฅ์†Œ Data Store → ๋‘ ๊ฐœ์˜ ํ‰ํ–‰์„ 

- ์ž๋ฃŒ ํ๋ฆ„ Data Flow → ํ™”์‚ดํ‘œ

 

8. UML

๊ฐ์ฒด ์ง€ํ–ฅ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์‚ฐ์ถœ๋ฌผ์„ ๋ช…์„ธํ™”, ์‹œ๊ฐํ™”, ๋ฌธ์„œํ™”ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

์ฆ‰, ๊ฐœ๋ฐœํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜์—ฌ ๋ถ„์„๊ฐ€, ์˜๋ขฐ์ธ, ์„ค๊ณ„์ž๊ฐ€ ํšจ์œจ์ ์ธ ์˜์‚ฌ์†Œํ†ต์„ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์ด๋‚˜ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋‹ˆ๋ผ ํ‘œ์ค€ํ™”๋œ ๋ชจ๋ธ๋ง ์–ธ์–ด์ด๋‹ค.

 

๐Ÿ“Œ UML์˜ ์ฃผ์š” ํŠน์ง•

โœ… ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ์‹œ๊ฐํ™” → ์‹œ์Šคํ…œ์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์คŒ
โœ… ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„๋ฅผ ์ง€์› → ํด๋ž˜์Šค, ๊ฐ์ฒด, ์ƒ์†, ๋‹คํ˜•์„ฑ ๋“ฑ์„ ๋ชจ๋ธ๋ง
โœ… ํ‘œ์ค€ํ™”๋œ ๋ชจ๋ธ๋ง ์–ธ์–ด → ํŒ€ ๊ฐ„ ์˜์‚ฌ์†Œํ†ต์„ ์›ํ™œํ•˜๊ฒŒ ํ•จ
โœ… ์‹œ์Šคํ…œ ๊ตฌ์กฐ(์ •์ )์™€ ๋™์ž‘(๋™์ ) ํ‘œํ˜„ ๊ฐ€๋Šฅ

 

1๏ธโƒฃ ์ •์  ๋‹ค์ด์–ด๊ทธ๋žจ (Structural Diagram): ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐ(ํด๋ž˜์Šค, ๊ฐ์ฒด ๊ด€๊ณ„ ๋“ฑ)๋ฅผ ํ‘œํ˜„

๋‹ค์ด์–ด๊ทธ๋žจ ์ข…๋ฅ˜ ์„ค๋ช…
ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ ํด๋ž˜์Šค, ์†์„ฑ, ๋ฉ”์„œ๋“œ, ๊ด€๊ณ„(์ƒ์†, ์—ฐ๊ด€ ๋“ฑ) ํ‘œํ˜„
๊ฐ์ฒด ๋‹ค์ด์–ด๊ทธ๋žจ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠน์ • ๊ฐ์ฒด์˜ ์ƒํƒœ ํ‘œํ˜„
์ปดํฌ๋„ŒํŠธ ๋‹ค์ด์–ด๊ทธ๋žจ ์‹œ์Šคํ…œ์˜ ๊ตฌ์„ฑ ์š”์†Œ(๋ชจ๋“ˆ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ) ํ‘œํ˜„
๋ฐฐํฌ ๋‹ค์ด์–ด๊ทธ๋žจ ํ•˜๋“œ์›จ์–ด ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฐํฌ ๊ตฌ์กฐ ํ‘œํ˜„

 

2๏ธโƒฃ ๋™์  ๋‹ค์ด์–ด๊ทธ๋žจ (Behavioral Diagram): ์‹œ์Šคํ…œ์˜ ๋™์ž‘(ํ”„๋กœ์„ธ์Šค, ํ๋ฆ„, ์ƒํ˜ธ์ž‘์šฉ ๋“ฑ)์„ ํ‘œํ˜„

๋‹ค์ด์–ด๊ทธ๋žจ ์ข…๋ฅ˜ ์„ค๋ช…
์œ ์Šค์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ ์‚ฌ์šฉ์ž์˜ ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ ํ‘œํ˜„ (์‚ฌ์šฉ์ž์™€ ์‹œ์Šคํ…œ ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ)
์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ ๊ฐ์ฒด ๊ฐ„ ๋ฉ”์‹œ์ง€ ๊ตํ™˜ ์ˆœ์„œ๋ฅผ ํ‘œํ˜„
ํ™œ๋™ ๋‹ค์ด์–ด๊ทธ๋žจ ํ”„๋กœ์„ธ์Šค์˜ ํ๋ฆ„(์กฐ๊ฑด, ๋ถ„๊ธฐ, ๋ฐ˜๋ณต ๋“ฑ) ํ‘œํ˜„
์ƒํƒœ ๋‹ค์ด์–ด๊ทธ๋žจ ๊ฐ์ฒด์˜ ์ƒํƒœ ๋ณ€ํ™”์™€ ํŠธ๋žœ์ง€์…˜(์ „์ด) ํ‘œํ˜„

 

15. ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ๊ณผ์ •

1๏ธโƒฃ ์„ค๊ณ„ ๋ชฉํ‘œ ์„ค์ •
→ ์•„ํ‚คํ…์ฒ˜์˜ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ๋ชฉํ‘œ(์„ฑ๋Šฅ, ํ™•์žฅ์„ฑ, ๋ณด์•ˆ ๋“ฑ)๋ฅผ ์ •์˜

2๏ธโƒฃ ์‹œ์Šคํ…œ ํƒ€์ž… ๊ฒฐ์ •
→ ์‹œ์Šคํ…œ ์œ ํ˜•(์˜ˆ: ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„, ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ๋“ฑ)์„ ๊ฒฐ์ •

3๏ธโƒฃ ์Šคํƒ€์ผ ์ ์šฉ ๋ฐ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ
→ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ(์˜ˆ: ๊ณ„์ธตํ˜•, ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋“ฑ) ์ ์šฉ ๋ฐ ์กฐ์ •

4๏ธโƒฃ ์„œ๋ธŒ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ, ์ธํ„ฐํŽ˜์ด์Šค ๋™์ž‘ ์ž‘์„ฑ
→ ์„œ๋ธŒ์‹œ์Šคํ…œ์„ ๋‚˜๋ˆ„๊ณ , ๊ฐ ๋ชจ๋“ˆ์˜ ๊ธฐ๋Šฅ๊ณผ ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜

5๏ธโƒฃ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ๊ฒ€ํ† 
→ ์„ค๊ณ„๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ๊ฒ€ํ† ํ•˜๊ณ  ๊ฐœ์„ 

 

19. FEP (Front-End Processor)

์ž…๋ ฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ปดํ“จํ„ฐ์˜ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ์ฒ˜๋ฆฌํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ์ค„์—ฌ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ํ•˜๋“œ์›จ์–ด๋ฅผ ๋งํ•จ

โœ… EAI (Enterprise Application Integration): ๊ธฐ์—… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ†ตํ•ฉ → ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ์™€ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ๊ธฐ์ˆ 

โœ… GPL (General Public License): ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด์„ ์Šค → ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ผ์ด์„ ์Šค ์œ ํ˜•

โœ… Duplexing: ์ด์ค‘ํ™” → ์‹œ์Šคํ…œ ์žฅ์•  ๋Œ€๋น„๋ฅผ ์œ„ํ•ด ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œํ•˜์—ฌ ๋ฐฑ์—…ํ•˜๋Š” ๊ธฐ์ˆ 

 

26. ์ •ํ˜• ๊ธฐ์ˆ  ๊ฒ€ํ†  (FTR, Formal Technical Review) ์ง€์นจ

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ์ฝ”๋“œ, ์„ค๊ณ„, ์š”๊ตฌ์‚ฌํ•ญ, ๋ฌธ์„œ ๋“ฑ์˜ ๊ฒฐํ•จ์„ ์กฐ๊ธฐ์— ๋ฐœ๊ฒฌํ•˜๊ณ  ํ’ˆ์งˆ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณต์‹์ ์ธ ๊ฒ€ํ†  ํ™œ๋™

 

1๏ธโƒฃ ์ตœ์†Œ ์ธ์›์œผ๋กœ ์ง„ํ–‰: 3~5๋ช…

2๏ธโƒฃ ์‚ฌ์ „ ์ค€๋น„ ์ฒ ์ €

3๏ธโƒฃ ํšŒ์˜ ์‹œ๊ฐ„ ์ œํ•œ: 2์‹œ๊ฐ„์„ ๋„˜์ง€ ์•Š๋„๋ก ํ•˜์—ฌ ์ง‘์ค‘๋„๋ฅผ ์œ ์ง€

4๏ธโƒฃ ๋ช…ํ™•ํ•œ ์—ญํ•  ๋ถ„๋‹ด

5๏ธโƒฃ ๋ฌธ์ œ ์‹๋ณ„์— ์ดˆ์ : ๋น„ํŒ๋ณด๋‹ค๋Š” ๊ฒฐํ•จ์„ ์ฐพ๊ณ  ๊ฐœ์„ ํ•˜๋Š”๋ฐ ์ดˆ์ 

6๏ธโƒฃ ๋ช…ํ™•ํ•œ ๊ฒ€ํ†  ๊ธฐ์ค€ ์„ค์ •

7๏ธโƒฃ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๊ฒฐ๊ณผ ๋„์ถœ

8๏ธโƒฃ ๋ฌธ์„œํ™” ์ฒ ์ €

9๏ธโƒฃ ํ”ผ๋“œ๋ฐฑ์„ ๋น ๋ฅด๊ฒŒ ๋ฐ˜์˜

๐Ÿ”Ÿ ์ง€์†์„์ธ ๊ฐœ์„ 

 

34. NS Chart (Nassi-Shneiderman Chart)

ํ”„๋กœ๊ทธ๋žจ์˜ ๋…ผ๋ฆฌ์  ํ๋ฆ„์„ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ์ˆœ์ฐจ์  ๊ตฌ์กฐ ์ฐจํŠธ

์ด ์ฐจํŠธ๋Š” ์ˆœ์ฐจ, ์„ ํƒ, ๋ฐ˜๋ณต ๊ตฌ์กฐ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์–ด ๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์„ค๊ณ„ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•˜๋‹ค.

- ํ๋ฆ„๋„๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์  ๋‹ค์ด์–ด๊ทธ๋žจ

- Goto ๋ฌธ ์—†์ด ์ˆœ์ฐจ์  ํ๋ฆ„์„ ํ‘œํ˜„ (๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋… ์ ์šฉ)

- ํ”„๋กœ์„ธ์Šค์˜ ๋ชจ๋“ˆํ™”, ์žฌ์‚ฌ์šฉ์„ฑ ์ฆ๊ฐ€

- ์ˆœ์ฐจ(Sequence), ์„ ํƒ(Selection), ๋ฐ˜๋ณต(Iteration) ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑ๋จ

 

49. ๊ด€๊ณ„๋Œ€์ˆ˜

๊ธฐํ˜ธ ์˜๋ฏธ
σ (์‹œ๊ทธ๋งˆ, Selection) ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํŠœํ”Œ(ํ–‰) ์„ ํƒ
π (ํŒŒ์ด, Projection) ํŠน์ • ์†์„ฑ(์—ด)๋งŒ ์„ ํƒ
ρ (๋กœ, Rename) ํ…Œ์ด๋ธ” ๋˜๋Š” ์†์„ฑ ์ด๋ฆ„ ๋ณ€๊ฒฝ
× (Cartesian Product) ๋‘ ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๋ฐ์นด๋ฅดํŠธ ๊ณฑ ์ˆ˜ํ–‰
โจ (Join) ๋‘ ํ…Œ์ด๋ธ”์„ ํŠน์ • ์กฐ๊ฑด์œผ๋กœ ์กฐ์ธ

 

์˜ˆ:

SELECT ์ด๋ฆ„ FROM ํ•™์ƒ WHERE ํ•™๊ณผ = '๊ต์œก';
π ์ด๋ฆ„ (σ ํ•™๊ณผ='๊ต์œก' (ํ•™์ƒ))

 

60. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ‘ํ–‰์ œ์–ด(Concurrency Control) ๋ชฉ์ 

์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์‹คํ–‰๋  ๋•Œ, ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ๊ณผ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฒ•

- ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ(Consistency) ์œ ์ง€

- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฌด๊ฒฐ์„ฑ(Integrity) ๋ณด์žฅ

- ๊ฐฑ์‹  ์†์‹ค(Lost Update) ๋ฐฉ์ง€

- ๋ชจ์ˆœ๋œ ๋ฐ์ดํ„ฐ(Temporary Inconsistency) ๋ฐฉ์ง€

- ์—ฐ์‡„ ๋ณต๊ท€(Cascading Rollback) ๋ฐฉ์ง€

- ๊ต์ฐฉ ์ƒํƒœ(Deadlock) ๋ฐฉ์ง€

- ์‹œ์Šคํ…œ ์„ฑ๋Šฅ(Throughput) ์ตœ์ ํ™”

 

61. IPv4 vs IPv6

ํ•ญ๋ชฉ IPv4 IPv6
ํ—ค๋” ํฌ๊ธฐ ๊ฐ€๋ณ€์  (20~60๋ฐ”์ดํŠธ) ๊ณ ์ • 40๋ฐ”์ดํŠธ
์ฃผ์†Œ ๊ธธ์ด 32๋น„ํŠธ 128๋น„ํŠธ
์˜ต์…˜ ํ•„๋“œ ์กด์žฌ ํ™•์žฅ ํ—ค๋”๋กœ ๋Œ€์ฒด
์ฃผ์†Œ ํ‘œ์‹œ ๋ฐฉ๋ฒ• 8๋น„ํŠธ์”ฉ 4๋ถ€๋ถ„์˜ 10์ง„์ˆ˜ (192.168.0.1) 16๋น„ํŠธ์”ฉ 8๋ถ€๋ถ„์˜ 16์ง„์ˆ˜ (2001:db8::1)
์ฃผ์†Œ ๊ตฌ๋ถ„ ๊ธฐํ˜ธ . (์ ) ์‚ฌ์šฉ : (์ฝœ๋ก ) ์‚ฌ์šฉ

 

67. ICMP (Internet Control Message Protocol, ์ธํ„ฐ๋„ท ์ œ์–ด ๋ฉ”์‹œ์ง€ ํ”„๋กœํ† ์ฝœ)

- IP(Internet Protocol)์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ด๋ฅผ ์•Œ๋ฆฌ๋Š” ํ”„๋กœํ† ์ฝœ
- TCP/IP ๋„คํŠธ์›Œํฌ ๊ณ„์ธต(Network Layer)์—์„œ ๋™์ž‘
- ์ฃผ๋กœ ๋„คํŠธ์›Œํฌ ๋ฌธ์ œ ์ง„๋‹จ ๋ฐ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ์— ์‚ฌ์šฉ๋จ

- ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์—์„œ ๋™์ž‘ํ•˜๋ฉฐ, ping, traceroute ๊ฐ™์€ ๋ช…๋ น์–ด์—์„œ ํ™œ์šฉ๋จ

 

83. Switching Jamming

๋„คํฌ์›Œํฌ ์Šค์œ„์น˜(switch)์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋น„์ •์ƒ์ ์ธ ์ƒํ™ฉ

์Šค์œ„์น˜๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ํฌ์›Œ๋”ฉ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ๋ชปํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ์ด ๊ณผ๋„ํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ์ถฉ๋Œ์ด ์ƒ๊ธฐ๋Š” ์ƒํƒœ

 

88. Smurf ๊ณต๊ฒฉ

๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ(Broadcast) ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ์— ๊ณผ๋ถ€ํ•˜๋ฅผ ์œ ๋ฐœํ•˜๋Š” ๊ณต๊ฒฉ

ICMP(Internet Control Message Protocol) ์š”์ฒญ์„ ์•…์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ์„ ์†Œ์ง„์‹œํ‚ค๋Š” DDoS(Distributed Denial-of-Service) ๊ณต๊ฒฉ

โœ” ๊ณต๊ฒฉ์ž๋Š” ๊ณต๊ฒฉ ๋Œ€์ƒ(ํฌ์ƒ์ž)์˜ IP ์ฃผ์†Œ๋ฅผ ์Šคํ‘ธํ•‘(Spoofing)ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ์˜ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์ฃผ์†Œ๋กœ ๋Œ€๋Ÿ‰์˜ ICMP Echo Request(ping) ํŒจํ‚ท์„ ์ „์†ก
โœ” ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ๋œ ์š”์ฒญ์„ ๋ฐ›์€ ๋„คํŠธ์›Œํฌ ๋‚ด ๋ชจ๋“  ์‹œ์Šคํ…œ์ด ๊ณต๊ฒฉ ๋Œ€์ƒ์—๊ฒŒ ์‘๋‹ต(Echo Reply) ํ•˜์—ฌ ๋Œ€๋Ÿ‰์˜ ํŠธ๋ž˜ํ”ฝ์ด ๋ฐœ์ƒ
โœ” ๋„คํŠธ์›Œํฌ์™€ ๊ณต๊ฒฉ ๋Œ€์ƒ ์„œ๋ฒ„๋Š” ๊ฐ๋‹นํ•  ์ˆ˜ ์—†๋Š” ์ˆ˜์ค€์˜ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐ›์•„ ๊ณผ๋ถ€ํ•˜(DoS) ์ƒํƒœ์— ๋น ์ง

 

96. umask

๋ฆฌ๋ˆ…์Šค์—์„œ ํŒŒ์ผ์ด ์ƒ์„ฑ๋  ๋•Œ ๊ธฐ๋ณธ ๊ถŒํ•œ์€ umask ๊ฐ’์— ์˜ํ•ด ๊ฒฐ์ •๋œ๋‹ค.

1๏ธโƒฃ ๋ฆฌ๋ˆ…์Šค์—์„œ ํŒŒ์ผ์„ ์ƒ์„ฑํ•  ๋•Œ, ๊ธฐ๋ณธ ํผ๋ฏธ์…˜(๊ถŒํ•œ)์€ 666์ด๋‹ค.

- ํŒŒ์ผ: 666 (rw-rw-rw-)

- ๋””๋ ‰ํ„ฐ๋ฆฌ: 777 (rwxrwxrwx)

2๏ธโƒฃ ํŒŒ์ผ ์ƒ์„ฑ ๊ถŒํ•œ์ด 644์ผ ๊ฒฝ์šฐ

๊ธฐ๋ณธ ํŒŒ์ผ ๊ถŒํ•œ 666์—์„œ umask ๊ฐ’์„ ๋นผ๋ฉด ์ตœ์ข… ํŒŒ์ผ ๊ถŒํ•œ(644)์ด ๋‚˜์™€์•ผ ํ•œ๋‹ค.

์ฆ‰, 666 - 644 = 022
๊ฒฐ๊ณผ์ ์œผ๋กœ umask ๊ฐ’์€ 022.

 

97. wtmp

- ๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ์ž์˜ ์„ฑ๊ณตํ•œ ๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ ์ •๋ณด๊ธฐ๋ก

- ์‹œ์Šคํ…œ์˜ ์ข…๋ฃŒ/์‹œ์ž‘ ์‹œ๊ฐ„ ๊ธฐ๋ก

 

๐Ÿ“Œ ์ฃผ์š” ๋กœ๊ทธ ํŒŒ์ผ

๋กœ๊ทธ ํŒŒ์ผ ์„ค๋ช…
/var/log/wtmp ์„ฑ๊ณตํ•œ ๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋ก ๋ฐ ์‹œ์Šคํ…œ ์‹œ์ž‘/์ข…๋ฃŒ ์‹œ๊ฐ„ ์ €์žฅ
/var/log/btmp ์‹คํŒจํ•œ ๋กœ๊ทธ์ธ ์‹œ๋„ ๊ธฐ๋ก
/var/run/utmp ํ˜„์žฌ ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž ์ •๋ณด ์ €์žฅ
/var/log/lastlog ์‚ฌ์šฉ์ž์˜ ๋งˆ์ง€๋ง‰ ๋กœ๊ทธ์ธ ์ •๋ณด ์ €์žฅ