CS
-
[운영체제] MAC에서 PPID 확인하기CS/운영체제 2023. 5. 2. 20:55
새로운 프로세스를 생성할 때, fork()를 이용해서 효율적으로 프로세스를 생성한다는 내용을 공부했다. 정말 모든 프로세스들이 이런 방식으로 생성되는지, 그렇다면 각 프로세스의 부모 프로세스는 무엇일지 알아보고자 한다. PID확인하기 MAC에서는 활성 상태 보기 프로그램에서, 현재 동작하고 있는 프로세스들의 정보를 확인 가능하다. PID 또한 이곳에서 확인이 가능했다. PPID 확인하기 PPID는 터미널에서 다음과 같은 명령어로 확인이 가능하다. ps -o ppid= -p 현재 활발히 동작하고 있는 Goodnotes(16971)의 ppid를 확인해보았다. Goodnotes의 ppid는 1인것을 확인할 수 있다. 여기서 PID가 1인 프로그램은 launchd라는 프로그램이다. 이번엔, Chrome(643)..
-
크기가 큰 배열에서의 탐색 & 캐시 히트CS/알고리즘 2023. 1. 12. 20:44
https://www.acmicpc.net/problem/7453 7453번: 합이 0인 네 정수 첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주어진다. 다음 n개 줄에는 A, B, C, D에 포함되는 정수가 공백으로 구분되어져서 주어진다. 배열에 들어있는 정수의 절댓값은 최대 228이다. www.acmicpc.net 위 문제를 풀 때 큰 배열에서 탐색을 하는 과정에서 특이한 현상을 겪어 쓰는 글. 위 문제는 크기가 4000인 배열 A, B, C, D의 원소의 합이 0인 경우의 수를 구하는 문제이다. 이를 단순하게 접근하면 모든 배열에서 한 개의 원소를 뽑는 경우이므로, 4000 ^ 4 = 256조. 시간복잡도를 줄이기 위해서, A와 B의 합을 AB, C와 D의 합을 CD로 놓으면, 경우의 수..
-
Dependency Invsersion Principle 이해하기 with SwiftCS/OOP 2022. 2. 19. 17:43
모든 내용은 레퍼런스를 보며 혼자 공부한 내용이므로 잘못된 내용이 포함될 수 있습니다. 내용에 대한 피드백은 감사히 받겠습니다. 서론 이번 글에서는 Dependency Invsersion Principle 이하 DIP에 대해서 이해해 보려고 한다. 5가지나 되는 SOLID원칙 중 단번에 DIP에 대해서 설명하는 이유는 객체지향의 핵심 원칙이라고 생각하기 때문이다. 단순히 DIP을 이해하는 것만으로도 사고의 확장이 가능할 것이라고 기대한다. DIP이란? In object-oriented programming, the Dependency Inversion Principle refers to a specific form of decoupling software modules. When following thi..