-
Notifications
You must be signed in to change notification settings - Fork 1
BE SOPT FOURTH ASSIGNMENT
✔️Retrofit2 서버 통신 구현 순서
(1) SOPT signIn/signUp 로그인, 회원가입 통신
(2.1) signIn Postman
(2.2) signUp Postman
(2.3) Retrofit2 interface
call back
(3) 회원가입 통신
(4) 로그인 통신
Lv.2 ) 다양한 API 구현하기
사용한 API
- Github repository
- Github user
- Github followers
- Github following
- Reqres 더미데이터 서버 (reqres/users)
👉🏻선택과제는 Rxjava로 다음과 같이 구현 (ex. github follower)
-
ViewModel
-
UiState
-
DiffCallback
✏️ 선택과제에서 구현한 5개의 Retrofit2 통신은 위와 같이 구성을 하였습니다.
- 필수 과제에서 사용해준 Callback을 선택과제에서는 Rxjava 문법을 사용하여 구현을 하여 보다 간결한 비동기 통신을 코드를 작성해보고자 하였습니다.
- Singleton을 멀티스레드 환경에서 사용한다고 했을 때 LazyHolder 클래스를 사용하여 thread-safe 하면서도 성능이 저하되지 않고 (synchronized는 성능 저하 가능성) 사용할 수 있습니다.
🐾 서버 통신은 26기 솝트에서 처음 안드로이드를 접했던 저에게 가장 어려웠던 부분이었습니다. 그래서 4주차 서버통신 세미나 전에 깃허브 레트로핏과 카카오 API를 사용하여 연습을 했음에도, 완전히 알겠다! 이런 느낌이 오지 않아 더 연습을 해야겠다고 생각했습니다. 이번 성장 과제를 하면서 팟장님이 올려주신 API를 다 써서 해보면 나아질 것 같아 하나씩 연습을 해보며 과제를 완성했을 때 뿌듯함을 느꼈습니다. 서버통신 연습을 하면서 자신감이 조금씩 생겼고 특히 전체적인 흐름을 파악하고 구글링을 해서 무작정 따라하는 것보다 이게 왜 이렇게 되는거지 ?? 생각을 하면서 코드를 짜는 것이 도움이 많이 되었습니다. 그래서 도움이 필요한 사람에게 내가 도움이 될 수 있는 OB가 되어야겠다는 생각으로 이번 과제 이후에도 서버 통신 연습을 많이 하려고 합니다 ..😊 앞으로는 보다 깔끔한 코드를 짜는 연습을 더 해서 성장하는 개발자가 되고 싶습니다 ~~! 📘