일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 프로그래머스 최댓값 만들기(2)
- 프로그래머스 배열 만들기1
- 객체지향
- 문자열 정렬하기 (1)
- 프로그래머스
- swift
- continue
- cocoapods 설치 오류
- 문자열 붙여서 출력하기
- 배열 만들기1
- 프로그래머스 n의 배수 고르기
- array
- 프로그래머스 암호 해독
- ruby설치
- n번째 원소까지
- 프로그래머스 조건에 맞게 수열 변경하기 3
- 스파르타코딩캠프
- Error installing cocoapods
- 주사위 게임1
- 조건에 맞게 수열 변경하기 3
- 연산자
- 프로그래머스 주사위 게임1
- 프로그래머스 문자열 붙여서 출력하기
- 스페인어
- 스파르타 코딩클럽 내일배움캠프
- 프로그래머스 자동커밋
- 프로그래머스 n번째 원소까지
- Break
- Til
- 프로그래머스 문자열 정렬하기 (1)
- Today
- Total
목록전체 글 (312)
dev._.note
📌 todoList 과제를 시작하며 UIVeiw 컴포넌트에 대해 공부함. storyboard를 사용해 작성 중 추후 블로그 기재. 📌 공부 ∙ UIView 컴포넌트 💡 공부한 부분 ▶︎ UIView 컴포넌트
UIView 컴포넌트 UIView는 iOS에서 사용되는 기본적인 뷰 컴포넌트로 다른 UI 컴포넌트들은 이 UIView를 상속받아서 필요한 기능을 추가하거나 확장한 컴포넌트. 📌 UILabel 텍스트를 표시하는 데 사용되는 UI 요소 UILabel의 주요 속성들 text: 표시할 문자열을 나타냄. font: 텍스트의 폰트를 설정. textColor: 텍스트의 색상을 설정. textAlignment: 텍스트의 정렬을 설정. (왼쪽, 가운데, 오른쪽) numberOfLines: 텍스트의 표시 줄 수를 설정. (0으로 설정하면 자동으로 줄 바꿈) lineBreakMode: 텍스트가 너무 길어서 화면에 들어가지 않을 때 줄 바꿈 처리 방법을 설정. let label = UILabel() label.text = ..
📌 동기와 비동기, combine에 대해 공부함. 📌 공부 ∙ 동기와 비동기 ∙ Comebine이란? ∙ Comebine의 Operator ∙ 반응형 프로그래밍 ∙ Comebine의 도구 ∙ Comebine의 Cancellable 💡 공부한 부분 ▶︎ 동기와 비동기 ▶︎ Comebine이란? ▶︎ Comebine의 Operator ▶︎ 반응형 프로그래밍 ▶︎ Comebine의 도구 ▶︎ Comebine의 Cancellable
Cancellable Combine 작업들을 취소할 수 있다는 의미를 가지고 있는 프로토콜 Combine에서는 이벤트 스트림을 action이라는 이름을 사용, action을 취소할 수 있는 프로토콜이 Cancellable이라는 의미 AnyCancellable final public class AnyCancellable : Cancellable, Hashable .sink로 이벤트를 구독하면 리턴값으로 AnyCancellable이 얻어지는데 이 값을 가지고 cancel()하여 언제든지 구독을 취소시킬 수 있는 기능 final class MyModel { @Published var number: Int init(number: Int) { self.number = number } } let model = My..
Combine은 Apple의 Swift 프로그래밍 언어에 포함된 프레임워크로, 비동기적인 이벤트 스트림을 처리하고 조작하는 데 사용. 이는 함수형 프로그래밍과 반응형 프로그래밍 개념을 기반으로 하며, 데이터 스트림을 간단하게 조작하고 조합할 수 있는 도구를 제공. Publisher(발행자) 데이터 스트림을 생성하고, 이벤트를 방출하는 타입. 값을 방출할 수 있으며, 오류를 방출하거나 작업이 완료되었음을 알림. Subscriber(구독자) Publisher에서 방출되는 이벤트를 받아 처리하는 타입. 값을 받아 처리하거나, 오류나 작업 완료 이벤트를 처리. Operators(연산자) Combine 프레임워크에는 데이터 스트림을 조작하고 변환하기 위한 다양한 연산자가 제공. map, filter, flatMa..
반응형 프로그래밍이란? 반응형 프로그래밍(Reactive Programming)은 데이터 스트림 또는 데이터의 변화에 따라 코드가 자동으로 반응하는 프로그래밍 패러다임. 이 패러다임에서는 데이터의 변경 사항을 감지하고 이에 따라 연속적으로 반응하는 방식으로 프로그램을 작성합 1. 데이터 스트림(Data Stream) 이벤트 스트림, 값의 흐름 등과 같이 시간에 따라 연속적으로 발생하는 데이터의 흐름을 나타냄. 이러한 데이터 스트림은 사용자 입력, 센서 데이터, 외부 API의 응답 등 다양한 소스에서 나올 수 있음. 2. 옵저버(Observer) 패턴 데이터의 변화를 감시하고, 변화에 따라 특정 작업을 수행하는 디자인 패턴. 변화가 일어나면 옵저버(또는 구독자)는 해당 변화에 반응하여 알림을 받고, 필요한..
Map 값 요소들을 하나씩 맵핑 (값에 변화를 주는 연산자) let publisher1 = [1, 2, 3].publisher let cancellable1 = publisher1 .map { $0 + 2 } .sink(receiveValue: { print($0) }) /* 3 4 5 */ tryMap map 클로저 내부에서 예외가 던져질 수 있는 연산이 있을때 사용 예외 처리하는 곳은 sink의 receiveCompletion에서 수행 enum SomeError: Error { case zero } let publisher2 = [2, 1, 0].publisher let cancellable2 = publisher2 .tryMap { guard $0 != 0 else { throw SomeError...
Combine이란? async 작업들을 이벤트 처리 연산자로 결합하여 처리하는 방법 선언적인 프로그래밍 형태로 사용 Stream하나를 만들고 그 Stream에 필요한 operator를 덫붙여서 사용하는 선언적인 프로그래밍 방식 // 선언형 프로그래밍인 Combine 예제 코드 $username .debounce(for: 0.1, scheduler: RunLoop.main) .removeDuplicates() .map { $0.count >= 2 } .assign(to: \.valid, on: self) .store(in: &cancellableSet) 선언적인 프로그래밍이 되면서, 클로저를 이용한 콜백지옥에서 벗어날 수 있는 장점이 존재 Combine을 사용하면 이벤트 처리 코드들이 중앙 집중화가 되어 ..