Clipboard 클래스에는 시스템의 클립보드와 interacting하는 Utility methods들이 있습니다. (문서: api.flutter.dev/flutter/services/Clipboard-class.html ) 저는 setData를 사용해서 COPY를 눌렀을때 코드가 복사되도록 해줄게요 Copy버튼을 이렇게 만들어주면 끝-! CupertinoButton( child: Text("COPY", style: TextStyle(fontFamily: MyFontFamily.gyeonggiMedium, color: MyColor.white, fontSize: 12)), padding: EdgeInsets.zero, color: MyColor.black, onPressed: () { Clipboard...
[1] 장고 장고에서 내려주는 DateTime fomat은 iso-8601 입니다. (참고: www.django-rest-framework.org/api-guide/fields/#datetimefield ) 예를 들어 "2020-10-10T14:58:04+09:00" 이런식으로 값을 내려줍니다. iso-8601 포맷의 각 필드에 대한 설명은 이 블로그에서 참조해주세요~ [2] 플러터 2.1 DateTime 다트에서 시간을 표현하는 타입은 DateTime 입니다. 문서를 보면 DateTime만들기, DateTime에서 시,분, 초 구하기 등등이 엄청 간단하게 잘되어있어요 (감동) (swift에서는 extension으로 만들어서 썼었는데,,) 2.2 DateTime의 parse 메소드 저는 formatted..
이 문서를 보고 Custom Management Command를 만들어보도록 하겠습니다. [1] Custom Management Command란 우선 Management Command란 우리가 자주하는 기본 명령어들을 말합니다. (python manage.py로 시작하는) python manage.py runserver python manage.py migrate 그럼 Custom Management Command란 아래와 같은 명령어를 의미하는 거겠네요-! ptyhon manage.py 나의 커스텀 액션 [2] 문서보기 장고의 앱들은 각각의 액션을 manage.py에 등록할 수 있습니다. 예를들어 polls앱에서는 closepoll이라는 custom command를 만들어서 돌리고 싶을 수 있겠습니다...
[Flutter] Firebase Cloud Messaging 연동 + 파베 콘솔에서 푸쉬보내기 에서 푸쉬를 받는 클라이언트(iOS, 안드로이드) 쪽 설정을 해줬는데요 이제 푸쉬를 보내는 서버쪽 작업을 해주겠습니다. 문서 중 서버환경 쪽 보면 됩니다. [1] Firebase 클라우드 메시징의 서버 구성요소 우선 Firebase 클라우드 메시징의 서버 측 구성요소는 2가지입니다. Google에서 제공하는 FCM 백엔드 서버 로직이 실행되는 앱 서버 저의 앱 서버가 FCM 백엔드에 메시지 요청을 보내면 FCM 백엔드는 사용자 기기에서 실행되는 클라이언트 앱에 메시지를 보내는 플로우입니다. [2] 나의 서버가 FCM 서버랑 상호작용하는 방법 FCM 서버랑 상호작용하는 방법은 여러가지가 있는데요, 저는 문서에서..
[1] Flutter 앱에 Firebase 추가하기 Flutter 앱에 Firebase 추가 문서를 보고 따라해주세요 그리고 iOS는 안드로이드와 달리 한단계 더 있는데, APN(Apple push notification) 구성을 따로 해줘야합니다. (참고: iOS에서 Firebase 클라우드 메시징 클라이언트 앱 설정) [2] iOS - APNs APNs(Apple push notification service)는 애플 developer 사이트에 들어가서 인증서 또는 인증키를 발급해야지 사용할 수 있습니다. 두가지 방식의 차이는 이 글을 참고해주세요! (저는 처음에 잘모르고 인증서, 인증키 둘다 만들었는데 하나만 만들어도 됩니다) 우선 developer사이트에서 앱등록 먼저 해줄게요 인증서(2.1) 또..
Xcode에서 WatchOS 프로젝트를 시작할때,iOS App for Watch App 또는 Watch App를 선택할 수 있다. 이미 존재하는 프로젝트에 Watch Target을 추가하려고 할때는 Watch App for iOS App 또는 Watch App을 선택할 수 있다. 문서를 보면 Watch App은 iOS 앱과 상관없이 오직 애플워치에서만 가능한 앱을 만드는 것이고 (independent)Watch App for iOS App은 iOS 앱과 연관된 워치 앱을 만드는 것이라고 한다. (dependent) 그리고 watchOS 5 and earlier은 모든 watchOS app이 iOS앱에 dependent했지만, watchOS 6 and later은 애플워치 앱을 애플워치의 앱스토어에서 바로..
[1] 문서보기 한글문서: flutter-ko.dev/docs/development/data-and-backend/json 영어문서: flutter.dev/docs/development/data-and-backend/json 1) serialization 용어 정리 우선 serialization에 대한 용어정리부터 시작합니다. Encoding과 serialization는 같은 것입니다. 데이터구조(data structure)를 string으로 바꿉니다. 이와 반대되는 개념으로 Decoding과 deserialization이 있습니다. string을 데이터구조로 바꿉니다. 하지만, serialization(직렬화)는 일반적으로 데이터 구조를 읽기 쉬운 형태로 변환하는 과정을 가리키기도 합니다. 혼란을 피하..
[1] 문서보기 Spacer 는 Row 나 Column 같은 Flex container 안에 있는 위젯들 사이에 adjustable, empty spacer 를 만들때 쓰는 위젯이라고 합니다. 문서에 있는 예제를 돌려보면 이렇게 됩니다. adjustable한 빈공간이 잘 들어갔네요! 생성자는 이렇게 생겼습니다. [2] 실전예제 Row를 만드는데 왼쪽 화면에 나의 가족 코드~~ 텍스트가 붙어야하고 오른쪽 화면에 버튼이 붙으면 좋겠어! 이럴때 두 위젯 사이에 adjustable한 empty spacing이 필요합니다. 그때 두개의 위젯사이에 Spacer를 위치하면 됩니다. Row( children: [ Text("나의 가족 코드: ${UserManager().user.familyCode}", style: _..
localhost:8000/question/1 이렇게 생긴 URL을 만들고 싶다면 urlpattern을 아래처럼 추가하고 (참고로 앱이름 question입니다) APIView를 아래와 같이 작성하면 된다. 만약 쿼리스트링을 받고 싶다면 어떻게 해야할까?!?! 그러니까 이런 url을 제공하고 싶은 것이다!! localhost:8000/family_question/answer?question_id=1 url패턴은 기존처럼 유지하고 (참고로 스샷의 앱이름 family_question입니다) APIView에서 request.GET[''키값'] 으로 쿼리스트링의 value를 꺼내오면 된다. 잘됨 ☺️ [추가] 그리고 저는 특정 쿼리스트링이 있는지를 명시적으로 확인하고 없으면 더 이상 진행안하고 에러보내주도록 처리..
[1] 문서보기 문서 를 보면 getter와 setter는 object의 프로퍼티들에게 read, write 접근권한을 제공하는 특별한 메소드라고 합니다. 그리고 get, set 키워드를 통해 getter와 setter를 구현할 수 있다고 합니다. [2] 예제 Getter 이렇게 생긴 User모델과 UserManager가 있다고 해보겠습니다. UserManager가 user 프로퍼티를 다른 곳에 read-only로 제공하고 싶다!! 할때 getter를 구현해주면 됩니다. class User { String id; String nickname; User({ this.id, this.nickname }); } class UserManager { User _user; User get user => _user;..
- Total
- Today
- Yesterday
- Django FCM
- Flutter 로딩
- Django Firebase Cloud Messaging
- 플러터 얼럿
- 플러터 싱글톤
- METAL
- Watch App for iOS App vs Watch App
- ipad multitasking
- flutter deep link
- Python Type Hint
- Flutter Clipboard
- 장고 Custom Management Command
- Sketch 누끼
- PencilKit
- drf custom error
- flutter build mode
- DRF APIException
- SerializerMethodField
- Flutter Text Gradient
- flutter 앱 출시
- flutter dynamic link
- Django Heroku Scheduler
- ribs
- Dart Factory
- github actions
- Flutter getter setter
- 구글 Geocoding API
- cocoapod
- 장고 URL querystring
- Flutter Spacer
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |