/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/
민소네 - 안정민
최종 피드 수집: 2025-06-14 22:46
전체 (440)
12d
[ADR][가상] 아키텍처 의사 결정 기록: 네트워크 응답 처리 방식 개선 - 공용 응답 모델 도입
네트워크 응답 처리 방식 개선: 공용 응답 모델 도입
작성일 : 2025-06-02
작성자 : 안정민
상태
제안됨(Proposed)
배경
우리 팀은 현재 네트워크 응답을 처리할 때 API Raw Response를 받은 후 Mapp
0
0
0
읽기모드
1M
[Swift] Type Scanner (2) - Swift Testing을 분석하여 Test 타입 찾기
Test+Discovery.swift#L26를 보면, __🟠$test_container__ 문자열이 포함된 타입 이름을 찾을려는 것을 _testContainerTypeNameMagic 속성 이름을 통해 알 수 있습니다.
또한,
0
0
0
읽기모드
1M
[iOS][Objective-C] 동적·정적 라이브러리 혼용 시 발생하는 클래스 중복을 테스트로 검출하기 - objc_getClassList
라이브러리는 정적 라이브러리와 동적 라이브러리로 나뉘며, 정적 라이브러리는 컴파일 시에 링크되고, 동적 라이브러리는 런타임 시에 링크됩니다.
여러 동적 라이브러리가 정적 라이브러리를 참조할 때, 정적 라이브러리의 코드는 각 동적
0
0
5
읽기모드
5M
[ADR][가상] 아키텍처 의사 결정 기록: 내부, 외부용 App Scheme 분리 결정
내부, 외부용 App Scheme 분리 결정
작성일 : 2024-12-24
작성자 : 안정민
상태
제안됨(Proposed)
배경
앱 스킴은 다른 앱에서도 동일한 앱 스킴을 설정하여 사용할 수 있음.
다른 앱에서 동일한 앱 스킴을
0
0
3
읽기모드
5M
[SwiftTesting] Swift Testing 분석 (1) - Expand Macro(Test)
Xcode 16이 출시되면서 새로운 테스트 패키지인 Swift Testing이 추가되었습니다. 기존 XCTest를 이용하여 테스트를 작성했다면, 이제는 Swift Testing을 활용하여 현대적인 테스트 케이스를 작성할 수 있게
0
0
1
읽기모드
7M
[Tuist 4.x+] Cache
Tuist는 Xcode 프로젝트를 생성하고 관리하는데 있어 아주 강력한 도구입니다. 특히, 특정 서비스를 개발하기 위해 일부 프로젝트들로만 구성하여 개발을 진행할 수 있습니다. 그래서 Tuist를 사용하는 팀은 모든 프로젝트를 인
0
0
8
읽기모드
8M
[Swift][Tuist] 파일 경로 간의 상대 경로 계산하기
Xcode의 프로젝트 파일의 빌드 세팅에서 해당 프로젝트 파일의 경로를 기준으로 상대 경로를 지정하는 것을 권장합니다. 이는, 모든 개발자가 동일한 개발 환경을 구성한다는 보장이 없기 때문입니다. 예를 들어, 특정 프레임워크의 위
0
0
3
읽기모드
9M
[Swift] Private Extension과 Helper 타입
우리는 코드를 작성할 때, 전달받은 Parameter를 이용하거나 변수의 값을 조합하는 등을 통해 새로운 값을 만들어 전달합니다.
graph LR;
A-->Business_Logic-->B;
다음과 같이 문자열이 들어왔
0
0
4
읽기모드
11M
[Swift 5.9+] Generic과 Noncopyable을 활용하여 보다 안전한 상태머신을 만들기
유한 상태 머신(Finite State Machine, FSM)은 소프트웨어 개발에서 자주 사용하는 패턴 중 하나입니다. 특정 사건(Event)에 의해 한 상태에서 다른 상태로 변할 수 있으며, 이를 전이(Transition)라고
0
0
14
읽기모드
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
2
읽기모드
1y
[iOS] WKWebView을 이용한 iOS 앱과 웹페이지 간의 통신 (3) - Plugin을 이용하여 기능 확장하기
이전 글에서 웹페이지에서 전달한 Action을 처리하는 조건문의 구현이 계속 늘어나, 모든 기능을 포함하도록 된다는 것을 알 수 있었습니다.
이번 글에서는 WKWebView와 다른 도메인과의 강한 결합 관계를 피하기 위해 Plug
0
0
2
읽기모드
1y
[iOS] WKWebView을 이용한 iOS 앱과 웹페이지 간의 통신 (2) - Control Flow
이전 글에서 WKScriptMessageHandler 프로토콜의 메소드인 func userContentController(_ userContentController: WKUserContentController, didReceive
0
0
0
읽기모드
1y
[iOS] WKWebView을 이용한 iOS 앱과 웹페이지 간의 통신 (1) - WKWebView과 Javasciprt Bridge
iOS 앱과 웹페이지 간의 통신은 WKWebView을 이용하여 쉽게 구현할 수 있습니다. 웹페이지는 iOS 앱으로 데이터를 전달하면, iOS 앱은 웹페이지의 JavaScript 함수를 호출할 수 있습니다.
웹페이지 -> iOS
웹
0
0
0
읽기모드
1y
[Swift] 타입 시스템을 활용하여 보다 안전하게 데이터 유효성 검증하기
데이터 유효성 검증은 소프트웨어 개발에서 필수적인 부분입니다. 잘못된 데이터가 시스템으로 들어가는 것을 방지하고, 안전한 상태를 유지하기 위해 필수적입니다. 그러나 코드를 작성하다 보면 많은 유효성 검증 로직을 작성하게 되어 코드
0
0
0
읽기모드
1y
[Swift] Defer를 이용하여 Closure 실행 보장하기
Swift의 Closure는 함수의 매개변수로 전달하고 받을 수 있습니다. Closure를 전달하는 곳에서는 받는 곳에서 Closure를 수행할 것으로 예상합니다.
func sampleFunc(closure: (String) ->
0
0
0
읽기모드
1y
[ADR][가상] 아키텍처 의사 결정 기록: Package 접근제어자 사용
Contents:
상태
배경
결정
이유
결과
결론
관련 문서 링크
대안 고려
예상되는 리스크 및 대응책
구현 계획
비용 및 이점
결정 후 모니터링
Package 접근제어자 사용
작성일 : 2024-04-14
작성자 : 안
0
0
0
읽기모드
1y
[ADR][가상] 아키텍처 의사 결정 기록: Swift Macro 사용시 Prebuild된 SwiftSyntax.xcframework 사용 결정
Contents:
상태
배경
결정
이유
결과
결론
참고자료
Swift Macro 사용시 Prebuild된 SwiftSyntax.xcframework 사용 결정
작성일 : 2024-03-13
작성자 : 안정민
상태
수락됨(
0
0
2
읽기모드
1y
[Swift][Xcode 15] 통합 로깅 시스템(Unified Logging System)과 Macro
Swift의 통합 로깅 시스템(Unified Logging System)은 iOS, macOS, watchOS, tvOS 등 모든 Apple 플랫폼에서 일관된 방식으로 로그를 기록하고 관리할 수 있는 시스템입니다.
WWDC 202
0
0
0
읽기모드
1y
[Swift 5.9+][SE-0386] 새로운 Access Modifier인 Package를 Xcode Project에서 사용하기
Swift 5.9에서 Swift Package에 새로운 접근 제어자 Package가 추가됐습니다. SE-0386
Package 접근 제어자는 특정 도메인이나 역할을 가진 모듈만 접근할 수 있게 해, 유용할 것입니다.
그러나 Swi
0
0
5
읽기모드
About
Badge
Contact
Activity
Terms of service
Privacy Policy