@Published와 Subject 차이점
·
iOS/Combine
배경tableview에서 값을 삭제하는데 다음과 같은 버그로 앱이 종료되었다.  // IssuelistViewModel.swift@Published var issues: [IssueResponseDTO] = []// IssuelistViewController.swiftviewModel.$issues .withUnretained(self) .sink { (owner, issues) in print("\(#file) \(#function) : \(issues.count)") // 삭제가 잘되어 3개 꽂힘 owner.tableView.reloadData() } .store(in: &subscription) func tableView(_ tableView: UIT..
메모리
·
CS/OS
메모리 계층레지스터CPU 안에 있는 작은 메모리, 휘발성, 가장 빠른속도, 가장 적은 용량캐시데이터를 미리 복사해 놓는 임시 저장소빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리위치는 CPU의 레지스터와 주기억장치 사이에 위치한다같은 의미로 캐시 계층이라는 의미는 속도 차이를 해결하기 위해 계층과 계층 사이에 있는 계층을 의마하며캐시 메모리와 보조기억장치 사이에 있는 주기억장치를 보조기억장치의 캐싱 계층이라고 부를 수 있다.휘발성, 빠른속도, 적은 용량을 같는다. 캐시는 L1 ~ L3 까지있다.주기억장치RAM을 지칭하며 휘발성, 보통 속도, 용량 보통 보조기억장치휘발성, 낮은 속도, 큰 용량캐시캐시를 데이터 기반으로 설명한다면 다음 특징과 함께 설명할 수 있다. 시간 지역성 ..
컴퓨터의 요소
·
CS/OS
컴퓨터의 요소CPUDMA 컨트롤러메모리타이머디바이스 컨트롤러1. CPU Central Processing Unit의 약자로 중앙 처리 장치의 약자이다. CPU를 구성요소 = 산술논리연산장치 + 제어장치 + 레지스터로 구성되어 있으며 메모리에 존재하는 명령어를해석해서 실행하는 역할을 담당한다. 구성요소제어장치 [CU, ControlUnit]입출력간 통신을 제어하고 명령어들을 읽고 해석하며 데이터 처리를 위한 순서를 결정한다.레즈스터 [Register]CPU 내부에 있는 매우 빠른 임시기억장치 연산속도가 가장 빠르고 저장 크기가 가장 작은 기억장치이다.산술논리연산장치 [ALU, Arithmetic Logic Unit]덧셈, 뺄셈 같은 산술연산 + 논리 연산을 담당하는 디지털회로, 전체적인 연산을 담당한다. ..
운영체제 [ 역할과 구조, 시스템콜 ,커널 ]
·
CS/OS
OS란?OS는 Operating System의 약자로 운영체제를 뜻한다. 사용자가 컴퓨터를 쉽게 사용할 수 있게해주는 인터페이스로 한정된 메모리나 시스템 자원을 효율적 제어및 관리하는컴퓨터의 중요한 관리자 역할을 담당한다. 역할CPU 스케줄링과 프로세스 관리CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리메모리관리한정된 메모리를 어떤 프로세스에 할당해야하는지 관리디스크파일 관리디스크파일을 어떤 방법으로 보관할지 관리I/O 디바이스 관리I/O 디바이스들 간에 데이터를 주고받는 것을 관리구조 위 사진을 통해 보면 가장 최상단에 응용 프로그램(유저 프로그램)이 있고 그 아래 GUI, 시스템콜, 커널, 드라이버가있으며 가장 하단에 하드웨어가 있다. 여기서 GUI ~..
HTTP [ HTTP Version, HTTPS ]
·
CS/Network
앞서 배운 response와 request에 각각 http version이 명시되어 있는데 이번에는 http version 특성을 간단하게 정리해보자. HTTP/1.0한 연결당 하나의 요청을 처리하도록 설계됨TCP 커넥션이 HTTP 요청마다 3-way Handshake와 TearDown 반복RTT증가RTT: 패킷이 목적지에 도달하고 다시 출발지로 돌아오기 전까지 걸리는 시간 = 패킷 왕복 시간 RTT 증가를 해결하기 위해 시도한 방법이미지 스플리팅많은 이미지가 합쳐져 있는 하나의 이미지를 받아 position을 이용하여 단일 이미지처럼 표기하는 방법코드 압축개행 문자, 빈칸등을 없애서 코드의 크기를 최소화하는 방법 이미지 Base64 인코딩이미지 파일을 64지법으로 이루워진 문자열로 인코딩이 방법을 사용..
TCP / IP 4계층 [ 계층 구조 ]
·
CS/Network
우리는 무엇인가 주고받을 때 어떤 것을 줄 것인지, 어떤 것을 받을 것인지를 보통 약속을 한다.예를들어 아이스크림을 받기 위해서는 우리는 아이스크림에 해당되는 금액을 지불해야한다. 이 절차는 사회적 약속이다. 마찬가지로 네트워크를 통해 데이터를 주고 받을 때도 미리 정해진 약속이 있다.그 약속을 보통 계층별로 나눠 정했는데 우리는 그 약속들의 집합을 TCP/ IP 4계층 또는 OSI 7계층으로 설명한다. 계층 구조TCP/IP는 인터넷의 표준 프로토콜로 개발되었으며, 실질적인 통신을 위해 사용된다. OSI 7계층은 이론적인 참조 모델로 개발되어 실제 통신에는 사용되지 않지만, 네트워크 기술 및 프로토콜의 표준화를 위해 사용된다. TCP / IP 애플리케이션 계층 = 애플리케이션 계층 + 프레젠테이션 계층 ..