-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
61d8907
commit f3aafba
Showing
3 changed files
with
36 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# 12장. 컴포넌트 | ||
|
||
- [zhoon](./zhoon/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# 12장. 컴포넌트 | ||
|
||
## Introduction | ||
|
||
- 컴포넌트는 배포 단위 | ||
- 컴포넌트는 시스템의 구성 요소로 배포할 수 있는 가장 작은 단위 | ||
- 자바의 경우 jar 파일이 컴포넌트 | ||
- 컴파일형 언어에서 컴포넌트는 바이너리 파일의 결합체 | ||
- 모든 언어에서 컴포넌트는 배포할 수 있는 단위 입자 | ||
- 여러 컴포넌트를 서로 링크하여 실행 가능한 단일 파일로 생성 가능 | ||
- 컴포넌트가 마지막에 어떤 형태로 배포되든, 잘 설계된 컴포넌트라면 반드시 독립적으로 배포 가능한, 따라서 독립적으로 개발 가능한 능력을 갖춰야 한다. | ||
|
||
## 컴포넌트의 간략한 역사 | ||
|
||
- 과거의 유구한 역사… | ||
|
||
## 재배치성 | ||
|
||
- 과거의 애플리케이션과 함수 라이브러리 공간에 대한 제약 사항은 지속 가능하지 않았고, 이를 위한 해결책은 “재배치 가능한 라이브러리 relocatable binary” 였다. | ||
- 그리고 이를 구현하기 위해 지능적인 로더를 사용했는데, 이렇게 “링킹 로더 linking loader”가 탄생 | ||
|
||
## 링커 | ||
|
||
- 링킹 로더로 어느 정도 해결했지만, 프로그램은 점차 커졌고, 결국 로드와 링크가 두 단계로 분리됨 | ||
- 하지만 문제 상황은 계속 반복됨 | ||
- 이 문제 상황은 하드웨어 개선을 통해 해결됨 | ||
- 결국 컴포넌트 플러그인 아키텍처가 탄생 | ||
|
||
## 결론 | ||
|
||
- 런타임에 플러그인 형태로 결합할 수 있는 동적 링크 파일이 이 책에서 말하는 소프트웨어 컴포넌트에 해당 | ||
- 이제는 컴포넌트 플러그인 아키텍처를 기본으로 쉽게 사용할 수 있는 지점까지 다다랐다. |