
저장 장치 ⬇️ (앱 실행 요청) RAM ⬇️ (앱 실행 중) CPU RAM에서 코드, 데이터 가져와 실행저장 장치에서 앱 바이너리와 리소스를 로드OS가 앱을 실행하라는 요청을 받으면 앱 번들을 저장 장치에서 RAM으로 복사함.RAM에 적재되면 CPU가 실행 시작
CPU는 직접 메모리에 접근하지 않고, System bus를 통해 메모리(RAM)와 데이터를 주고받음.CPU가 주소를 지정 (주소 버스 사용)해당 주소의 데이터를 요청 (제어 버스 사용)RAM이 데이터를 반환 (데이터 버스 사용)CPU가 연산 수행RAM과 CPU간 속도
컴퓨터 시스템 성능 최적화의 핵심 개념 중 하나로, 캐시 메모리가 효과적으로 동작할 수 있는 이론적 배경iOS와 같이 제한된 리소스 환경에서 지역성을 고려한 코드 작성이 성능에 큰 영향을 미침.Locality란 CPU가 메모리 접근 시 특정 메모리 위치를 중심으로 접근
iOS기기는 ARM64 (AArch64) 아키텍처를 사용저전력, 고성능의 균형을 제공 (배터리 효율 Up)SoC(System on Chip) 설계와 잘 맞음애플이 커스텀 설계한 Apple Silicon도 ARM 기반iOS 생태계의 통일성 유지 (하드워어 + OS + 앱
운영체제(OS)는 하드웨어와 애플리케이션 사이에서 핵심적인 역할을 수행합니다.iOS는 macOS 기반의 XNU 커널 위에 구축되어있으며 다음과 같은 계층으로 구성됨Core OS(Kernel) \- XNU 커널: Mach + BSD \- 보안, 메모리, 쓰레드, 파일
Process와 Thread의 차이점iOS에서는 앱마다 기본적으로 하나의 프로세스만 할당앱 내에서 여러 작업을 병렬로 처리할 필요가 있을때, 스레드(혹은 GCD기반 큐) 사용iOS는 GCD와 OperationQueue로 스레드 관리를 추상화 하여 효율적 처리거의 없다.
iOS는 Garbage Collection이 아닌 ARC를 사용하여 메모리를 관리ARC는 컴파일 타임에 삽입된 코드로 객체의 참조 횟구(Reference Count)를 추적하고, 참조가 0이되면 메모리를 자동으로 해제인스턴스를 다른 변수나 상수가 참조하면 -> 참조 횟
iOS는 ARC(Automatic Reference Counting)을 통해 메모리를 관리객체의 참조 카운트(reference count)를 기반으로, 0이되면 자동으로 메모리 해제강한참조(Strong), 약한참조(weak), 비소유 참조(Unowned) 등으로 순환
네트워크 프로토콜 스택 (TCP/IP 4계층 모델 기준)iOS에서의 네트워크 통신 방식 iOS앱에서는 주로 URLSession, Alamofire 등으로 HTTP(S) 통신을 수행 앱은 Application 계층에서 URL 요청을 구성하며, 내부적으로 TCP/IP스
OSI(Open System Interconnection) 7계층 모델은 네트워크 통신 과정을 7단계로 나는 추상적인 참조 모델.각 계층은 고유한 역할을 가지며, 하위 계층의 기능을 기반으로 상위 계층이 동작하도록 설계
클라이언트 - 서버 모델: 클라이언트가 요청하면 서버가 응답하는 구조무상태(Stateless): 이전 요청을 기억하지 않으며, 각각의 요청이 독립적으로 처리텍스트 기반: 요청과 응답은 사람이 읽을 수 있는 텍스트 형식으로 되어 있음HTTP는 요청간의 상태를 유지하지 않
REST API(Representational State Transfer)란?REST는 HTTP 프로토콜을 기반으로 설계된 웹 서비스 아키텍처 스타일REST의 핵심 제약 조건(Constraints)AlamofireMoya(Alamofire 기반)멱등성(Idempoten
무손실 압축으로 선명한 이미지 표현 가능투명도를 지원해 배경과 어울리는 이미지 제작 가능Asset Catalog에 저장 시 자동 최적화 제공(iOS)jpeg은 손실 압축을 사용하여 색상이 많고 복잡한 이미지의 용량을 크게 줄임사진의 경우 미세한 손실이 눈에 잘 띄지 않