일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Concurrency
- gesture
- state
- SwiftUI
- WWDC
- 최적화
- Network
- authentication
- swift
- auth
- 네트워크
- dataflow
- Animation
- Performance
- arkit
- avsession
- firebase
- combine
- stateobject
- view
- 접근성제어
- ios
- toolbarvisibility
- iphone
- 달력
- withAnimation
- CS
- UIKit
- RxSwift
- GCD
- Today
- Total
목록Home (56)
XLOG
캐시란 구동속도가 빠른 장치와 느린 장치에서 발생할 수 있는 병목현상을 줄여주기 위한 것을 의미한다. cpu 캐시 메모리는 cpu가 대용량의 메인 메모리에 빠르게 접근하기 위해 cpu 칩 내부 혹은 바로 옆에 탑재하는 작은 메모리다. 상대적으로 처리 속도가 느린 메인 메모리를 보완 하여, 자주 사용 예상되는 데이터를 저장함으로써 cpu의 메모리 접근 속도를 향상시켜 처리속도 까지 올려주는 역할을 한다. 지역성 캐시가 효율적으로 동작을 하기 위해선, 캐시가 저장할 데이터가 지역성을 가져야 한다. 지역성이란 데이터 접근이 시간적 혹은 공간적으로 가깝게 일어나는 것을 의미한다. 시간적 지역성 특정 데이터가 한번 접근되었을 경우, 가까운 미래에 또 한번 데이터에 접근할 가능성이 높은 것을 시간적 지역성이라고 한..

CPU의 시작은 제어장치부터로 보면 된다. 참고 자료 https://gyoogle.dev/blog/computer-science/computer-architecture/컴퓨터의 구성.html https://www.youtube.com/watch?v=rTaNNQhwmt0 https://all-young.tistory.com/17

