/users
/posts
/slides
/apps
/books
mysetting
/users
/posts
/slides
/apps
/books
11:55 5/30
minsone.github.io
11:55
minsone.github.io
민소네
https://minsone.github.io/
민소네 - 안정민
최종 피드 수집: 2026-04-26 01:16
전체 (448)
11d
[Swift][Network] 경량화된 Encodable 기반 파라미터 타입
배경
Swift에서 네트워크 요청의 body를 만들 때는 보통 Encodable을 채택한 타입을 정의해서 전달합니다.
struct UserInfoParameter: Encodable {
let name: String
0
0
2
읽기모드
12d
[Swift] private protocol로 파일 내부 공통 구현 숨기기
코드를 정리하다 보면, 같은 프로토콜을 채택한 타입이 여러 개 있는데 실제 구현을 열어보면 거의 똑같은 경우가 있습니다. 차이라고는 type 같은 값 하나뿐이고, 메서드 구현은 전부 복붙인 상태입니다.
예를 들어 Processor
0
0
0
읽기모드
2M
[Swift][Macro] 환경별 Swift 매크로 분기 처리: 환경에 따라 다른 매크로 호출
Swift 매크로를 사용하다보면 개발 환경에서 생성된 코드가 운영 환경에서는 불필요한 경우가 발생할 수 있습니다. 특정 Protocol을 구현한 Mock 객체를 생성하는 매크로를 사용한다고 가정해봅시다. swift-spyable,
0
0
0
읽기모드
7M
[Swift6][Concurrency] Swift에서 비동기 호출을 검증하기 (2) - AsyncStream을 활용한 이벤트 기반 테스트 헬퍼
Swift 5.5 부터 Concurrency가 도입되면서 비동기 함수를 훨씬 직관적으로 다룰 수 있게 되었습니다. 하지만 테스트 코드에서는 여전히 문제가 남아 있습니다.
“호출 횟수가 정확히 증가했는지”, “여러 callCount
0
0
1
읽기모드
8M
[Swift6] Swift에서 비동기 호출을 검증하기: Polling 기반 테스트 헬퍼
Swift 5.5 부터 Concurrency가 도입되면서 비동기 함수를 훨씬 직관적으로 다룰 수 있게 되었습니다. 하지만 테스트 코드에서는 여전히 문제가 남아 있습니다.
“호출 횟수가 정확히 증가했는지”, “여러 callCount
0
0
0
읽기모드
8M
Swift 5.5 부터 Concurrency가 도입되면서 비동기 함수를 훨씬 직관적으로 다룰 수 있게 되었습니다. 하지만 테스트 코드에서는 여전히 문제가 남아 있습니다.
“호출 횟수가 정확히 증가했는지”, “여러 callCount
0
0
0
읽기모드
9M
[ADR][가상] 아키텍처 의사 결정 기록: Tuist 템플릿 - 1 Project, N Target
Tuist 템플릿 - 1 Project, N Target
작성일 : 2025-07-19
작성자 : 안정민
상태
제안됨(Proposed)
배경
현재 Tuist를 사용하여 iOS 프로젝트를 관리하고 있습니다. 보통 하나의 Projec
0
0
0
읽기모드
10M
[ADR][가상] 아키텍처 의사 결정 기록: 네트워크 응답 처리 방식 개선 - 공용 응답 모델 도입
네트워크 응답 처리 방식 개선: 공용 응답 모델 도입
작성일 : 2025-06-02
작성자 : 안정민
상태
제안됨(Proposed)
배경
우리 팀은 현재 네트워크 응답을 처리할 때 API Raw Response를 받은 후 Mapp
0
0
0
읽기모드
10M
[ADR][가상] 아키텍처 의사 결정 기록: 네트워크 응답 처리 방식 개선 - 공용 응답 모델 도입
네트워크 응답 처리 방식 개선: 공용 응답 모델 도입
작성일 : 2025-06-02
작성자 : 안정민
상태
제안됨(Proposed)
배경
우리 팀은 현재 네트워크 응답을 처리할 때 API Raw Response를 받은 후 Mapp
0
0
1
읽기모드
11M
[Swift] Type Scanner (2) - Swift Testing을 분석하여 Test 타입 찾기
Test+Discovery.swift#L26를 보면, __🟠$test_container__ 문자열이 포함된 타입 이름을 찾을려는 것을 _testContainerTypeNameMagic 속성 이름을 통해 알 수 있습니다.
또한,
0
0
2
읽기모드
1y
[iOS][Objective-C] 동적·정적 라이브러리 혼용 시 발생하는 클래스 중복을 테스트로 검출하기 - objc_getClassList
라이브러리는 정적 라이브러리와 동적 라이브러리로 나뉘며, 정적 라이브러리는 컴파일 시에 링크되고, 동적 라이브러리는 런타임 시에 링크됩니다.
여러 동적 라이브러리가 정적 라이브러리를 참조할 때, 정적 라이브러리의 코드는 각 동적
0
0
10
읽기모드
1y
[ADR][가상] 아키텍처 의사 결정 기록: 내부, 외부용 App Scheme 분리 결정
내부, 외부용 App Scheme 분리 결정
작성일 : 2024-12-24
작성자 : 안정민
상태
제안됨(Proposed)
배경
앱 스킴은 다른 앱에서도 동일한 앱 스킴을 설정하여 사용할 수 있음.
다른 앱에서 동일한 앱 스킴을
0
0
3
읽기모드
1y
[SwiftTesting] Swift Testing 분석 (1) - Expand Macro(Test)
Xcode 16이 출시되면서 새로운 테스트 패키지인 Swift Testing이 추가되었습니다. 기존 XCTest를 이용하여 테스트를 작성했다면, 이제는 Swift Testing을 활용하여 현대적인 테스트 케이스를 작성할 수 있게
0
0
3
읽기모드
1y
[Tuist 4.x+] Cache
Tuist는 Xcode 프로젝트를 생성하고 관리하는데 있어 아주 강력한 도구입니다. 특히, 특정 서비스를 개발하기 위해 일부 프로젝트들로만 구성하여 개발을 진행할 수 있습니다. 그래서 Tuist를 사용하는 팀은 모든 프로젝트를 인
0
0
8
읽기모드
1y
[Swift][Tuist] 파일 경로 간의 상대 경로 계산하기
Xcode의 프로젝트 파일의 빌드 세팅에서 해당 프로젝트 파일의 경로를 기준으로 상대 경로를 지정하는 것을 권장합니다. 이는, 모든 개발자가 동일한 개발 환경을 구성한다는 보장이 없기 때문입니다. 예를 들어, 특정 프레임워크의 위
0
0
3
읽기모드
1y
[Swift] Private Extension과 Helper 타입
우리는 코드를 작성할 때, 전달받은 Parameter를 이용하거나 변수의 값을 조합하는 등을 통해 새로운 값을 만들어 전달합니다.
graph LR;
A-->Business_Logic-->B;
다음과 같이 문자열이 들어왔
0
0
7
읽기모드
1y
[Swift 5.9+] Generic과 Noncopyable을 활용하여 보다 안전한 상태머신을 만들기
유한 상태 머신(Finite State Machine, FSM)은 소프트웨어 개발에서 자주 사용하는 패턴 중 하나입니다. 특정 사건(Event)에 의해 한 상태에서 다른 상태로 변할 수 있으며, 이를 전이(Transition)라고
0
0
15
읽기모드
1y
[Swift 5.10] Nested Protocol With RIBs
Swift에서는 Protocol을 제외한 대부분의 타입은 타입 내부에서 다른 타입을 정의할 수 있었습니다.
struct Parent {
class ChildClass {} // ✅
struct ChildStruct
0
0
0
읽기모드
1y
[ADR][가상] 아키텍처 의사 결정 기록: Package 접근제어자 사용
Contents:
상태
배경
결정
이유
결과
결론
관련 문서 링크
대안 고려
예상되는 리스크 및 대응책
구현 계획
비용 및 이점
결정 후 모니터링
Package 접근제어자 사용
작성일 : 2024-04-14
작성자 : 안
0
0
3
읽기모드
1y
[iOS] WKWebView을 이용한 iOS 앱과 웹페이지 간의 통신 (3) - Plugin을 이용하여 기능 확장하기
이전 글에서 웹페이지에서 전달한 Action을 처리하는 조건문의 구현이 계속 늘어나, 모든 기능을 포함하도록 된다는 것을 알 수 있었습니다.
이번 글에서는 WKWebView와 다른 도메인과의 강한 결합 관계를 피하기 위해 Plug
0
0
2
읽기모드
About
Badge
Contact
Activity
Terms of service
Privacy Policy