본문 바로가기

728x90
반응형
SMALL

전체 글

(195)
NSObject NSObject란? NSObject는 Objective-C에서 모든 클래스의 기본 클래스이며, Cocoa 및 Cocoa Touch 프레임워크에서 매우 중요한 역할을 합니다. Swift에서도 NSObject를 상속하여 Objective-C와 상호 작용하는 코드를 작성할 수 있습니다. NSObject는 Objective-C의 id 타입과 비슷한 역할을 합니다.(NSObject는 클래스, id타입은 데이터 타입입니다.) 즉, NSObject는 모든 클래스의 인스턴스를 가리킬 수 있는 타입입니다. 이를 통해 Objective-C에서는 객체를 유연하게 다룰 수 있습니다. 또한, NSObject는 Objective-C에서 객체 생명주기 관리, 클래스 및 인스턴스 메소드 정의, 클래스 계층 구조 등의 많은 기능을 제..
ARC(Automatic Reference Counting) ARC(Automatic Reference Counting) ARC(Automatic Reference Counting)는 Objective-C와 Swift에서 사용되는 자동 메모리 관리 기법입니다. 이전에는 수동으로 메모리를 관리해야 했으나, ARC를 사용하면 컴파일러가 코드에서 객체에 대한 참조를 추적하고, 객체를 참조하는 변수나 속성, 컬렉션 등의 객체에 대한 참조가 없을 때 자동으로 객체를 해제합니다. 따라서 개발자는 메모리 관리를 위한 코드를 작성하지 않아도 됩니다. ARC는 앱의 성능을 향상시키고, 메모리 관리를 단순화시키는 등의 장점이 있습니다. 하지만, 객체의 참조 관계가 복잡하거나 순환 참조(circular reference)가 발생하는 경우에는 여전히 메모리 누수(memory leak)..
NSLog, CFShow의 차이 NSLog, CFShow의 차이 NSLog NSLog는 Foundation 프레임워크의 함수 중 하나로, Objective-C나 Swift 언어에서 사용할 수 있습니다. 출력하고자 하는 문자열과 변수 등을 포맷 문자열에 포함시켜 출력할 수 있으며, 로그 메세지를 함께 콘솔에 출력됩니다. CFShow CFShow는 Core Foundation 프레임워크에서 제공하는 함수 중 하나로, C 언어나 Objective-C 언어에서 사용할 수 있습니다. 주어진 Core Foundation 객체의 값, 타입 및 속성 등을 콘솔에 출력합니다. NSLog와 달리 **포맷 문자열을 지원하지 않습니다. 즉, NSLog는 문자열 포맷팅이 가능한 대신 출력 속도가 느리고 CFShow는 문자열 포맷팅이 불가능하지만 출력 속도가 ..
가비지 컬렉터(Garbage Collector) 가비지 컬렉션(Garbage Collection) iOS 운영체제의 메모리 관리는 가비지 컬렉션(Garbage Collection) 기술을 사용합니다. 가비지 컬렉터는 자동으로 더 이상 사용하지 않는 객체를 메모리에서 해제하여 앱의 성능을 최적화합니다. iOS 가비지 컬렉터는 애플이 직접 개발한 Objective-C나 Swift와 같은 프로그래밍 언어에서 사용할 수 있습니다. iOS 앱 개발을 위해 사용되는 Xcode IDE는 애플이 개발한 Clang 컴파일러를 기반으로 하며, 이 컴파일러는 Objective-C와 Swift 코드에서 가비지 컬렉션을 지원합니다. 가비지 컬렉터는 자동으로 메모리 관리를 수행하므로 개발자는 수동으로 메모리를 관리할 필요가 없습니다. 그러나, 이 기능을 사용하더라도 여전히 메..
네트워크 첫걸음 학습의 내용은 '모두의 네트워크' 책을 기반으로 합니다. 목표 네트워크가 무엇인지 이해한다. 패킷을 이해한다. LAN과 WAN에 대해 이해한다. 네트워크 네트워크(Network)는 컴퓨터, 스마트폰, 태블릿 등의 디바이스를 서로 연결하여 정보를 주고받을 수 있는 시스템을 말합니다. 네트워크는 컴퓨터 네트워크, 인터넷, 클라우드 서비스 등 다양한 형태로 나타납니다. 네트워크는 주로 다음과 같은 요소들로 이루어져 있습니다. 디바이스(Device): 컴퓨터, 스마트폰, 프린터, 스위치, 라우터 등 네트워크에 연결된 모든 디바이스를 의미합니다. 연결 매체(Medium): 유선 또는 무선으로 디바이스 간에 연결되는 매체를 말합니다. 유선 연결매체로는 이더넷, 광케이블 등이 있으며, 무선 연결매체로는 와이파이, 블..
가상 메모리 가상 메모리란? 가상 메모리(Virtual Memory)는 실제 물리적인 메모리보다 큰 용량을 가지는 논리적인 메모리 공간입니다. 프로세스가 실행될 때 운영체제는 해당 프로세스에게 필요한 메모리 공간을 할당합니다. 이 때 물리적인 메모리 공간이 부족하면 가상 메모리를 사용하여 프로세스가 필요로 하는 메모리 공간을 보충합니다. 가상 메모리는 하드디스크의 일부 공간을 메모리처럼 사용하므로 실제 메모리보다 저렴하게 구현할 수 있습니다. 또한 가상 메모리는 여러 프로세스 간에 공유될 수 있습니다. 각 프로세스는 자신만의 가상 주소 공간을 갖고, 이 가상 주소를 실제 물리적인 주소로 매핑하여 사용합니다. 가상 메모리는 물리적인 메모리보다 큰 용량을 가질 수 있지만, 실제로는 하드디스크에 접근해야 하므로 속도가 느..
교착 상태 교착상태란? 교착상태(deadlock)란, 둘 이상의 프로세스나 스레드가 서로 상대방이 가지고 있는 자원을 기다리면서 무한정 대기 상태에 빠지는 상황을 말합니다. 그리고 이 교착상태를 쉽게 설명하기 위해 ' 식사하는 철학자 문제'를 예로 들 수 있습니다. 식사하는 철학자 문제 식사하는 철학자 문제는 병렬 처리 분야에서 자주 언급되는 문제 중 하나이며, 이 문제는 다섯 명의 철학자가 원탁에 둘러 앉아 젓가락을 사용하여 식사를 하는 상황에서 발생합니다. 각 철학자의 왼쪽과 오른쪽에는 젓가락이 하나씩 놓여 있으며, 철학자는 젓가락 두 개를 동시에 사용하여 식사를 합니다. 그러나, 모든 철학자가 동시에 식사를 하려고 젓가락을 집으면, 젓가락이 충돌하여 둘 다 사용할 수 없는 상황이 발생합니다. 이 문제를 해결하..
파일 시스템 파일 시스템이란? 파일 시스템(File System)은 컴퓨터에서 파일들을 보관하고 관리하는 체계를 말합니다. 운영체제는 파일 시스템을 통해 하드 디스크나 다른 저장장치에 파일을 쓰고, 읽을 수 있도록 합니다. 파일 시스템은 파일의 생성, 복사, 삭제, 이동 등의 작업을 가능하게 하며, 이를 통해 사용자는 저장된 파일에 쉽게 접근할 수 있습니다. 대표적인 파일 시스템으로는 NTFS, FAT32, ext4 등이 있으며, 운영체제나 사용하는 저장장치에 따라 다양한 파일 시스템을 선택하여 사용할 수 있습니다. 파일과 디렉터리 파일 컴퓨터에서 파일(File)은 컴퓨터에 저장된 정보를 일종의 단위로 구분하여 저장하고 관리하는 논리적인 개념입니다. 파일은 HDD, USB 드라이브, SSD 등의 저장 장치에 저장되며..

728x90
반응형
LIST