본문 바로가기

IOS49

[외주]협업 전 규칙 정리하기 (Convention) - 에이젠 추석 연휴에 짬내서 외주 프로젝트의 gitLab 레포지토리를 훑어보았습니다. 일단 아키텍쳐, 기술스택 등은 회사에서 정해준 템플릿대로 구현해야했기에 도전해볼만한 or 적용해보고 싶은 부분은 따로 생각할 필요가 없었습니다. 외주 프로젝트에 투입되기 전 작업하고 계셨던 iOS개발자는 한분이셨습니다. 제가 투입된 시점부터 저를 포함해 두명이서 작업을 하게 될 예정입니다. 두명이 되었으니 서로 코드리뷰를 하면서 작업할 수 있고 충돌방지에 신경을 써야할테죠. 안정적인 version관리를 위해서 네이밍, Commit 컨벤션, Branch 전략 등의 필요성을 느꼈습니다. (이전 DND 사이드 프로젝트에서 경험한 협업에서 처음 적용해보았습니다.) 최근 심사를 통과한 Bidit앱은 iOS를 혼자 맡아서 진행중이기에 충돌.. 2022. 9. 13.
GitLab을 처음 만났을 때 iOS개발자로서 외주를 처음으로 참여하게 되었습니다. 기본적인 로그인 회원가입 기능과 몇가지 기능은 이미 구현되어 있었고 나머지 스프린트 기간동안 제가 합류해서 완성해야하는 상황이었습니다. 앱 기능들의 간단한 소개와 주의할점. 매주 있는 정기회의. 작업하면서 확인 및 작성해야할 문서들. 현재까지 구현된 기능들과 해당 코드 설명 등 2시간동안 설명을 들으며 인수인계를 받았습니다. 사실 머릿속에 잘 들어오지 않아서 녹화본을 다시 보면서 코드를 쭉 훑어보려고 합니다. 본격적인 개발에 앞서서 추석 연휴에 따로 시간을 내서 개발환경 세팅을 해보고 있습니다. 이번 외주 프로젝트에서 GitLab이란 녀석을 처음 마주하게 되었는데요. 첫인상은 그냥 github랑 비슷했습니다. 커밋, 푸시, 머지 등 사용법도 같아보였.. 2022. 9. 10.
[iOS] Coordinator 패턴 - 에이젠 iOS의 MVVM을 처음 공부할 때 MVVM-C를 적용하는 글을 종종 보았는데요. C가 바로 코디네이터를 말하는 것이었습니다. MVVM을 그대로 가져가면서 뷰 컨트롤러의 계층 관리를 따로 코디네이터가 하게 되는 것이죠. 언제 어디서나 쉽게 떠올릴 수 있도록 한번 정리해보겠습니다. https://khanlou.com/2015/10/coordinators-redux/ Khanlou | Coordinators Redux October 5, 2015 Coordinators Redux I wrote about coordinators at the beginning of the year, but the idea has matured a lot since then, and I’d like to reintroduce t.. 2022. 8. 24.
[iOS] RxDataSource 처음 테이블뷰를 접할 때부터 봐온 DataSource 한마디로 뷰를 그려줄 대상 데이터 관리 객체라고 할 수 있겠습니다. 위와 같이 처음엔 UITableViewDataSource 프로토콜을 채택하여 dataSource를 구현하고 데이터를 관리하는 법을 많이 사용했습니다. 다른 방법으로 이전 RxSwift를 공부하면서 정리한 글의 예시처럼 RxSwift와 RxDataSource에서 프로토콜을 채택하여 직접 구현할 필요없이 쉽게 사용할 수 있도록 dataSource를 위한 오퍼레이터를 제공해줍니다. RxSwift만을 사용해서는 다수의 Section을 구분하는 방법이 번거롭기에 RxDataSource를 사용하게 됩니다. 위의 보이는 테이블뷰를 RxDataSource를 사용해서 구현해볼텐데요. 1. 저장할 데이.. 2022. 8. 23.
네비게이션 바 없애기 isNavigationBarHidden VS isHidden (feat. ScrollView) - 에이젠 상황 : 네비게이션바의 isHidden을 true로 설정했는데도 불구하고 다른화면으로 전환한 후 다시 돌아왔을 때 사라지지 않는 상황 발생. 무슨 차이인지 모르겠는데 isNavigationBarHidden값이 있길래 true로 설정해주었더니 말끔하게 사라졌습니다. 이대로 넘어가기엔 찝찝해서 정리합니다. isHidden을 타고 들어가보면 UIView의 속성을 재정의 했다는 것을 알 수 있습니다. 우선 둘의 차이점으로는 애니메이션 요소가 들어가는 여부인 것 같네요 . 처음에 제가 네비게이션 바를 사라지게 만들기 위해서 사용한 방법은 다음과 같습니다. ViewController의 생명주기의 viewDidLoad와 viewWillAppear에서 isHidden을 true로 설정해주었는데요. 가만 생각해보니 뷰는.. 2022. 8. 10.
[iOS] RXswift(5) - Combining Operator - 에이젠 CombiningOperator startWith concat concatMap merge combineLatest zip withLatestFrom sample amb switchLatest reduce scan 2022. 5. 14.
[iOS] RXswift (4) - Opeartor FileteringOpertor와 TransformingOperator를 알아보겠습니다. FilteringOperator Next이벤트를 통해 받아오는 값을 선택적으로 취할 수 있게 해주는 연산자 기존 Swift의 filter와 비슷한 역할 ignoreElements elementAt filter skip skipwhile skipUntil take skip에 skipWhile과 skipUntil이 있었던 것처럼 take에도 takeWhile과 takeUntil이 존재합니다. enumerated 방출된 요소의 index를 참고하고 싶을때 사용 takeUntil distinctUntilChanged 중복제거 TransformingOperator 변환연산자는 Subscriber를 통해서 Observable에.. 2022. 5. 13.
728x90