일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- typescript
- Babel standalone
- code editor
- segment
- userevent_tracker
- cursor-ubuntu-installer
- HLS
- web track
- webrtc
- Image Resize typescript
- how to install cursor on ubuntu
- Excel
- Prism.js
- Game js
- jszip
- REST API
- M3U8
- uint8array
- babel
- uint16array
- three.js
- react
- http live streaming
- swagger-typescript-api
- html2canvas
- Redux
- hls.js
- KakaoMap
- Flutter
- node
- Today
- Total
목록전체 글 (129)
Never give up
알림 기능을 위해 FCM을 써야될 경우가 생기는데 공식문서가 생각보다 덜 친절하다보니 많이 질문을 올리기도 하고 필자도 구현하면서 조금 귀찮았던 부분이 있어서 이 부분에 대해 포스트 해보기로 했습니다 해당 예제에서는 FCM을 이해하는데 필요하다고 생각되는 부분만 짚고 넘어갈 예정이라 부분적으로 생략한 부분이 많아서 직접 구현하셔야되는게 조금 있는데 어려운 부분은 아니라고 생각돼서 넘어가겠습니다 (생략한 부분 : 회원가입과 로그인 및 기기 토큰값 firestore에 저장하는 작업 등등) 백그라운드 처리를 위한 메인부분 Future _firebaseMessagingBackgroundHandler(RemoteMessage message) async { await Firebase.initializeApp(); ..

Multi image picker를 사용할 경우 애매한 상황이 생깁니다 (해당 예제는 4.8.0 버전을 사용했습니다) 불러오는 데이터 타입이 Asset인데 내부를 보면 (링크 참고 : pub.dev/documentation/multi_image_picker/latest/multi_image_picker/Asset-class.html) Asset( this._identifier, this._name, this._originalWidth, this._originalHeight, ); //너는 뭐냐... Image picker는 file path를 가져와서 File형태로 사용할 수 있고 byte array가 필요한 경우 readAsByte같은 메소드를 사용하면 됩니다 근데 이 Asset이란 녀석(?)은 기기에..

PageView를 쓸 때 Loop가 되도록 만들고 싶을 때가 있습니다 그래서 관련 패키지와 stackoverflow같은곳을 찾아보니 거의 다 본문과 같은 방식으로 처리를 했더군요 동일하다면 굳이 패키지를 사용하지 않고 구현하는게 좋지 않을까 해서 이번 예제를 만들어봤습니다 import 'package:flutter/material.dart'; class LoopPageView extends StatefulWidget { final String title; LoopPageView(this.title); @override _LoopPageViewState createState() => _LoopPageViewState(); } class _LoopPageViewState extends State { Page..
이전에 Migration을 하면서 fixed length list에 대한 문제에 대해 말씀드린적 있습니다 (링크 : devmemory.tistory.com/55) 그래서 issue에 올려보니 제작자가 다른 소리만 하고 해결할 의지가 별로 없어보였습니다.. 먼저 간단한 예제 코드와 설명으로 시작해보겠습니다 Splash class TestSplash extends StatefulWidget { @override _TestSplashState createState() => _TestSplashState(); } class _TestSplashState extends State { @override void initState() { super.initState(); init(); } void init() asy..
ListView안에 ListView를 넣어야되는 상황이 생길때가 있습니다 그래서 이 부분을 간단하게 처리하는 방법중 하나를 소개해드리고자 합니다 먼저 필요한 부분을을 조금 더 이해하기 쉽게 설명하기 위해 가장 유사하고 간단한 예를 먼저 들어드리겠습니다 이전에 단톡방에 "horizontal Listview에 ListTile을 넣었는데 에러가 난다" 라는 질문에 대한 답변을 드린적이 있는데 이 부분부터 간단히 짚고 넘어가겠습니다 "ListTile은 width를 정해주지 않아도 자동으로 끝에서 끝으로 그려주죠 Expanded처럼요 그래서 ListView를 가로로했을때 ListTile을 특정 width로 안 감싸주면 infinite width가 돼서 에러가 발생하게 됩니다" 제가 이렇게 답변을 드렸던 기억이 있..

material widget들 중 Stepper를 사용해보려고 예제를 만들어봤는데 생각보다 문제가 많은 위젯이란걸 느꼈습니다 소스코드와 함께 이 부분에 대해서 말해보고자 합니다 class StepperExample extends StatefulWidget { final String title; StepperExample(this.title); @override _StepperExampleState createState() => _StepperExampleState(); } class _StepperExampleState extends State { List _list = List.generate( 5, (index) => Step( title: Text('Step - ${index + 1}'), cont..

필자의 2번째 앱은 1.22.6버전으로 되어있습니다 그래서 수정 및 배포를 다시해야될 경우 버전을 다운그레이드 해야되는데 Flutter version v1.22.6

기존 프로젝트를 2.0으로 Migration을 하면서 Null safety부분 때문에 변경된 부분이 생각보다 많다는걸 느꼈습니다 그중 하나가 callback이었는데 여러분들은 삽질하지 마시길 바라며 포스트 올립니다.. 기존에 우리가 사용하던 방식은 다음과 같습니다 class Button extends StatelessWidget { //2.0에서는 당연히 null check 해야됩니다 이건 예시로.. final String name; final Function onTap; Button({this.name, this.onTap}); @override Widget build(BuildContext context) { return ElevatedButton(onPressed: onTap, child: Text..