Swift
-
Property Observers (willSet, didSet)Swift 2025. 1. 27. 12:17
안녕하세요. 그린입니다 🍏이번 포스팅에서는 연휴를 맞이하여 Swift 기초를 한번 정리해보려고 합니다!그 중에서 Property Observers의 willSet과 didSet을 간단하고 이해하기 쉽게 톺아보겠습니다 🙋🏻 Swift는 객체지향과 함수형 프로그래밍의 장점 모두를 가지고 있는 프로그래밍 언어죠.여기서 Property Observers는 Swift의 기능 중 하나로 프로퍼티의 값 변화를 모니터링하고 그에 반응하는 코드를 작성할 수 있게 도와줍니다. 그럼 본격적으로 알아보시죠 🚀Property Observers?우선 Property Observers가 무엇인지 알아볼까요?Property Observers는 프로퍼티의 값이 변경될 때 호출되는 특별한 메서드에요. Swift에선 두가지 Pro..
-
Swift로 효율적인 디버그 로깅 시스템 구축하기Swift 2025. 1. 6. 18:49
안녕하세요. 그린입니다 🍏이번 포스팅에서는 앱 개발 환경에서 효율적인 디버그 로깅 시스템 구축을 주제로 포스팅하려 합니다 🙋🏻 개발 과정에서 로깅(logging)은 앱의 동작을 이해하고 디버깅하는데 필수적인 도구라 볼 수 있어요.그렇기에 이번 포스팅에서 Swift로 구현된 효율적인 디버그 로깅 시스템 구축을 해볼까 합니다! Swift로 효율적인 디버그 로깅 시스템 구축하기우선 해당 포스팅에서 가장 큰 주축이 되는 두 클래스 구현을 설계합니다. 1️⃣ SwiftLog - 실제 로그 파일 관리와 쓰기를 담당하는 클래스2️⃣ DebugLogger - 로그 메시지 포맷팅과 로깅 인터페이스를 제공하는 클래스 해당 클래스들로 만들어진 시스템은 다음과 같은 주요 특징을 가지게 됩니다. 1️⃣ 파일 기반 로깅2️..
-
RangeSet (feat. Set, IndexSet)Swift 2024. 12. 26. 14:35
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift 6에서 새로 도입된 RangeSet이라는것에 대해 학습해보겠습니다 🙋🏻 그럼 바로 가볼까요?RangeSetRangeSet은 범위로 표현되는 비교 가능한 모든 유형의 값의 집합입니다. struct RangeSet where Bound : Comparable Swift 6에서 탑재되어 iOS 18 이상부터 해당 타입을 사용하여 코드를 구현할 수 있어요. 기본적으로 설명해보자면, RangeSet은 불연속적인 범위에 걸쳐 있는 비교가 가능한 값 집합을 효율적으로 표현할 수 있습니다.RangeSet은 일반적으로 컬렉션의 인덱스 유형 범위를 저장해 컬렉션의 여러 하위 범위를 나타내는데 사용됩니다. 예시를 볼께요. var numbers = [10, 12, -..
-
NSObject에 대하여Swift 2024. 12. 19. 08:44
안녕하세요. 그린입니다 🍏이번 포스팅의 주제는 NSObject에 대해 한번 정리해보려 합니다 🙋🏻 사실, NSObject는 Swift 카테고리보다는 Objective-C에 더 가깝긴하죠.또, iOS 개발의 근간이라고 볼 수 있습니다. 그럼 한번 알아볼까요? NSObject?NSObject는 Objective-C 런타임 시스템의 근간을 이루는 최상위 클래스죠.Foundation 프레임워크의 루트 클래스로, 거의 모든 Cocoa와 Cocoa Touch 클래스의 기본 클래스 역할을 해줍니다.결국 Objective-C의 객체 지향 프로그래밍을 가능하게 해주는 핵심 요소라고 볼 수 있어요.이 NSObject를 상속받는 하위 클래스들은 런타임 시스템에 대한 기본 인터페이스와 Objective-C 객체처럼 동작..
-
Explore the Swift on Server ecosystem (feat. WWDC 2024)Swift 2024. 12. 2. 18:49
안녕하세요. 그린입니다 🍏이번 포스팅에서는 WWDC 2024에서 소개된 Explore the Swift on Server ecosystem에 대해 학습해보려 합니다 🙋🏻 Swift 언어는 우리가 애플 생태계의 앱을 개발하는데 주로 쓰이지만 서버 애플리케이션을 위한 언어로도 적합합니다.그렇기에 생소한 이 개념과 쓰임을 어떻게 애플은 소개하고 사용하라고 하는지 알아봅니다 😃 Explore the Swift on Server ecosystemMeet Swift on Server우선, Swift를 서버 애플리케이션에 적합하게 만드는 요소들에 대해 알아봐야 합니다. Swift를 사용하면 가비지 컬렉션 대신 자동 참조 계산을 통해 낮은 메모리 공간으로 C와 유사한 성능을 얻을 수 있어요.이는 예측 가능한 리..
-
ETag 캐싱으로 앱 성능 최적화하기Swift 2024. 11. 26. 18:51
안녕하세요. 그린입니다 🍏이번 포스팅에서는 ETag를 이용해 네트워크 캐싱을 하여 앱 성능을 최적화하는 방법에 대해 알아볼께요 🙋🏻 ETag 캐싱으로 앱 성능 최적화하기모바일 앱 개발에서 네트워크 최적화는 사용자 경험을 향상시키는 핵심 요소입니다. 이번 포스팅에선 HTTP 프로토콜의 강력한 기능 중 하나인 ETag(Entity Tag)에 대해 자세히 알아보고, iOS 앱에서 이를 효과적으로 구현하는 방법을 살펴보겠습니다. ETag?ETag는 웹 리소스의 특정 버전을 고유하게 식별하는 식별자에요.서버는 클라이언트에게 리소스를 응답할 때 ETag 헤더를 함께 전송하며, 클라이언트는 이후 요청 시 이 값을 사용해 리소스가 변경되었는지를 확인할 수 있습니다. 아래와 같이 예를 들어서, 서버의 응답 헤더는..
-
Consume noncopyable types in Swift (feat. WWDC 2024)Swift 2024. 11. 18. 18:58
안녕하세요. 그린입니다 🍏이번 포스팅은 WWDC 2024의 Consume noncopyable types in Swift이라는 세션을 정리해보겠습니다 🙋🏻 세션 주제만 보면 Swift에서 복사할 수 없는 유형 소비하기라고 해석해볼 수 있어요 😃 그럼, Swift에서 복사가 뭐고 언제 복사 불가능한 유형을 소비해야하는지 그리고 값 소유권을 통해 의도를 명확히 어떻게 표현할 수 있는지 등을 집중적으로 다뤄보시죠 🏃🏻 Consume noncopyable types in Swift최근 Swift에서 복사할 수 없는 유형을 도입했습니다. 자세히 알아보기 전 복사란 무엇인지부터 알아보시죠! Copying 해당 플레이어라는 구조체를 가진 인스턴스가 있고 그 인스턴스를 player2에 할당하면 복사가 일어..
-
Go further with Swift Testing (feat. WWDC 2024)Swift 2024. 9. 30. 17:14
안녕하세요. 그린입니다 🍏이번 포스팅에서는 저번 Swift Testing에 대해 어떤건지 톺아봤다면 이번엔 좀 더 자세히 알아보려합니다.심화편이라고 생각하면 좋아요 😁WWDC 2024의 Go further with Swift Testing 세션으로 한번 살펴보겠습니다 🙋🏻 먼저 Swift Testing이 어떤건지 기초부터 알고 싶다면 아래 포스팅을 보고 오세요 😁 Meet Swift Testing (feat. WWDC 2024)안녕하세요. 그린입니다 🍏이번 포스팅에서는 WWDC 2024에서 소개된 Meet Swift Testing 세션을 보면서 Swift Testing에 대해 알아보려합니다 🙋🏻 Meet Swift Testing우리는 그전까지 테스트하면 XCTest를 사green1229...