취업,면접 대비 31

<운영체제> Thread Preemption

Involuntarily suspending one thread to schedule another is called preemption. Scheduling methods that utilize preemption instead of run to completion are said to be preemptive, and operating systems that employ these methods are called preemptive multitasking operating systems. 스케줄러에 의해 한 스레드가 비자발적으로 중비되는 것을 선점이라한다. 작업을 완료시키기 전에 선점을 활용하는 스케줄러를 preemptive라 한다, 그리고 이런 방법을 채용한 운영체제를 preemptive mult..

<운영체제> Concurrency VS Parallelism

병행성(Concurrency) 동시에 실행되는 것처럼 보이는 것. Logical Level에 속한다. Single Core 물리적으로 병렬이 아닌 순차적으로 동작할 수 있다. 실제로는 Time-sharing으로 CPU를 나눠 사용함으로써 사용자가 Concurrency를 느낄 수 있도록 한다. Multi Core 물리적으로 병렬로 동작할 수 있다. Case Mutex, Deadlock 병렬성(Parallelism) 실제로 동시에 작업이 처리가 되는 것. Physical(Machine) Level에 속한다. 오직 Multi Core에서만 가능하다. Case OpenMP, MPI, CUDA 음 한개 코어로 여러 작업을 수행하는게 하는게 병행성이고, 여러개 코어로 처리하는게 병렬성이구나. 나는 병행성이 뭔말인지..

<운영체제> 시분할 시스템이란

시분할 시스템(時分割 System, 영어: time-sharing)은 컴퓨터를 대화식으로 사용하려는 시도에서 탄생하였다. 시분할 운영 체제는 CPU 스케줄링과 다중 프로그래밍을 이용해서 각 사용자들에게 컴퓨터 자원을 시간적으로 분할하여 사용할 수 있게 해 준다. 음 여기서 이제 시분할 시스템과 라운드로빈 그리고 선점형 스케줄링과의 관계를 보자. 라운드 로빈 스케줄링(Round Robin Scheduling, RR)은 시분할 시스템을 위해 설계된 선점형 스케줄링의 하나로서, 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위(Time Quantum)로 CPU를 할당하는 방식의 CPU 스케줄링 알고리즘이다. [https://coding-factory.tistory.com/301] 운영체제에는 여러가지..

<객체지향> 인스턴스 맴버, 클래스 맴버, 스태틱 맴버란?

//인스턴스 맴버라 인스턴스를 생성해줘야 한다. public func setCache(){ DetailCollectionViewCell.self.JpgCache.totalCostLimit = 100 print("jpgCache size is \(DetailCollectionViewCell.self.JpgCache.totalCostLimit)") } //이제 스태틱 맴버라 인스턴스를 생성해줘야 한다. static public func setCache(){ DetailCollectionViewCell.self.JpgCache.totalCostLimit = 100 print("jpgCache size is \(DetailCollectionViewCell.self.JpgCache.totalCostLimit)")..

<디자인 패턴> MVC vs MVVM 비교 1편

죄송합니다. 저도 정리하는데 깔금하게 이해가 안됩니다. 깔금하게 이해 되면 다시 올리겠습니다. MVC과 MVVM 패턴이란? MVC 패턴 모델은 앱에서 사용되는 데이터를 저장하고, 처리하는 부분입니다. 뷰는 사용자에게 보여지는 ui부분입니다. 컨트롤러는 사용자의 입력을 받고 처리하는 부분입니다. MVC 패턴의 동작은 일단 액션이 들어오고 컨트롤러에서 액션을 확인합니다, 그리고 액션에 대해 모델을 업데이트 합니다. 컨트롤러를 통해 모델을 나타내줄 뷰를 선택합니다. 그후 뷰는 모델을 이용해 화면을 나타냅니다. MVC에서 뷰가 업데이트 되는 방법은 크게 3가지가 있는것 같습니다. 뷰가 모델을 이용해 직접 업데이트 하는 방법. 모델에서 뷰에게 알림(notify)을 통해 업데이트 하는 방법, 뷰가 폴링으로 주기적으..

<객체 지향> public 과 private

[https://stackoverflow.com/questions/31792733/property-cannot-be-declared-public-because-its-type-uses-an-internal-type] 음 못 알아 듣겠다. 내가 경험한 일은, private로 선언한 타입을 public 함수에서 리턴할 수 없었다! You have to declare the access level of the Content class public as well.public class Content { // some code } As stated in the documentation: A public variable cannot be defined as having an internal or private ty..

RestAPI란?

도대체 레스트 에이피아이가 뭘까, 검색해서 보면 그냥 겟,포스트,풋 같은 메소드랑 http 전송할때 포맷에 대해서만 나온다. http 프로토콜을 사용하기 위한 문법이 rest api인가 R 이 representational을 의미한다. 이 정도로는 몰랐는데, 이 말의 뜻은 표현 할 수 있는 데이터 종류가 매우 많다는 의미 같다. 인터넷에서 볼 수 있는 모든 것을 표현 할 수 있다함. representation of resource , 유저 리스트, 사진 리스트, 비디오, 책 등등도 가능하다. http를 통해 내가 리퀘스트를 날려서 원하는 리소스를 요청한다. 그리고 웹서버는 리스폰스가 포함된 웹페이지나 다른 방식으로 응답한다. 웹서버는 실제로 데이타베이스를 전송하는게 아니라, 그것의 표현을 전송하는 것이다..