
오늘은 42CM에서 어떠한 기준을 가지고 기술 스택 및 아키텍처를 선택했는 지에 대해 적어보고자 합니다! 그리고 선택 과정 중, 고민하거나 궁금했던 부분들을 함께 적어보고자 합니다 :) 결론적으로 42CM에서는 Code Based UIKit, MVVM, RxSwift

안녕하세요! 이번에는 민감한 유저 정보를 어떻게 안전하게 관리할 수 있는지에 대해 다뤄보고자 합니다. 이번 프로젝트에서 AccessToken이나 RefreshToken을 UserDefaults에 저장을 하는 중이었습니다. 그런데 이게 보안상 문제가 될 수 있다고 하더라

RxSwift를 사용하여 네트워크 통신을 구현할 때, 여태까지 다음과 같이 Observable을 사용했다. 예를 들어, 로그인 기능을 구현하는 경우 아래와 같이 작성했다.이 방식에는 몇 가지 문제가 있담 ..여러 값 방출 가능성Observable은 원칙적으로 여러 개의

전체 데이터에서 지정된 갯수만 데이터를 전달하는 방법필요한 데이터만 주고 받으므로 네트워크의 오버헤드를 줄일 수 있다.구현 방법에는 크게 두 가지가 있다.오프셋 기반 페이지네이션 (Offset-based Pagination)커서 기반 페이지네이션 (Cursor-base

안녕하세요! 오늘은 채팅 로직과 더불어 채팅 데이터를 어디에 저장할지에 대해 고민해본 내용입니다!일단 채팅 로직에 대해 먼저 알아보아야 합니다. 채팅의 핵심은 실시간 데이터 처리와 사용자 경험의 일관성 유지입니다. 채팅 조회 로직은 다음과 같습니다. 서버로부터 최신 채

안녕하세요! 오늘은 싱글톤 패턴에 대해 적어보고자 합니다. 저는 싱글톤 패턴을 여러 프로젝트에 사용해왔는데, 정작 장단점에 대해 정리해본적이 없는 것 같아 정리해보고자 합니다 :)많은 개발자들이 이 패턴을 선택하는 이유는 여러가지인데요, 그 중에서도 공유 자원을 관리하

인터넷이나 로컬 네트워크에서 컴퓨터, 스마트폰, 서버 등의 장치들이 서로 데이터를 주고받기 위해서는 네트워크 통신이 필요합니다. 이를 가능하게 하기 위해 다양한 규칙과 표준이 존재하는데, 이를 프로토콜이라고 부릅니다. 프로토콜은 데이터를 어떻게 포맷하고, 송수신하며,

iOS 애플리케이션의 상태 변화에 따라 소켓 연결을 적절히 관리하는 것은 여러 가지 이유로 중요하다고 합니다! 주된 이유는 네트워크 자원 관리, 배터리 소비 절감, 그리고 사용자 경험 최적화입니다. 네트워크 자원 관리소켓 연결은 네트워크 자원을 소모합니다. Active

안녕하세요! 이번에는 ViewController의 생명주기의 각 시점에서 소켓 연결을 어떻게 관리하는 게 좋을지 알아보고자 합니다. 그전에, ViewController의 생명주기를 먼저 살펴보겠습니다.viewDidLoad뷰 컨트롤러의 뷰가 메모리에 로드될 때 호출됩니다