본문 바로가기

프로그래밍

(93)
구조체(Struct) 클래스(Class)의 공통점과 차이점 공통점 값을 저장하기 위한 Properties 정의 기능을 제공하기 위한 Methods 정의 Subscript 문법을 이용해 특정 값을 접근할 수 있는 Subscript 정의 initial 상태를 설정할 수 있는 initializers 정의 기본 구현에서 기능 확장 특정한 종류의 표준 기능을 제공하기 위한 Protocols 순응 차이점 Struct 값 타임 인자로 보내거나 배열에 넣거나 심지어 다른 변수에 할당해도 복사가 된다. IOS에서는 배열, 정수형, 문자열, 딕셔너리 등 구조체로 구성되어 있다. Copy On Write (COW) 무언가를 전달할 때 모든 내용을 하나하나 전부 복사하지 않는다. 누군가 내용을 변경했을 때만 실제로 복사하도록 하는 전달 방식을 취한다. Class 래퍼런스 타입 Hea..
MVC(Model-View-Controller) 패턴 1. Model - Model 객체는 앱에 관련된 데이터를 캡슐화하고 해당 데이터를 조작하고 처리하는 논리 및 계산을 정의한다. - App의 What을 담당 ※ UI와 독립되어 있다. 2. View - View 객체는 사용자가 볼 수 있는 앱의 객체이다. - View 객체는 앱의 Model 객체의 데이터를 표시하고 해당 데이터를 수정할 수 있도록 하는 것 - 수정할 수 있도록 하는 것이지만 Model 객체와는 분리되어야 함. - 이유는 재사용하고 재구성하기 때문에 앱 간의 일관성을 제공해야 하기 때문이다. - Controller의 통제를 받는다. 3. Controller - Controller 객체는 하나 이상의 Model / View 객체 사이에서 중개자 역할을 한다. - App에 대한 설정 및 조정 ..
생성 패턴 생성 패턴이란? - 인스턴스를 만드는 절차를 추상화하는 패턴 - 객체를 생성, 합성하는 방법이나 객체의 표현 방법과 SW시스템을 분리해 줌 - 클래스 생성 패턴이 인스턴스로 만들 클래스를 다양하게 만들기 위한 용도로 상속을 사용하는 반면, 객체 생성 패턴은 인스턴스화 작업을 다른 객체에게 전달 가능 - 시스템이 어떤 구체 클래스를 사용하는지에 대한 정보를 캡슐화 함. - 클래스의 인스턴스들이 어떻게 만들고 어떻게 서로 맞붙는지에 대한 부분을 완전히 가려줌. =>무엇이 생성되고, 누가 생성하며, 어떻게 생성되는지, 언제 생성할 것인지 결정하는데 유연성을 확보함.
Threads Overview - Threads는 CPU 이용의 기본 단위이다. - Threads는 Threads ID, Program Counter, Register Set, Stack으로 구성된다. - Threads는 같은 프로세스에 속한 다른 Threads와 Code, Data Section, 열린 파일이나 신호와 같은 운영체제 자원들을 공유한다. - 프로세스가 다중의 스레드를 가진다면, 프로세스는 동시에 하나 이상의 작업들을 수행할 수 있다. Motivation(동기) - 하나의 응용프로그램이 여러 개의 비슷한 작업들을 수행할 필요가 있는 상황 - 하나의 응용프로그램은 여러 개의 실행 흐름을 가진 독립적인 프로세스로 구현 - 스레드는 원격 프로시저 호출(RPC, Remote Procedure Call)에서 중요..
프로세스 프로세스의 개념 정의 실행 중인 프로그램. 현대의 시분할 시스템에서 작업의 단위 프로세스 상태 New : 프로세스가 생성 중 Running : 명령어들이 실행됨 Waiting : 프로세스가 어떤 사건(입출력 완료 혹은 신호의 수신)이 일어나기를 기다린다. Ready : 프로세스가 처리기에 할당되기를 기다린다. Terminated : 프로세스의 실행이 종료됨 프로세스 제어 블록 - 프로세스 상태 - 프로그램 카운터 : 해당 프로세스가 다음에 실행할 명령어의 주소를 가르킴. - CPU 레지스터들 : CPU 레지스터는 컴퓨터의 구조에 따라 다양한 수와 타입을 가짐. 레지스터에는 누산기(accumlator), 인덱스 레지스터, 스택 레지스터, 범용 레지스터들과 상태 코드 정보가 포함됨. 특히 상태 정보는 프로세..