Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

Computer Science40

디자인 패턴 (MVC, MVP, MVVM) SwiftUI 공부 하면서 MVVM 패턴을 접했는데, 여전히 정리가 잘 되지 않아서 간략하게나마 디자인 패턴, 특히 MVC, MVP, MVVM을 정리해 보고자 한다. 디자인 패턴이 뭔데? 프로그램을 설계하면서 발생했던 다양한 문제점들을 방지하고, 해결하기 위한 객체 간의 관계를 활용하는 등의 "약속" 을 의미한다. (코드를 더 잘 관리할 수 있다.) * MVVM이 최신 디자인 패턴이라고 제일 좋은 것은 아니다! 상황에 따라 적절히 사용해야 한다. 싱글톤 패턴, 옵저버 패턴 등 다양한 디자인 패턴이 있지만, 이번에는 MVC, MVP, MVVM을 더 보고자 한다. 기본적으로 중간 매개체(컨트롤러 등)가 담당하던 수많은 역할을 점차 각자에게 나누는 과정으로 이해하고 있다. MVC 패턴 Model, View, .. 2023. 3. 27.
C? C++? C#??? 기계어, 어셈블리어, 고급언어와 함께 C, C++, C#의 차이점이 궁금해서 알아봤다. 뭐가 다른데 우선 기계어, 어셈블리어, 고급언어를 알아야 한다. [기계어] Machine Language 컴퓨터가 사용하는 언어. 즉 CPU가 명령을 처리할 때 사용하는 언어고 2진법을 사용한다.(0과 1) 우리가 코드를 작성하면 컴파일 하는 과정을 거치는데 컴파일이 바로 바로 기계어로 우리가 짠 코드를 변환하는 것이다. 그런데 0과 1로만 막 쓰여 있으면 인간의 입장에서 너무 읽기가 힘들다.. 그래서 등장한 것이 바로 [어셈블리어] Assembly Language 기계어에서 숫자를 인간이 알기 쉬운, 의미 있는 단어로 바꿔서 이해하기 쉽게 만든 언어가 '어셈블리어'이다. (mov, add 등) 다만 이렇게 쓰면 CPU는 이해하지 못하기 때문에 개발자가 .. 2023. 3. 19.
코어와 스레드, 멀티 프로세스와 멀티 스레드, 동시성? 동시성 프로그래밍 공부를 하다가.. 개념 정립이 안 되어 있다고 느껴서 관련 자료를 찾아보며 공부해 보았다. 프로그램 - 프로세스 - 멀티프로세스/멀티스레드 이런 처리 과정을 잘 알고 있으면 코드를 이해하고,작성하는데 도움이 될 것 같다. * 코어와 스레드 * CPU 코어 (Centeral Processing Unit) - 중앙 처리 장치 싱글코어의 경우.. 일하는 사람이 1명이라고 생각하면 됨. CPU는 한 번에 1가지 일만 처리 가능함. 예전에는 한명으로도 충분했는데(여러가지 작업이 있다고 해도 하나씩 계속 처리하면서 다음 작업으로 넘어감) 시간이 지나며 연산량이 더 많아지자.. CPU의 클럭을 높이는 방식으로 이를 대처함 *무어의 법칙 - 18개월마다 컴퓨팅 성능은 2배씩 빨라질 것이다. 하지만 발.. 2023. 3. 19.
메모리? Memory 간략하게 스위프트를 정리, 요약하는 카테고리 입니다 :) 모든 문법을 다 정리하기는 어렵고.. 핵심적이고 어려운 개념들을 위주로 공부하며 작성할 거 같다. 메모리가 뭐지? 메모리는 주 기억장치(Ram)라고도 한다. 컴퓨터에서 데이터를 저장하는 것은 주 기억장치, 보조기억장치 2가지가 담당하는데. 메모리는 '주'기억장치이다. main! 스마트폰으로 생각해 보면 아이폰 램이 몇 기가고~ 용량이 얼마고~ 이런 얘기를 들어봤을 것이다. (iPhone14Pro Silver 6gb 256gb _ 램 6기가, 롬 256기가) 여기서 말하는 램이 메모리이고 용량은 보조기억장치인 롬(하드디스크)이다. 램_ 메모리는 어플이 실행 중일 때 (프로세스) 중요한 역할을 한다. 메모리는 스마트폰이 켜져 있을 때 내가 실행하는 프.. 2023. 3. 13.