[SwiftUI]SwiftUI 커스텀 뷰 선언하기
개요 SwiftUI는 사용자 인터페이스 디자인을 선언형(declarative) 방식으로 제공합니다. 전통적인 명령형(imperative) 방식에서는 뷰를 생성하고, 배치하고, 설정하는 책임은 물론, 상태 변화에 따라 뷰를 지속적으로 업데이트하는 책임까지 컨트롤러 코드가 부담합니다. 반면, 선언형 방식에서는 UI의 원하는 레이아웃을 반영하는 뷰 계층...
개요 SwiftUI는 사용자 인터페이스 디자인을 선언형(declarative) 방식으로 제공합니다. 전통적인 명령형(imperative) 방식에서는 뷰를 생성하고, 배치하고, 설정하는 책임은 물론, 상태 변화에 따라 뷰를 지속적으로 업데이트하는 책임까지 컨트롤러 코드가 부담합니다. 반면, 선언형 방식에서는 UI의 원하는 레이아웃을 반영하는 뷰 계층...
SwiftUI는 어떻게 뷰를 갱신할까? SwiftUI는 이전 뷰의 상태와 현재 뷰의 상태를 비교하여 재렌더링이 필요한 뷰만 다시 그린다고 알고 있습니다. 그렇다면 어떻게 이전 뷰의 상태와 현재 뷰의 상태를 비교하는걸까요? SwiftUI는 현재 뷰의 상태가 이전 뷰의 상태와 달라졌는지를 어떻게 구분할까? SwiftUI는 정체성(Ident...
해당 글은 Apple 공식문서를 번역한 글로 의역이나 잘못 번역된 내용이 있을 수 있습니다. 정확한 내용은 원문을 참고해주세요. https://developer.apple.com/documentation/swiftui/declaring-a-custom-view#Conform-to-the-view-protocol 개요 SwiftUI는 사용자 인터페...
해당 글은 Apple 공식문서를 번역한 글로 의역이나 잘못 번역된 내용이 있을 수 있습니다. 정확한 내용은 원문을 참고해주세요. https://developer.apple.com/documentation/swiftui/laying-out-a-simple-view 개요 뷰의 레이아웃을 만들려면, 먼저 자식 뷰들의 계층을 구성합니다. 그런 다음, 자...
소켓(Socket)이란? 소켓(Socket) 은 네트워크를 경유하는 프로세스 간 통신의 종착점. OSI 7계층 중 응용 계층에 속하는 프로세스들은 데이터 송수신을 위해 반드시 소켓을 거쳐 전송 계층으로 데이터를 전달해야한다. 즉, 소켓은 전송 계층과 응용 프로그램 사이의 인터페이스 역할을 하며 떨어져 있는 두 호스트를 연결해준다. 소켓은 아래의 요...
HTTP란? HTTP(HyperText Transfer Protocol)는 클라이언트와 서버 간에 의미 있는 요청과 응답을 주고받기 위한 텍스트 기반 통신 프로토콜입니다. ‘의미 있는’ 이란? HTTP는 단순히 데이터를 주고받는 수준을 넘어서, 요청과 응답의 목적과 맥락을 헤더(Header)를 통해 설명할 수 있습니다. 예를 들어, GET, P...
iOS 앱을 개발할 때 소셜 로그인 기능을 구현한다면, 애플 로그인은 사실상 필수적인 기능입니다. 그렇기에 프로젝트를 할 때마다 애플 로그인을 구현하게 되는데, 매번 ‘어떻게 구현하더라’ 하며 다시 찾아보는 일이 반복되곤 했습니다. “애플로부터 토큰을 발급받아 서버에 넘기면 서버가 알아서 로그인 또는 회원가입 처리를 진행하고, 그 후 액세스 토큰과 ...
CoreData란? CoreData는 Apple에서 제공하는 객체 그래프(Object Graph) 및 영속성(Persistence) 관리 프레임워크입니다. SQLite를 기반으로 로컬 데이터베이스로도 사용할 수 있지만, 단순히 데이터베이스 기능뿐만 아니라 객체 간의 관계 관리, 상태 추적, 변경 감지, iCould 연동, Undo/Redo, Lazy...
개인 프로젝트 서버를 AWS EC2 인스턴스에 배포하는 과정에서, 서버가 중간에 멈추는 문제를 마주했습니다. 제가 사용 중인 인스턴스는 t2.micro 로, 즉 프리티어에서 제공되는 최소 사양 인스턴스였습니다. vCPU: 1개 RAM: 1GB 서버를 실행했을 때 반응이 없어 AWS 대시보드에서 확인해보니, CPU 사용량이 100%에 가...
Alamofire는 Swift 기반 HTTP 네트워킹 라이브러리로 URLSession을 래핑하여 네트워킹 코드를 쉽고 가독성 좋게 사용할 수 있는 다양한 기능들을 제공합니다. URLSession 기반 코드의 문제점 기본적으로 Foundation에서 제공하는 URLSession을 직접 사용할 경우 다음과 같은 단점들이 존재했습니다. 요청(Req...