iOS 개발자가 알아야할 네트워크 관련 개념 정리: TCP/IP, HTTPS, URLSession
·
iOS
1. 네트워크 프로토콜네트워크 통신은 여러 계층의 프로토콜이 협력하여 이루어진다. 주요 모델로 OSI 7계층 모델과 TCP/IP 모델이 있다.OSI 7계층물리 계층: 전기 신호, 광 신호 등의 물리적 전송 담당데이터 링크 계층: 오류 감지 및 수정, MAC 주소 기반 통신네트워크 계층: IP 주소를 사용하여 경로 설정 (예: IP)전송 계층: 데이터의 신뢰성 있는 전송 보장 (예: TCP, UDP)세션 계층: 세션 설정, 관리, 종료프레젠테이션 계층: 데이터 표현 형식 변환 (예: 암호화)응용 계층: 사용자와 직접 상호작용 (예: HTTP, FTP)TCP/IP 모델응용 계층 (HTTP, FTP, DNS)전송 계층 (TCP, UDP)인터넷 계층 (IP)네트워크 액세스 계층 (이더넷, Wi-Fi)2. SSL..
컴퓨터 시스템과 iOS 개발의 기초 개념
·
iOS
효율적인 개발과 문제 해결에 필수적인 CS 기초 개념을 정리해본다.CPU, RAM, 저장 장치의 상호작용부터 iOS의 메모리 관리 및 멀티스레딩 기술까지, 각 요소의 원리를 숙지함으로써 더 나은 성능과 안정성을 갖춘 앱을 개발할 수 있다. 1.  컴퓨터 시스템의 주요 구성 요소컴퓨터 시스템은 CPU, RAM, 저장 장치로 구성된다. 각 구성 요소는 서로 협력하여 데이터를 처리하고 저장한다.CPU (Central Processing Unit)컴퓨터의 핵심 연산 장치로, 명령어를 처리하고 산술 및 논리 연산을 수행한다.데이터 처리를 담당하며 RAM에서 데이터를 가져와 연산 후 결과를 저장한다.RAM (Random Access Memory)현재 실행 중인 데이터와 프로그램을 임시 저장하는 휘발성 메모리이다.C..
Design Patterns: MVVM, MVVM-C, MVP, Clean Architecture
·
iOS/Swift
디자인 패턴은 앱의 규모와 요구사항에 따라 선택할 수 있으며, 단순한 앱에서는 MVP나 MVVM, 복잡한 네비게이션이 포함된 앱에서는 MVVM-C를 선호할 수 있다. 유지 보수를 위해 가독성이 좋고 의존성을 줄이고자 사용하는 것이기 때문에 누구나 알기 쉽게 작성하는 데 중점을 두어야 하고, 디자인 패턴을 위해 코드가 복잡해지는 것은 바람직하지 않다.참고로 Apple에서 권장하는 디자인패턴은 Swift는 MVC, SwiftUI는 MVVM이라고 한다.  1. MVP (Model-View-Presenter)Model, View, Presenter로 구성된 디자인 패턴으로, View와 Model을 분리하여 코드의 유지보수성을 높이는 구조이다.Model: 애플리케이션의 비즈니스 로직과 데이터 관리 부분을 담당한다..
iOS 앱 개발자를 위한 RESTful API 실전 적용과 WebSocket
·
iOS/Swift
1. RESTful API 설계와 특징RESTful API는 서버와 클라이언트 간의 통신을 효율적으로 설계하기 위해 널리 사용되는 방식이다.RESTful API 설계의 주요 원칙리소스를 나타내는 명사형 URI:GET /users: 유저 목록 읽기POST /users: 새로운 유저 생성Stateless 통신:클라이언트는 매 요청 시 필요한 모든 정보를 포함하여 서버에 전달한다. 서버는 이전 요청 상태를 기억하지 않는다.RESTful하지 않은 API 란모든 요청을 POST로 처리URI에 리소스 대신 동작을 나타내는 동사가 포함된 경우 (예: /students/update)2. RESTful API를 위한 서버 - 클라이언트 협업앱 개발에서 가장 기본이 되는 RESTful API는 화면의 데이터 제공이다. 특..