일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- firebase
- authentication
- GCD
- Concurrency
- 접근성제어
- auth
- combine
- 달력
- RxSwift
- CS
- Network
- swift
- view
- ios
- WWDC
- withAnimation
- arkit
- stateobject
- Performance
- toolbarvisibility
- gesture
- avsession
- UIKit
- 최적화
- Animation
- dataflow
- iphone
- SwiftUI
- 네트워크
- state
- Today
- Total
목록Swift/Etc (15)
XLOG

GCD ( Grand Central Dispatch )는 다중 코어 프로세서 및 기타 대칭 다중 처리 시스템이 있는 시스템에 대한 응용 프로그램 지원을 최적화하기 위해 Apple Inc.에서 개발한 기술입니다. 이 간단하게 우리의 핸드폰, 컴퓨터는 멀티 프로세스, 멀티 스레드를 지원한다. 자연스럽게 웹과 앱에서도 다중 처리 시스템이 도입되게 된다. iOS로 설명을 하자면 iOS서는 메인쓰레드를 통해 UI 업데이트를 진행하고 있다. 하지만 UI 를 업데이트를 할때 연산, 데이터 다운로드 등의 네트워킹 작업들이 함께 동반되어야 한다. 하지만 UI 업데이트를 위해 필요한 작업들은 우리 UI의 반응을 멈추게 하면 안된다. 이것은 애플이 강조하는 바이다. ( 참고, Swift 에서는 Thread pool 관리를 ..

프로그래밍을 하다보면 자연스럽게 아키텍쳐에 대한 고민을 하게된다. 고민의 이유는 너무 당연하다. 규모가 큰 프로젝트 구조를 잘 짜서 효율적으로 코드를 작성하여 효율적인 업무를 하고, 관리도 쉬워야 하기 때문이다. 가장 먼저 하고 싶은 말은' 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..

시작에선 비동기 프로그래밍에 대해 이야기를 해보자고 시작을 한다. 위 화면에서 보면 회원가입시 앱은 user name, password 를 요청하며 이때 유효한 user name 인제, password 는 맞는지 확인을 해야한다. username의 경우엔 타이핑을 감지, 멈추면 서버와 통신하여 유효한지 확인, 패스워드의 경우는 패스워드 확인과 같은지 체크를 해야한다. 기존엔 그러기 위해 수많은 타겟, 액션이 필요했다. 또한 이 과정에서 메인스레드가 막히지 않게 하여 반응형 유저인터페이스가 유지하도록 해야한다. ( user name을 확인하는 중에 password를 입력하거나, 확인하거나가 같이 이루어져야 한다 ) 참 많은 비동기 동작을 진행해야하기에 복잡하며, 좀 더 사용성을 쉽게 하기 위해 서드파티를 ..
파이어베이스는 회원가입, 로그인, 회원 관리 기능을 제공한다. 로그인 수단으로는 Email and password, Federated identity provider integration(Google, Facebook, Sign in with Apple, Twitter, GitHub), Phone number authentication, Custom auth system, integration, Anonymous auth 가 있다. 위와 같은 방법에서 무료 버전의 경우는 3,000 DAUs( daily active users ) 까지라고 한다. 사용량을 더 늘리고 싶다면 유료버전을 사용해야 한다고 한다. 유료버전을 사용하게 되면 몇가지 기능을 더 제공하는 것 같다. How does it work? 우선 ..