Clean Architecture
·
🍎 iOS/디자인패턴
Clean Architecture 소프트웨어 시스템을 특정 목적과 책임을 가진 계층으로 분리하는 디자인 접근방식 클린 아키텍처의 주요 목표는 각 계층을 독립적으로 개발, 테스트 및 배포할 수 있도록하여 유연하고 유지 보수가 용이한 시스템을 만드는 것이다. 왼쪽의 그래프를 보면 여러개의 레이어들이 존재하는 것을 볼 수 있다. 이 그래프에서 핵심은 안쪽 레이어들은 바깥 레이어에 있는 것들을 몰라야 한다. 즉 안쪽 레이어에서 바깥 쪽에 의존하지 말아야한다.는 것이다. 다시말하면, 바깥쪽 레이어의 객체를 내부에서 생성하면 안된다는 말이다. 그래서 Dependency Rule 화살표가 안쪽을 향하고 있다. 안쪽 레이어에 의존해야 한다는 의미다. Layers 이렇게 레이어를 나눴는데, 여기서 그룹을 지을 수 있다...
RxSwift #1 시작하기
·
🍎 iOS/RxSwift
RxSwift 코드를 새로운 데이터에 반응하며 순차적으로 처리하게 함으로써 비동기 프로그래밍을 쉽게 하도록 도와주는 라이브러리 위의 정의로만 보면 어렵다. 상황을 통해 살펴보자 한 화면에서 3번 네트워킹하여 각 데이터를 한번에 표현하고자 한다면 어떻게 처리해야할까? 일반적인 방법으로는 GCD를 이용해서 처리했을 것 같다. 하지만 이런 상황에서 RxSwift를 사용한다면 더 쉽고 효과적으로 처리할 수 있다. RxSwift를 시작하기 전에 이해를 위한 기본적인 내용을 알아보자 비동기 프로그래밍 용어들 1. State (Shared mutable state) iOS 개발을 할 때 비동기적인 State를 관리하는 것은 어렵다. ex) 좋아요 기능을 구현할 때 TabBar로 구성되어 있다면 한 화면에서 좋아요를 ..
SwiftLint 설치하고 적용하기
·
🍎 iOS/UIkit
SwiftLint Xcode에서 코딩 컨벤션 관련 규칙을 정하고 규칙에 어긋나는 것이 있으면 경고창을 띄워주는 라이브러리 설치방법 1. SwiftLint 설치 brew로 설치해보겠다. 해당 폴더로 가서 brew install swiftlint 입력한다. 2. Run Script 설정 Targets > 프로젝트 폴더 > 상단의 Build Phases > + 버튼 > New Run Script Phase > Run Script에 아래 코드를 복붙한다. brew path에 위치한 SwiftLint를 찾아가도록 하는 Script다. 환경변수 설정하는거랑 비슷하다. if test -d "/opt/homebrew/bin/"; then PATH="/opt/homebrew/bin/:${PATH}" fi export P..
JerryiOS
Jerry