티스토리

iOYES
검색하기

블로그 홈

iOYES

IT 분야 크리에이터
green1229.tistory.com/m

Green is Green🍏

구독자
376
방명록 방문하기

주요 글 목록

  • gRPC Swift 2 안녕하세요. 그린입니다 🍏이번 포스팅에서는 gRPC Swift 2에 대해 정리해보겠습니다 🙋🏻gRPC Swift 2생소하다고 느껴지고 대체 무엇인지 감이 안올 수 있는데, swift 공식 블로그에 나온 내용을 토대로 이해하기 쉽게 정리해봅니다. gRPC?gRPC는 Google이 개발한 오픈소스 원격 프로시저 호출(Remote Procedure Call) 프레임워크로, Protocol Buffers를 통해 빠르고 효율적인 API 통신을 지원합니다. 클라이언트가 마치 로컬 메서드를 호출하듯 서버의 메서드를 실행할 수 있게 해주기 때문에, 마이크로서비스 아키텍처와 모바일 클라이언트 개발에서 자주 사용됩니다.Swift에서도 이를 활용하기 위해 지난 몇 년간 gRPC Swift가 개발되어 왔고, 이번 2... 공감수 0 댓글수 0 2025. 5. 10.
  • swiftly 1.0 안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swiftly 1.0에 대해 어떤건지 간략히 톺아보려고 합니다 🙋🏻 해당 내용은 아래 Swift.org에서 소개된 Introducing swiftly 1.0의 글을 가지고 쉽게 이해할 수 있도록 핵심을 요약하였습니다.전문이 궁금하시다면 아래 원문을 참고해주세요 😃 Introducing swiftly 1.0Today we’re delighted to introduce the first stable release of swiftly, a Swift version manager that takes the pain out of installing, managing and updating your Swift toolchain.www.swift.orgswiftly.. 공감수 15 댓글수 0 2025. 5. 6.
  • Swift 6.1 안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift 6.1 릴리즈 사항에 대해 한번 알아보려고 합니다 🙋🏻 공식 Swift.org의 블로그에서 Swift 6.1에 대한 소개를 바탕으로 정리합니다. 제 나름대로 번역 및 요약 정리를 하기에 혹시 잘못된 부분이 있다면 알려주세요 🙇🏻개인적으로 정리해본거라 단순한 번역본은 아닙니다. Swift 6.1 ReleasedSwift 6.1 is now available!www.swift.org 실제 원문을 가지고 해석하고 싶다면 위 링크를 참고해주세요!Swift 6.1Swift 6.1은 언어 및 표준 라이브러리, 동시성 모델, 패키지 관리, 테스팅, 문서화 도구까지 다양한 측면에서 생산성과 안정성을 향상시켰습니다. 그럼 하나씩 알아볼까요? Concurre.. 공감수 17 댓글수 1 2025. 4. 25.
  • Swift Protocol 다중 채택 안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift Protocol과 다중 채택에 대해 정리해보겠습니다 🙋🏻 사실, 내용 자체는 기초적이고 간단하지만 처음 개발을 시작하고 Swift를 배우시는 분들은 헷갈려 하거나 의문을 품는 지점이 간혹 있어 한번 쉽게 정리해보려고 합니다!Protocol?Swift에서 프로토콜은 특정 요구사항을 정의하는 청사진이죠.클래스, 구조체, 열거형이 해당 프로토콜을 채택하면 프로토콜이 정의한 요구사항을 충족해야 합니다. protocol Greetable { var name: String { get } func greet() -> String}struct Person: Greetable { var name: String func greet() -> S.. 공감수 13 댓글수 0 2025. 2. 26.
  • Property Observers (willSet, didSet) 안녕하세요. 그린입니다 🍏이번 포스팅에서는 연휴를 맞이하여 Swift 기초를 한번 정리해보려고 합니다!그 중에서 Property Observers의 willSet과 didSet을 간단하고 이해하기 쉽게 톺아보겠습니다 🙋🏻 Swift는 객체지향과 함수형 프로그래밍의 장점 모두를 가지고 있는 프로그래밍 언어죠.여기서 Property Observers는 Swift의 기능 중 하나로 프로퍼티의 값 변화를 모니터링하고 그에 반응하는 코드를 작성할 수 있게 도와줍니다. 그럼 본격적으로 알아보시죠 🚀Property Observers?우선 Property Observers가 무엇인지 알아볼까요?Property Observers는 프로퍼티의 값이 변경될 때 호출되는 특별한 메서드에요. Swift에선 두가지 Pro.. 공감수 17 댓글수 7 2025. 1. 27.
  • Swift로 효율적인 디버그 로깅 시스템 구축하기 안녕하세요. 그린입니다 🍏이번 포스팅에서는 앱 개발 환경에서 효율적인 디버그 로깅 시스템 구축을 주제로 포스팅하려 합니다 🙋🏻 개발 과정에서 로깅(logging)은 앱의 동작을 이해하고 디버깅하는데 필수적인 도구라 볼 수 있어요.그렇기에 이번 포스팅에서 Swift로 구현된 효율적인 디버그 로깅 시스템 구축을 해볼까 합니다! Swift로 효율적인 디버그 로깅 시스템 구축하기우선 해당 포스팅에서 가장 큰 주축이 되는 두 클래스 구현을 설계합니다. 1️⃣ SwiftLog - 실제 로그 파일 관리와 쓰기를 담당하는 클래스2️⃣ DebugLogger - 로그 메시지 포맷팅과 로깅 인터페이스를 제공하는 클래스 해당 클래스들로 만들어진 시스템은 다음과 같은 주요 특징을 가지게 됩니다. 1️⃣ 파일 기반 로깅2️.. 공감수 58 댓글수 11 2025. 1. 6.
  • RangeSet (feat. Set, IndexSet) 안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift 6에서 새로 도입된 RangeSet이라는것에 대해 학습해보겠습니다 🙋🏻 그럼 바로 가볼까요?RangeSetRangeSet은 범위로 표현되는 비교 가능한 모든 유형의 값의 집합입니다. struct RangeSet where Bound : Comparable Swift 6에서 탑재되어 iOS 18 이상부터 해당 타입을 사용하여 코드를 구현할 수 있어요. 기본적으로 설명해보자면, RangeSet은 불연속적인 범위에 걸쳐 있는 비교가 가능한 값 집합을 효율적으로 표현할 수 있습니다.RangeSet은 일반적으로 컬렉션의 인덱스 유형 범위를 저장해 컬렉션의 여러 하위 범위를 나타내는데 사용됩니다. 예시를 볼께요. var numbers = [10, 12, -.. 공감수 53 댓글수 29 2024. 12. 26.
  • NSObject에 대하여 안녕하세요. 그린입니다 🍏이번 포스팅의 주제는 NSObject에 대해 한번 정리해보려 합니다 🙋🏻 사실, NSObject는 Swift 카테고리보다는 Objective-C에 더 가깝긴하죠.또, iOS 개발의 근간이라고 볼 수 있습니다. 그럼 한번 알아볼까요? NSObject?NSObject는 Objective-C 런타임 시스템의 근간을 이루는 최상위 클래스죠.Foundation 프레임워크의 루트 클래스로, 거의 모든 Cocoa와 Cocoa Touch 클래스의 기본 클래스 역할을 해줍니다.결국 Objective-C의 객체 지향 프로그래밍을 가능하게 해주는 핵심 요소라고 볼 수 있어요.이 NSObject를 상속받는 하위 클래스들은 런타임 시스템에 대한 기본 인터페이스와 Objective-C 객체처럼 동작.. 공감수 59 댓글수 31 2024. 12. 19.
  • Explore the Swift on Server ecosystem (feat. WWDC 2024) 안녕하세요. 그린입니다 🍏이번 포스팅에서는 WWDC 2024에서 소개된 Explore the Swift on Server ecosystem에 대해 학습해보려 합니다 🙋🏻 Swift 언어는 우리가 애플 생태계의 앱을 개발하는데 주로 쓰이지만 서버 애플리케이션을 위한 언어로도 적합합니다.그렇기에 생소한 이 개념과 쓰임을 어떻게 애플은 소개하고 사용하라고 하는지 알아봅니다 😃 Explore the Swift on Server ecosystemMeet Swift on Server우선, Swift를 서버 애플리케이션에 적합하게 만드는 요소들에 대해 알아봐야 합니다. Swift를 사용하면 가비지 컬렉션 대신 자동 참조 계산을 통해 낮은 메모리 공간으로 C와 유사한 성능을 얻을 수 있어요.이는 예측 가능한 리.. 공감수 59 댓글수 34 2024. 12. 2.
  • ETag 캐싱으로 앱 성능 최적화하기 안녕하세요. 그린입니다 🍏이번 포스팅에서는 ETag를 이용해 네트워크 캐싱을 하여 앱 성능을 최적화하는 방법에 대해 알아볼께요 🙋🏻 ETag 캐싱으로 앱 성능 최적화하기모바일 앱 개발에서 네트워크 최적화는 사용자 경험을 향상시키는 핵심 요소입니다. 이번 포스팅에선 HTTP 프로토콜의 강력한 기능 중 하나인 ETag(Entity Tag)에 대해 자세히 알아보고, iOS 앱에서 이를 효과적으로 구현하는 방법을 살펴보겠습니다.  ETag?ETag는 웹 리소스의 특정 버전을 고유하게 식별하는 식별자에요.서버는 클라이언트에게 리소스를 응답할 때 ETag 헤더를 함께 전송하며, 클라이언트는 이후 요청 시 이 값을 사용해 리소스가 변경되었는지를 확인할 수 있습니다. 아래와 같이 예를 들어서, 서버의 응답 헤더는.. 공감수 56 댓글수 32 2024. 11. 26.
  • Consume noncopyable types in Swift (feat. WWDC 2024) 안녕하세요. 그린입니다 🍏이번 포스팅은 WWDC 2024의 Consume noncopyable types in Swift이라는 세션을 정리해보겠습니다 🙋🏻 세션 주제만 보면 Swift에서 복사할 수 없는 유형 소비하기라고 해석해볼 수 있어요 😃 그럼, Swift에서 복사가 뭐고 언제 복사 불가능한 유형을 소비해야하는지 그리고 값 소유권을 통해 의도를 명확히 어떻게 표현할 수 있는지 등을 집중적으로 다뤄보시죠 🏃🏻 Consume noncopyable types in Swift최근 Swift에서 복사할 수 없는 유형을 도입했습니다. 자세히 알아보기 전 복사란 무엇인지부터 알아보시죠! Copying  해당 플레이어라는 구조체를 가진 인스턴스가 있고 그 인스턴스를 player2에 할당하면 복사가 일어.. 공감수 47 댓글수 26 2024. 11. 18.
  • Go further with Swift Testing (feat. WWDC 2024) 안녕하세요. 그린입니다 🍏이번 포스팅에서는 저번 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... 공감수 18 댓글수 4 2024. 9. 30.
  • Meet Swift Testing (feat. WWDC 2024) 안녕하세요. 그린입니다 🍏이번 포스팅에서는 WWDC 2024에서 소개된 Meet Swift Testing 세션을 보면서 Swift Testing에 대해 알아보려합니다 🙋🏻  Meet Swift Testing우리는 그전까지 테스트하면 XCTest를 사용했습니다.그런데 이제 Swift 6부터는 Swift Testing이 도입되었어요.테스팅에서도 이제는 매크로와 같은 최신 기능을 도입하고 동시성과 원활하게 통합해줄 수 있습니다 😃또 중요한건 크로스 플랫폼을 염두해 개발되었다는 점이에요!이제 Swift Testing의 비전 자체는 기본 테스트 솔루션이 되는것에 중점을 두고 있습니다. 그럼 본격적으로 알아볼까요? Building blocks먼저 Swift Testing의 구성 요소를 살펴보겠습니다. 만약 .. 공감수 23 댓글수 6 2024. 9. 26.
  • Swift 6 - @retroactive 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Swift 6에서 도입된 @retroactive에 대해 알아보겠습니다 🙋🏻@retroactive먼저 retroactive라는 단어 뜻 자체는 소급적이라는 의미를 가지고 있어요. 소급적 임금 적용 등처럼 일상생활에서도 소급적이라는 뜻을 간혹 들어보셨던적이 있을거에요. 소급적이라는 뜻은 지나간 사항에 대해서 지금에서 거슬러 적용시키는것을 의미합니다. 결국 우리가 오늘 알아볼 retroactive 어트리뷰트도 어떤것을 소급적으로 적용시킨다는 의미일거라 먼저 추측해봅니다 🙉 그럼 본격적으로 왜 나왔고 어떤건지 swift-evolution에서의 warning for Retroactive Conformances of External Types 부분을 같이 살펴보시죠 😄 .. 공감수 25 댓글수 7 2024. 9. 12.
  • Demystify explicitly built modules (feat. WWDC 2024) 안녕하세요. 그린입니다 🍏이전 포스팅인 Swift 6의 WWDC 2024 영상을 보는 도중 빌드 모듈에 대해 간단히 소개하고 더 딥하게 알아보자고 했던 부분이 있습니다 🙋🏻  What's new in Swift6 (feat. WWDC 2024)안녕하세요. 그린입니다 🍏이번 포스팅에선 WWDC 2024에서 소개한 Swift6의 새로운 기능들에 대해 알아보겠습니다 🙋🏻 먼저, Swift가 그간 10년 동안 발전해온 발자취를 볼까요? 👣 Swift over the yeagreen1229.tistory.com 요기서 요런 얘기를 간단히 했었죠ㅎㅎ  간단히 그때처럼 요약하자면, 빌드 모듈을 기존 묵시적인것에서 명시적으로 선택할 수 있음을 의미합니다.Xcode 16에서부터 이 빌드 설정에서 명시적 모듈.. 공감수 51 댓글수 25 2024. 8. 22.
  • What's new in Swift6 (feat. WWDC 2024) 안녕하세요. 그린입니다 🍏이번 포스팅에선 WWDC 2024에서 소개한 Swift6의 새로운 기능들에 대해 알아보겠습니다 🙋🏻 먼저, Swift가 그간 10년 동안 발전해온 발자취를 볼까요? 👣 Swift over the years먼저 Swift는 2014년에 발표된 후 현재 10년이 지났는데요.발표된 다음 해에 오픈 소스로 리눅스에서도 사용할 수 있게 되었죠.그리고 커뮤니티를 통해 지속적으로 성장해왔습니다. 2016년에는 Swift 3와 함께 SPM도 발표가 되었죠.특히 Swift 2에서 Swift 3로 마이그레이션 시 많은 변화가 있어 어려웠다고 합니다 🥲새로운 언어 모드로 모두 옮겨야 했으니까요. 그런 경험을 토대로 2017년 Swift 4에서 모든 Swift 코드를 한번에 새로 나온 언어 .. 공감수 54 댓글수 26 2024. 8. 19.
  • Swift 6 - sending parameter and result values 안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift 6 버전에서 새로 나온 sending이라는것에 대해 알아보려고 합니다 🙋🏻 한번 Swift Evolution에서 기재된 Swift 6의 sending 부분 문서를 보며, 알아보시죠 😀 Introductionsending이라는 키워드는 Swift 6에서 소개되었는데요.영역 격리를 확장해 함수 매개변수와 결과에 대한 명시적인 주석의 적용을 가능하게 해줍니다. 즉, Swift 6에서 동시성 모델에서 중요한 개념으로 소개되고 있어요.목적 자체는 sending은 함수 매개변수나 결과값이 안전하게 isolation 경계를 넘어 전송될 수 있음을 나타냅니다. MotivationSwift 6의 SE-0414의 도입에서는 지역 격리라는 개념을 도입했어요.이는 .. 공감수 59 댓글수 53 2024. 8. 15.
  • XMLParser 안녕하세요. 그린입니다 🍏이번 포스팅에서는 XMLParser에 대해 알아보겠습니다 🙋🏻 네트워크 통신을 하고 응답값으로 대부분 JSON 형식으로 처리를 하는것에 익숙할거에요.그런데, 간혹 어떤 공공 API들은 XML 형식으로 응답을 주는 경우도 있습니다.정말 대부분이 JSON으로 주긴하지만, 그래도 XML로 준다해서 포기할 수 없으니 XML 응답값을 어떻게 파싱하고 뷰에 나타낼 수 있는지 한번 XMLParser를 통해서 알아봅시다 😄 그럼 바로 레츠고! 🚀 XMLParser우선 XMLParser에 대해 개념을 알아본 다음에 실제로 이용해볼께요.XMLParser는 DTD 선언을 포함해 XML 도큐먼트의 이벤트를 다루는 파서라고 보시면 됩니다.즉 쉽게 말해서 XML 형식을 우리 Swift 모델로 파.. 공감수 56 댓글수 73 2024. 5. 20.
  • What's new in Swift 5.10 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Swift 5.10에서 어떤것들이 변했는지 학습해보겠습니다 🙋🏻 사실 Swift 5.10은 얼마전인 3월 5일에 릴리즈가 되었고, 현재 Swift 공식 레포를 들여다보면 Swift 6.0 릴리즈를 준비중이에요. 실제로 ChangeLog를 살펴보면 Swift 6.0 변화를 위해 현재 활발히 진행중인걸 볼 수 있습니다! 그래서 곧 나올 Swift 6.0을 알아보기전 Swift 5 버전대의 마지막인 Swift 5.10에 대해 살펴보겠습니다 🚀 Swift 5.10 완전히 엄격화된 동시성 체크 Swift 5.10에서는 완전히 엄격화된 동시성 체크를 통해 알려진 모든 정적 데이터 경쟁 상태에 대해 안전해졌습니다. -strict-concurrency=complete 옵션을.. 공감수 69 댓글수 64 2024. 3. 21.
  • New access modifier - package 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Swift 5.9에서 새로 나온 접근 제어자인 package에 대해 알아보겠습니다 🙋🏻 나온 배경 원래 기존에 접근제어자라고 하면 흔히 알고 있는 5가지가 있죠! open, public, internal, fileprivate, private 만약 여러분들이 모듈화를 시키고 다른 모듈 패키지의 코드를 가져와 사용한다고 가정할때, 대부분 public으로 작업했을겁니다. 저도 물론 그렇구요..! 여기서 public으로 작업하게되면, 패키지 내부와 외부 모두에서 접근할 수 있게 됩니다. 이 경우는 편리하긴 하지만, 바람직하지 않을때도 있습니다 🥲 패키지 외부의 코드를 공유하지 않고 패키지 내의 모듈 간에 코드를 공유하여야 하는 경우도 있으니까 말이죠! 그렇기에, 어.. 공감수 69 댓글수 78 2024. 3. 4.
  • Sequence를 알아보자 🤿 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Swift의 Sequence에 대해 학습해보겠습니다 🙋🏻 Sequence에 대해 직접적은 아니더라도 모두 개발하시면서 알게 모르게 스며들어 있습니다! Array, Dictionary, Set 같은 Collection 타입들을 자주 사용하실텐데요. 이 컬렉션 타입들은 Sequence 프로토콜을 채택하고 있어요. protocol Collection : Sequence 그렇기에 이 시퀀스가 대체 어떤거고 기본 컬렉션 타입들을 사용하지 않고 시퀀스 타입을 만들어보는것들에 대해 알아보겠습니다. Sequence 순서라는 뜻을 가진 이 시퀀스 프로토콜은 해당 요소에 대해 순차적이고 반복적인 액세스를 제공하는 유형입니다. 아래와 같은 정의를 가져요. protocol Sequ.. 공감수 71 댓글수 112 2024. 1. 29.
  • Assertions & Preconditions 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Assertions과 Preconditions이라는 개념과 실제 사용되는 메서드들을 살펴볼까 합니다 🙋🏻 우선 Assertions와 Preconditions가 어떤 개념인지부터 알아보면 좋을것 같네요! Assertions & Preconditions 두가지 모두 런타임에서 사용할 수 있는 조건 검사입니다. 추가 코드를 실행하기 전에 해당 필수 조건이 충족되는지 확인하는데 사용하죠. 조건은 Bool 타입으로 결국 true이면 다음 코드를 이상없이 수행하고 만약 false이면 더 이상 코드를 실행하지 않고 앱을 죽여버립니다! 런타임 에러가 발생하죠! 즉, 강제로 앱을 꺼버릴 수 있다는 특징이자 단점이 될 수 있는 부분이 핵심적이라고 보입니다 🤔 그럼으로 사실 치명.. 공감수 73 댓글수 115 2024. 1. 25.
  • 추상화와 다형성 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 추상화와 다형성에 대해 얘기해볼까 합니다 🙋🏻 다들 객체 지향 프로그래밍, 즉 OOP라고 불리는것에 대해 특징을 알고 있을거에요. 추상화, 다형성, 캡슐화, 상속 그 중에서 해당 포스팅에서는 추상화와 다형성이라는것에 대해 한번 정리하고 넘어가보겠습니다. 처음 객체 지향이라는 개념을 접하실 때 은근히 많이 헷갈려하시는 포인트인것 같아서 최대한 쉽게 풀어보면서 전달 해보고 싶어서 이렇게 포스팅을 쓰게 되었습니다ㅎㅎ 혹시 OOP에 대해 무엇인지 처음 들어보신다면 우선 다른 문서들을 먼저 참고하고 오는것이 더 도움이 될것 같아요! (나중에 여유가 있으면 OOP도 한번 정리해볼께요 😀) 그럼 추상화와 다형성 알아볼까요? 추상화 Abstraction이라고 불리는 객체지향.. 공감수 70 댓글수 54 2023. 12. 11.
  • rethrows로 에러를 다시 던져보자 🥏 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Swift의 rethrows에 대해 한번 학습해보겠습니다 🙋🏻 rethrows? 우선 rethrows가 뭘까요? throws라는것은 다들 안다고 가정해보겠습니다. 에러가 발생할 수 있는 상황에서 에러를 catch하여 에러를 다른쪽에서 처리할 수 있도록 넘겨주는것 쉽게 말해 던져주는 의미죠? 그런 관점에서 rethrows는 re + throws입니다. 즉, 다시 던져주는것인데 또 쉽게 표현해보면 넘겨진 에러에 대해 또 다른쪽으로 넘겨주는것이라고 볼 수 있어요! 흠.... 말로는 사실 복잡해보이고 이해가 안갈 수 있습니다. 일단 우리가 좋아하는? 코드로 쉽게 확인하기 전에 rethrows를 딱 구두로 풀어서 정의해보고 가시죠 😄 공식문서에서는 rethrows가 함.. 공감수 55 댓글수 40 2023. 11. 3.
  • String의 Small String Optimization 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Swift String의 Small String Optimization에 대해 학습해보겠습니다 🙋🏻 우선 오늘의 학습을 거치기전에 선행되어야 할 조건이 있어요! 바로 요 포스팅입니다! Colletcion은 Struct 타입인데 Heap에 저장되는 이유? 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 Swift 세상으로 넘어와서 Collection이라는 값 타입이 왜 Heap에 저장되는지 그 이유를 파헤쳐보겠습니다! 이전 포스팅에서 메모리 덤프를 분석하다가 green1229.tistory.com 왜냐하면 오늘 배워볼 부분이 String은 Collection 타입이라 Heap에 원본 데이터가 저장되고 복사가 일어난 후 값의 수정이 발생하면 서로 다른 메모리 영역을 .. 공감수 59 댓글수 36 2023. 10. 30.
  • Default Initializers의 흔한 오해 안녕하세요. 그린입니다 🍏 이번 포스팅은 짧게 Swift의 Access Level을 공부하면서 오해가 쌓일 수 있는 부분에 대해 한번 되짚어보려고해요 🙋🏻 ⚠️ 내용 다소 짧음 주의 ⚠️ 일단 어느 부분에서 오해가 쌓일 수 있었는지 공식 문서를 통해 한번 확인해볼께요ㅎㅎ Default Initializers 바로 Default Initializers 부분인데요. 여길 한번 해석해보면 이렇습니다. "Swift는 모든 프로퍼티가 기본값을 가지고 있고, 그 자체로 적어도 하나의 초기화 함수를 제공하지 않는 구조체나 기본 클래스에 대해 자동으로 인자가 없는 기본 초기화 함수를 제공합니다. 이것을 Default Initailizers인 기본 이니셜라이저라고 부릅니다. 기본 이니셜라이저의 접근 레벨은 일반적으로 해.. 공감수 55 댓글수 40 2023. 10. 17.
  • Debouncer 만들기 (No Combine, No RxSwift) 안녕하세요. 그린입니다🍏 이번 포스팅에서는 로직에서 아주 간단히 사용할 수 있는 Debouncer를 만들어 사용해보겠습니다 🙋🏻 No Combine, No RxSwift Combine이나 RxSwift에서 흔히 접할 수 있는 debounce의 사용과 혼동할 수 있어서 한번 짚고 넘어가볼께요. 예시로 애플 공식문서의 Combine 코드를 조금 더 알기 쉽게 변경하여 가져와보겠습니다. let bounces:[(String,TimeInterval)] = [ ("Black", 0), ("Green", 0.25), // 0.25s interval since last index ("Red", 1), // 0.75s interval since last index ("Blue", 1.25), // 0.25s inter.. 공감수 54 댓글수 48 2023. 10. 9.
  • Colletcion은 Struct 타입인데 Heap에 저장되는 이유? 안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift 세상으로 넘어와서 Collection이라는 값 타입이 왜 Heap에 저장되는지 그 이유를 파헤쳐보겠습니다! 이전 포스팅에서 메모리 덤프를 분석하다가 string이 dump에 남아있는걸 보고 string을 조금 더 파헤쳐보고있었는데요. 잘 몰랐던 사실이나 잘못 알고 있었던 지식을 깨달았어요!그래서 이번에 String으로 시작했지만 Collecion이라는 상위 개념으로 같이 설명을 해보려합니다 🙋🏻 메모리 덤프 분석 (feat. fridump)안녕하세요. 그린입니다 🍏 이번 포스팅에서는 fridump를 이용해서 메모리 덤프 분석을 해볼까해요! 사실 보안팀에서는 각 앱의 보안을 진단하기 위해서 memory dump를 보고 분석하는 업무도 하고gree.. 공감수 59 댓글수 55 2023. 9. 25.
  • AVFoundation (feat. AVAudio) 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 AVFoundation에 대해 기초를 알아보며 AVAudio 부분을 조금 더 개념적으로 파보려합니다 🙌 이전 포스팅에서 음성을 녹음하고 플레이하는 AVAudio를 실제 코드로 구현하면서 다룬적이 있어요! 거기서 AVFoundation을 조금 더 딥하게 다음 포스팅에서 얘기해본다고 했습니다. 그날이 오늘입니다!!!!! AVFoundation 우선 AVFoundation이 뭐하는 녀석인지부터 공식문서를 보면서 살펴볼께요. AVFoundation은 시청각 asset으로 작업하고, 카메라 장치를 컨트롤하며, 오디오를 처리하고, 시스템 오디오 인터랙션을 구성합니다. iOS에서의 AVFoundation은 Core 프레임워크쪽에 속해있습니다. 보시면 오늘 다뤄볼 Audio.. 공감수 39 댓글수 53 2023. 8. 25.
  • Swift HTTP Types 찍먹하기 안녕하세요. 그린입니다 🍏 이번 포스팅에서는 얼마전 공개된 Swift HTTP Types라는것에 대해 찍먹을 해보려해요. 최근 애플에서 Swift HTTP Types라는 새로운 오픈 소스 패키지를 만들었고 현재는 초기 단계이기에 활발히 진행되고 있습니다. 현재 릴리즈된 가장 최신 버전은 0.2.0이고 아직 메이저한 1.0.0 버전이 안나왔죠ㅎㅎ 그렇기에 현재 iOS에서도 기본 제공되는 프레임워크에 아직 속하지 않습니다🥲 조만간 Foundation 프레임워크에 같이 들어가지 않을까 추측해봐요! 현재는 찍먹해보고 싶으시다면 SPM으로 사용해야합니다! GitHub - apple/swift-http-types: Version-independent HTTP currency types for Swift Versio.. 공감수 13 댓글수 4 2023. 7. 31.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.