profile
학생입니다
post-thumbnail

[TroubleShooting] URLSession에서 SSL 인증 예외 처리하기

Raywenderlich 예제를 따라하던 중, NASA 공개 API 데이터를 다운로드하던 중 다음과 같은 오류가 발생했다.The certificate for this server is invalid. You might be connecting to a server th

2022년 5월 12일
·
0개의 댓글
post-thumbnail

[RxSwift] Combining Operators

Prefixing and concatenating startWith(_:) 주어진 인자의 값을 Observable 시퀀스의 접두사로 붙인다. 해당 인자의 타입은 Observable 요소 타입과 동일해야 한다. concat(_:) 2개의 시퀀스를 하나로 합친다.

2022년 5월 12일
·
0개의 댓글
post-thumbnail

[RxSwift] Transforming Operator

Observable은 요소들을 하나씩 개별적으로 방출하지만, 이것들을 통합한 컬렉션으로 다루고 싶은 경우가 생긴다.예를 들면, 테이블뷰나 컬렉션뷰의 dataSource로 활용하고 싶은 때가 대표적이다.이런 경우 사용하는 연산자가 toArray이다. toArray 연산자

2022년 5월 4일
·
0개의 댓글
post-thumbnail

[RxSwift] Throttle

지정된 시간 동안 발생한 이벤트 중 가장 나중의 이벤트 만을 취하는 연산자검색 창에서 검색 추천 목록의 요청을 지연시킬 때 사용할 수 있다. 그러면 유저가 다다닥 쳤을 때마다 api 요청을 하는 게 아니라 일정 시간 경과 후 api를 호출 하게 된다.유저가 모달 창 띄

2022년 5월 4일
·
0개의 댓글
post-thumbnail

[RxSwift] share() 연산자

Observable의 create 클로저는 subscriber 가 설정될 때마다 호출된다.주의할 점은 subscribe(...)를 호출할 때마다 해당 subscribe에 대한 새로운 Observable이 생성되고 각 복사본이 이전과 동일하다는 보장이 없다는 것이다.Ob

2022년 4월 28일
·
0개의 댓글
post-thumbnail

[RxSwift] Filtering Operators

