![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/oCvoG/btseBd5eEkY/CqYlrSxbwz4tt3KIA03EAK/img.png)
일단 원본 영상부터, Introducing Combine 본 글은 해당 영상을 본 후 간단히 요약한 글로 블로그 주인장의 영어 실력이 좋은 편은 아니라 잘못 번역된 부분이 있을 수 있음 Why? UI 처리부터 시작해서, Ad-hoc, URLSession 등 정말 많은 비동기 처리를 하고 있다. 사용 사례들이 정말 많고 관리하는 방식이 각기 다름, 이는 사용성 및 생산성 저하로 이어지는 만큼 이를 해결하고자 하였다. Apple Foundation 팀에서는 비동기 처리 후 나오는 값들을 시간이 지남에 따라 변하는 값으로 정의하였고, 이를 처리하기 위한 통합 선언형 API, Combine을 만들었음 Combine Pub-Sub 형태의 비동기 처리 API로 Publisher와 Subscriber, Operato..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/C2WOo/btseASUtaLS/tjvjwYcojT9KkKtPqKUaI0/img.png)
일단 원본 영상부터, Meet async/await in Swift 본 글은 해당 영상을 본 후 간단히 요약한 글로 블로그 주인장의 영어 실력이 좋은 편은 아니라 잘못 번역된 부분이 있을 수 있음 Why? 전통적인 Swift 코드에서는 비동기 동작에 대해 completionHandler를 이용하였음, 이는 다음과 같은 문제가 있었는데 해당 패턴에서는 중첩 클로저가 많아지고 이로 인해, 클로저들의 error를 관리하기 어려울 뿐 아니라 이로 인해 추적도 어려워짐 뿐만 아니라, 비동기 시스템의 종료를 명확하게 판단 할 수 없는 상태가 됨 이를 개선하는 목적으로 등장한게 async - await, 그래서 전통적인 비동기 처리 방식 대비, 훨씬 간결한 코드를 가지게 됨 비동기 처리를 한 라인에서 한 번만 발생시..
Structures and classes are general-purpose, flexible constructs that become the building blocks of your program’s code. You define properties and methods to add functionality to your structures and classes using the same syntax you use to define constants, variables, and functions. Struct와 Class를 통해 요소를 유연하게 구성할 수 있다. 클래스 안에 method와 property들을 일반적인 상수, 변수, 메소드 정의하듯 정의하여 사용 할 수 있다고 한다. struct와 cl..
보호되어 있는 글입니다.
일요일 하루는 여유롭게 보내고, 새로 시작하는 마음으로 들고온 금주의 첫 주제는 OOP와 POP 그리고 AP이다. iOS 개발자라고 했지만, 부끄럽게도 POP라는 단어를 안지 얼마 되지 않았다. 무려 WWDC2015에서 언급된 단어인데! 몰랐던 건 몰랐던 대로 앞으로 알아가면 되지 않을까? 하며 본격적으로 오늘의 글을 시작한다. OOP? 많은 시간 동안 프로그래밍 패러다임이었던 객체 지향 프로그래밍을 의미한다. C 중심의 절차지향 프로그래밍에서 유지보수성과 과도하게 늘어나는 명령어들을 효율적으로 처리하기 위해 등장한 방식인데, 처음 등장했을때는 하드웨어 성능 등의 이유로 주목받지는 못했었으나, GUI가 본격적으로 등장하면서 주목을 받았다고 한다. 객체를 중심으로 하는 프로그래밍인데, 비슷한 것들을 모아 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bdguLw/btsbQGxu71T/E7XGYHk6m2HvJffAcL8w4K/img.png)
한 동안은 Swift 작업을 할 때 종종 사용했던 프로토콜에 대한 글을 쓰려고 한다. 그 중 첫 번째는 개인적으로 정말 많이 사용했던, Equatable이다. Equatable 오늘도 어김없이, 공식 문서의 내용을 가져왔다. Types that conform to the Equatable protocol can be compared for equality using the equal-to operator (==) or inequality using the not-equal-to operator (!=). Most basic types in the Swift standard library conform to Equatable. 간단하게 이야기하면, 비교 연산자들을 통해 비교 할 수 있도록 만들어주는 프로토..
최근에 알고리즘 공부 이야기를 하다가, Set에 대한 이야기가 나왔다. 중복 제거에 흔히 사용하는 Set은 어떻게 동작하는지, 또 Swift의 Set은 뭐가 다른지를 간단하게 적어보려 한다. Set? A set stores distinct values of the same type in a collection with no defined ordering. You can use a set instead of an array when the order of items isn’t important, or when you need to ensure that an item only appears once. 기본적으로 Set은 중복되지 않는 값을 저장하기 위한 Collection으로 정렬되지 않은 상태로 들어간다...
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b3fKL3/btsaSj24L4n/nVNXVKF18ak9taaHKZ8yPK/img.png)
간단하게 Swift에서 정의하고 있는 ViewController와 여러 ViewController 중 핵심이었던 UIViewController를 알아보았던 지난 시간에 이어서, 오늘은 본격적으로 LifeCycle을 다뤄보려고 한다. LifeCycle? 한글로 직역하면, 생명주기 되시겠다. 말 그대로 UIViewController가 만들어져, 보여지고, 사라지기까지의 과정들을 다루는 것인데 이를 Swift에서는 Handle view-related notifications라는 이름으로 관리를 하고 있다. 아래는 Handle view-related notifications의 설명이다. When the visibility of its views changes, a view controller automatica..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/9JQhF/btsajeCd8wo/WbE9MDosbNxktJzX3HSpmK/img.png)
일일 포스팅의 첫 글로 당첨된 건 LifeCycle 관련 글이다, 공식 문서와 함께 공부해보자 Application LifeCycle도 있지만, 일단 오늘 다루려고 하는 건 ViewController의 LifeCycle이다. 처음 개발을 배울때 게임으로부터 시작해서인지, 특히 이쪽에 관심이 많이 있고 기본적으로 알아야하는 요소라고 생각했다. 업데이트와 렌더를 따로 관리했었는데, 업데이트만 하고 그려주지 않았다거나, 그려주긴 했는데 업데이트를 안시켰다거나, 했던 경험이 What is the View Controller? LifeCycle을 다루기에 앞서, ViewController에 대해 알고 가보자 You use view controllers to manage your UIKit app’s interfa..
- Total
- Today
- Yesterday
- 테크니컬라이팅
- Swift
- techincal
- 개발문화
- WWDC
- UIKit
- Async
- await
- POP
- Provider
- writing helpful error message
- IOS
- protocol
- lifecycle
- guri's dev
- message
- combine
- 리팩토링
- OOP
- github
- 주저리주저리
- struct
- Equatable
- 코드리뷰
- getx
- 개발자
- 기술블로그
- document
- flutter
- viewcontroller
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |