-
Notifications
You must be signed in to change notification settings - Fork 0
[LEVEL 1] 12 - Dependency Manager #28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
NeoSelf1
wants to merge
1
commit into
main
Choose a base branch
from
12-Dependency-Manager
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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,21 @@ | ||
| issue #14 | ||
|
|
||
| ## 12. Dependency Manager | ||
| ### 의존성 관리 도구(CocoaPods, Carthage, Swift Package Manager)의 종류와 차이점은 무엇인가요? | ||
| 의존성 관리 도구는 iOS 프로젝트에서 외부 라이브러리를 효율적으로 관리하기 위한 필수적인 도구입니다. | ||
| #### 각 도구의 사용 방법과 장단점을 설명해주세요. | ||
| - CocoaPods은 가장 오래되고 널리 사용되는 도구로, Ruby 기반으로 동작합니다. Podfile에 필요한 라이브러리를 명시하고 'pod install' 명령어로 쉽게 설치할 수 있습니다. | ||
| 하지만 별도의 워크스페이스를 생성하고 빌드 시간이 늘어날 수 있다는 단점이 있습니다. | ||
| - Carthage는 CocoaPods보다 가벼운 의존성 관리 도구입니다. 프레임워크를 직접 빌드하여 프로젝트에 통합하는 방식을 사용하며, 프로젝트 구조를 변경하지 않는다는 장점이 있습니다. 다만 수동으로 프레임워크를 연결해야 하는 번거로움이 있습니다. | ||
| - Swift Package Manager(SPM)는 Apple이 공식적으로 제공하는 도구로, Xcode에 기본 통합되어 있습니다. 별도의 설치가 필요 없고 Swift 프로젝트에 최적화되어 있습니다. | ||
| 하지만 상대적으로 새로운 도구이기 때문에 지원하는 라이브러리가 적을 수 있습니다. | ||
|
|
||
| *** | ||
| #### 의존성 관리를 통해 얻을 수 있는 이점은 무엇인가요? | ||
| CocoaPods의 Podfile과 같이 사용하는 외부 라이브러리들에 대한 구체적인 버전을 명시하기 때문에, 협업 간에 동일한 개발환경에서 개발이 가능해집니다. | ||
| 각 의존성 관리 도구별로 업데이트를 위한 편리한 기능들을 제공합니다. 예를 들어 CocoaPod의 경우 pod install 명령어가 있습니다. 이로안해 모든 의존성의 업데이트 관리가 용이해집니다. | ||
|
|
||
| *** | ||
| #### 라이브러리와 프레임워크 간의 차이점은 무엇인가요? | ||
| 두 개념의 가장 큰 차이점은 주도권이 누구에게 있느냐입니다. | ||
| 프레임워크 React Native와 같이 스스로 제어 흐름의 주도성을 갖고 있지만, 라이브러리의 경우 개발자가 주도성을 갖고 제어 흐름을 제어합니다. | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Xcode 개발 환경에서의 라이브러리와 프레임워크 (.library, .framework)에 대한 차이점을 적어주시면 좋을 것 같아요!