일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로토콜
- uikit
- 반응형
- 구름톤 유니브
- 이론
- mvc
- 네트워크
- 라이브러리
- 세종대학교
- snkit
- collectionview
- RxSwift
- Kingfisher
- observable
- async
- 옵셔널
- 동시성
- 실습
- ios
- 스트럭트
- 대표
- 캐시
- struct
- 기초문법
- 토이프로젝트
- swift
- WeatherKit
- 학과별커뮤니티
- CS
- SwiftUI
- Today
- Total
목록프로젝트 (20)
스윞한 개발자

안녕하세요! 이번 포스팅에서는 SNKit 개발 회고 시리즈의 마지막 편입니다. 이번 포스팅에서도 앞으로 SNKit의 개발 방향과 깨달음들을 공유해보려고 합니다 ㅎㅎ #SNKit 한계 개선 방향1. NSCache 의존성 문제지난 편에서 언급했던 NSCache의 딜레마,,, 이게 제일 고민인것 같습니다. 현재는 NSCache + 별도 스코어 관리 시스템으로 우회하고 있지만, 근본적인 해결책은 아닌 거 같습니다. iOS 시스템이 메모리 압박을 느끼면 제 스코어 알고리즘과 상관없이 NSCache를 LRU 알고리즘에 따라 비워버립니다. 그럼 제가 기존의 라이브러리와는 차별점을 두었던 가중치 기반 캐시 스코어링이 의미 없어지는 상황이 발생합니다. 그래서 제가 생각하고 있는 방법은 NSCache 방법 말고, 완전 커..
안녕하세요! 이번 포스팅에서는 제가 만든 SNKit 개발 과정에서의 회고와 앞으로의 방향성(?)에 대해 이야기해보려고 합니다!! 지금까지 제가 만든 SNKit의 기술적인 구현 방법과 핵심 기능들에 대해서 설명했다면, 이번에는 라이브러리를 사용해 보며,, 그리고 다른 개발자 분들의 피드백을 받아보며 얻었던 생각들을 적어보려고 합니다. #기존의 라이브러리가 있는데 왜 만들었는가?제가 SNKit을 만들었을때 많은 분들이 이미 Kingfisher, SDWebImage 같이 많이 사용하고 있는 라이브러리가 있는데 왜 만들었냐고 물어보셨습니다. 솔직히 말하면,, 처음에는 학습적인 부분과 저만의 라이브러리를 만들어보고 싶었기 때문에 시작했습니다. 하지만 개발을 하면서 기존의 라이브러리와는 차별점을 가지고 한계를 극..

안녕하세요! 이번 포스팅에서는 SNKit 시리즈의 마지막 이야기를 적어보려 합니다. 지금까지 SNKit의 개발 배경, 캐시 시스템, ETag 검증 및 다운로드 시스템에 대해 살펴보았습니다. 이번 글에서는 SNKit의 마지막 핵심 기능인 이미지 처리 시스템과 UIKit과의 통합(추후에 SwiftUI도 반영예정입니다!)에 대해 자세히 알아보겠습니다. 이미지 처리의 중요성모바일 앱에서 이미지 처리는 성능과 사용자 경험에 큰 영향을 미칩니다.1. 메모리 효율성고해상도 이미지를 그대로 사용하면 메모리 사용량이 급증하여 앱 성능이 저하되고, 최악의 경우 메모리 부족으로 인한 앱 종료가 발생할 수 있습니다. 특히 iOS 기기에서는 메모리 한계가 명확하기 때문에, 이미지 크기를 적절히 조절하는 것이 필수적입니다.2...

안녕하세요! 이번 포스팅에서는 캐시 라이브러리 SNKit에 대한 4번째 개발일지를 적어보려 합니다! 벌써 4번째라니.. 처음에는 걱정이 많았지만 잘(?) 개발하고 있는 거 같습니다!! 오늘 소개해 드릴 내용은 제가 캐시 라이브러리를 만들어보고자 한 이유 중 하나인 ETag에 대해 다뤄보려고 합니다.이번 글에서는! SNKit의 핵심 기능인 ETag와 이미지 다운로드 시스템에 대해 다뤄보도록 하겠습니다! HTTP 캐싱과 ETag의 이해이미지 캐싱 시스템을 효율적으로 구현하기 위해서는 HTTP 프로토콜의 캐싱 메커니즘을 잘 활용하는 것이 중요합니다. 그중에서도 ETag는 매우 유용한 기능입니다. 제가 처음 캐시에 대해 스터디를 할때 여러 질문 공격(?)을 받았던 적이 있습니다.1. URL을 키로 이미지를 저장..

