TIL
-
TIL - 2022년 01월 15일TIL/2022 2022. 1. 15. 23:46
Network OSI 7Layer 중 7Layer인 Application계층에 대해서 공부를했다. HTTP 프로토콜, URL, Cookie, Session에 대해서 간단히 배웠고 DNS가 무엇인지 배웠다. Swift Comparable에 대해서 복습하고 포스팅을 했다. GCD TableView나 CollectionView에서 이미지를 외부에서 가져올때 비동기적으로 어떻게 처리해야하는지에 대해서 공부했다. Thread에서 가장 주의해야할 Sync문제에는 무엇이 있는지 공부하고 어느 상황에서 발생하고 간단한 해결방법에 대해서 공부했다.
-
TIL - 2022년 01월 14일TIL/2022 2022. 1. 15. 00:02
Network OSI 7 Layer 중 4Layer인 Trasnport계층에 대해서 공부를 했다. TCP/UDP 프로토콜과 NAT, TELNET, SSH의 대한 개념을 배웠다. Swift Equtable에 대해서 복습했다. 이미 알고 있었지만 공식문서들을 참고해서 모르는 부분도 확인하고 갔다. GCD DispatchGroup과 Semaphore 그리고 WorkItem에 대해서 복습을 했다. 새롭게 알게 된 점은 group 안에서 async 작업을 하게 되면 group이 끝나는 시점과 async작업이 끝나는 시점이 맞지 않을 수 있으니 조심해야 한다는 점이다. 해결 방법은 직접 enter()와 completionHandler에 leave()를 호출하는 것! CoreData 공부한 부분이 많아서 지금까지 공..
-
TIL - 2022년 01월 13일TIL/2022 2022. 1. 14. 00:18
GCD Queue를 사용할 때의 주의사항에 대해서 공부를 했다. Deadlock이 발생할 수 있는 경우도 알아보았다. Closure의 캡처리스트에 대해서 다시 복습하는 기회가 됐고 weak self와 guard let self = self 코드를 사용하는 이유도 확실하게 이해하게 됐다. Architecture RIBs를 이용해서 앱을 구현하는 방법에 대해서 공부를 했는데 MVC에 익숙해져서 이러한 코드 디자인은 역시 이해하기 힘들다. 지금은 이해가 잘 안되지만 이것도 이후에 보면 이해가 잘 되겠지?? Algorithm Kruskal알고리즘을 구현하는 방법에 대해서 공부를 했다. 효과적인 알고리즘 구현을 위해서 path compression, union-by-rank 기법에 대해서 공부했다. 코드를 보면 ..
-
TIL - 2022년 01월 12일TIL/2022 2022. 1. 13. 01:52
GCD Thread를 다룰 때 직접 생성하지 않고 Queue에 전달하면 처리한다는 개념과 sync, async, serial, concurrent에 대한 개념에 대해서 복습을 했다. Architecture 앱을 개발할때 기능들을 작은 객체로 나누고 composition해서 구현해야 한다는 개념에 대해서 공부를 했다. 여기서 map, flatMap을 이용하여 코드를 구현하는 방법도 공부해보았다. 코드를 작성할 때 고차 함수를 거의 안 썼는데 의식을 하고 써보려고 노력해봐야겠다! Swift Protocol extension으로 protocol을 확장하는 방법에 대해서 공부했다. iOS Predicate에 대해서 상세히 공부를 했다. CoreData를 사용할 때 데이터를 query 하기 위해서 꼭 알아야 하는..
-
TIL - 2022년 01월 11일TIL/2022 2022. 1. 12. 00:26
iOS CoreData 공부를 하다가 갑자기 completionHandler에 대한 이해가 완벽하게 됐다. 예전에 한번 이해해보려고 열심히 검색하며 공부해봤었는데 결국 이해를 완벽하게 못하고 그냥 그렇군... 하고 넘어간 적이 있었다. Thread와 async, sync에 대해서 이해를 하게 되다 보니 자연스럽게 이해가 된 거 같다. CompletionHandler에 대해서는 조만간 포스팅을 해야겠다 CoreData는 Entity 간의 관계와 계층에 대해서 공부를 하고 데이터를 가져올 때 사용하는 FetchRequest에 대해서 공부를 했다. 워낙 많은 분량이다 보니 공부하는데 시간이 많이 걸렸지만 이해가 잘되니 어려운 건 없었다. 예전에 맨 처음 공부했을 때는 나는 누구...? 여긴 어디..? 이런 기..
-
TIL - 2022년 01월 10일TIL/2022 2022. 1. 10. 23:15
iOS CoreData에 대해서 복습을했다. 예전에 공부한게 있어서 이해하는데 어렵지 않았지만 워낙 공부해야할 양이 많아서 디테일한 부분들을 자꾸 까먹게 된다. CoreData Stack에 대해서 공부하고 Data Model File로 Entity 생성하고 사용하는 방법에 대해서 공부했다. NetWork OSI 7 Layer에 2계층에 해당하는 DataLink에 대해서 공부를했다. MAC주소, Ethernet등의 용어에 대해서 공부를했고 어떤식으로 데이터를 주고 받는지 발생하는 문제는 뭐가있고 어떤 방식으로 문제를 해결하는지에 대해서 알아보았다. Dijkstra 알고리즘 구현하기 최단경로를 구할때 사용하는 Dijkstra 알고리즘에 대해서 공부를 했다. 로직만 잘 이해하고있다면 구현하는데 엄청 어렵지는 ..
-
TIL - 2022년 01월 09일TIL/2022 2022. 1. 10. 00:03
Network OSI 7 Layer에서 1 Layer인 Physical에 대해서 공부를 했다. 하드웨어적인 부분의 내용이지만 이 장비가 이런 거구나 하며 재밌게 공부했다. Algorithm 최단경로 문제를 공부하면서 Dihkstra Algorithm에 대해서 공부를 했다. 으음.. 이전의 그래프 알고리즘에 비해서 난이도가 있어서 내일 더 공부를 해야겠다. iOS UserDefaults와 PropertyList에 대해서 복습했다. UserDefaults는 워낙 많이 사용해서 다 기억하고 있었지만 plist는 프로젝트 생성 시 원래 만들어져 있고 데이터를 추가만 했지 이 데이터를 꺼내서 사용할 일이 없어서 까먹고 있었는데 이번 기회에 다시 알게 됐다. 그리고 NSCoding과 Codable를 이용해서 객체를..
-
TIL - 2022년 01월 08일TIL/2022 2022. 1. 9. 00:01
Network 네트워크에 대해서 아주 자세히 공부할 건 아니고 네트워크에 이러한 개념들이 있구나! 하고 이해하는 정도로 공부할 예정이다. 네트워크 하면 가장 많이 언급되는 OSI 7 Layer가 뭔지에 대해서 공부하고 TCP/IP 등의 개념이 무엇인지 공부했다. Algorithm DFS(깊이 우선 탐색) 알고리즘에 대해서 공부를 했다. 그리고 Greedy Algorithm에 대해서 공부를 했다. VC Test ViewController를 테스트 하는 방법을 공부해야지~~ 하고 있다가 오늘 드디어 했는데.. 공부하면서 얻은 결론은 MVC패턴으로는 테스트하기 힘들겠구나...이다. 찾아서 공부해본 예제들도 모두 MVVM 패턴이거나 MVP 패턴을 이용한 것이었다. MVC, MVVM, MVP의 개념들을 다시 정리..