apple 216

[Natural Language] Overview

[Natural Language] Overview - Overview - tokenizing-natural-language-text - identifying-the-language-in-text 자연어 텍스트를 분석하고 언어별 메타데이터 추론 자연어 프레임워크는 다양한 언어와 스크립트를 지원하는 다양한 자연어 처리(NLP) 기능을 제공. 이 프레임워크를 사용하여 자연어 텍스트를 단락, 문장 또는 단어로 분류하고 품사, 어휘 클래스, 어휘, 스크립트 및 언어와 같은 해당 세그먼트에 대한 정보에 태그를 지정할 수 있음. 이 프레임워크를 사용하여 다음과 같은 작업을 수행 - 언어 식별, 텍스트의 언어를 자동으로 감지 - 토큰화, 텍스트 조각을 언어 단위 또는 토큰으로 나누는 작업 - 품사 태깅: 개별 단어에 ..

[SwiftUI] NavigationLink 화살표 없애기

[SwiftUI] NavigationLink 화살표 없애기 SwiftUI에서 NavigationLink를 사용하면 기본적인 화살표가 생긴다. 해당 포스팅의 방법은 궁극적으로 화살표를 없애는게 아니고, ZStack과 opacity를 활용한 원하는 UI를 그려내는 방법이다. import SwiftUI struct ContentView: View { var body: some View { ZStack(alignment: .leading) { NavigationLink { // destination View } label: { EmptyView() }.opacity(0) Text("내 아이템") } } } 아래 이미지처럼 사용할 수 있다.

SwiftUI keyboard 이벤트 감지하기

SwiftUI keyboard 이벤트 감지하기앱 개발에 있어서 키보드 상태에 따라서 뷰의 다른 컴포넌트들의 높이가 조정되는 등 키보드와 관련해서는 꽤나 까다로움 UIKit을 사용한다면  - iOS 15 이상: keyboardLayoutGuide를 활용하여 레이아웃을 잡기 - iOS 14 이하: 키보드의 상태에 따라 키보드의 높이를 계산해서 뷰의 위치를 조정view.keyboardLayoutGuide SwiftUI 사용 - iOS 15 이상: @FocusState 활용 - iOS 14 이하: NotificationCenter와 Combine을 활용  샘플코드 키보드 상태를 읽을 수 있도록 아래 코드를 작성protocol KeyboardReadable { var keyboardPublisher: Any..

iOS SwiftData in UIKit

iOS SwiftData in UIKit연관 포스팅[iOS CoreData 간단한 CRUD](https://rldd.tistory.com/587)[iOS SwiftData in UIKit](https://rldd.tistory.com/588)[iOS CoreData 이론](https://rldd.tistory.com/586)[iOS CoreData Relationships](https://rldd.tistory.com/661) 이번에는 SwiftData를 UIKit에서 사용해보자!CoreData를 학습하기 전에는 SwiftData가 진짜 어려웠는데, 지금은 훨씬 배우기 쉽다. SwiftData를 사용하면 CoreData와 개념적으로 부합하고 있어서 학습하는데 더 쉽게 느껴졌다.또한 SwiftData가 가..

iOS CoreData 간단한 CRUD

iOS CoreData 간단한 CRUD 가장 기초적으로 CRUD 수행해보자 연관 포스팅[iOS CoreData 간단한 CRUD](https://rldd.tistory.com/587)[iOS SwiftData in UIKit](https://rldd.tistory.com/588)[iOS CoreData 이론](https://rldd.tistory.com/586)[iOS CoreData Relationships](https://rldd.tistory.com/661) Core Data를 사용하기 위한 사전준비- 프로젝트 생성시이렇게 생성하면 AppDelegate와 SceneDelegate에 기본적으로 Core Data를 위한 코드가 추가됩니다.먼저 SceneDelegate에서는 백그라운드로 넘어갔을때 현재 컨..

iOS CoreData 이론

iOS CoreData 이론 CoreData에 대해서 알아봅시다.1편에서는 개념과 이론을 중점으로 서술하며, 코드 설명은 2편에서 이어집니다.연관 포스팅[iOS CoreData 간단한 CRUD](https://rldd.tistory.com/587)[iOS SwiftData in UIKit](https://rldd.tistory.com/588)[iOS CoreData 이론](https://rldd.tistory.com/586)[iOS CoreData Relationships](https://rldd.tistory.com/661) Core Data란?- 코코아 개발 환경을 통해 제공하는 인 메모리(In-Memory) 방식의 데이터 관리 프레임워크.- 이를 통해 데이터베이스 한경과 유사하게 데이터 CRUD과정..

[TCA] HigherOrderReducers #2 (ReusableFavoriting)

[TCA] HigherOrderReducers (ReusableFavoriting) 목차 - 개념설명 - 예제코드 # 개념설명 이번에는 재사용 가능한 하나의 컴포넌트를 도메인, 로직, 뷰에 이르기까지 어떻게 처리하는지를 소개. 이번 기능은 "좋아요" 기능을 가지고 있으며, 버튼 액션을 통해 자신의 상태도 변경 가능하다. 해당 버튼을 누르면 UI에 즉시 반영되고 DB를 변경하거나, API 요청을 하는 등 필요한 작업을 수행하기 위한 효과가 발생. 실행에 1초가 걸리고 25% 확률로 실패하도록 예제를 만들었으며, 실패할 경우 상태가 롤백되고 경고 알럿이 나타남. # 예제코드 // MARK: - Reusable favorite component // 🟠 1. 재사용 가능한 FavoriteState를 선언 st..

apple/TCA 2023.10.29

[TCA] HigherOrderReducers #1 (Recursion)

[TCA] HigherOrderReducers #1 (Recursion) 목차 - 이번 주제에 대한 간략 설명 - 예제 코드 # 이번 주제에 대한 간략 설명 이번에는 재귀를 통해 View를 관리 하는 방법을 알아볼 예정 # 예제 코드 주요하게 살펴볼 부분 1. State를 rows로 다시 들고 있음으로써 Nested 형태를 구성 2. Action에는 간접 참조를 위해 indirect enum으로 선언 3. Reducer에 forEach(...) { Self() } 형태로 참조 struct Nested: Reducer { struct State: Equatable, Identifiable { let id: UUID var name: String = "" var rows: IdentifiedArrayOf =..

apple/TCA 2023.10.11

[TCA] Navigation (화면전환 총 정리)

[TCA] Navigation TCA의 Navigation에 대해서 공부하고 정리해보자. 서비스 개발에서 사용하는 화면전환 방식으로는 몇 가지가 있는데, 우선적으로 자주 사용하는 것들을 정리하고, 추가적으로 필요한 것들이 있을 때마다 포스팅을 업데이트 해보자! 이번에 알아볼 목차! - 일반적인 sheet 화면전환 - navigationDestination, popover, sheet 사용 - NavigationStack (feat. Path & destination) - 여러개의 뷰를 한번에 이동시켜야 할 경우 - struct Path: Reducer { ... } - NavigationStack의 View 단에서 처리 - StackElementID - ScreenA - 스스로 dismiss - Scre..

apple/TCA 2023.10.09

[TCA] Effect #6 (WebSocket)

[TCA] Effect #6 (WebSocket) 목차 - 이번에 할 실습에 대한 설명 - 웹소켓 개념에 대해서 설명은 생략 - 나의 이전 작업에서의 웹소켓과 연관지어 생각해보기 - TCA WebScoket 예제 # 이번에 할 실습에 대한 설명 URLsession의 웹소켓용 API를 위한 간단한 Wrapper를 만들어 소켓 서버에 접속하여 테스트한 후 메시지를 전송 후 소켓 서버는 즉시 메시지를 클라이언트에게 회신. - 나의 이전 작업에서의 웹소켓과 연관지어 생각해보기 내가 개발을 처음 공부할 당시에는 웹소켓을 이렇게 많이 다루리라고 생각하지 못했는데, 메인으로 사용하고 있음. 처음 이론이 아닌 웹소켓을 접하게 된 것은 Kuring프로젝트에서 검색파트를 구현하면서 처음 알게 되었는데, 당시에는 StarS..

apple/TCA 2023.10.08