iOS Project를 함께 협업한다면 merge시 늘 우리를 괴롭히는 프로젝트 파일이 있습니다.Project 설정 파일로 잘못 건들어 읽을 수 없다면 프로젝트가 열리지 않습니다...(아마 어느정도 규모있게 작업하셨던 분들이라면 많이 공감하실 수 있을 것 같아요)당연히
사실 클라 개발자다 보니네트워크 자체에 대한 학습을 넓게 해본 적은 없었다. (CS 자체도 마찬가지이니)관련해서 내용자체를 넓게 학습해보려 한다.일단 네트워크라는 것은 통신으로 이루어집니다.통신시에 서로 약속한 포맷에 맞추어 통신을 하게되는데,그런 약속들을 프로토콜이라
그동안 입사 이후 시간이 조금 생겨 이런저런 공부를 했다.Swift를 한번 톺아보기도 했고 클린 아키텍처를 읽어보기도 했다.그를 바탕으로 회사의 몇몇기능을 따라서 구현하는 것이다.목적은 이번 앱에서 구현한 내용과 구조를 바탕으로 현재 앱에 조금씩 이관하는 것을 목적으로
내가 주로 사용하게 되는 언어 Swift는 객체지향의 언어이다.딱히 그 개념에 대해 공부시간을 가져본 적이 없는 것 같아, 이번 클린아키텍처를 공부하고 별도로 다뤄보기로 했다.먼저 생겨난 배경부터 생각을 해 보자.나는 C언어를 다뤄보진 않았지만 C언어가 주류인 시절이
드디어 이 책의 메인 이름인 아키텍처라는 부분이 나온다.사실 본문에서 내용하는 바는 각각 제품의 주기별로 아키텍처를 지원해 좋은점들을 나열한다.개발배포운영유지보수기본적으로 한가지의 프로젝트가 가지게 되는 사이클이 아닐까 생각한다.훌륭한 아키텍터는 위와 같은 주기 내에서
이전에 말한 SOLID원칙들은 모두 코드 뭉텅이, 클래스 내부의 구현 방법들에 대한 방법이었다.저자가 말하기를 벽돌에 관련한 이야기 였다면 이번에는 벽돌들을 쌓아 방의 구조를 설계하는 수준의 컴포넌트에 관련한 내용들을 다룬다고 한다."컴포넌트는 배포를 할 수 있는 가장
이전 프로그래밍 패러다임에서는 코드들을 표현화하는 것을 다루었다면이번 디자인 원칙에서는 그보다 한단계 더 상위 단위인 개념인 클래스 그리고 함수들의 중간 단계에 대한 구조들의 원칙들을 기술한다.목표는 아래와 같다. (좋은건 다 있는 느낌이랄까...)변경에 유연함재사용성
비교적으로 패러다임이란 것은 언어와 무관하며 더 중요하다.패러다임은 어떤 구조를 언제 쓸 지를 고민할 수 있게 해준다.첫번째로 적용된 패러다임이다.마구잡이로 goto문을 쓰던 시절이 있었다고하는데 난잡한 코드가 되어 이를 해결하기 위해If, while, for 등의 제
Clean Architecture를 읽어가며 생각한 내용들을 정리한 내용.인트로 부분에서 저자는 좋은 코드와 아키텍쳐가 무엇인지 설명을 하고 왜 필요한지에 대해서 설명을 하게된다.나의 개발 역사를 조금 설명하자면 첫째도 구현, 둘째도 구현 ... 마지막도 구현이었다.사
RxCoocoa는 "UIKit 및 Cocoa 개발을 지원하는 Rx 클래스, RxSwift의 확장" 정도로 생각하면 좋겠다.아래 간단한 두개의 예시로 Rx로 UI를 더 간결하게 처리 할 수 있는 기능들을 보여주고자 한다.이전과 비교해 항상 직관적이지 못했던 addTarg
기본적으로 RxSwift에서 Scheduler는 멀티쓰레딩. 즉, 병렬작업을 하는 기능 객체이며, 기존에 우리가 알던 큐를 매핑하는 기능이다.많은 Rx를 처음 공부하는 분들이 observeOn과 subscribeOn 두가지가 있는데, 이 두가지의 차이점그리고 언제써야하
RxSwift 는 Observables를 잘 활용하고 편리하게 다루기 위해다양한 Operators들을 제공한다.Operators가 너무 많기 때문에 타입별로 자주 사용하게 될 것 같은걸 몇개씩만 정리해보려고 한다.모든 내용은 아래의 공식 Docs에 있으니 첨부한다.R
먼저 Observable에 앞서 마블 다이어그램을 설명하고자 한다.Rx를 공부하다보면 아래와 같은 그림을 자주 볼 수 있다.위에 줄은 새로 들어오는 값이고 왼쪽에서부터 오른쪽으로 흘러간다.마지막 짝대기는 해당 스트림이 더 안내려온다는 의미.중간에 박스는 들어오는 값들을
곰튀김님의 FRP세션을 기반으로 공부하였습니다. 최근 몇년간 iOS 개발자들 사이에서는 가장 핫하게 차지하는 토픽이 RxSwift 였습니다. 많은 컨퍼런스에서 iOS 세션에서 발표되는 내용 역시도 Rx에 관한 것임을 쉽게 볼 수 있었죠. 외쳐 RxSwift의 시대
스웨더의 보풀 같은 것을 보고 Lint라는 의미를 가진다.해당 내용을 코드에서는 이런 내용이 뭘까. 아래 같은 것들이 있을 것이다.맞지 않는 들여쓰기사용되지 않은 변수한줄이 너무 길어진 구문등등잘 정돈 되어진 코드를 보는 것과 그렇지 않은 것들은 얼마나 많은 차이가 있
iOS를 작업해보다보면 리소스 관리에 많은 고민을 하게 된다.string으로 파일을 상당량 불러오게 된다.이 모든 String들을 어떻게 관리하며, 파일을 한번 바꾸려면 어떻게 한담.골치도 이런 골치가 없다.만약 한 파일로 캡슐화를 시켜 관리한다해도 맨날 그걸 열심히
디자인 패턴은 개발에 있어서 일반적으로 발생하는 문제를 재사용 가능한 코드로 해결하는 솔루션들이다.뭐 넓은 의미에서 있어서는 이런 의미를 지니겠고 어떤 수준에서 보느냐에 따라 많은 디자인 패턴이 존재한다.iOS 아키텍처에 있어서는 일반적으로 View, Model, Bu
아마 2-3년? 아마 그보다 더 뒤의 시점에 현재 사용되는 Interface Builder를 대체하는 방향으로 애플이 설정한 것 같다.당장 사용할 것은 아니지만 미래를 대비하는 점에서 공부를 조금은 해두는게 좋을 것 같아서, 간략하게 스터디 정도만 해보려고 한다.사실
\[iOS] GCD(Grand Central Dispatch)iOS ) 왜 main.sync를 하면 안될까Multi-Thread를 처음 접하게 됐던 때는 REST API를 처음으로 작업을 할 때이다.가뜩이나 처음 API를 작업해보는데 생각보다 CallBack이 오래걸
iOS에서 REST api를 다루기 위한 방법에 대해서 스터디를 한다.사실 iOS framework 자체에서도 URL Loading하는 라이브러리를 제공하긴 하지만 제공하는 기능들을 사용하는 방법들이 생각만큼이나 간단하지 않고 예쁘지 않다.그래서 많은 iOS 개발자들이