πŸ“Certificate/Engineer Information Processing

[μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬] μ‹€κΈ° 이둠 문제 (7)

Sun A 2024. 10. 5. 22:06

61. λΆ„μ‚° μ»΄ν“¨νŒ… 기술 기반의 데이터 μœ„λ³€μ‘° λ°©μ§€ 기술둜 P2P방식을 기반으둜 ν•˜μ—¬ μ†Œκ·œλͺ¨ 데이터듀이 μ—°κ²°λ˜μ–΄ ν˜•μ„±λœ '블둝'μ΄λΌλŠ” λΆ„μ‚° 데이터 μ €μž₯ ν™˜κ²½μ— 관리 λŒ€μƒ 데이터λ₯Ό μ €μž₯ν•¨μœΌλ‘œμ¨ λˆ„κ΅¬λ„ μž„μ˜λ‘œ μˆ˜μ •ν•  수 μ—†κ³  λˆ„κ΅¬λ‚˜ λ³€κ²½μ˜ κ²°κ³Όλ₯Ό μ—΄λžŒν•  수 μžˆκ²Œλ” λ§Œλ“œλŠ” κΈ°μˆ μ€ 무엇인가?

블둝체인

 

62. λ‹€μŒμ€ 관계 데이터 λͺ¨λΈμ— λŒ€ν•œ μ„€λͺ…이닀. κ΄„ν˜Έμ•ˆμ— λ“€μ–΄κ°€λŠ” μš©μ–΄λ₯Ό μž‘μ„±ν•˜μ‹œμ˜€.

( κ΄„ν˜Έ )은/λŠ” 관계 λ°μ΄ν„°μ˜ 연산을 ν‘œν˜„ν•˜λŠ” λ°©λ²•μœΌλ‘œ, μ›ν•˜λŠ” 정보λ₯Ό μ •μ˜ν•  λ•ŒλŠ” 계산 μˆ˜μ‹μ„ μ‚¬μš©ν•œλ‹€.
μˆ˜ν•™μ˜ predicate calculus에 κΈ°λ°˜μ„ 두고 있으며, 관계 데이터 λͺ¨λΈμ˜ μ œμ•ˆμžμΈ coddκ°€ μˆ˜ν•™μ— κ°€κΉŒμš΄ κΈ°λ°˜μ„ 두고 νŠΉλ³„νžˆ 관계 λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μœ„ν•΄ μ œμ•ˆν•˜μ—¬ νƒ„μƒν•˜μ˜€λ‹€.
( κ΄„ν˜Έ )은/λŠ” μ›ν•˜λŠ” 정보가 λ¬΄μ—‡μ΄λΌλŠ” κ²ƒλ§Œ μ •μ˜ν•˜λŠ” λΉ„μ ˆμ°¨μ  νŠΉμ„±μ„ μ§€λ‹ˆλ©°, νŠœλΈ”( κ΄„ν˜Έ )와/κ³Ό 도메인 ( κ΄„ν˜Έ )이/κ°€ μžˆλ‹€.
관계 λŒ€μˆ˜

* 관계 λŒ€μˆ˜ : 절차적

* 관계 해석 : λΉ„μ ˆμ°¨μ 

 

63. λ‹€μŒ 객체지ν–₯ 좔상화에 λŒ€ν•œ μ„€λͺ… 쀑 κ΄„ν˜Έ μ•ˆμ— λ“€μ–΄κ°ˆ μ•Œλ§žμ€ μš©μ–΄λ₯Ό μ μœΌμ‹œμ˜€.

( A )은/λŠ” ν΄λž˜μŠ€λ“€ μ‚¬μ΄μ˜ 전체 λ˜λŠ” λΆ€λΆ„ 같은 관계λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 것이고, ( B )은/λŠ” ν•œ ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ 클래슀λ₯Ό ν¬ν•¨ν•˜λŠ” μƒμœ„ κ°œλ…μΌ λ•Œ IS-Aκ΄€κ³„λΌν•˜λ©°, μΌλ°˜ν™” κ΄€κ³„λ‘œ λͺ¨λΈλ§ν•œλ‹€.
(A) μ§‘ν•© 관계 (Aggregation)
(B) μΌλ°˜ν™” 관계 (Generalization)

 

