반응형

ios 4

프레임워크 vs 라이브러리

📚 라이브러리 (Library)✅ 개념 • 하나의 기능에 집중된 코드 집합 • Swift/ObjC로 작성되며, 보통 .a, .dylib, .swiftmodule 등으로 존재✅ 장점 • 빠른 적용: 필요한 기능만 가져와서 바로 사용 가능 • 가볍고 효율적: 프레임워크보다 상대적으로 무겁지 않음 • 재사용성: 다양한 앱에서 동일한 기능을 쉽게 재사용❌ 단점 • 모듈화 부족: UI, 리소스 같은 것 포함 어렵거나 별도로 관리해야 함 • 버전 충돌 위험: 여러 라이브러리가 같은 의존성을 사용할 경우 충돌 가능✅ 종류1. 정적 라이브러리(Static Library).a 확장자컴파일 타임에 앱에 통합한다.(‼️앱의 바이너리 크기 증가)런타임 의존성이 없어서, 성능이 좋다.2. 동적 라이브러리(Dynamic Lib..

Swift 2025.04.07

11. Unit Test(1)

Unit Test란? 유닛 테스트(unit test)는 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차이다. 즉, 모든 함수와 메서드에 대한 테스트 케이스를 작성하는 절차를 말한다. 이를 통해서 언제라도 코드 변경으로 인해 문제가 발생할 경우, 단시간 내에 이를 파악하고 바로 잡을 수 있도록 해준다. 유닛 테스트는 일반적인 테스트와 달리 개발자뿐만 아니라 보다 더 심도있는 테스트를 위해 테스터에 의해 수행되기도 한다. 좋은 Unit Test의 조건 Fast : 테스트는 빠르게 동작해야 한다. Independent/Isolated : 테스트는 서로의 상태를 공유하지 않고 독립적으로 이루어져야 한다. Repeatable : 테스트를 실행할 때 마다 동일한 결과를 얻..

Swift 2022.12.09

9. 프로세스와 스레드

9-1. 프로세스(Process) 정의 : 운영체제로부터 시스템 자원을 할당받는 작업의 단위 프로세스는 프로세스 각각의 독립된 메모리를 할당받는다. 독립된 메모리 영역이기 때문에 프로세스끼리 서로의 변수에 접근을 할 수 없다. 멀티 프로세스(Multi-Process) 정의 : 하나의 프로그램을 여러개의 프로세스로 구성하여 각 프로세스마다 하나의 작업씩 처리하는 방법 장점 서로 다른 프로세스가 독립된 메모리 영역을 할당받기 때문에 서로의 자원에 침투할 수 없음 침투할 수 없으므로 안정성이 높음 단점 독림된 메모리를 가지고 있기 때문에 프로세스간 자원 공유가 어렵다. 실행하는 프로세스가 바뀔때마다 Context Switching이 발생하여 CPU의 부담도 커지고 오버헤드가 발생하게 된다. ✽ Context ..

Swift 2022.08.25

1.iOS 메모리 구조

1. 개요 xCode를 통해 프로젝트를 만들어 시뮬레이터나 실제기기를 통해 실행을 시키면 해당 운영체제(OS)는 메모리(RAM)에 이 프로그램을 위한 공간을 할당해 준다. 총 4가지의 공간으로 나뉘어져 있는데 코드영역, 데이터 영역, 힙 영역, 스택 영역이 존재한다. 각 영역이 어떤 특징을 가지고 있는지 알아보자 ✱ 컴파일 타임(Compiletime) : 우리가 만든 소스코드가 기계어 코드로 변환되어 실행 가능한 프로그램이 되는 과정 ✱ 런 타임(Runtime) : 사용자에 의해 실행되어 지며, 응용프로그램이 동작되어지는 시간 1-1. 코드 영역 코드 영역은 프로그램의 소스코드가 기계어(Binary) 형태로 저장되는 영역이다. 컴파일 타임에 결정되고, 중간에 코드가 바뀌지 않도록 읽기전용(Read-Onl..

Swift 2022.06.28
1
반응형