TIL
-
TIL - 2022년 01월 23일TIL/2022 2022. 1. 24. 02:34
iOS Background에서도 네트워크를 통한 download를 하는 방법에 대해서 공부를 했다. 그리고 다운로드 중 앱이 종료가 돼서 다운로드가 중지됐을 때 그 다운로드를 다시 이어서 하는 방법에 대해서도 공부를 했다. iOS14.0 버전을 기점으로 이 구현이 조금 달랐는데 이에 대해서도 자세히 공부를 했다. 그리고 Cache를 이용해서 네트워크 통신을 효율적으로 하는 방법에 대해서 공부했다. 네트워크 연결에 대해서도 공부를 했는데 Cellular 연결일 때 다운로드를 하지 않는 방법, 네트워크 연결이 안 됐을 때 대기하다가 연결이 재시작되면 다시 작업을 실행하는 방법에 대해서 공부를 했다. 그리고 Task를 스케쥴링하여서 원하는 시점 이후에 실행이 되도록 하는 방법에 대해서도 공부를 했다. 이렇게해..
-
TIL - 2022년 01월 22일TIL/2022 2022. 1. 23. 01:14
iOS 네트워크 기능을 구현할 때 꼭 필요한 URLSession과 Task에 대해서 공부를 했다. Shared Session은 워낙 많이 사용했고 사용해보지 않았던 다른 session도 사용해봤다. URLSessionConfiguration도 이전에는 설정에 관심을 가지지 않았지만 custom으로 직접 여러 설정을 공부했다, Task도 DataTask만 사용했었는데 Upload, DownloadTask도 이용해보았다. 기존 네트워크 데이터 처리를 매번 completionHandler에서 처리했는데 SessionDelegate를 이용해서 처리하는 방법에 대해서도 공부했다. 이전에는 Date처리를 모두 TimeInterval 즉 Double로 처리해왔는데 대충만 알고있던 ISO8601 포맷에 대해서도 제대로..
-
TIL - 2022년 01월 21일TIL/2022 2022. 1. 22. 03:31
iOS URL 구조체에 대해서 공부를 하고 간단하게 웹페이지를 표시할 정도로 WebKit에 대해서 공부를 했다. Apple Transport Security에 대해서 공부를 했다. 그리고 네트워크 구현에 빠질수 없는 JSON Encoding, Decoding에 대해서 복습을 했다. 워낙 많이 사용하던거라 어려울 게 없었다. Custom Encoding, Decoding을 하는 방법에 대해서 새로 알게 됐다. 기본 구현을 사용 안 하고 custom 할 이유가 별로 없을 거 같긴 한데 이해하는데 어려운 부분은 없었다. 몸이 안 좋아서 약 먹고 쉬다가 공부하다 보니 어느새 시간이 이렇게 됐는데... 오늘은 이만하고 내일 상태가 괜찮아지면 오늘 못한 부분까지 해야겠다!
-
TIL - 2022년 01월 20일TIL/2022 2022. 1. 21. 02:04
CoreData 오늘은 CoreData에 대해서 집중적으로 공부를 했다. 데이터를 검증하는 2가지 방식에 대해서 공부를하고 context에 데이터를 저장하지 않고 store에서 바로 데이터를 처리하는 batch에 대해서 공부했다. 그리고 여러개의 context를 사용할때 발생할 수 있는 synchronization문제를 해결하는 방법에 대해서 알아보고 background context를 생성하는 방법에 대해서도 공부를 했다. CoreData의 성능향상을 위해서 이전에 공부한 것들을 어떻게 사용하는지에 대해서 공부하고 CoreData를 간단하게 디버깅하는 방법에 대해서 공부했다. 마지막으로 데이터 구조가 변경됐을때 데이터 손실없이 안전하게 migration을 하는 방법에 대해서도 공부를 했다.
-
TIL - 2022년 01월 19일TIL/2022 2022. 1. 20. 00:01
Swift Generic의 Associated Type에 대해서 복습하고 관련 내용을 포스팅했다. GCD와 Opertaion GCD와 Operation에 대해서 배운 개념을 복습하고 정리하는 시간을 가졌다. 이전에는 Thread를 직접 생성하지 않고 Queue에 보내서 알아서 처리하도록 한다는 개념은 알고 있었지만 그냥 비동기 작업이 필요하면 globalQueue의 async UI작업을 하면 mainQueue의 async만 생각 없이 사용했다면 이제는 thread의 개념이 많이 잡힌 거 같다! CoreData Faulting이라는 것에 대해서 알게 됐고 CoreData가 어떻게 효율적으로 데이터를 불러오는지 알게 됐다. 그리고 DataModel에서 제공하지 않는 Custom Type을 어떻게 저장하는지에..
-
TIL - 2022년 01월 17일TIL/2022 2022. 1. 18. 00:18
Algorithm Backtracking에 대해서 공부를 했다. 예전에 N Queen문제를 접한 적이 있었는데 그때는 백트래킹에 대해서 모르고 있어서 해결하지 못했었는데 이제는 해결할 수 있을 거 같다. Operation Operation과 GCD의 차이점을 복습하고 왜 Operation을 사용하는지에 대해서 복습했다. 그리고 Operation 사용방법, BlockOperation, OperationQueue에 대해서 공부했고 Async 메서드를 Operation에 넣었을 때 발생할 수 있는 문제점과 이를 해결하기 위한 AsyncOperation을 만드는 개념에 대해서 공부를 했다. Swift Generic Func에 대해서 복습을 하면서 포스팅을 작성했다.
-
TIL - 2022년 01월 16일TIL/2022 2022. 1. 16. 23:51
Swift Hashable 프로토콜에 대해서 공부하면서 Hash에 대해서 다시 알아보았다 Algorithm MST를 작성할때 크루스칼 알고리즘 말고 다른 알고리즘인 Prim알고리즘에 대해서 공부를 했다. 시간 복잡도가 더 낮은 알고리즘에 대해서도 공부를 했는데 핵심 기능이 python에서 제공되는 메서드로 구현하면 간단하지만 Swift에서는 해당 메서드를 제공하고 있지않아서 직접 구현을 해야하는데 이 부분을 어떻게 구현해야할지 고민해봐야겠다. GCD Thread Safe한 코드를 작성하는 방법에 대해서 공부를 했다. sync를 이용하거나 semaphore를 이용하거나 DispatchBarrier를 이용하는 방법! Thread에 안전한지 확인하는TSan에 대해서 공부했다. 그리고 lazy var에 여러 t..