64. λ‹€μŒ λ³΄κΈ°μ—μ„œ μ„€λͺ…ν•˜λŠ” κ²ƒμœΌλ‘œ κ°€μž₯ μ μ ˆν•œ 것은?

μ†Œν”„νŠΈμ›¨μ–΄ 개발 κ³Όμ •μ—μ„œ μ‚°μΆœλ¬Ό λ“±μ˜ 변경에 λŒ€λΉ„ν•˜κΈ° μœ„ν•΄ λ°˜λ“œμ‹œ ν•„μš”ν•˜λ‹€. μ†Œν”„νŠΈμ›¨μ–΄ 리사이클 κΈ°κ°„ λ™μ•ˆ κ°œλ°œλ˜λŠ” μ œν’ˆμ˜ 무결성을 μœ μ§€ν•˜κ³  μ†Œν”„νŠΈμ›¨μ–΄μ˜ 식별, νŽΈμ„± 및 μˆ˜μ •μ„ ν†΅μ œν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό μ œκ³΅ν•œλ‹€. μ‹€μˆ˜λ₯Ό μ΅œμ†Œν™”ν•˜κ³  μƒμ‚°μ„±μ˜ μ΅œλŒ€ν™”κ°€ ꢁ극적인 λͺ©μ μ΄λ‹€. κ΄€λ ¨ λ„κ΅¬λ‘œλŠ” CVS, SVN, Clear Case 등이 μžˆλ‹€.
ν˜•μƒ 관리

 

65. λ¦΄λ ˆμ΄μ…˜ A, Bκ°€ μžˆμ„ λ•Œ λ¦΄λ ˆμ΄μ…˜ B 쑰건에 λ§žλŠ” κ²ƒλ“€λ§Œ λ¦΄λ ˆμ΄μ…˜ Aμ—μ„œ νŠœν”Œμ„ κΊΌλ‚΄ ν”„λ‘œμ μ…˜ν•˜λŠ” κ΄€κ³„λŒ€μˆ˜μ˜ κΈ°ν˜ΈλŠ” 무엇인가?

÷ Division
  • Select(선택) : 쑰건을 λ§Œμ‘±ν•˜λŠ” νŠœν”Œλ“€μ˜ λΆ€λΆ„ μ§‘ν•© (μˆ˜ν‰ μ—°μ‚°)
  • π Project(μΆ”μΆœ) : μ†μ„±λ“€μ˜ λΆ€λΆ„ μ§‘ν•©, 쀑볡 제거 (수직 μ—°μ‚°)
  • Join(쑰인) : 두 개의 λ¦΄λ ˆμ΄μ…˜μ„ ν•˜λ‚˜λ‘œ 합쳐 μƒˆλ‘œμš΄ λ¦΄λ ˆμ΄μ…˜ ν˜•μ„±
  • ÷ Division(λ‚˜λˆ„κΈ°) : A의 속성이 B의 속성 값을 λͺ¨λ‘ κ°€μ§„ νŠœν”Œμ—μ„œ Bκ°€ κ°€μ§„ 속성을 μ œμ™Έν•œ λ‚˜λ¨Έμ§€ μ†μ„±λ“€λ§Œ μΆ”μΆœ

 

66. λ‹€μŒμ€ λ””μžμΈ νŒ¨ν„΄μ— λŒ€ν•œ μ„€λͺ…이닀. κ΄„ν˜Έμ•ˆμ— μ•Œλ§žλŠ” 닡을 μž‘μ„±ν•˜μ‹œμ˜€.

( 1 )은/λŠ” κΈ°λŠ₯을 μ²˜λ¦¬ν•˜λŠ” ν΄λž˜μŠ€μ™€ κ΅¬ν˜„μ„ λ‹΄λ‹Ήν•˜λŠ” 좔상 클래슀둜 κ΅¬λ³„ν•œλ‹€.
κ΅¬ν˜„λΏ μ•„λ‹ˆλΌ 좔상화도 독립적 변경이 ν•„μš”ν•  λ•Œ ( 1 ) νŒ¨ν„΄μ„ μ‚¬μš©ν•œλ‹€.
κΈ°μ‘΄ μ‹œμŠ€ν…œμ— λΆ€μˆ˜μ μΈ μƒˆλ‘œμš΄ κΈ°λŠ₯듀을 μ§€μ†μ μœΌλ‘œ μΆ”κ°€ν•  λ•Œ μ‚¬μš©ν•˜λ©΄ μœ μš©ν•˜λ©°, μƒˆλ‘œμš΄ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ •μ˜ν•˜μ—¬ κΈ°μ‘΄ ν”„λ‘œκ·Έλž¨μ˜ λ³€κ²½ 없이 κΈ°λŠ₯을 ν™•μž₯ν•  수 μžˆλ‹€.

