---
# System prepended metadata

title: h1

---

# 피어세션 iOS04

# 영균님
- OpenList 동시 편집 기능 구경
- CRDT 메세지의 크기가 너무 큰 문제 한번 보낼 때마다 200~300바이트를 보낸다.
- PagingViewController이 컨테이너 뷰컨트롤러인데 페이징 화면을 구현하는데 쉽다.
- 웹소켓을 뷰컨에서 가져가는 이유? 
    - 웹소켓을 네트워크 영역까지 요청해서 뷰로 응답을 받아오는 과정이 복잡해서 어느 정도 유연한 아키텍쳐를 가져가는 것이 중요하 

# 준복님
- RIBs
- 당일날 에러 발생 일관적인 에러가 아니라 누구는 되고 누구는 안되는 에러
    - http -> https 로 해결 s 차이가 너무 크다 ~
- 맵, 팔로잉, 팔로우, 글쓰기, 댓글쓰기 등등등
- 클린 아키텍쳐란 무엇일까 ? 
- 정말 교체할 일이 있을까 ?

# 성민님
- APNs, FCM - 왜 안될까...
- WebSocket 실시간 채팅
- 애플 로그인 + 자동 로그인 - 토큰을 언제 만료시킬까
- MVVM + CleanArchitecture의 UseCase를 어느 단위로?

# 클린 아키텍처 이녀석
**준복**
- 솔리드 원칙을 지키면 클린아키텍처가 되는건가?
- 이거 좋은것인가? 뭐가 좋은 거지
- 프로토콜이 변경되면 어차피 코드 수정을 해야하는데 유지보수 측면에서 좋은 건가?

**영균**
|usecase|repository|storage|
|:---:|:---:|:---:|
|체크리스트을 동시편집 입력한다|동시편집 Repository|서버 스토리지|
|||로컬 스토리지|
                                               
레포지토리에서 스토리지에 접근을 컨트롤할 수 있어서 편리한 것 같음.
        
**성민님**
레포지토리랑 유즈 케이스가 없다. 그래도 불편함이 없고 편리함. 뷰모델로도 충분하다. 

그런데 뷰 개수가 많지 않아서 그런거 같은데 복잡한 앱이 되면 테스트도 해야하고 

그러니까 유즈케이스랑 레포지토리가 있으면 좋겠다는 생각이 든다.


**태현님**
클린아키텍처를 쓰는 이유? 템플릿처럼 쓰고싶어서 처음에 도입했다. 

아키텍처를 고를 때 서비스에 맞는 것을 고르고 싶었는데 맞는 아키텍처를 찾는 것이 어려웠다.

그래도 일관된 코드를 작성하고 싶어서 도입한 면이 있다.

그차이점은 뷰모델을 다르게 가져갔는데 뷰 모델도 일관된 코드 작성을 하기 위해서 뷰 모델을 단방향 흐름을 가져가기 위해 고민했다.(리액터킷을 참고해서 구현했다.)

단발성 비동기 응답에는 스위프트 동시성을 가져갔는데 스위프트 동시성을 뷰모델의 퍼블리셔로 바꾸기 위해 고민함.

지금은 뷰 모델은 액션과 사이드 이펙트를 수행하여 상태를 변환하고, 비즈니스 로직은 유즈 케이스가 처리함.

좋은 점은 데이터를 가져오는 레포지토리만 변경해주면 되니까 좋은듯하다.

