[Combine 책 정리] Chapter 2: Publishers & Subscribers
챕터2 부터는 실습 위주 Hello Publisher example(of: "Publisher") { // 1 let myNotification = Notification.Name("MyNotification") // 2 let publisher = NotificationCenter.default .publisher(for:...
챕터2 부터는 실습 위주 Hello Publisher example(of: "Publisher") { // 1 let myNotification = Notification.Name("MyNotification") // 2 let publisher = NotificationCenter.default .publisher(for:...
책의 목표 추상적으로 들리는 컴바인의 개념을 이해 한 챕터씩 따라가면서 컴바인이 무엇을 해결하고자 하는지 배워나감 https://www.raywenderlich.com/books/combine-asynchronous-programming-with-swift/v2.0 애플에서는 Combine을 통해 이벤트 처리를 위한 선언적 접근...
별 것 아니지만, 나중을 위해 기록해둔다. Xcode 12 GM으로 Xcode Archive를 성공적으로 해서, 앱스토어 업로드를 했는데 실패했다. 구체적으로 어떤 에러인지 알려주지 않아서 이상하게만 생각했는데, 알고보니 최신 Xcode 12.2가 있었다. 회사에서는 아직 Xcode 11.7을 썼던터라 버전 업데이트에 민감하게 반응하지 못하기도 했다....
회사에서 코드를 작성하다 보면 모두지 찾을 수 없는 버그들을 만나기 마련이다. 사방에 함수들이 흩어져 있기 때문에 어떤 함수가 호출되는지 따라갈 수 없는 일도 있다. 그런 코드를 만들지 않기 위해서 역할 분리를 잘 해야겠다는 교훈을 느끼기도 한다. 무튼 지금의 버그를 이겨내야 하니 이 클래스 안에 있는 함수들에 모두 breakpoint를 걸어주자. ...
사실 함수형 사고 보다 RxSwift를 먼저 접하긴 했지만, 먼저 뿌리가 되는 함수형 프로그래밍 부터 알아보고 싶다는 생각이 들었다. RxSwift가 매력적인 프로그래밍 도구가 되어주는 것은 이해했지만, 아직도 남들을 설득하기에 기초가 되는 지식이 부족했기 때문이다. 함수형 프로그래밍 미리 말해두고 싶은 것은 객체지향과 함수형은 서로 적대적인 관계...
memory graph malloc_history leaks strong refrence 확인할 수 있음 heap instance의 크기를 알고 싶을 때 Image...
테마 고르기 개발 과정에 대한 기록을 하지 않다보니 어떤 문제를 해결하려 했고, 발견한 것은 무엇인지 제대로 정리가 되지 않는 느낌을 받았다. 이미 사용중인 github pages가 있어서 테마를 조금 바꿔서 활용해보고 싶다는 생각이 들었다. 테마를 바꾸는 이유는 다음과 같다. 블로그 내 글을 검색할 수 있으면 좋겠다 글 목록을 자동으로 리...
특정 주소의 pod을 타겟으로 바라보기 http://guides.cocoapods.org/using/the-podfile.html#from-a-podspec-in-the-root-of-a-library-repo To use the master branch of the repo: pod 'Alamofire', :git => 'https://git...
What’s New in Testing WWDC 영상 보면서 정리했습니다. https://developer.apple.com/videos/play/wwdc2018/403/ Code coverage Performance 로딩 시간: XCode9 에서 6.5초 걸리던 것이 XCode9.3에서는 0.3초 걸린다. coverage 파일 사이즈:...
JSONWebToken.swift를 통해서 본 variable 확장하기, builder 패턴 사용하기 JSONWebToken.swift readme 파일을 한번 살펴보다가 흥미로운 코드를 발견했다. class의 variable을 계속해서 확장하게 만들 수 있을까? var claims = ClaimSet() claims.issuer = "fulle...