전체 글
-
27살, 2021년 회고회고, 생각 2021. 12. 31. 22:54
20년 회고를 쓰고 1년. 이번 한 해는 작년 보다도 시간이 훨씬 더 빠르게 지난 느낌을 많이 받았다. 아무래도 일을 하다 보니 개인 시간의 비중이 적어져서 더욱더 그렇게 느끼는 것 같다. 벌써 21년의 마지막이다. 올해 1년을 되돌아보려 하니, 또다시 당장 1월에 뭘 했는지 기억이 가물가물 하다. 작년의 경험으로 폰의 캘린더에는 좀 더 자세하게 일정을 기록하게 되었다. 이럴 거면 아예 캘린더 기반의 짧은 일기 앱을 하나 만들어버리는 것도 좋을 것 같다. 내가 쓰기 위해서. 그리고 블로그에 몇 달에 한 번씩 회고를 썼으니, 그것이 많이 도움이 되었다. 기록의 중요성을 항상 알고 있는데도 불구하고 왜 일기장을 자꾸만 안 쓰게 될까? 내년엔 그 일기장을 좀 가득 채웠으면 좋겠다.. 18년도부터 한 권을 아직..
-
안드로이드 만료 토큰 갱신 / 요청 api에 토큰 삽입 자동화 시스템 개발기 - 3 Interceptor에서 Token 삽입하기 편 [Android Retrofit Auto Insert Token & Auto Refresh Token]안드로이드 2021. 11. 29. 00:07
이번 편은 Retrofit Interface에서 Token Parameter를 없앤 방법에 대해서 이야기할 것이다. 먼저, 사내 인증 시스템에서는 토큰을 이중으로 발급 받아야하는 상황이라고 적었었다. 라마인드 하자면, 아래 두 절차를 통해 최종적으로 Online Token을 발급 받아야 사내 API를 요청할 수 있게 된다. 사내 SDK를 통해 이메일/패스워드를 인풋으로 넣고 Mobile 인증 Token을 발급 받기. Mobile 인증 Token을 넣고 사내 인증 시스템 api를 호출해서 Online Token 발급받기. 편한 설명을 위해서 아래부터는 1번을 Mobile Token, 2번을 Online Token이라고 부르겠다. Online Token을 발급받기 위해서는 Mobile Token이 필요하다!..
-
안드로이드 만료 토큰 갱신 / 요청 api에 토큰 삽입 자동화 시스템 개발기 - 2 Token Repository 설계, 관심사의 분리 편 [Android Retrofit Auto Insert Token & Auto Refresh Token]안드로이드 2021. 11. 13. 16:47
이번 편에서는 토큰 관리를 어떻게 했는지 다뤄보려고 한다. 사내 인증 시스템은 토큰 발급이 이중으로 되어있었다. 1. 사내 인증 SDK를 통한 MobileToken 발급 (id, password 인풋) 2. 인증 API에 MobileToken을 Header로 넣고 요청을 보내 응답받은 OnlineToken 3. OnlineToken으로 모든 사내 API 요청 가능 이렇게 OnlineToken이 필요한 모든 요청에서 토큰 요청과 만료됐을 때의 재발급 로직이 중복해서 여기저기 흩어져있다면 유지 보수하기 매우 어려운 코드가 될 것이라고 생각했다. 관심사의 분리 Repository Layer에서 API 요청에 필요한 검증된 OnlineToken을 반환하기만 한다면, 상위 Layer에서는 매우 편리하게 Token..
-
Android Okhttp Interceptor로 원하는 응답으로 변형하기와 Interceptor Test안드로이드 2021. 10. 31. 02:13
Okhttp 라이브러리 중 Interceptor를 Test 하는 방법에 주관 가득한 생각을 담아 써보려 한다. Interceptor는 실제 서버 통신이 일어나기 직전, 직후에 요청을 가로채서 무언가 어썸한 작업을 한 후에 다시 원래 흐름으로 돌려놓는 기능을 제공한다. 아래 사진이 직관적으로 이해하기 좋다. 왜 Interceptor를 사용했는가? Interceptor는 다양한 방법으로 활용할 수 있는데, 필자는 서버 응답을 재가공하기 위해서 사용했다. 사이드 프로젝트에서 사용하는 서버의 응답 Json은 아래와 같은 포맷이다 응답이 성공인 경우 { "status": 200, "success": true, "message": "blar blar", "data": { "key": "value" } } 응답이 실..