분류 전체보기
-
MarqueeSwiftUI 2025. 3. 18. 19:00
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Marquee에 대해 알아보고 간단히 SwiftUI로 구현해보려고 합니다. 🙋🏻 Marquee?Marquee는 텍스트가 좌우 혹은 상하 형태로 자동으로 이동하는 UI 요소입니다.일반적인 쓰임으로는 많이들 보셨듯, 공지사항이나 주식 시세와 같은 표시 등에서 많이 사용됩니다!어떤건지는 아래 실제 구현하면서 더 자세히 볼께요ㅎㅎUIKit에서는 UIView.animate를 활용해 Marquee 효과를 구현해볼 수 있죠.그런데 이번 포스팅은 SwiftUI에 초점이라 GeometryReader, Animation 등을 조합해 한번 Marquee 컴포넌트를 만들어볼까 합니다. 그럼 시작해볼까요?Marquee in SwiftUI코드부터 보시죠! struct Content..
-
iOS에서 서버 과부하 감지 및 API 호출 최적화iOS 2025. 3. 15. 09:51
안녕하세요. 그린입니다 🍏이번 포스팅에서는 iOS에서 서버 과부하를 감지하고 이에 API 호출을 최적화 하는 몇가지 방법에 대해 한번 다뤄볼까 합니다 🙋🏻IntroiOS뿐 아니라 모든 프론트엔드 개발에서는 서버와 원활한 통신이 필수적이죠.하지만 과도한 API 호출은 서버에 부담을 주기에 성능 저하, 트래픽 초과, 비용 증가 등의 문제를 야기할 수가 있어요.따라서 서버의 상태를 모니터링하고, 과부하 여부를 판단해 적절히 API 호출을 조절하는 전략이 필수적입니다. Criteria for determining server overload서버 과부하라는걸 판단하는 기준에 대해 한번 얘기해볼까 합니다.우리는 서버가 느려졌네? 라는걸 감으로 판단하기보다 데이터를 통해 측정해야 하죠. 어떤 방법들이 있는지 볼..
-
Xcode rsync.samba deny file-write-create 오류 분석기Xcode 2025. 3. 12. 10:06
안녕하세요. 그린입니다 🍏이번 포스팅에서는 기술적인 새로운걸 알아가는것보다 실제 겪은 Xcode에서 발생할 수 있는 오류에 대해 파악해봅니다 😃 What's Error?최근 Xcode에서 iOS 프로젝트를 빌드하는 과정에서 Sendbox: rsync.samba deny(1) file-write-create 오류를 경험했어요! 해당 오류는 rsync(Samba 관련 프로세스)가 특정 디렉터리에 파일을 생성하려 할 때, macOS의 보안 정책으로 인하여 차단되면서 발생하는 문제입니다. 일반적으로는 SMB(Network File System) 공유 디렉터리, Xcode의 새로운 샌드박스 정책, macOS의 보안 제한 및 디렉터리 권한 문제로 인해서 이 오류가 발생할 수 있어요. 그렇기에 이 오류가 발생하는..
-
Server-Driven UIiOS 2025. 3. 7. 18:08
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Server-Driven UI에 대해 톺아보겠습니다 🙋🏻Server-Driven UI?서버 드리븐 UI라는건 앱의 UI를 서버에서 동적으로 정의하고, 클라이언트는 이걸 해석해서 화면을 구성하는 방식을 말해요 😃즉, 화면을 구성하는 컴포넌트 요소들을 JSON 등의 형식으로 서버에서 내려주면 클라이언트가 이를 해석해서 UI를 동적으로 렌더링합니다.결국 지향하는 목표는 앱 배포 없이 UI 변경이 자유롭고, A/B 테스트 등에 용이하다는 특징이 있죠! 그럼 서버에서 어떻게 내려주는건지 한번 살펴볼께요. JSON 기반 UI 정의서버는 UI 요소들을 JSON 형태로 정의해서 클라이언트에 전달해줍니다. 아래 서버 리스폰스 예를 볼까요? { "title": "메인 화..
-
Factory PatterniOS 2025. 3. 3. 19:25
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Factory Pattern에 대해 iOS를 기준으로 간단히 정리해보려 합니다 🙋🏻Factory Pattern?Factory Pattern은 객체 생성을 중앙 집중화해 관리하는 Creational(생성) 디자인 패턴입니다.Factory Pattern을 통해서 객체 생성 로직을 한 곳에 모을 수 있고, 변경이 필요할 때 최소한의 수정으로 유지보수 할 수 있다는 장점이 있죠! Factory Pattern의 핵심 개념은 몇가지가 있어요 😃 1️⃣ 객체 생성을 캡슐화해 클라이언트 코드에서 객체 생성 로직을 숨김2️⃣ 객체의 구체적인 구현을 숨기고 인터페이스 (Protocol)을 통해 사용3️⃣ 객체 생성 방식을 변경해도 클라이언트 코드에 영향을 주지 않음 그럼 ..
-
Swift Protocol 다중 채택Swift 2025. 2. 26. 19:54
안녕하세요. 그린입니다 🍏이번 포스팅에서는 Swift Protocol과 다중 채택에 대해 정리해보겠습니다 🙋🏻 사실, 내용 자체는 기초적이고 간단하지만 처음 개발을 시작하고 Swift를 배우시는 분들은 헷갈려 하거나 의문을 품는 지점이 간혹 있어 한번 쉽게 정리해보려고 합니다!Protocol?Swift에서 프로토콜은 특정 요구사항을 정의하는 청사진이죠.클래스, 구조체, 열거형이 해당 프로토콜을 채택하면 프로토콜이 정의한 요구사항을 충족해야 합니다. protocol Greetable { var name: String { get } func greet() -> String}struct Person: Greetable { var name: String func greet() -> S..
-
RxSwift - withUnretainedRxSwift 2025. 2. 21. 07:54
안녕하세요. 그린입니다 🍏이번 포스팅에서는 RxSwift의 withUnretained에 대해 정리해보겠습니다 🙋🏻RxSwift를 사용하면서 메모리 누수 혹은 강한 순환 참조 문제를 만날 수 있는 상황이 많습니다.물론 이를 위해 weak self를 사용하여 해결할 수 있지만, 귀찮잖아요..?그래서 보다 가독성이 좋고 편리하게 withUnretained를 사용할 수 있습니다. 그럼 한번 withUnretained가 무엇이고 어떻게 사용하는지 알아볼까요? withUnretained?withUnretained는 RxSwift에서 weak self 패턴을 보다 명확하고 안전하게 사용할 수 있도록 도와주는 연산자입니다.즉, 기존 weak self 사용 시 발생시키는 옵셔널을 처리하는것에 대해 동일하게 처리를 ..
-
RxSwift/RxCocoa - TraitsRxSwift 2025. 2. 17. 08:49
안녕하세요. 그린입니다 🍏이번 포스팅에서는 RxSwift의 Traits에 대해 정리해 보겠습니다 🙋🏻Traits?우선 RxSwift에서 Observable은 매우 유용한 스트림이지만, 때로는 특정한 액션을 강제하고 싶을때가 있을 수 있습니다.Traits이 이런 특정한 패턴을 따르는 Observable의 변형으로 그 역할을 해줍니다.즉, Observable로는 원래 onNext, onError, onCompleted 등을 다 처리했다면 Traits은 필요한것만 처리할 수 있죠. RxSwift와 RxCocoa에서는 다음과 같은 Traits들을 제공합니다 😃 1️⃣ Single2️⃣ Completable3️⃣ Maybe4️⃣ Driver5️⃣ Signal6️⃣ ControlProperty7️⃣ Cont..