OSI 7게층과의 차이점 OSI 모델은 7계층, TCP/IP는 4계층 OSI 모델은 ISO에서 개발했다. TCP/IP는 미정부기관 DARPA에서 개발을 시작하고, ARPANET을 통해 오늘날의 인터넷이 탄생. OSI는 개방형 시스템 상호 연결을 나타낸다. OSI 모델에서 전송 계층은 연결 지향적이다. TCP/IP 모델의 계층은 연결 지향적이고 비연결적이다. OSI는 네트워크 계층을 사용하여 라우팅 표준 및 프로토콜을 정의한다. TCP/IP 는 인터넷 계층만 사용한다. OSI는 개방형 시스템 상호 연결을 나타낸다. TCP는 전송 제어 프로토콜을 나타낸다. 4. Application 데이터 단위: Data / Message 프로토콜 (Http, ftp, SMTP 등) 3. Transport 데이터 단위: S..
정의 네트워크 아키텍처에서 각 계층의 고유한 기능을 정의해 놓은 것 즉 네트워크 아키텍처는 프로토콜의 집합으로 볼 수 있다. TCP/IP HTTP RTSP FTP SMTP 등 기능 Fragmentation & Reassembly (패킷) Encapsulation (필요한 정보를 헤더에 포함시킴) Flow Control Synchronization (데이터를 주고 받는 상태에 대하여) Sequence Control Error Control Addressing Multiplexing Transmission Service 구성요소 Syntax(형식) - 데이터를 어떻게 구성할 것인가? 어떻게 해석할 것인가 SEmeantic(의미) - 데이터를 어떻게 제어할 것인가? 오류는 어떻게 처리할 것인가 Timing(순..

OSI 모델이란 ? 다양한 통신 시스템이 표준 프로토콜을 사용하여 통신할 수 있도록 국제 표준화 기구가 만든 개념. 중요한 이유? 네트워크 문제를 분해하고 문제의 원인을 분리하는데 도움이 될 수 있다. 7. 응용프로그램 계층 프로토콜과 데이터를 조작하는 역할을 한다. (HTTP, SMTP 등) 6. 프리젠테이션 계층 데이터를 준비하는 계층으로 데이터의 변환, 암호화, 압축을 당당한다. (번역기) 5. 세션 계층 두 기기 사이의 통신을 시작하고 종료하는 일을 담당 체크포인트 동기화 4. 전송 계층 세그먼트 조각으로 분할 / 재조립 흐름 제어 및 오류 제어 3. 네트워크 계층 두 개의 상이한 네트워크 간의 데이터 전송을 촉진 동일한 네트워크에 있다면 필요 없는 계층 세그먼트 패킷으로 분리 및 재조립 최상의 ..

프로그래밍을 하다보면 자연스럽게 아키텍쳐에 대한 고민을 하게된다. 고민의 이유는 너무 당연하다. 규모가 큰 프로젝트 구조를 잘 짜서 효율적으로 코드를 작성하여 효율적인 업무를 하고, 관리도 쉬워야 하기 때문이다. 가장 먼저 하고 싶은 말은' MVC, MVVM, MVP 등 어떠한 아키텍쳐가 좋다 라고 정답이 정해진건 아닌 것 같다' 이다. 진행하는 프로젝트의 규모, 진행하는 구성원, 주어진 시간 등을 고려하여 가장 효과적으로 진행할 수 있는 방법을 선택해야 하는 것 같다. 우선 MVC 에 대해 알아보자. Model - View - Controller 의 약자이다. Model 은 데이터 모델, View는 화면, Controller는 중재자 같은 역할이다. 예를 들어 API를 통해 Json을 받아 우리가 필요..

내가 이해한 컴바인은 비동기적으로 동작하는 함수로 요청에 의해 Publisher는 요청을 처리하여 Subscriber에게 전달하여 변경 사항을 적용할 수 있게 하는 프레임워크이다. 우선 Combine을 이해하고 사용하기 위해 우리는 Publisher, Subscriber, Subject, Operator 를 알아야 한다. 우선 Publisher Publisher 는 두가지 associatedtype 인 Output, Failure 와 가 존재하며 subscribe 를 통해 Subscriber와 연결을 취한다. 초반 예시에 나오는 코드에서 맨 아래 Data, Never 테두리에 적혀있는 것은 Publisher에 Output, Failure 의 타입으로 계속해서 저렇게 표시를 해준다. 또한 Notificat..

프로젝트를 진행하면서 UICollectionView 와 Image를 함께 사용할 일이 많았다. Asset을 이용하여 사용할 때는 큰 문제가 없었지만, 서버에서 이미지를 불러오면서 그 효율성에 대한 고민을 하기 시작했다. 그리기 위해 UIImage, UiImageView 가 어떻게 동작하는지 알아야 겠다는 생각을 했다. 그래서 WWDC18 에 Image and Graphics Best Practice 영상을 확인했다. 보통 이미지는 우리 데이터공간, 혹은 네트워크를 통해 다운받아 UIImage로 Load 하여 Decode 한다. Decode를 하는 과정에서 image사이즈에 따라 image buffer의 크기가 결정된다. Buffer 란 연속되 메모리 영역이다. Buffer엔 Data Buffer, Ima..

시작에선 비동기 프로그래밍에 대해 이야기를 해보자고 시작을 한다. 위 화면에서 보면 회원가입시 앱은 user name, password 를 요청하며 이때 유효한 user name 인제, password 는 맞는지 확인을 해야한다. username의 경우엔 타이핑을 감지, 멈추면 서버와 통신하여 유효한지 확인, 패스워드의 경우는 패스워드 확인과 같은지 체크를 해야한다. 기존엔 그러기 위해 수많은 타겟, 액션이 필요했다. 또한 이 과정에서 메인스레드가 막히지 않게 하여 반응형 유저인터페이스가 유지하도록 해야한다. ( user name을 확인하는 중에 password를 입력하거나, 확인하거나가 같이 이루어져야 한다 ) 참 많은 비동기 동작을 진행해야하기에 복잡하며, 좀 더 사용성을 쉽게 하기 위해 서드파티를 ..

우선적으로 프로젝트에 FirebaseAuth 와 GoogleSignIn을 설치해야 한다. (pod or Swift Package Manager) 이용 custom URL schemes 를 Xcode 프로젝트에 추가한다. GoogleService-Info.plist 에 REVERSED_CLIENT_ID 값을 확인(복사) Info plist에서 URL Types 에 + 버튼 클릭 URL Schemes 에서 a에서 복사한 붙여넣기 URL Scheme는 특정 형태의 URL로 내 앱을 호출할 수 있다는 것이다. 즉 URL을 통해 다른 앱과 통신할 수단을 제공하는 것이다. AppDelegate 에 application:didFinishLaunchingWithOptions: 메서드에 FirebaseApp.config..