해시테이블(Hash Table)
key, value 쌍으로 데이터를 저장하는 자료구조 해시 함수를 통해 데이터를 저장할 위치(인덱스)를 추출해 저장함 Swift의 Dictionary, Set이 해당됨 Dictionary는 key를 통해 해시값을 추출하기 때문에, key만 Hashable 해도 됨 Set은 element를 통해 해시값을 추출하기 때문에...
암호화와 복호화
암호화(Encryption) : 사람이 읽을 수 있는 데이터를 해독 불가능한 형태로 변환하는 과정 복호화(Decryption) : 암호문을 다시 평문으로 되돌리는 과정 이때 Key를 어떻게 관리하느냐에 따라 암호화 방식이 나뉩니다. 대칭키 암호화(Symmetric Encryption) : 암호화와 복호화 키가 같은 암호...
DTO, DAO
정의 : 계층 간 데이터 교환을 위해 사용하는 객체 특징 : 로직이 없어요 : 오직 getter/setter만 가지며, 데이터 가공 로직을 포함하지 않습니다. 순수 데이터 : DB나 네트워크에서 받은 원시 데이터를 담고 있습니다. iOS에서는 서버에서 JSON을 받아올 때 정의하는 Codable이 대표적인 DTO입니다...
Actor와 Sendable 이해하기
☝🏻 Actor와 Sendable에 대해 공부한 내용을 작성한 글입니다. Actor는 한번에 하나의 스레드만 접근할 수 있도록 Serial Queue로 제한하고 있어, 동시에 다른 스레드가 접근함으로써 내부 상태가 바뀌어버리는 문제를 막을 수 있습니다. 그리고 접근을 통제하기 때문에 자동으로 Sendable 합니다...
Swift Concurrency
:::fold[Intro] 여러 작업이 동시에 수행될 수 있는 구조나 특성 동시성이 나오면 "비동기, 동기, 병렬"이런 키워드들이 나와 헷갈렸는데, 딱 대놓고 보자면 동시성은 논리적 동시성입니다. 여러 작업이 동시에 수행되는데에는 물리적으로 동시에 수행하는 방법(병렬)도 있고 작업 간에 왔다갔다 하면서 CPU 자원을 효율...
ARC, 근데 이제 Closure를 곁들인...
Swift에서 메모리를 관리하기 위해 사용되는 메커니즘 참조 카운트(RC)를 자동으로 추적하고 관리하며, 더이상 사용되지 않는 인스턴스를 메모리에서 해제함 :::note[RC란?] Reference Count의 약자로, 직역하자면 참조 수! 특정 클래스 인스턴스를 강하게 참조하고 있는 수를 뜻합니다. 참조한다는 것은 인...
이진 탐색(Binary Search)
이진(Binary) : "둘로 나누는", "두가지 상태로 구분하는"컴퓨터에서 바이너리는 0과 1처럼 두개의 값으로 상태를 나누는 것을 의미함 즉, 문제 풀이를 위해 탐색 공간을 둘로 나눠 탐색하며 범위를 줄여나가는 것을 의미함 이진 탐색 첫 문제(LeetCode 39. Search Insert Position)를 풀기...

SOLID 원칙
정의: 클래스는 하나의 책임만 가져야 한다. 클래스 뿐만 아니라 더 큰 레벨 혹은 더 작은 레벨 모두 적용된다. 모듈, 패키지, 함수, 메서드 등등 하나의 책임만을 가지는 것은 변경의 이유가 하나라는 의미! 책임이 여러개라면 변경의 이유도 여러가지일 수 있기 때문에 작게 쪼개라는 것과 한가지 책임만을 갖도록 나누는 것은...
Operating System Concepts - Processes
이것은 시리즈물입니다🧶 2025.09.21 - Operating System Concepts - Introduction 2025.09.22 - Operating System Concepts - O/S structures 실행 중인 프로그램, 메모리에 올라온 프로그램 OS에서 실행하는 작업의 단위 프로세스를 실행하기 위...

Operating System Concepts - O/S
이것은 시리즈물입니다🧶 2025.09.21 - Operating System Concepts - Introduction UI(User Interface) 프로그램 실행 입출력 연산 파일 시스템 조작 에러 탐색 자원 할당 로깅 보호 및 보안 CLI(Command Line Interface) : 명령어 기반 인터페이스 예...

Operating System Concepts - Introduction
그 유명한 공룡책을 정독하기에는 너무나 양이 많아, 강의로 학습하고 내용을 기록용으로 정리해봤습니다! 개인적으로 궁금한 부분을 추가 조사했기 때문에 혹여나 잘못된 정보가 기재되어 있다면 정정 요청 부탁드립니다🙇♀️ 🔗 운영체제 공룡책 전공강의 하드웨어와 소프트웨어 사이에 위치하며, 사용자, 응용 프로그램, 하드웨어...
