전체 글
-
OS 운영체제: 스케줄링(Scheduling)CS/OS 2022. 2. 27. 16:35
더보기 1. 스케줄링이란? 2. 스케줄링의 목표 3. 스케줄링의 종류와 알고리즘 4. 스케줄링의 기준(Scheduling Criteria) CPU스케줄링이란? CPU를 프로세스에게 효율적이고, 공정하게 사용하기 위해 우선순위를 배정하는 알고리즘, 방법을 의미합니다. (Ready queue에 있는 프로세스를 스케줄링하고 dispatch 하는 것) 스케줄링의 목표 1. Batch System: 가능한 많은 일을 처리하는 것(throughput이 중요) 2.Interactive System: 빠른 응담과 적은 대기 3.Realtime System: 기한(Deadline) 맞추기 스케줄링의 종류와 알고리즘 1. 선점 스케줄링(Preemptive Scheduling) OS가 CPU의 사용권을 선점하여 특정 알고리..
-
Clean code #01~02 코드에 관하여교양/클린 코드 2022. 2. 24. 15:39
zero-base의 '한달한권 | 클린코드' 강의를 수강하면서 요약한 내용 나쁜 코드 나쁜 코드가 되기 위한 3가지 기준 성능이 나쁜 코드 = 불필요한 연산이 들어가서 개선의 여지가 있는 코드 의미가 모호한 코드 = 이해하기 어려운 코드 네이밍과 그 내용이 다른 코드 중복된 코드 = 비슷한 내용인데 중복되는 코드들은 버그를 낳는다. 나쁜 코드는 왜 나쁠까? 1. 깨진 유리창의 법칙 깨진 유리창의 법칙처럼 나쁜 코드는 깨진 유리창처럼 계속 나쁜 코드가 만들어지게 한다. (깨진 유리창의 법칙 : 깨진 유리창 하나를 방치해 두면, 그 지점을 중심으로 범죄가 확산되기 시작한다는 이론) 2. 생산성 저하 나쁜 코드는 팀 생산성을 저하시키고, 기술 부채를 만들어 수정을 더 어렵게 한다. 3. 추가 비용이 발생한다...
-
Life Cycleios/Etc 2022. 2. 23. 00:09
Life Cycle 생명주기 생명주기란 앱의 실행부터 종료까지의 주기를 말하며 시스템 알림에 응답하는 등 여러 시스템 관련 이벤트를 처리하는 단계들이다. 앱과 관련된 생명주기는 AppDelegate에서 처리하고, Scene과 연관된 생명주기는 SceneDelegate에서 처리한다. iOS 13 이전 버전에서는 App-Based Life-Cycle을 가지고 13 이후 부터는 Scene-Based Life-Cycle을 가진다. iOS 13 이전의 App-Based Life-Cycle willFinishLaunchingWithOptions 델리게이트에게 실행 프로세스가 거의 완료되었으며 앱 실행 준비가 거의 완료되었음을 알린다. (https://leehonghwa.github.io/blog/applicatio..