UITableViewDiffableDataSource의 4가지 apply 메서드 글에서 진행한 간단한 예제를 계속 활용해서 헷갈리는 부분을 테스트해보겠습니다. [1] 아이템이나 인덱스 찾을 때, datasource API를 써야할까 vs snapshot API를 써야할까? UITableViewDiffableDataSource 는 아래와 같은 API가 있고 NSDiffableDataSouceSnapshot은 아래와 같은 API가 있습니다. 각각을 활용해서 할 수 있는 것들을 나열해보겠습니다. (iOS 13 기준!!) 어떤 것을 쓰던 상관없지만,, ✔️ Section이 여러개 있는 화면이라면 snapshot API // multiple sections 관련해서 다양한 기능을 제공하니까 ✔️ 제가 작성한 예제..
Diffable Data Source in iOS 15 에서 다룬 내용인데, 헷갈리니까 한번 더 정리! [1] UITableViewDiffableDataSource의 4가지 apply 메서드들 UITableViewDiffableDataSource 에는 Updating Data를 위한 4개의 apply 메서드들이 있습니다. 위에서부터 적어보면 다음과 같습니다. - apply(_:animatingDifferences:) // iOS 15+ - apply(_:animatingDifferences:completion:) // iOS 13+ - applySnapshotUsingReloadData(_:) // iOS 15+ - applySnapshotUsingReloadData(_:completion:) // iO..
WWDC 2022에서 애플이 unity plugins 을 공개했습니다. 관련 세션은 아래 두개입니다. - WWDC 2022 > Plug-in and play: Add Apple frameworks to your Unity game projects - WWDC 2022 > Add accessibility to your Unity games (WWDC에서 유니티 에디터와 C# 스크립트를 볼 수 있는 신기한 경험을 할 수 있습니다..ㅎㅎ) 위의 세션들과 Apple Unity Plug-In Quick Start Guide 문서를 따라하면 쉽게 유니티 프로젝트에 애플 플러그인을 추가할 수 있습니다. 제공하는 플러그인은 아래와 같습니다. [1] 플러그인 추가하기 - Apple Core # 1. Apple-Unity..
[1] 용어정리 text selection 하면 나오는 등장하는 메뉴 팝업 UI를 HIG 에서는 Edit Menus 라고 지칭하고 개발 용어로는 UIMenuController 입니다. 그리고 Edit Menu (UIMenuContoller) 안에 나오는 Cut, Copy.. 이런 것들을 Command, Action, MenuItem 이라는 용어로 혼용해서 부릅니다. [2] UIMenuController 커스터마이징 (1) - System 첫번째로, UIMenuController 에 나오는 system commands 중 원하는 command 만 나오게 커스터마이징 하려면 어떻게 해야할까요? UIMenuController가 표시되기 전에 UIResponder 의 canPerformAction(_:withS..
[1] 용어정리 (출처: 이펙티브 코틀린) 애플 문서(Sequence and Collection)에 'eager' 이라는 단어가 나오는 데 이것을 이해하기 위해 이펙티브 코틀린 책내용을 가져왔습니다! ✔️ eager order (step-by-step) - 요소 전체를 대상으로 연산을 차근차근 적용한다. - 각 단계에서 연산이 이루어져 새로운 컬렉션을 만들어낸다. ✔️ lazy order (element-by-element) - 요소 하나하나에 지정한 연산을 한꺼번에 적용한다. - 최종 연산이 이루어지기 전까지는 각 단계에서 연산이 일어나지 않는다. ==> 사전적 의미로 lazy = 게으른, eager = 열렬한(열심인) 이기 때문에 저 두단어가 같이 쓰이는 것 같아요! [ eager vs lazy ] ..
Swift Docs > Attribute 를 보면, Swift의 inline 관련 attribute 로 inlinable과 usableFromInline 가 있습니다. [1] inline 한정자란? 우선 이펙티브 코틀린 책 내용을 통해 inline 개념을 먼저 알아봅시다! inline 한정자의 역할은 컴파일 시점에 '함수를 호출하는 부분'을 '함수의 본문' 으로 대체하는 것입니다. 일반적인 함수를 호출하면 함수 분문으로 점프하고, 본문의 모든 문장을 호출한 뒤에 함수를 호출했던 위치로 다시 점프하는 과정을 거칩니다. 하지만 inline 한정자를 붙여 함수를 만드면, 이러한 점프가 일어나지 않습니다. # 장점 모든 함수는 inline 한정자를 붙이면 조금 더 빠르게 동작합니다. 함수 호출과 리턴을 위해 점..
[1] FastAPI 란? FastAPI는 현대적이고, 빠르며(고성능), 파이썬 표준 타입 힌트에 기초한 Python3.6+의 API를 빌드하기 위한 웹 프레임워크 라고 합니다. 파이썬 웹프레임워크로 Flask와 Django가 양대산맥 이였는데요,, FastAPI가 Flask를 대체할 것이라고 보는 분들도 많으시고 (참고: FastAPI의 시대, 아직도 Flask 쓰시나요? ) 여기저기 매우 핫하네요 🔥 [2] FastAPI 특징 문서 에 나오는 FastAPI 특징입니다. 빠름: (Starlette과 Pydantic 덕분에) NodeJS 및 Go와 대등할 정도로 매우 높은 성능. 사용 가능한 가장 빠른 파이썬 프레임워크 중 하나. 빠른 코드 작성: 약 200%에서 300%까지 기능 개발 속도 증가. * ..
[1] 서론 업무로 모듈화를 진행하고 있는데, cyclic dependency가 생각보다 많았다,,, 폴더 구조일 때는 편하게 이곳저곳 다 참조하고 있던 코드들이 모듈 구조로 바뀌니 그제야 아픈 곳을 드러내기 시작했다.. 22장 > 클린아키텍쳐 에 나오는 이 내용을 알고 있었으나.. 소스 코드 의존성은 반드시 안쪽으로, 고수준의 정책을 향해야 한다. 내부의 원에 속한 요소는 외부의 원에 속한 어떤 것도 알지 못한다. 특히 내부의 원에 속한 코드는 외부의 원에 선언된 어떤 것에 대해서도 그 이름을 언급해서는 절대 안된다. 이것을 지키려면 수정범위가 많으니까,,, 적당히... 타협해도 되지 않을까....?.... 내부의 원도.... 외부의 원을.... 조금... 알 수...있게..... 그럼...양방향.....
[1] 어드레서블 에셋 시스템이란? Addressable Asset System 문서에 설명이 간단명료하게 되어있으니 읽어보는 것을 추천합니다. 유니티 블로그 > 어드레서블 에셋 시스템 글도 있습니다. 어드레서블 에셋 시스템은 'address (주소)' 로 asset을 load할 수 있는 쉬운 방법을 제공합니다. 어드레서블의 주된 기능은 로드할 대상이 되는 에셋과 에셋이 로드되는 위치 및 방식을 분리하는 것입니다. 에셋에 address를 부여하게 되면 에셋을 로드하는 측에서는 에셋의 address만 알면 되고 에셋의 실제 위치가 변경되어도 상관없습니다. (에셋이 원격서버에 업로드되어있든,, 앱 내부에 포함되어있는데 위치가 변했든,,, 노상관) [2] 어드레서블 시스템 등장 배경 감귤오렌지님의 유튜브 > ..
[1] 플러그인 유니티 플러그인에는 두가지 종류가 있습니다. 1. Managed plug-ins 2. Native plug-ins 이 중, 네이티브 플러그인을 살펴보겠습니다. [2] 네이티브 플러그인 1. 네이티브 플러그인은 platform-specific native code libraries 입니다. 2. 네이티브 플러그인은 C 기반 언어 (C, C++, and Objective-C) 로 작성가능합니다. 3. 네이티브 플러그인은 simple C interface를 제공합니다. 4. 네이티브 플러그인은 타겟 플랫폼에서 네이티브 코드 컴파일러로 빌드됩니다. 유니티에서는.. native 플러그인이 제공하는 인터페이스를 다른 C# 스크립트들에게 공개하는 브릿징 C# 스크립트를 만들어줍니다. 그럼 다른 스크립..
- Total
- Today
- Yesterday
- flutter build mode
- 장고 URL querystring
- Dart Factory
- Watch App for iOS App vs Watch App
- PencilKit
- flutter dynamic link
- Django Heroku Scheduler
- drf custom error
- Django FCM
- github actions
- Flutter Text Gradient
- 장고 Custom Management Command
- Flutter getter setter
- Flutter 로딩
- 플러터 얼럿
- flutter 앱 출시
- Flutter Spacer
- 플러터 싱글톤
- cocoapod
- 구글 Geocoding API
- ribs
- Django Firebase Cloud Messaging
- SerializerMethodField
- Python Type Hint
- flutter deep link
- ipad multitasking
- Sketch 누끼
- Flutter Clipboard
- METAL
- DRF APIException
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |