dynamicMemberLookup를 활용한 Builder
안녕하세요. 이번에는 Builder를 구현해보겠습니다. 빌더 패턴을 구현하기 위해서 목표로 하는 객체 프로퍼티의 set 함수들을 직접 만들어줘야하는 번거로움이 있습니다. 물론 Builder로 한번 작성 후에는 수정이 되지 않는 Immutable 객체를 만들 수 있는 장점이 있지만, UI 객체의 경우 Mutable 객체가 많기 때문에 굳이 이런식의 접근...
안녕하세요. 이번에는 Builder를 구현해보겠습니다. 빌더 패턴을 구현하기 위해서 목표로 하는 객체 프로퍼티의 set 함수들을 직접 만들어줘야하는 번거로움이 있습니다. 물론 Builder로 한번 작성 후에는 수정이 되지 않는 Immutable 객체를 만들 수 있는 장점이 있지만, UI 객체의 경우 Mutable 객체가 많기 때문에 굳이 이런식의 접근...
리팩토링에 대해 어느정도는 들어본 내용이었지만 책을 읽어보니 좀 더 개념이 정리되는 것 같아서 뿌듯했습니다. 과제를 제출해야 환급되는 구조라서 열심히하게 되네요ㅋㅋ 분량을 채우기 위해 일부러 많이 작성한 부분도 있지만 기록을 위해 남겨둡니다. 1. YAGNI에 대하여 서술하세요 YAGNI는 “you aren’t going to need it”의 줄...
패스트캠퍼스 리팩터링 완독반을 신청해서 스터디를 시작했습니다. 환급반이라서 책을 읽어야 돈을 잃지 않는 구조 입니다. 공부할 것들이 너무 많아서 스터디를 미루기 쉬운데, 이렇게 해서라도 동기부여를 할 수 있을 것 같아서 신청했습니다. 스터디 설명 리팩터링 2판 자바스크립트로 예시가 되어 있음 리팩터링 패러다임은 언어를 초월하여 의미가 ...
이번에는 RIBs/wiki 보면서 RIBs에 대해 배워보겠습니다. RIBs 개념 정리 RIBs는 크로스 플랫폼 아키텍처 프레임워크 프레임워크는 정해진 틀에 코드를 넣으면 시스템이 약속된 기능을 작동시켜주는건데, 이 개념에 맞는지는 좀 더 살펴봐야겠습니다. RIB을 작성하는 템플릿이 있지만 프로그래머가 직접 관계를 ...
많은 팀에서 도입하고 있는 RIBs 아키텍처에 대해 스터디 해보겠습니다. RIBs 레포의 설명도 좋지만, 먼저 안정민님이 정리해주신 자료들로 필기해보며 공부를 시작해보겠습니다. MVC, MVVM, ReactorKit, Viper를 거쳐 RIB 정착기 (1) https://www.youtube.com/watch?v=3XS6xLzKRjc 강의 필기 입니...
회사 Github이 드디어 Github Action이 가능한 버전으로 업데이트 되었습니다. 개인 프로젝트에서 미리 테스트를 해보려고 합니다. Github Action이 생긴지 꽤 시간이 지나서 많은 분들이 튜토리얼을 남겨두었습니다. 하지만 직접 기록을 남기면서 배우는게 있을 것으로 생각하고 글을 작성합니다. Github 레포로 가면 Actions라는...
시각장애인을 위한 서비스를 개발할 때는 접근성에 굉장히 많이 신경을 썼는데, 카페 팀에 와서 개발하면서는 가끔 시간 날 때만 접근성 대응을 해왔습니다ㅠㅠ 개발자와 사용자 모두를 위한 접근성 주제로 Let’Swift 행사가 온라인으로 열려서 들었습니다. 개발자를 위한 가이드 류성두님이 발표를 해주셨는데 접근성에 대해 많은 관심을 갖고 개발하시는 것 같...
iOS 앱 개발하면서 NotificationCenter를 많이 사용하게 되는데요. 특정 객체의 행동을 추척할 때 유용하게 쓸 수 있습니다. addObserver(_:selector:name:object:)를 사용해서 옵저버를 등록해 둔 경우에는, 해당 객체가 메모리에서 해제될 때 옵저버도 자동으로 함께 삭제됩니다. removeObserver(_:)를 ...
애플 플랫폼에 대한 기초 정리를 위해 김정님의 코코아 인터널스 책을 공부합니다. 생각보다 진짜 어렵네요 🤣🤣 1.1 클래스와 객체 인스턴스, 1.2 객체 정체성과 등가성에 관한 정리입니다. 스위프트 중간 언어(SIL) 스위프트에서 기계어 까지 가는 여정에 스위프트 중간 언어라는게 있다고 합니다. 컴파일러가 알아서 기계어로 번역해주는것만 알았지, 이...
이번 챕터는 Operator! Operators and publishers operator method는 사실 publisher를 return 함 upstream data -> operator 에서 가공 -> downstream으로 전달 error handling을 위한 operator가 아니면, error를 downstre...