(2 )은/λŠ” ν•œ 객체의 μƒνƒœκ°€ λ³€ν™”ν•˜λ©΄ 객체에 μƒμ†λ˜μ–΄ μžˆλŠ” λ‹€λ₯Έ κ°μ²΄λ“€μ—κ²Œ λ³€ν™”λœ μƒνƒœλ₯Ό μ „λ‹¬ν•΄μ£ΌλŠ” νŒ¨ν„΄μ΄λ‹€. μΌλŒ€λ‹€ 관계λ₯Ό κ°€μ§€λ©°, β€‹μ£Όλ‘œ λΆ„μ‚°λœ μ‹œμŠ€ν…œ 간에 이벀트λ₯Ό 생성·λ°œν–‰(Publish)ν•˜κ³ , 이λ₯Ό μˆ˜μ‹ (Subscribe)ν•΄μ•Ό ν•  λ•Œ μ΄μš©ν•œλ‹€.
(1) Bridge
(2) Observer

 

67. λ‹€μŒκ³Ό 같이 μ μˆ˜μ— λ”°λ₯Έ κΈˆμ•‘μ„ 좜λ ₯ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄ μžˆλ‹€. ν…ŒμŠ€νŠΈ μž…λ ₯값을 보고 이와 같은 ν…ŒμŠ€νŠΈμ˜ λͺ…칭을 μ μœΌμ‹œμ˜€.

[μž…μΆœλ ₯]
점수: 90~100 → κΈˆμ•‘: 700λ§Œμ›
점수: 80~89 → κΈˆμ•‘: 500λ§Œμ›
점수: 70~79 → κΈˆμ•‘: 300λ§Œμ›
점수: 0~69 → κΈˆμ•‘: 0λ§Œμ›

[ν…ŒμŠ€νŠΈ μž…λ ₯κ°’]
-1, 0, 1, 69, 70, 71, 79, 80, 81, 89, 90, 91, 99, 100, 101
경계값 뢄석

* λΈ”λž™λ°•μŠ€ ν…ŒμŠ€νŠΈ : 경계값 뢄석

 

68. λ‹€μŒ λ³΄κΈ°μ—μ„œ μ„€λͺ…ν•˜λŠ” 객체지ν–₯ λ””μžμΈ νŒ¨ν„΄μ€ 무엇인가?

λΆ€λͺ¨(μƒμœ„) ν΄λž˜μŠ€μ— μ•Œλ €μ§€μ§€ μ•Šμ€ ꡬ체 클래슀λ₯Ό μƒμ„±ν•˜λŠ” νŒ¨ν„΄μ΄λ©°, μžμ‹(ν•˜μœ„) ν΄λž˜μŠ€κ°€ μ–΄λ–€ 객체λ₯Ό 생성할지λ₯Ό κ²°μ •ν•˜λ„λ‘ ν•˜λŠ” νŒ¨ν„΄μ΄κΈ°λ„ ν•˜λ‹€. λΆ€λͺ¨(μƒμœ„) 클래슀 μ½”λ“œμ— ꡬ체 클래슀 이름을 감좔기 μœ„ν•œ λ°©λ²•μœΌλ‘œλ„ μ‚¬μš©ν•œλ‹€.
Factory Method

 

69. λ‹€μŒ μ„€λͺ…은 μ„œλ²„ μ ‘κ·Ό ν†΅μ œμ˜ μœ ν˜•μ΄λ‹€. κ΄„ν˜Έ μ•ˆμ— λ“€μ–΄κ°ˆ μš©μ–΄λ₯Ό μž‘μ„±ν•˜μ‹œμ˜€. ('μ˜μ–΄ μ•½μž'둜 μž‘μ„±ν•˜μ‹œμ˜€.)