안녕하세요!이번 포스팅에서는 지난 시간에 메모리 캐시에 대해 구현했던 것에 이어서 디스크/하이브리드 캐시를 구현해 본 과정을 정리해 보았습니다! 디스크 캐시 구현 세부사항디스크 캐시는 앱이 종료된 후에도 데이터를 유지할 수 있는 장점이 있지만, 메모리 캐시보다는 접근 속도가 느립니다. SNKit에서는 파일 시스템을 활용한 디스크 캐시를 다음과 같이 구현했습니다. final class DiskCache { private let fileManager = FileManager.default private let cacheDirectory: URL private let lock = NSLock() private let capacity: Int private let expiration..

안녕하세요! 이번 포스팅에서는 최근 개발을 시작한 SNKit의 개발 첫 번째 이야기를 다뤄보려고 합니다. 첫 번째 글에서는 SNKit의 개발 배경과 전체적인 기획에 대해 살펴보았습니다. 이번 글에서는 SNKit의 핵심 기능인 메모리 캐시와 디스크 캐시의 구현에 대해 자세히 알아보겠습니다. 캐시 시스템 설계 요구사항효율적인 이미지 캐싱 시스템을 구축하기 위해 다음과 같은 설계 요구사항을 구성했습니다!!메모리 효율성: 과도한 메모리 사용 방지하기지속성: 앱 재시작 후에도 필요한 데이터 유지하기만료 관리: 오래된 캐시 항목을 자동으로 정리하기용량 제한: 지정된 용량을 초과하지 않도록 자동으로 관리하기스레드 안전성: 여러 스레드에서 동시에 접근해도 안전하게 동작하도록 관리메타데이터 관리: 이미지 외에도 관련 ..

안녕하세요! 이번 출시 프로젝트를 시작하기 전 기획 단계에서 캐시 라이브러리를 직접 개발해 보면 어떨까..라는 저의 큰 꿈을 품고..!! 라이브러리를 기획해 보고 배포해 보기로 마음 먹었습니다..!! 처음 배포해 보는 일이기 때문에 어려운 일이 많겠지만.. 잘(?) 한 번 배포해 보겠습니다! 이제부터 이미지 캐싱 라이브러리 SNKit(스윞남킷ㅎㅎ)에 대한 시리즈를 시작하려고 합니다. 이 시리즈에서는 이미지 캐싱 라이브러리를 왜 만들게 되었는지, 어떤 아키텍처로 설계했는지, 그리고 각 모듈의 역할과 구현 방법에 대해 상세히 다룰 예정입니다. SNKit 개발 배경앱을 개발하다 보면 이미지 로딩과 관련된 문제가 자주 발생합니다. 특히 제가 만들었던 애니메이션, 영화 어플 포스터 등 많은 이미지를 다루는 ..

GraBit – 스마트한 암호화폐 투자 가이드 당신의 코인 투자, 더 똑똑하게!GraBit은 당신이 보유한 암호화폐 정보를 한눈에 관리하고, 실시간 차트와 뉴스, AI 리뷰까지 제공하는 차세대 투자 플랫폼입니다. 주요 기능 1. 포트폴리오 관리 – 내가 구매한 코인을 입력하면 자동으로 투자 현황을 한눈에 확인 가능!2. AI 투자 피드백 – 내 포트폴리오를 분석하여 AI가 맞춤형 리뷰와 조언 제공3. 실시간 시장 데이터 – 주요 코인의 가격 변동, 차트, 뉴스까지 한 곳에서 확인4. 트렌드 분석 – 최신 코인 뉴스와 분석 자료로 시장 흐름을 캐치5. 직관적인 UI – 깔끔하고 사용하기 쉬운 인터페이스로 투자 효율 극대화 * 암호화폐 시장에서 기회를 잡고 싶다면?지금 바로 GraBit과 함께 스마트한 투자..