본문 바로가기

전체 글

[iOS] About 싱글턴 패턴 이번 글의 주인공은..!싱글턴 패턴(Singleton Pattern) 이 친구는특정 클래스의 인스턴스를 하나만 생성하여애플리케이션 전체에서 공유할 수 있도록 하는 디자인 패턴입니다.주로 애플리케이션의 전역 상태를 관리하거나, 리소스가 많이 소모되는 객체의 중복 생성을 방지하는 데 사용합니다. 우리가 프로젝트를 진행하게 되면URLSessioin.shared, UserDefaults.standard 와 같은 친구들을 심심치 않게 보게 되는데이들 역시 싱글턴 패턴을 이용한 사례입니다. 그래서 저는 싱글턴 패턴의 사용 목적에 맞게 아주 비싼 친구 DateFormmater를 위한 싱글톤 패턴을 만들어봤습니다.  final class ReuseDateformatter { static var dateFo.. 더보기
[iOS] About Router pattern 지난 글에서 Alamofire에 대해 설명했는데요!이번엔 Alamofire의 URLRequestConvertible 이라는 프로토콜을 사용해 라우터 패턴을 사용해보고자 합니다!! 여기서 Router Pattern 이란?생소한 단어인 듯 하지만 집에 있는 공유기가 바로 Router이기에 실생활에 대입해서 생각해보면 꽤나 간단하게 생각되실거에요집에 있는 라우터를 통해 와이파이를 사용하기도 하고 직접연결을 통해 컴퓨터를 사용할 수도 있죠??우리가 원하는 기능을 우리가 선택해서 사용할 수 있는거죠. 앱에서도 마찬가지입니다.여러 API요청이 발생하게 됐을 때, 하나의 Router에서 관리할 수 있다..! 정도로 보시면 될 것 같아요.이를 사용하기 전에 여기저기 흩어져있던 코드들을 한 데 모아 관리할 수 있겠죠? .. 더보기
[iOS] About Alamofire Alamofire?iOS 및 macOS 애플리케이션에서 네트워크 요청을 간편하게 처리할 수 있도록 도와주는 HTTP 네트워킹 라이브러리입니다.Apple의 기본 네트워킹 프레임워크인 URLSession을 기반으로, 더 쉽게 네트워킹 작업을 처리할 수 있도록 다양한 기능을 제공합니다.RESTful API와의 통신, 파일 업로드/다운로드, JSON 데이터 처리 등과 같은 네트워킹 작업을 간결하고 직관적으로 구현할 수 있습니다. 그렇다면 Alamofire는 어떻게 사용할지 알아보도록 하겠습니다.AF.requset() ....  형태를 기본적으로 갖고있는데요.. 요 request부분을 자세히 확인해보면 기본적으로 네트워크 통신을 하기 위해 필요한 요소들을 확인해볼 수 있습니다.  옵셔널 처리가 돼있는 요소도 있고.. 더보기
[iOS] About URLSession - 2 지난글에 이어 이번에도 URLSession에 대해 이야기 해보려고 합니다 (지난글 : 2024.06.12 - [Swfit] - [iOS] About URLSession - 1) [iOS] About URLSession - 1iOS 개발을 하다 보면 이 네트워크 통신은 떼려야 뗄 수 없는 것 같습니다.그저 정해진 화면만 구성하는 것을 넘어흔히 우리가 사용하는 로그인, 실시간으로 정보를 사용자에게 보여주는 등dsungc08.tistory.com  이번 글에선 escaping 클로저와 Result Type을 활용하여 지난글의 코드를 개선해보려고 합니다! 가보시죠~ 우선 escaping 클로저는 함수가 반환된 후에도 클로저가 호출될 수 있도록 보장하는 키워드입니다.클로저는 일반적으로 함수내에서 실행되지만..! .. 더보기
[iOS] About URLSession - 1 iOS 개발을 하다 보면 이 네트워크 통신은 떼려야 뗄 수 없는 것 같습니다.그저 정해진 화면만 구성하는 것을 넘어흔히 우리가 사용하는 로그인, 실시간으로 정보를 사용자에게 보여주는 등 다양한 작업에서 사용되기에 네트워킹은 앱 개발 생태계에서 매우 중요하다고 볼 수 있습니다. 이번 글에서는 네트워크 통신 방법인 URLSession 과 Alamofire 에 대해 비교해 비교해보고URLSession에 대한 작성법 정도 정리해 보려고 합니다!  우선 제가 생각하기에 가장 큰 차이점은  URLSession : 애플이 직접 제공하는 네이티브 APIAlamofire: 코드의 간결함과 사용 편의성을 제공하는 외부 라이브러리 인데요, 좀 더 자세히 들어가보면 URLSession의 경우객체 생성, 에러/JSON 처리가 .. 더보기
[iOS] About App SandBox APP SandBox 란?  미국에서 아이의 안전을 위해 SandBox에서만 놀게 하여 위험을 최소화했다라는 데서 유래한 보안 모델입니다.애플이 애플리케이션의 디바이스에 로컬로 데이터베이스를 설정할 수 있도록 하는 동시에,앱이 다른 애플리케이션에 간섭하지 않도록 격리하는 방식입니다.  iOS는 기본적으로 앱 하나 당 SandBox화 되어있습니다. 이는 곧 다른 앱의 정보에 접근이 불가능하다는 얘기인데,쉽게 풀어서 적어보자면현재 우리는 카카오톡에서 확인한 문서를 인스타그램, X 등에서 확인할 수 없고,그 반대의 경우도 마찬가지일 겁니다.이게 가능하다면 꽤나 머리가 지끈 해지겠죠?또한 파일 정도도 가볍게 오가는데, 바이러스나 해커가 마음만 먹는다면 얼마든지사용자의 데이터에 접근이 가능해질 겁니다. 이처럼 아.. 더보기