전체 글
-
Swift iOS: 이미지를 불러오는 Action Extension(액션 확장)에서 스크린샷 이미지를 인식하지 못하는 문제 해결 방법공부/Swift(프로그래밍 언어) 2026. 2. 8. 19:29
문제이미지를 불러오는 Action Extension 코드가 있음다른 경우는 전부 이미지를 불러올 수 있는데 특정 케이스에서는 이미지를 불러오지 못함 예) 스크린샷 직후 공유 메뉴를 실행했을 때기존 코드import UIKitimport SwiftUIimport MobileCoreServicesimport UniformTypeIdentifiersclass ActionViewController: UIViewController { // ... // private func handleInputImage() { guard let extensionItem = extensionContext?.inputItems.first as? NSExtensionItem else { return } guard let ..
-
SwiftUI TCA: Alert (경고창) 만드는 방법공부/Swift(프로그래밍 언어) 2026. 2. 5. 01:50
먼저, SwiftUI 와 TCA가 결합된 프로젝트에서는 경고창을 일반적인 방법으로 만들지 않고, AlertState라는 경고창을 위한 특수 상태를 활용합니다. AlertState를 사용하는 이유일반 Alert 대신 AlertState를 사용하는 이유는 아키텍처 일관성, 테스트 가능성, 상태 기반 UI 원칙과 직접적으로 관련되어 있습니다. 1. Alert를 “상태”로 다루기 위함TCA의 기본 철학은 UI는 상태의 함수라는 점입니다. 일반 SwiftUI Alert는 뷰 레벨에서 비교적 즉흥적으로 선언되는 반면, AlertState는 명확히 도메인 상태의 일부로 존재합니다. 경고창과 관련된 모든 사항이 State에 포함됩니다.Alert가 떠 있는지 여부Alert의 제목, 메시지어떤 버튼이 있고, 각 버튼이 어..
-
SwiftUI: 탭바가 있는 뷰(TabView) 만들기 (구버전, 신버전)공부/Swift(프로그래밍 언어) 2026. 2. 4. 15:13
위와 같은 형태의 탭 뷰를 만들고 싶다면 TabView를 사용해 만들 수 있습니다. 사전 작업탭 정보에 대한 Enum 추가먼저 각 탭에 대한 구분은 Bind? 을 통해 할 수 있습니다. 다양한 방법이 있는데, 여기서는 TabMenu이라는 사용자 정의 타입의 enum을 사용하여 탭 뷰에 사용할 페이지를 지정합니다. enum TabMenu: String, CaseIterable { case home = "홈" case tour = "투어" case gallery = "갤러리" case profile = "프로필" var systemImage: String { switch self { case .home: "house" case .tour: "ma..
-
음악 분야에서 생성형 AI의 대체 가능성과 한계읽을거리 2026. 2. 3. 19:16
최근 생성형 인공지능(Generative AI)의 발전은 음악 산업에 혁신적인 변화를 가져오고 있습니다. 이 글에서는 생성형 AI가 음악 분야에서 대체할 수 있는 영역과 그렇지 않은 영역을 분석해 보겠습니다. 이는 AI의 학습 기반 생성 원리와 음악의 창의적·기술적 특성을 바탕으로 한 논의입니다. 이제 본론으로 들어가 보겠습니다. 생성형 AI가 대체할 수 있는 영역1. 구성과 진행이 고착화된 대중음악 장르 및 배경 음악대중음악 장르, 특히 팝, 록, 힙합 등 이미 수많은 곡들이 축적되어 패턴이 예측 가능한 분야에서 생성형 AI의 역할이 두드러집니다. 이 영역은 AI가 효과적으로 대체할 수 있는 대표적 예입니다. 이유는 다음과 같습니다.먼저, AI의 편곡 기술이 이전과 비교할 수 없을 정도로 정교해졌습니다..
-
노션(메모앱)을 사용하지 않는 이유읽을거리 2026. 2. 1. 22:42
소개메모 앱 노션(Notion)은 전 세계적으로 많은 사용자를 보유한 메모 및 협업 도구입니다. 간단한 메모부터 데이터베이스, 프로젝트 관리, 협업 문서까지 하나의 앱 안에서 처리할 수 있다는 점이 가장 큰 특징입니다. 특히 팀 단위로 정보를 구조화하고 공유해야 하는 환경에서는 매우 강력한 도구로 평가받고 있습니다.다만 저는 협업 등 불가피한 상황을 제외하고는 개인적으로 노션을 거의 사용하지 않는 편입니다. (사실 '전혀'라는 표현을 사용해도 무방) 노션이 나쁘다기보다는, 제 사용 방식과 성향에는 다른 선택지가 더 잘 맞는다고 느끼기 때문입니다. 아래에서는 제가 개인 메모 용도로 노션을 선호하지 않는 이유를 정리해 보려고 합니다.참고: 노션(Notion)이라는 이름의 악보 사보 프로그램/앱도 있습니다. ..
-
SwiftUI TCA: 내비게이션 페이지 이동 (패스, 스택)공부/Swift(프로그래밍 언어) 2026. 1. 31. 00:52
PointTreeCo 의 공식 예제를 바탕으로 설명합니다.SwiftUI Case Studies: Navigation Stack swift-composable-architecture/Examples/CaseStudies/SwiftUICaseStudies/04-NavigationStack.swift at main · pointfreeco/swift-compA library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind. - pointfreeco/swift-composable-architecturegithub.com 구조맨 처음에 루트 뷰 (Navig..
-
SwiftUI: ‘appendInterpolation’ is deprecated 문제 해결하기공부/Swift(프로그래밍 언어) 2026. 1. 28. 23:57
Swift 6으로 업그레이드한 이후, SwiftUI에서 여러 개의 warning이 발생했습니다. 그중 대표적인 내용은 다음과 같습니다.'appendInterpolation' is deprecated: Localized string interpolation produces an unlocalized, debug description for this type of value. Use a type supported by LocalizedStringKey.StringInterpolation or initialize a LocalizedStringResource instead with an interpolated value that conforms to CustomLocalizedStringResourceConv..
-
암이 통증이 없었다면 이 세상에서 암은 어떠한 취급을 받았을까?읽을거리 2026. 1. 27. 18:26
만약 암이 통증이 없는 질병이었다면, 우리는 암을 지금과 같은 방식으로 대했을까요?이 질문은 단순한 상상이 아니라, 인간이 질병을 인식하는 기준이 무엇인지, 그리고 사회가 고통을 통해 어떤 판단을 내려왔는지를 되짚게 만듭니다. 이 포스트에서는 ‘통증이 없는 암’이라는 가정을 통해, 암의 의미와 사회적 취급이 어떻게 달라졌을지를 차분히 살펴보고자 합니다. 통증이 사라진 암, 개인의 인식은 어떻게 달라졌을까통증은 우리가 몸의 이상을 인식하는 가장 직접적인 신호입니다. 아픔이 느껴질 때 사람은 비로소 질병을 현실로 받아들이고, 치료를 고민하게 됩니다.그 중에서도 암으로 인한 통증은 단순한 염증성 통증과는 성격이 다릅니다. 종양이 성장하면서 신경을 직접 압박하거나 침범해 발생하는 신경병증성 통증, 장기나 뼈를..