추상팩토리 패턴은 서로 관련있는 여러 객체를 만들어주는 인터페이스를 제공하는 패턴입니다.따라서 관련성 있는 여러 종류의 객체를 일관된 방식으로 생성하는 경우 사용됩니다.
팩토리 메서드는 부모 클래스에서 객체들을 생성할 수 있는 인터페이스를 제공하지만, 자식 클래스들이 생성될 객체들의 유형을 변경할 수 있도록 하는 생성 패턴입니다.
친한 후배 덕분에 블루투스 기기와 연동하여 데이터를 표시하는 프로젝트를 진행했었습니다. 학습했던 것을 간단하게 정리해보려고 합니다. Core Bluetooth 프레임 워크는 BLE(Bluetooth Low Energy)와 BR/EDR 무선 통신
LineBreak 일반적으로 UILabel의 LineBreak는 아래의 캡쳐처럼 여러가지가 존재합니다. 각각의 속성을 간단하게 설명해 보자면 Character Wrap 개별 문자 하나 하나 단위로 줄바꿈합니다. 하나의 단어가 끝나지 않아도 줄을 바꿉니다. Word
https://github.com/Juanpe/SkeletonView 를 사용하여 스켈레톤뷰를 구현합니다.
Swift Types Swift의 Type은 Named, Compound type와 Reference, Value type을 기준으로 나눌 수 있습니다. Named vs Compound Named Type: class, struct, enum Compound Type
필수 구성요소 operation이 끝나기 전에 종속 operation이 시작되지 않는 것을 보장합니다.첫번째 operation에서 두번째 operation으로 데이터를 자동으로 전달하는 깔끔한 방법을 제공합니다.operation간의 종속성을 활성화하는 것이 GCD보다
Operation은 GCD와 비슷하게 동작합니다. GCD와 Operation 둘다 코드 덩어리를 분리된 thread에서 동작할수 있게 합니다. 그러나 Operation은 제출된 task를 훨씬 잘 제어할 수 있습니다. 앞에서 말했듯이 operation은 GCD를 기반으
(앱 자체도 포함해서) 같은 process 내에 thread들은 동일한 주소공간을 공유합니다. 즉, 각각의 thread가 동시에 같은 공유 resource를 읽고 쓰려고 합니다. 주의하지않으면 여러 thread가 동시에 동일한 변수에 쓰려고 하는 경합조건(Race Co
DispatchQueue들을 그룹으로 묶어서, 후행 클로저 (일이 끝난다음의 처리)를 할 수 있도록 합니다.어떠한 task가 있고, group의 일부로써 task를 추적하려고 한다면, group을 dispatch queue의 async 메서드의 인수로 제공할 수 있습니
Thread는 thread of execution을 나타내는 말로, 실행중인 process가 시스템의 리소스 간에 작업을 분할하는 방식입니다. 디바이스 cpu의 코어 갯수만큼 한번에 여러 스레드를 실행할 수 있습니다.Multiple thread의 장점Faster exe
C의 libdispatch의 애플 버젼clousure 단위로 task를 queue에 넣는 것이 목적가용한 자원에 따라 병렬로 실행 할 수 있다.Sync는 실행되고 있는 작업이 끝날 때까지 앱이 대기하고 현재 런루프를 차단합니다.Async는 작업을 실행한 즉시 앱으로 돌
Observable을 구독하는 과정은 아래와 같이 3부분으로 나눌 수 있습니다.먼저 Observable을 정의합니다. Observable을 만들어도 즉시 실행되는 것은 아닙니다. Observable은 추후에 구독자가 생길 때 까지 아무것도 하지 않고 기다립니다.map이
View, Interactor, Presenter, Entity, Router로 이루어져 있는 패턴입니다.View와 ViewController 파일들입니다.Presenter의 요청대로 디스플레이 하고, 사용자 입력은 Presenter로 보냅니다.Business logi
해시(hash)란 단방향 암호화 기법으로 해시함수(해시 알고리즘)를 이용하여 고정된 길이의 암호화된 문자열로 바꿔버리는 것을 의미Hash Table(해시 테이블)과 Hash Function(해시 함수)으로 구성됨해시테이블(Hash Table, Hash Map이라고도 불
한 객체가 다른 객체와 상호작용(참조)하고 있다면 그 객체는 다른 객체에 의존성을 가집니다.위 코드에서 Bclass는 Aclass 객체에 의존합니다.Aclass 객체가 수정되면 Bclass도 같이 변경되게 됩니다. 즉, 하나의 모듈이 바뀌면 의존한 다른 모듈까지 변경되
Observer인 동시에 ObservableSubject로 전달되는 이벤트를 Observer로 전달하는 가장 기본적인 Subject이다. 즉 이벤트를 전달하는 역할과 이벤트를 전달받는 역할 모두를 할 수 있습니다.Element없이 빈 상태로 생성되고, subscribe
DeadLock에 대해 아는데로 설명해보세요 자주쓰는 자료구조가 뭔가요? array와 map의 차이점은? 각각 언제 쓰나요? map과 hashmap의 차이는? git에서 주로 쓰던 명령어들은 뭐가 있었나요?
코테 문제 풀다가 원하는 문자열이 나오는 위치와 몇개가 나오는지에 따라 정렬해야하는 경우가 있었었습니다.주어진 문자열 내에서 특정 문자열의 범위를 알고 싶은 경우, range(of:)를 사용하여 문자열 안에 처음으로 일치하는 문자열의 범위를 알아낼 수 있습니다..bac