AI에게 알고리즘 풀이를 리뷰받아보자!
최근 GeekNews에서 보게된 알고리즘 풀이를 리뷰해주는 AI Github Action을 사용해봤습니다. 마침 딱 취준하면서 1일1알고리즘을 실천중이던 저에게 적절한 적용이었습니다! 사실 사용방법은 AI Algorithm Methor 레포지토리에도 잘 나와 있습니다👍 알고리즘 풀이 코드를 올릴 레포지토리 API Key...

동시성 다이브 - 2. GCD 도입
:::fold[🧬 동시성 다이브 시리즈] 동시성 다이브 - 1. GCD 이전 ::: GCD는 iOS 4(2010)에 도입된 Task 기반 동시성 API로, Grand Central Dispatch의 약자입니다. 의미만 보자면, 크게, 중앙에서, 배치하여 관리한다 즉 "시스템 전체에서 작업을 중앙에서 관리하고, 스레드에...
동시성 시리즈 - 1. GCD 이전
논리적으로 여러 작업이 동시에 실행되는 것처럼 보이도록 하는 처리 방식입니다. 물리적으로 동시에 여러 작업이 수행되는 병렬성(Parallelism)과 달리, CPU가 시분할 기법을 통해 빠르게 문맥 교환을 반복함으로써 여러 작업이 동시에 실행되는 것처럼 느낄 수 있습니다. 시분할(Time Slicing) : 시간을 쪼개...
해시테이블(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 - 3. Processes
:::fold[🧶 Operating System Concepts 시리즈] Operating System Concepts - 1. Introduction Operating System Concepts - 2. O/S ::: 실행 중인 프로그램, 메모리에 올라온 프로그램 OS에서 실행하는 작업의 단위 프로세스를 실행하기 위...

Operating System Concepts - 2. O/S
:::fold[🧶 Operating System Concepts 시리즈] Operating System Concepts - 1. Introduction ::: UI(User Interface) 프로그램 실행 입출력 연산 파일 시스템 조작 에러 탐색 자원 할당 로깅 보호 및 보안 CLI(Command Line Interf...

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