연산자는 Rx의 블록을 쌓는것과 같다.Observable로 방출된 이벤트를 변환, 처리, 반응할 수 있다.subscriber가 처리하려는 elements만 수신하도록 방출된 이벤트에 조건부 제약을 적용하는데 사용할 수 있다.Swift 표준 라이브러리의 filter(\_

2022년 4월 26일
·
0개의 댓글
post-thumbnail

[RxSwift] Subjects, Relays

일반적으로 앱을 개발할때 필요한 것은 새로운 값을 런타임에 observable에 수동으로 추가하고 subscriber에게 방출하는 것이다. 우리가 원하는 것은 observable과 observer의 역할을 모두 수행할 수 있어야 하고 이것을 Subject라고 한다.마치

2022년 4월 25일
·
0개의 댓글

[RxSwift] Observables

Observable은 Rx의 심장Rx에서는 Stream이라는 표현 대신 Sequence라는 표현을 사용Observable은 Sequence이다.Observable은 일정 기간동안 이벤트를 생성하며, 이를 방출(emit)이라고 한다.이벤트는 숫자 또는 사용자 정의 유형의

2022년 4월 23일
·
0개의 댓글

[Design Pattern] 빌더 패턴

복잡한 객체를 생성하는 방법과 표현하는 방법을 정의하는 클래스를 별도로 분리하여, 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공할 수 있도록 하기 위함이다.동일한 구성 코드를 사용하여 객체의 다양한 유형과 표현을 생성할 수 있다.객체\*의 가능한 모든

2022년 4월 6일
·
0개의 댓글

[Design Pattern] 옵저버 패턴 (Observer Pattern)

옵저버 패턴은 관찰하는 객체에 발생하는 모든 이벤트에 대해 여러 객체에 알리는 구독 메커니즘을 정의할 수 있는 행동 디자인 패턴이다.Customer 와 Store 라는 두 가지 유형의 객체가 있다고 상상해보자. customer는 곧 store에 출시될 특정 브랜드의 상

2022년 4월 2일
·
0개의 댓글

[Design Pattern] 어댑터 패턴 (Adapter Pattern)

클래스의 인터페이스를 사용자가 기대하는 인터페이스 형태로 적응(변환)시킨다. 서로 일치하지 않는 인터페이스들을 갖는 클래스들을 함께 동작시킨다.Target: 사용자가 사용할 응용 분야에 종속적인 인터페이스를 정의하는 클래스Client: Target 인터페이스를 만족하는

2022년 3월 20일
·
0개의 댓글
post-thumbnail

[Design Pattern] 팩토리 메서드 패턴 (Factory Method)

객체를 생성하기 위해 인터페이스를 정의하지만, 어떤 클래스의 인스턴스를 생성할지의 대한 결정을 서브클래스가 내리도록 하기 위함이다.Product: 팩토리 메서드가 생성하는 객체의 인터페이스를 정의ConcreteProduct: Product 클래스에 정의된 인터페이스를

2022년 3월 16일
·
0개의 댓글

[Design Pattern] 추상 팩토리 패턴 (Abstract Factory Pattern)

상세화된(구체적인) 서브클래스를 정의하지 않고도 서로 관련성 있거나 독립적인 여러 객체의 군(패밀리)를 생성하기 위한 인터페이스를 제공하기 위함AbstractFactory: 개념적 제품에 대한 객체를 생성하는 연산으로 인터페이스를 정의ConcreteFactory: 구체

2022년 3월 9일
·
0개의 댓글

[아키텍처] MVVM

MVVM 패턴은 Model, View, View Model로 나뉘어져 있는 아키텍처 디자인 패턴이다.사용자가 화면을 통해 Action을 취하면 Command Pattern을 통해 View -> ViewModel로 전달된다.ViewModel은 Model에게 Data를 요

2022년 2월 17일
·
0개의 댓글

[Swift] Target-Action 의 동작 원리를 알아보기

우리는 흔히 UIKit를 이용하여 개발할 때 버튼이나 여러 요소들의 사용자 이벤트를 처리하기 위해 Target Action 디자인패턴의 원리를 이용해 다음과 같은 코드를 사용한다.헌데 실제로 어떻게 프로그램의 런타임에서 action이 실행될 수 있는 것일까?그 원리를

2022년 2월 11일
·
0개의 댓글

[Swift] Concurrency Programming - 4

동시성 프로그래밍은 강력한 기능이지만 Race Condition Issue가 발생할 수 있다.위와 같은 예제의 오류가 발생하는 이유는 하나의 자원, 값에 여러 스레드가 접근하여 동시에 작업하기 때문이다.공유 자원에 접근할 수 있는 스레드의 수를 제한할 수 있다.ARC랑

2022년 2월 10일
·
0개의 댓글

[Swift] Concurrency Programming - 3

DispatchQueue를 초기화 하는 생성자 다음과 같다.디버깅 환경에서 추적하기 위해 작성하는 String 값식별자Quality of Service의 약자로 실행될 Task의 우선 순위를 정해준다.반드시 일이 처리 되는 '순서'를 정해주는 것이 아니라 무엇에 더 '

2022년 2월 10일
·
0개의 댓글
post-thumbnail

[Swift] Concurrency Programming - 2

애플이 제공하는 가장 대표적인 동시성 프로그래밍Grand Central Dispatch의 약자로 멀티 코어 환경과 멀티 스레드 환경에서 최적화된 프로그래밍을 할 수 있도록 애플이 개발한 기술GCD를 사용하기 위해 Dispatch 프레임워크를 사용하게 되는데 그중에서도

2022년 2월 9일
·
0개의 댓글

[Swift] Concurrency Programming - 1

Concurrency Programming에 대하여 알아보기

2022년 2월 9일
·
0개의 댓글

[Swift] String.Index에 관한 고찰

스위프트에서 문자열을 다루는 방법은 상당히 까다롭다.예를 들어 다음과 같은 방법은 스위프트에서 불가능하다.이는 다른 언어에서는 가능하지만 스위프트에서는 불가능하다.이는 왜냐하면 스위프트에서 어떤 타입의 \[] 연산을 하기 위해서는 서브스크립트 메소드가 정의되어 있어야

2022년 2월 5일
·
0개의 댓글