스
스포카
March 6, 20241회
발전하는 iOS와 Clean Swift Architecture

간단 소개
스포카 iOS팀의 Clean Swift 아키텍처 도입 및 개선 과정, CIS 패턴 기반의 새로운 구조와 테스팅, 화면 간 통신 방식에 대한 경험 공유.
AI Summary
- Clean Swift 아키텍처의 도입과 발전
- 스포카는 키친보드 iOS 앱 개발에 Clean Swift 아키텍처를 채택, 이는 클린 아키텍처를 iOS에 맞게 적용한 형태임.
- 프레임워크 독립성과 고/저수준 분리가 용이하여 아키텍처 개선에 유연하게 대처할 수 있었음.
- iOS 플랫폼의 발전과 함께 Clean Swift의 문제점에 직면, 새로운 기술 도입에 어려움을 겪음.
- CIS 패턴 기반의 Clean Swift 개선
- 단일 책임, 테스트 가능성, 프레임워크 독립성, 상태 관리 용이성을 목표로 Clean Swift를 개선함.
- Controller, Interactor, Store를 중심으로 역할을 재정의하고 Worker를 추가하여 CIS 패턴을 설계함.
- View는 UI 렌더링, Controller는 사용자 액션 처리, Interactor는 비즈니스 로직, Store는 상태 관리, Worker는 부수 효과를 담당함.
- 테스팅 및 화면 간 통신 구조화
- BDD 기반의 통합 테스트를 통해 요구사항 누락을 줄이고 코드 안정성을 확보함.
- 화면 간 통신을 위해 초기 상태를 전달하고, 흐름 위임은 Worker를 통해 Controller로 전달하는 구조를 설계함.
- Swift Concurrency를 활용하여 쓰레드 관리의 안정성을 높임.
Next Feeds

Building a Web Application Using AWS Amplify and AWS Services
AWS Amplify와 AWS 서비스를 활용한 웹 애플리케이션 구축 과정과 클라우드 기반 개발의 장점을 소개합니다.
AWS AmplifyAWS LambdaAPI GatewayDynamoDB클라우드
2024. 3. 5.
메가존클라우드

동일한 비용으로 리포트 요청 10배 처리하기
Airbridge의 Report 처리 비용을 절감하기 위해 Queue 분리, Redis 도입 등 최적화를 통해 성능 향상과 비용 절감을 달성한 사례.
AirbridgeReport비용 절감성능 향상Redis
2024. 3. 3.
AB180

테이블링 오피스의 Layered Architecture
테이블링 오피스는 Layered Architecture를 도입하여 관심사 분리, 재사용성 향상, 유지보수성 개선을 이루었습니다.
Layered Architecture관심사 분리UseCase단일 책임 원칙재사용성
2024. 2. 29.
테이블링

세계 최초로 cert-manager 버그를 발견하고 해결하기
cert-manager 버그를 발견하고 해결한 과정과 Let's Encrypt의 인증 체인 변경에 따른 영향, 오픈소스 기여 경험을 공유합니다.
cert-managerLet's EncryptDST Root CA X3인증서오픈소스 기여
2024. 2. 27.
데브시스터즈
잘 먹고 잘 자면 개발 품질이 좋아질까? - feat. 연속혈당측정기
건강한 식습관, 운동, 수면을 통해 혈당을 관리하고 개발 품질을 향상시키는 방법에 대한 경험 공유.
혈당개발건강식습관인슐린
2024. 2. 26.
카카오헤어샵
Mergekit, LLM을 한번 합쳐보자!
Mergekit은 LLM 병합 툴킷으로, 다양한 모델과 병합 방식을 지원하며, 허깅페이스 연동이 용이하다.
MergekitLLM모델 병합허깅페이스slerp
2024. 2. 21.
빅웨이브에이아이