- ( β‘  )은/λŠ” κ·œμΉ™ 기반(Rule-Based) μ ‘κ·Όν†΅μ œ μ •μ±…μœΌλ‘œ, 객체에 ν¬ν•¨λœ μ •λ³΄μ˜ ν—ˆμš© λ“±κΈ‰κ³Ό μ ‘κ·Ό 정보에 λŒ€ν•˜μ—¬ 주체가 κ°–λŠ” μ ‘κ·Ό ν—ˆκ°€ κΆŒν•œμ— κ·Όκ±°ν•˜μ—¬ 객체에 λŒ€ν•œ 접근을 μ œν•œν•˜λŠ” 방법이닀.

- ( β‘‘ )은/λŠ” 쀑앙 κ΄€λ¦¬μžκ°€ μ‚¬μš©μžμ™€ μ‹œμŠ€ν…œμ˜ μƒν˜Έκ΄€κ³„λ₯Ό ν†΅μ œν•˜λ©° 쑰직 λ‚΄ 맑은 μ—­ν• (Role)에 κΈ°μ΄ˆν•˜μ—¬ μžμ›μ— λŒ€ν•œ 접근을 μ œν•œν•˜λŠ” 방법이닀.

- ( β‘’ )은/λŠ” μ‹ λΆ„ 기반(Identity-Based) μ ‘κ·Όν†΅μ œ μ •μ±…μœΌλ‘œ, μ£Όμ²΄λ‚˜ 그룹의 신뢄에 κ·Όκ±°ν•˜μ—¬ 객체에 λŒ€ν•œ 접근을 μ œν•œν•˜λŠ” 방법이닀.
(1) MAC (κ°•μ œ μ ‘κ·Ό ν†΅μ œ)
(2) RBAC (μ—­ν•  기반 μ ‘κ·Ό ν†΅μ œ)
(3) DAC (μž„μ˜ μ ‘κ·Ό ν†΅μ œ)

* MAC : Madatory AC - 주체와 객체의 등급을 비ꡐ 

* DAC : Discretionary AC - μ‚¬μš©μžμ˜ 신원/신뢄에 따라 μ ‘κ·Ό κΆŒν•œ λΆ€

 

70. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ν…ŒμŠ€νŠΈμ— λŒ€ν•œ λ‹€μŒ μ„€λͺ…μ—μ„œ κ΄„ν˜Έμ— λ“€μ–΄κ°ˆ μ•Œλ§žμ€ ν…ŒμŠ€νŠΈλ₯Ό μ“°μ‹œμ˜€. 

인수 ν…ŒμŠ€νŠΈλŠ” κ°œλ°œν•œ μ†Œν”„νŠΈμ›¨μ–΄κ°€ μ‚¬μš©μžμ˜ μš”κ΅¬μ‚¬ν•­μ„ μΆ©μ‘±ν•˜λŠ”μ§€μ— 쀑점을 두고 ν…ŒμŠ€νŠΈν•˜λŠ” 방법이닀.
( 1 ) : μ„ μ •λœ μ΅œμ’… μ‚¬μš©μžκ°€ μ—¬λŸ¬ λͺ…μ˜ μ‚¬μš©μž μ•žμ—μ„œ ν–‰ν•˜λŠ” ν…ŒμŠ€νŠΈ κΈ°λ²•μœΌλ‘œ, μ‹€μ œ 업무λ₯Ό κ°€μ§€κ³  μ‚¬μš©μžκ°€ 직접 ν…ŒμŠ€νŠΈν•œλ‹€.

( 2 ) : 개발자의 μž₯μ†Œμ—μ„œ μ‚¬μš©μžκ°€ 개발자 μ•žμ—μ„œ ν–‰ν•˜λŠ” ν…ŒμŠ€νŠΈ κΈ°λ²•μœΌλ‘œ, ν…ŒμŠ€νŠΈλŠ” ν†΅μ œλœ ν™˜κ²½μ—μ„œ ν–‰ν•΄μ§€λ©°, 였λ₯˜μ™€ μ‚¬μš©μƒμ˜ λ¬Έμ œμ μ„ μ‚¬μš©μžμ™€ κ°œλ°œμžκ°€ ν•¨κ»˜ ν™•μΈν•˜λ©΄μ„œ κΈ°λ‘ν•œλ‹€.
1. 베타
2. μ•ŒνŒŒ