[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..
[1] Flutter 앱에 Firebase 추가하기 Flutter 앱에 Firebase 추가 문서를 보고 따라해주세요 그리고 iOS는 안드로이드와 달리 한단계 더 있는데, APN(Apple push notification) 구성을 따로 해줘야합니다. (참고: iOS에서 Firebase 클라우드 메시징 클라이언트 앱 설정) [2] iOS - APNs APNs(Apple push notification service)는 애플 developer 사이트에 들어가서 인증서 또는 인증키를 발급해야지 사용할 수 있습니다. 두가지 방식의 차이는 이 글을 참고해주세요! (저는 처음에 잘모르고 인증서, 인증키 둘다 만들었는데 하나만 만들어도 됩니다) 우선 developer사이트에서 앱등록 먼저 해줄게요 인증서(2.1) 또..
[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: _..
[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;..
[1] 문서보기 FutureBuilder 는 Future와 상호작용한 마지막 스냅샷으로 자신을 빌드하는 위젯(?) 이라고 합니다. 정의가 잘 안와닿는데, 사용용도를 보면 확 이해가 됩니다 API콜을 해서 응답을 받기 전까지는 로딩 위젯를 보여주고 성공 응답을 받으면 데이터를 보여주는 위젯을 보여주고 실패 응답을 받으면 에러메세지를 보여주는 위젯을 보여주고 싶을때 쓰는 위젯입니다. 문서에 예제가 너무 잘되어있는데 이런식으로 쓸 수 있습니다. (문서코드 복붙) class MyStatefulWidget extends StatefulWidget { MyStatefulWidget({Key key}) : super(key: key); @override _MyStatefulWidgetState createState(..
CupertinoAlertDialog 플러터에서 iOS 스타일의 얼럿을 만드려면 CupertinoAlertDialog 를 쓰면 됩니다. 생성자는 이렇게 생겼습니다. 예를 들어 이렇게 만들면 됩니다. CupertinoAlertDialog( title: Text("Alert"), content: Text("My alert message"), actions: [CupertinoDialogAction(isDefaultAction: true, child: Text("Close")), onPressed: null] ) showCupertinoDialog 그럼 얼럿을 만드는 법을 알았으니 어떻게 띄울수있는지 알아보겠습니다. showCupertinoDialog function을 사용하면 됩니다. 이렇게 생겼고 iOS-..
현재 내 컴퓨터에서 돌리고 있는 로컬 서버에 접속하려면 어떻게 해야할까요?! (저는 장고로 API 개발중이여서 장고 서버를 기준으로 한 글입니다.) 우선 시뮬레이터(iOS), 에뮬레이터(안드로이드)도 하나의 OS이기 때문에 여기서 localHost를 부르면 자기자신이 됩니다. (내 컴퓨터가 아니라) 그래서 앱에서 api 콜을 해봐도 서버에 연결이 안된답니다,, Android Emulator 네트워킹 설정 을 보면 10.0.0.2.2라는 특수주소로 접근할 수 있다고합니다. iOS Simulater는 또 다르게 해줘야하는데 (찾아본 여러 방법 다 안되서 적지 않을게요,,) 귀찮으니까 여기를 보고 장고 서버가 다른 컴퓨터에서도 접속할 수 있게 해보겠습니다. [1] 터미널에서 아래의 ..
플러터에서 화면전환을 하고 싶다면 Navigator와 CupertinoPageRoute를 보면 됩니다. CupertinoPageRoute 전체 화면을 iOS 전환으로 대체하는 모달 경로 (modal route) 라고 합니다. 생성자는 이렇게 생겼어요 이런식으로 이동하고자 하는 위젯을 builder에 넣어주면 됩니다. CupertinoPageRoute(builder: (context) => SignupWidget()) 그리고 fullScreenDialog 디폴트값이 false인데요, false이면 push처럼 동작하고 (오른쪽에서 왼쪽으로 새로운 페이지가 나타남) The page slides in from the right and exits in reverse. The page also shifts to ..
Dart에는 팩토리 생성자 가 있습니다. facory 키워드를 사용해서 생성자를 구현하면 해당클래스의 인스턴스를 항상 새로 만들지 않게 된다고 합니다. 예를 들어 볼게요-! AuthManager를 이렇게 factory생성자로 만들어서 싱글톤으로 쓸 수 있습니다. class AuthManager { static final AuthManager _manager = new AuthManager._internal(); factory AuthManager() { return _manager; } AuthManager._internal() { // 초기화 코드 } } factory생성자를 안쓴 다른 클래스(LoginViewModel)과 비교해본 코드입니다..! var manager1 = AuthManager(); ..
- Total
- Today
- Yesterday
- Python Type Hint
- 장고 Custom Management Command
- cocoapod
- Dart Factory
- Django Firebase Cloud Messaging
- flutter deep link
- Flutter getter setter
- Flutter Clipboard
- ribs
- flutter build mode
- SerializerMethodField
- Flutter Text Gradient
- Django Heroku Scheduler
- Sketch 누끼
- 플러터 싱글톤
- Watch App for iOS App vs Watch App
- ipad multitasking
- flutter 앱 출시
- DRF APIException
- 구글 Geocoding API
- Flutter 로딩
- github actions
- Flutter Spacer
- METAL
- PencilKit
- 플러터 얼럿
- flutter dynamic link
- 장고 URL querystring
- drf custom error
- Django FCM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |