---
# System prepended metadata

title: 20220128 iOS 일일 개발 일지
tags: [develop]

---

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)
