Skip to content

BE SOPT FOURTH ASSIGNMENT

jooyae edited this page Jun 1, 2021 · 1 revision

📘 Android Assignment Week 4

image

✔️Retrofit2 서버 통신 구현 순서

image

📌 Level 1 필수 과제

(1) SOPT signIn/signUp 로그인, 회원가입 통신

(2.1) signIn Postman

(2.2) signUp Postman

(2.3) Retrofit2 interface

call back

(3) 회원가입 통신

(4) 로그인 통신

🐳 Level 2 선택 과제

Lv.2 ) 다양한 API 구현하기

사용한 API

  • Github repository
  • Github user
  • Github followers
  • Github following
  • Reqres 더미데이터 서버 (reqres/users)

👉🏻선택과제는 Rxjava로 다음과 같이 구현 (ex. github follower)

  1. ViewModel

  2. UiState

  3. DiffCallback

✏️ 선택과제에서 구현한 5개의 Retrofit2 통신은 위와 같이 구성을 하였습니다.

🐋 Level 3 성장 과제

  • 필수 과제에서 사용해준 Callback을 선택과제에서는 Rxjava 문법을 사용하여 구현을 하여 보다 간결한 비동기 통신을 코드를 작성해보고자 하였습니다.
  • Singleton을 멀티스레드 환경에서 사용한다고 했을 때 LazyHolder 클래스를 사용하여 thread-safe 하면서도 성능이 저하되지 않고 (synchronized는 성능 저하 가능성) 사용할 수 있습니다.

📝 과제를 통해 배우고 성장한 내용

🐾 서버 통신은 26기 솝트에서 처음 안드로이드를 접했던 저에게 가장 어려웠던 부분이었습니다. 그래서 4주차 서버통신 세미나 전에 깃허브 레트로핏과 카카오 API를 사용하여 연습을 했음에도, 완전히 알겠다! 이런 느낌이 오지 않아 더 연습을 해야겠다고 생각했습니다. 이번 성장 과제를 하면서 팟장님이 올려주신 API를 다 써서 해보면 나아질 것 같아 하나씩 연습을 해보며 과제를 완성했을 때 뿌듯함을 느꼈습니다. 서버통신 연습을 하면서 자신감이 조금씩 생겼고 특히 전체적인 흐름을 파악하고 구글링을 해서 무작정 따라하는 것보다 이게 왜 이렇게 되는거지 ?? 생각을 하면서 코드를 짜는 것이 도움이 많이 되었습니다. 그래서 도움이 필요한 사람에게 내가 도움이 될 수 있는 OB가 되어야겠다는 생각으로 이번 과제 이후에도 서버 통신 연습을 많이 하려고 합니다 ..😊 앞으로는 보다 깔끔한 코드를 짜는 연습을 더 해서 성장하는 개발자가 되고 싶습니다 ~~! 📘