안녕하세요 Pingu입니다.🐧 오늘은 iOS에서의 Coordinator Pattern이라는 패턴에 대해 알아보는 글을 써보려고 합니다. 공부하다 보니 이 패턴을 만든 사람이 있었습니다. KHANLOU라는 블로그를 운영하는 사람인데.. 거기에 The Coordinator라는 글이 코디네이터 패턴의 시작..? 같습니다. 그리고 이 글을 쓰고 나서 몇 달 뒤에 좀 더 정리해서 Coordinators Redux라는 글을 또 작성했는데, 이 두 개의 글을 읽고 정리해 보겠습니다.Coordinator Pattern 탄생 배경글이 2015년에 작성되었는데 그때부터 iOS 개발자들은 이미 Massive ViewController가 문제가 되고 있었던 거 같습니다.이 사람이 코디네이터 패턴을 생각하게 된 기존 문제점은..
안녕하세요 Pingu입니다.🐧 요즘 async/await를 다시금 공부 중이라 오늘은 WWDC 2021에 발표된 Meet AsyncSequence라는 영상을 보고 정리한 글을 써보려고 합니다. AsyncSequence를 간단하게 요약하면 기존에 있던 Sequence에 비동기 기능을 추가한 녀석인 것 같습니다. Meet AsyncSequence 영상은 일단 간단하게 AsyncSequence의 새로운 기능을 설명하기 위한 예제 코드로 시작됩니다. 위 코드를 보면 endPointURL을 통해 csv파일을 다운로드하는 작업인 것을 알 수 있습니다. 오래 걸리는 작업이라 모두 다운로드된 후 파일을 처리하기보다는 다운로드되는 대로 처리하고 싶을 때 async/await 와 AsyncSequence를 사용하면 된다고..
안녕하세요 Pingu입니다.🐧 오늘은 WWDC 2020이 Modern Cell Configuration 이라는 영상을 보고 정리한 글을 써보려고 합니다. 이번 영상을 보고 느낀 점을 요약하자면, "컬렉션 뷰, 테이블 뷰의 셀을 구성하는 새로운 방법에 대해 설명하는 영상!"입니다. Modern Cell Configuration iOS 14부터 기존 기술을 기반으로 UICollectionView에 위 그림과 같이 세 가지로 나눌 수 있는 기능을 제공한다고 합니다. 세 가지에 대한 소개 영상은 Advances in Collection View라는 영상을 참고하라고 하네요. 이번 영상은 제목에서도 알 수 있듯이 View Configuration에 대해 주로 다룰 예정이라고 합니다. 위와 같은 세 가지를 알려준다..
안녕하세요 Pingu입니다.🐧 오늘은 WWDC 2020의 Lists in UICollectionView라는 영상을 보고 정리한 글을 써보려고 합니다. iOS 14부터 이걸 사용할 수 있는데 마침 이 기능을 사용할 일이 있어서 공부를 하게 되었네요. 영상을 보고 느낀 점을 매우 간략하게 요약하면 "우리가 테이블뷰 기능을 컬렉션뷰에서도 쓸 수 있게 만들었다!"입니다. Lists in UICollectionView 요게 이제 컬렉션 뷰 설정에 대한 간략한 아키텍처라고 하는데 이번 영상에서는 오른쪽 위에 있는 "List Cell", "View Configuaration"에 대해서 알아본다고 합니다. 위 그림을 전체적으로 공부하고 싶다면 아래 영상을 보라고 하네용 Advances in Collection View..
안녕하세요 Pingu입니다.🐧 지난 글에서는 Combine의 Controlling Timing으로 분류된 Publisher, Operator에 대해 알아봤습니다. 이름 그대로 전달받은 값을 시간에 관련해서 처리하는 역할을 했었습니다. 이번 글에서는 Encoding and Decoding으로 분류된 Publisher와 Operator에 대해 알아보도록 하겠습니다. Encoding and Decoding 이름에서 직관적으로 느껴지듯 Upstream Publisher에서 받은 값을 encode, decode하는 역할을 할 거 같죠? Encoding and Decoding에 분류된 Publisher는 아래와 같습니다. Encode Decode 역시나 당연한 녀석들이 있는거 같습니다 😄 그리고 이들을 활용해서 만..
안녕하세요 Pingu입니다.🐧 지난 글에서는 Combine의 Handling Errors로 분류된 Publisher, Operator에 대해 알아봤습니다. 이름 그대로 에러를 처리하는 역할을 했었어요. 이번 글에서는 Controlling Timing으로 분류된 Publisher와 Operator에 대해 알아보도록 하겠습니다. Controlling Timing 분류된 이름에서 느낄 수 있듯 이번에 알아볼 녀석들은 뭔가 시간에 관련된 것 들입니다. Controlling Timing에 분류된 Publisher는 아래와 같습니다. MeasureInterval Debounce Delay Throttle Timeout 그리고 이를 활용해서 만들어진 Operator는 아래와 같습니다. measureInterval(u..
안녕하세요 Pingu입니다.🐧 지난 글에서는 Combine의 Republishing Elements by Subscribing to New Publishers로 분류된 FlatMap, SwitchToLatest에 대해 알아봤습니다. 여러 개의 Publisher들 중 몇 개를 subscribe 할지 혹은 가장 최근에 subscribe 한 Publisher의 값만 Downstream으로 전달하는 역할을 했었습니다. 이번 글에서는 Handling Errors로 분류된 Publisher와 Operator에 대해 알아보도록 하겠습니다. Handling Errors 분류된 이름에서 느낄 수 있듯 에러를 처리하는 Publisher와 Operator들을 알아보겠습니다. Handling Errors에 분류된 Publis..
안녕하세요 Pingu입니다.🐧 지난 글에서는 Combine의 Combining Elements from Multiple Publishers로 분류된 것들 중 Collecting and Republishing the Oldest Unconsumed Elements from Multiple Publishers 역할을 하는 Zip 시리즈에 대해 알아봤습니다. 여러 개의 Publisher에서 가장 오래 사용되지 않은 값들을 모아서 처리하는 역할을 했었습니다. 이번 글에서는 Republishing Elements by Subscribing to New Publishers로 분류된 것들에 대해 알아보도록 하겠습니다. Republishing Elements by Subscribing to New Publishers ..
- Total
- Today
- Yesterday
- pattern
- BFS
- operator
- Publisher
- 아이폰
- dfs
- design
- 코딩테스트
- OSTEP
- Xcode
- 자료구조
- Apple
- System
- operating
- Swift
- mac
- 문법
- 백준
- IOS
- 스위프트
- 앱개발
- 테이블뷰
- document
- 동시성
- 프로그래밍
- OS
- DP
- 알고리즘
- 코테
- Combine
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |