20220128 iOS 일일 개발 일지 === ###### tags: `develop` Register Method와 관련하여 ```swift= // MARK: ID 추가 response { "id": 9, "email": "wankikim1@smilegate.com", "name": null, "address": null, "gender": null, "age": null, "shoeSize": 280, "profileImageUrl": "", "status": 0, "passwordChangedDateTime": "2022-01-28T00:06:14.703904", "lastLoginDateTime": null, "createdAt": "2022-01-28T00:06:14.703904", "updatedAt": null } struct User: Codable { let id: Int let email: String let name: String? let address: String? let gender: Int? let age: String? let shoeSize: Int let profileImageUrl: String let status: Int let passwordChangedDateTime: String let lastLoginDateTime: String? let createdAt: String let updatedAt: String? } } ``` https://medium.com/@justfaceit/clean-architecture%EB%8A%94-%EB%AA%A8%EB%B0%94%EC%9D%BC-%EA%B0%9C%EB%B0%9C%EC%9D%84-%EC%96%B4%EB%96%BB%EA%B2%8C-%EB%8F%84%EC%99%80%EC%A3%BC%EB%8A%94%EA%B0%80-1-%EA%B2%BD%EA%B3%84%EC%84%A0-%EA%B3%84%EC%B8%B5%EC%9D%84-%EC%A0%95%EC%9D%98%ED%95%B4%EC%A4%80%EB%8B%A4- 작성하고자 하는 구조 ![](https://i.imgur.com/zK2RF7c.png) usecase : 내가 만들고자 하는 서비스에서 클라이언트가 하고자 하는 것, 클라이언트가 시스템을 통해 하고자 하는 것 ex) 영화관 손님(클라이언트) -> 영화 예매, 예매 취소, 환불, 팝콘 구매(use case) **외부 요인과의 분리를 통해 결합도를 낮추는 방향을 선택** UserUsecase client -> 로그인, 회원가입, 이메일 찾기, 비밀번호 찾기, 내 정보 받아오기 - 시스템이 client 요청에 응답하기 위한 메소드 1. 실제 유저 정보에 대한 검증하기 Repository JoinRequestDTO <---> JoinResponseDTO Network Layer을 분석하면서 Data Transfer ![](https://i.imgur.com/Fnf6xMo.png)