피그마 맥 앱에서 Community를 눌러줍니다. 프로필 > Plugins 눌러줍니다. 그럼 설치된 플러그인들 목록이 나오는데, 그 밑에 있는 In development > New > New plugin 을 눌러줍니다. 플러그인 네임을 정해주고 Figma Design을 선택해줍니다. 저는 사용자와 인터렉션이 필요없어서 가장 간단한 방식의 Run once 타입의 플러그인으로 선택해줬습니다! Save as를 누르면 저장이 되고 폴더 안에는 javaScript, typeScript 파일과 json 파일이 있군요 이 플러그인은 디자인 파일 > Plugins > Development 에 나오기 때문에 개발하면서 적용해볼 수 있습니다. 적용하면 나오는 에러는 code.js 에 있는 에러네요 피그마 API 문서 보고..
[ 이슈 ] - Deployment Target iOS 13인 앱 개발 - Xcode 12.5 사용, iOS 14 시뮬레이터 / 디바이스 로 돌려봄 SFSymbol 앱에서 검색으로 원하는 이미지 찾음. (SFSymbol 앱 메이져 버전이 1인 것을 사용하는 줄 알았는데, major version 2 였음...) 인터페이스 빌더에서 해당 이미지 설정함. 하지만 iOS 13에서 이미지가 안나오고 있다는 것을 뒤늦게 알게됨,,, 🥲 gearshape는 iOS 14부터 지원되기 때문! [ SFSymbol > 사용가능한 버전 ] SFSymbol 앱에서 느낌표를 누르면 사이드바가 열림 그 상태에서 이미지를 선택하면 사용가능한 버전이 나오는데 꼭꼭 체크해야겠음! ✔️
[ 이슈 ] Deployment Target이 iOS 13인 앱에서 value change를 감지하기 위해 onChange(of:perform:) 를 사용하려고 했으나 onChange는 iOS 14부터 지원되는 것이였습니다,,, 애플의 Picker 를 예제로 대응책을 살펴보겠습니다! 방법 1 ) onReceive(_:perform:) 는 iOS 13부터 가능하므로 이것을 써준다. onReceive에 Publisher 타입을 넘겨줘야하므로 Just 로 감싸줘야하는데, 이를 위해 import Combine 해줘야합니다. import SwiftUI import Combine enum Flavor: String, CaseIterable, Identifiable { case chocolate case vanill..
https://brunch.co.kr/@dnwhdrb98/7 다크 모드 적용기(2) 다크 모드 적용기 2탄 : 컬러 시스템을 구축하자 | 지난 글에서는, 다크 모드의 당위성에 대한 이야기를 다루었다. 나아가, 여러 가지 레퍼런스들을 통해 다크 모드를 위한 최소한의 의사결정 과 brunch.co.kr https://tech.socarcorp.kr/design/2020/07/10/dark-mode-01.html [SOCAR FRAME 만들기 #2] 다크 모드 받고 디자인 시스템 더블로 가! (1탄) 안녕하세요! 프로덕트 디자인팀 가디, 푸린입니다. 이번 글에서는 다크 모드 도입을 검토하게 된 이유와 공부한 내용, 그리고 다크 모드와 디자인시스템을 같이 작업하게 된 과정을 얘기해보려 tech.socarcorp..
[ 요약 ] - 유료 앱을 등록하려면 앱스토어 커넥트 > 계약에서 주소, 은행계좌를 입력하고 세금 양식을 제출해야한다. - 세금 양식에는 사업자 등록번호, 통신판매업 신고번호 가 필요하다. (유료 앱이나 인앱결제가 있는 앱을 서비스 하려면 반드시 사업자 등록 & 통신판매업 신고를 해야한다.) - 사업자 등록은 1일 정도, 통신판매업 신고는 3,4 일 정도 소요된다. (통신 판매업 신고에 사업자 등록 번호를 적어야하기 때문에 사업자 등록 -> 통신판매업 신고 순서로 해야한다. 나는 유료앱 심사가 끝나고 이 절차를 진행해서 출시까지 일주일 정도(주말 포함) 딜레이가 된 셈이다ㅠㅠ 유료앱이나 인앱결제를 생각하신다면 개발과 함께 이 절차도 미리 진행해두시길 추천드린다.) [ 나의 진행 절차 ] 유료앱으로 심사요..
Managing Model Data in Your App 문서를 보면 App의 모델 데이터와 뷰 간의 connection을 만들어 주는 세가지 property wrapper type 을 소개해줍니다. - ObservedObject iOS 13+ - EnvironmentObject iOS 13+ - StateObject iOS 14+ ObservedObject 랑 EnvironmentObject는 작년에 살펴봐서 안살펴본 StateObject 만 정리해보겠습니다. StateObject 의 정의 A property wrapper type that instantiates an observable object. StateObject 왜 필요한가? (Managing Model Data in Your App 문서 ..
[ Dart 문서 ] - Abstract classes - Implicit interfaces - Extending a class 아래는 이 문서들을 참고해서 제가 재구성한 내용으로 틀린 내용이 있을 수 있습니다! [1] Extending a class extends를 이용해 subclass를 만들 수 있고 super로 superclass를 참조할 수 있습니다. (영어가 더 명확.. Use extends to create a subclass, and super to refer to the superclass) 다트에서는 @override annotation을 생략할 수 있습니다. 아래 예제는 오버라이딩을 명시적으로 나타내주기 위해 의도적으로 @override annotation을 붙인 예제입니다. [2]..
UIModalPresentationStyle 에 따른 뷰컨트롤러 라이프 사이클(또는 생명주기 또는 상태 변화) / 접근성에 대한 실험 글입니다. 초록색 뷰컨트롤러에서 오렌지색 뷰컨트롤러를 present할 때 초록색 뷰컨트롤러의 상태변화 및 접근성을 살펴봅니다. (오렌지색은 opacity를 50%로 줬습니다.) Part 1. 뷰컨트롤러 상태 변화 [1] fullScreen - A presentation style in which the presented view covers the screen. - The views belonging to the presenting view controller are removed after the presentation completes. == 초록색 뷰컨트롤러 상태 변..
마틴 파울러 - 리팩터링 (2판) 의 12장 - 상속 다루기 중 좋았던 것들 기록 ✏️✏️ 12.6 타입 코드를 서브클래스로 바꾸기 (Replace Type Code with Subclasses) 보통 열거형, 문자열, 숫자 등의 타입 코드를 쓴다. 타입코드만으로도 특별히 불편한 상황은 별로 없지만 그 이상의 무언가가 필요할 때가 있다. 여기서 '그 이상' 이라 하면 바로 서브클래스를 가리킨다. 서브클래스는 두 가지 면에서 특히 매력적이다. 1. 조건에 따라 다르게 동작하도록 해주는 다형성을 제공 (타입 코드에 따라 동작이 달라져야하는 함수가 여러 개일 때 특히 유용) 2. 특정 타입에서만 의미가 있는 값을 사용하는 필드나 메서드가 있을 때 (필요한 서브클래스만 필요한 필드를 가지도록 하여 더 명확) 이..
[1] ModelAdmin 장고의 Admin 문서를 보면 ModelAdmin 에 대한 설명이 나옵니다. ModelAdmin은 admin interface에서 모델을 표현하는 클래스라고 합니다. admin.py에 이런 식으로 추가해서 쓰면 됩니다. 위 예제처럼 Admin 클래스에 custom values를 define 하지 않는 경우, 보통 이렇게만 씁니다! [2] ModelAdmin > search_fields Admin 클래스에 search_fields를 define하면 admin list page에서 search box를 사용할 수 있습니다. 예를들어 이런 Family 모델이 있을 때, class Family(models.Model): join_date = models.DateTimeField() c..
- Total
- Today
- Yesterday
- Flutter Text Gradient
- cocoapod
- PencilKit
- 구글 Geocoding API
- Python Type Hint
- Django Firebase Cloud Messaging
- Django FCM
- github actions
- METAL
- ipad multitasking
- Flutter 로딩
- Flutter Spacer
- flutter dynamic link
- 장고 URL querystring
- Flutter Clipboard
- 플러터 싱글톤
- Sketch 누끼
- 플러터 얼럿
- flutter 앱 출시
- Django Heroku Scheduler
- drf custom error
- Watch App for iOS App vs Watch App
- flutter build mode
- DRF APIException
- Flutter getter setter
- SerializerMethodField
- flutter deep link
- ribs
- Dart Factory
- 장고 Custom Management Command
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |