안녕하세요. 이전에 [iOS] Authenticator 프로토콜로 JWT 인증 구현하기 라는 JWT 인증 관련 글을 올린 적이 있는데 그때는 무슨 일인지 adapt와 retry가 호출되지 않아서 Authenticator를 사용 했었는데요. 이번에 다시 해보니 잘 호출되고 오히려 Authenticator 보다 쉽고 간편한 부분이 있어 RequestInterceptor 프로토콜에 대해 포스팅하려고 합니다. JWT 인증 JWT 인증에 대해 앱 개발 관점에서 간단히 짚고 넘어가자면, 우리가 api 요청을 할 때 서버에서 인증된 사용자의 요청인지 판단하는 인증 방식으로 보통 로그인할때 accessToken과 refreshToken을 내려받습니다. 각각은 토큰의 유효기간이 있고 accessToken은 일반적인 요청..
안녕하세요. 컬렉션 뷰 써보려고 토이 프로젝트하다가 이미지 캐싱을 구현하게 돼서 블로그에 정리해 보려고 합니다. 원래 이미지 캐싱은 kingFisher를 많이들 사용하시던데 토이프로젝트 수준에서는 복잡한 로직이 없기 때문에 직접 구현해 보았는데요. 바로 이 NSCache를 통해 이미지 캐싱을 간편하게 구현할 수 있었습니다. NSCache는 Key-Value 형태의 데이터를 임시적으로 저장하는데 사용하는 가변 컬렉션이라고 되어있네요. 캐싱에는 보통 디스크에 저장하는 방법과 메모리에 저장하는 방법이 있는데 NSCache는 메모리에 저장하는 방식이며 kingFisher도 메모리 캐싱할 때는 내부적으로 NSCache를 사용합니다. 메모리에 캐싱하면 메모리 용량이 부족하거나, 앱을 종료했을때 데이터가 삭제됩니다...
JWT 샘플 앱을 MVC 패턴으로 만들었는데, rxSwift 없이 MVVM을 적용하면서 배운 것들을 블로그에 정리해보려 합니다. Apple's MVC 좌측이 Classic MVC 우측이 apple's MVC인데, iOS 앱 개발 관점에서는 ViewController가 View의 LifeCycle과 깊게 연관되어 있어 View와 Controller의 책임을 나누기가 어렵습니다. 그래서 우측과 같은 애플만의 MVC 패턴이 나오게 되었는데 이 경우 ViewController의 사이즈가 너무 커져서 재사용성이 떨어지고 테스트 관점에서 볼 때도 모델이야 따로 떨어져 있으니 테스트가 된다고 쳐도 View와 Controller를 각각 따로 테스트하기가 어려워집니다. 익숙한 패턴이라 개발 속도도 빠르고 새로운 개발자가..
- Total
- Today
- Yesterday
- NSCache
- ios memory
- rxswift안쓰고
- swift cache
- inputoutput패턴
- ios 캐시메모리
- ios 이미지캐싱
- rxswift 없이
- 앱개발 디자인패턴
- MVVM패턴
- 비동기 유닛테스트
- 아키텍처패턴
- 연산프로퍼티
- UserDefaultKey
- swift mvvm
- @propertyWrapper
- ios 유닛테스트
- swift 캐싱
- ios 디자인패턴
- ios 패턴
- ios expectation
- api호출 unittest
- SWIFT
- ios cache
- 프로퍼티래퍼
- ios 캐시
- ios image caching
- UserDefault
- UserDefaults
- wrappedValue
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |