오블완5 Linux `free` 명령어와 Dentry Cache, Slab 메모리 개념 완벽 정리 1. free 명령어란?Linux free 명령어는 시스템 메모리 상태를 확인하기 위한 기본 도구입니다. 이 명령은 물리적 메모리와 스왑 메모리 상태뿐만 아니라 버퍼/캐시 메모리의 사용량도 보여줍니다. 이는 시스템의 성능 및 메모리 사용 최적화를 이해하는 데 유용합니다.2. Memory 종류와 개념free 명령어에서 확인할 수 있는 주요 메모리 항목:Mem(Total/Used/Free): 물리적 RAMShared: 여러 프로세스 간 공유 메모리Buffers: 디스크 메타데이터(예: 디렉터리 구조) 캐시Cached: 파일 I/O 데이터를 캐싱하여 성능 최적화Available: 버퍼 및 캐시를 포함하여 프로세스가 사용할 수 있는 메모리Swap: 디스크 기반 가상 메모리3. Dentry Cache와 Slab .. 프로그래밍공부(Programming Study)/운영체제(OS) 2024. 11. 25. Swift 개발자라면 알아두면 좋은 Xcode 단축키 모음 1. Swift 개발을 위한 Xcode 단축키 소개Swift 개발을 할 때 생산성을 높이기 위해 다양한 Xcode 단축키를 활용할 수 있습니다. 이 단축키들은 코딩 속도를 높이고 반복되는 작업을 줄이는 데 유용하며, 개발 환경에서 좀 더 원활하게 탐색하고 수정할 수 있도록 돕습니다. 아래에서는 Swift 개발자들이 자주 사용하는 Xcode 단축키들을 상황별로 나누어 정리했습니다.2. 코드 작성 시 유용한 단축키자동 완성 호출: Cmd + SpaceSwift에서는 자동 완성 기능을 통해 함수와 변수명을 빠르게 입력할 수 있습니다.문서 주석 추가: Cmd + Alt + /함수나 클래스 위에 문서화된 주석을 쉽게 추가할 수 있습니다.코드 블록 접기/펼치기: Cmd + Alt + ← / →코드의 각 블록을 접거.. 프로그래밍공부(Programming Study)/IOS 개발 2024. 11. 13. SwiftUI에서 Class와 Struct, 언제 어떻게 사용해야 할까? Swift 초보자를 위한 가이드 1. Swift의 Class와 Struct 기본 개념Swift에서 Class와 Struct는 데이터와 기능을 캡슐화하여 효율적으로 관리할 수 있도록 합니다. 그러나 이 두 가지는 서로 다른 특성을 지니고 있습니다.Class는 참조 타입으로, 객체가 복사되지 않고 동일한 인스턴스를 여러 곳에서 참조할 수 있습니다. 이는 하나의 객체를 여러 위치에서 접근하고 수정할 수 있다는 의미입니다.Struct는 값 타입으로, 변수를 전달하거나 복사할 때마다 새로운 인스턴스를 생성하여 독립적인 상태를 유지합니다. 그래서 데이터의 불변성을 유지하고 예상치 못한 데이터 변경을 방지하기에 유리합니다.2. Class와 Struct의 주요 차이점특성ClassStruct타입참조 타입값 타입상속가능불가능프로토콜 채택가능가능데이터 공.. 프로그래밍공부(Programming Study)/IOS 개발 2024. 11. 11. Swift에서 클래스의 강한 참조, 약한 참조, unowned 참조 완벽 가이드 1. 강한 참조(Strong Reference)란?Swift에서 강한 참조(Strong Reference)는 객체의 소유권을 유지하는 참조 방식입니다. 기본적으로 모든 참조는 강한 참조로 설정되며, 객체가 다른 객체를 강한 참조하면 참조 카운트가 증가하여 그 객체가 메모리에서 해제되지 않도록 보장됩니다.특징기본 참조 방식으로, 객체의 소유권을 유지합니다.객체를 참조하는 동안 메모리에서 해제되지 않습니다.순환 참조를 발생시킬 수 있으므로, 상호 참조가 필요한 경우 주의해야 합니다.사용 예시강한 참조는 대부분의 상황에서 사용되며, 객체가 독립적으로 존재할 때 적합합니다.class Person { var name: String var pet: Pet? // 기본적으로 강한 참조 init(nam.. 프로그래밍공부(Programming Study)/IOS 개발 2024. 11. 10. Swift 프로퍼티 초기화와 앱 진입점의 엄격한 초기화 규칙 1. Swift의 프로퍼티 초기화 규칙Swift에서 프로퍼티는 객체 생성 시 초기화되어야 하는 중요한 요소입니다. Swift는 안정성과 오류 방지를 위해 프로퍼티 초기화에 대해 매우 엄격한 규칙을 가지고 있습니다. Swift의 클래스와 구조체에서는 모든 저장 프로퍼티가 인스턴스가 생성되기 전에 초기화되어야 하며, 초기화되지 않은 상태로 방치된 프로퍼티가 없어야 합니다. 이를 통해 런타임 오류를 방지하고 안정적인 코드 실행을 보장합니다.프로퍼티 초기화 규칙 예시struct Person { var name: String var age: Int init(name: String, age: Int) { self.name = name self.age = age }}위 .. 프로그래밍공부(Programming Study)/IOS 개발 2024. 11. 9. 이전 1 다음 728x90