함수형 반응형 프로그래밍
1장
- IT 도서 리뷰
- · 2024. 7. 18.
아래 글을 봤으나 이해가 잘 안돼 제미나이에게 iOS 개발자를 중심으로 설명해달라고 함https://velog.io/@khy226/%EB%B2%88%EC%97%AD-React-Design-Patterns [번역] React Design Patterns해당 포스트는 리액트 디자인 패턴에 대해서 다룬 React Design Patterns 아티클의 번역 문서입니다. 리액트 개발자는 디자인 패턴을 사용함으로써 시간과 노력을 절약할 수 있으며, 검증된 솔루션을velog.io 1. 컨테이너와 프레젠테이션 패턴 (Container & Presentational)오, iOS 개발자라니 반갑네! Swift랑 SwiftUI(혹은 UIKit) 하던 감각이 있어서 금방 적응할 거야.iOS에서 **MVVM(Model - Vi..
TypeScript와 React로 작성된 코드가 브라우저 화면에 픽셀로 그려지기까지는 **컴파일 타임(Build Time)**과 **런타임(Runtime)**이라는 긴 여정을 거칩니다. 이 과정을 하드웨어(CPU, 메모리, GPU)와 브라우저 엔진의 관점에서 심층적인 Low-level 단계로 나누어 설명해 드리겠습니다.1. 빌드 및 준비 단계 (Build Time)브라우저는 TypeScript와 JSX를 직접 이해할 수 없습니다. 따라서 코드가 실행되기 전에 변환 과정이 필요합니다.1.1 트랜스파일링 & 번들링 (Transpilation & Bundling)프로세스: 개발자가 작성한 .ts, .tsx 파일은 tsc나 Babel, SWC 등을 통해 순수 JavaScript(.js)로 변환됩니다. 이 과정에..
상황서버에서 내려주는 HTML text를 UILabel로 적용하기 위해 아래와 같이 변환하려 함 let attributedString = try? NSMutableAttributedString(data: data, options: [NSAttributedString.DocumentReadingOptionKey.documentType: NSAttributedString.DocumentType.html], documentAttributes: nil)디버그 시 크래시 발생에러 메세지Thread 1: EXC_BREAKPOINT (code=1, subcode=0x1aef22a18)ㅌ해결 방법Malloc Stack Logging을 꺼주자. 이유NSMutableAttributedString 변환 시 WebKit인가를..
에러 메세지아래와 같은 크래시 리포트가 올라왔다.Fatal Exception: NSInternalInconsistencyExceptionMutating a priority from required to not on an installed constraint (or vice-versa) is not supported. You passed priority 750 and the existing priority was 1000.iOS 12, iPadOS 12 에서만 발생하고 있었음 원인아래 오류 설명을 보면 이미 설치된 constraint의 우선순위(priority)를 바꿀 수 없다고한다Fatal Exception: NSInternalInconsistencyExceptionMutating a priority f..
목차MVVM디자인 패러다임Varities of Typesstructclass"dont care" type (aka geneics)protocolenumfunctionsBack to the Demo!Apply MVVM to Memorize Summary이번 강의에서는 MVVM 아키텍처와 Swift 타입 시스템의 기초를 다루며, 메모리 앱의 게임 로직을 구현하는 방법을 소개합니다.Highlights🏛️ MVVM 아키텍처: 데이터와 UI를 분리하여 효율적인 앱 개발을 지원합니다.💻 Swift 타입 시스템: Struct, Class, Protocol 등 다양한 타입을 사용하여 데이터 구조를 정의합니다.🎮 메모리 앱 로직: 카드 클릭 시 발생하는 이벤트와 상태 변화를 모델에 통합합니다.🔒 모델 보호: U..
setUp(), tearDown()클래스 메서드 : 한번만 실행됨인스턴스 메서드: 메서드마다 실행 됨 위처럼 클래스 setUp, tearDown 메서드는 전체 테스트에 한번만 실행되는걸 확인 할 수 있다. 위 코드에서 classInstanceCounter는 테스트메서드의 수만큼 실행되므로 테스트가 끝나면 2가 된다. tearDown(): 클래스에 한번, 테스트가 종료되면 불림tearDownWithError(): 모든 테스트메서드에 불림, 테스트메서드가 3개이면 3번 불림addTearDownBlock(): 이걸 정의한 테스트메서드가 종료되면 불림, tearDownWithError() 이전에 불림아래 순서대로 불린다.
1장