CS
메모리 구조 메모리 구조는 Code 영역, Data 영역, Heap 영역, Stack영역으로 구성되어 있음 Code 영역 작성한 코드가 기계어로 저장됨 Compile(컴파일) Time 결정 중간에 코드가 변경되지 않도록 Read-Only 형태로 저장 Data 영역 전역 변수, static 변수 저장 ※ Swift static 키워드는 lazy가 기본 동작 → 해당 값에 접근할 때 메모리에 할당 프로그램 시작과 동시에 할당되고, 프로그램이 종료되어야 메모리 해제됨 실행 도중 변숫값이 변경될 수 있으니 Read-Write로 지정 Heap 영역 malloc / alloc으로 Heap에 메모리 할당할 수 있음 (동적할당) 사용하고 난 후 반드시 메모리 해제해야 함 → 해제하지 않을 경우 memory leak 발..
MVVM 패턴(Model - View - ViewModel) Model - 데이터 구조를 정의, ViewModel에게 결과를 알려줌 - Model과 View는 연결되지 않음 → 데이터 캡슐화 View - ViewController에 코드 작성 - View에 이벤트 발생 → ViewModel에게 결과 알려줌 - ViewModel에서 요청한 데이터를 보여줌 → 시각적 요소(App Life Cycle, 이벤트) ViewModel - view에 이벤트가 발생한 것을 그에 맞는 이벤트 처리 - Model의 Read, Update, Delete 담당 → Model Data를 View에 맞게 가공 및 처리(데이터바인딩) 출처 모델-뷰-뷰모델 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 모델-..
MVP(Model - View - Presenter) - MVC 아키텍처 패턴의 파생 패턴 - 사용자 인터페이스를 개발하기 위해 대부분 사용 - MVP에서 'P'는 "middle-man"의 기능을 담당 - 모든 Presentation 로직은 Present로 넘어감 출처 모델-뷰-프리젠터 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 모델-뷰-프리젠터(model-view-presenter, MVP)는 모델-뷰-컨트롤러(MVC) 아키텍처 패턴의 파생 패턴으로,사용자 인터페이스를 개발하기 위해 대부분 사용된다. MVP에서 ko.wikipedia.org
MVC (Model - View - Controller) MVC를 알아보기 전에 Model, View 그리고 Controller가 무엇인지 알아보자 Model - 앱이 포함해야할 데이터(정보)가 무엇인지를 정의 - 데이터의 상태가 변경되면 일반적으로 뷰에게 알림 View - 앱의 데이터를 보여주는 방식을 정의 Controller - 앱의 사용자로부터의 입력에 대한 응답 - 모델 또는 뷰를 업데이트하는 로직을 포함 MVC(Model - View - Controller)를 사용하면 UI로부터 로직을 분리하여 앱의 시각적 요소나 그 이면에서 실행되는 비지니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 앱을 만들 수 있다. Model과 View는 Controller에만 접근 할 수 있다. 장점 - 역할을 분담하..
Framework(프레임워크) - 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조 - 기초 역할을 하는 것이기 때문에, 완전하지 않음 소프트웨어 프레임워크 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 컴퓨터 프로그래밍에서 소프트웨어 프레임워크(software framework)는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조(骨 ko.wikipedia.org Library(라이브러리) - 주로 소프트웨어를 개발할 때 컴퓨터 프로그래밍이 사용하는 비휘발성의 자원의 모임 ※ 비휘발성 자원 : 구성 데이터, 문서, 함수, 클래스, 값 등이 포함되어 있음 라이브러리 (컴퓨팅) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두..
명령형 프로그래밍 (Imperative Programming) - 프로그래밍의 상태와 상태를 변경시키는 구문의 관점에서 연산을 설명하는 프로그래밍 패러다임의 일종 - 컴퓨터가 수행할 명령들을 순서대로 나열 - 선언형 프로그래밍과 반대되는 개념 - 대부분의 컴퓨터 Hardware는 명령형으로 구현 - C++, Java, Kotlin, FORTRAN이 대표적인 언어 - 함수형 프로그래밍과 논리형 프로그래밍와 같은 다른 형태의 언어와 다름 선언형 프로그래밍(Declarative Programming) - 프로그램이 무엇과 같은지를 설명하는 경우 → 선언형 - 프로그램이 함수형 프로그래밍 언어, 논리형 프로그래밍 언어, 제한형 프로그래밍 언어로 쓰인 경우 → 선언형 - 목표를 명시하고, 알고리즘을 명시하지 않음..