안드로이드 스튜디오에서 File > Settings...(MAC 은 Preferences...) 에 들어가보면, IDE 에서 기본적으로 만들어둔 live template(code snippet 단축 키워드)이 있다. 예를 들어 안드로이드 스튜디오에서 Flutter 로 코딩을 하고 있을 때, dart File에서 'st' 까지만 입력하면 자동완성 리스트 중에 'stful', 'stanim', 'stless' 가 추천되는 것을 확인할 수 있다. 이 리스트 중에서 stful을 선택하거나, stful 전체를 입력하고 enter 해보면 아래와 같이 Stateful Widget을 정의하는데 필요한 기본적인 code structure가 완성되어 나온다. 이것이 live template 다. 그리고 우리는 자주 사용하..
만들고 있는 앱에 새로운 기능이 필요하다. 사진을 찍는 기능과 동영상을 찍는 기능이다. 구글에서 검색해보니 카메라를 사용할 수 있게 해주는 플러그인은 Flutter 에서 만들어준 것 하나 밖에 없는 듯하다. https://pub.dev/packages/camera camera | Flutter Package A Flutter plugin for controlling the camera. Supports previewing the camera feed, capturing images and video, and streaming image buffers to Dart. pub.dev 고민할 대안이 없으니 바로 사용을 해보았다. 패키지에 설명된 사용방법으로는 빠르게 실험해보기에 부족해서 구글링을 해보았다. 그..
소프트웨어 아키텍트가 어떤일을 하는지, 어떻게 하는지, 왜 하는지 궁금해서 클린 코드를 먼저 살까 하다가 이걸 먼저 사게 되었다. 프로그래머가 읽어봐야할 도서 중 하나다 보니, 이것도 다시 보고, 또 보기 위해 구입을 했다. 저자는 클린 코드를 썼던 로버트 C. 마틴. 프로그래밍 관련 도서를 보면 자주 등장하는 이름 있다. 마틴 파울러, 켄트 벡, 에릭 감마, 로버트 C. 마틴. 그래서 익숙한 이름. 책 내용 정리 아키텍처는 종착지가 아니라 여정에 더 가까우며, 고정된 산출물이 아니라 계속된 탐구 과정에 더 가까움을 이해해야 좋은 아키텍처가 만들어진다. 아키텍처는 구현과 측정을 통해 증명해야 하는 가설이다. 소프트웨어 설계도 마찬가지다. 저수준의 세부사항과 고수준의 구조는 모두 소프트웨어 전체 설계의 구..
Flutter 에서 코딩을 하다보면, 로컬에 파일이나 이미지를 저장할 때 사용할 경로를 받아오기 위해 path_provider 를 사용한다. path_provider 에서 주로 쓰는 2개의 method가 있다. getApplicationSupportDirectory getApplicationDocumnetsDirecoty 안드로이드에서 getApplicationDocumnetsDirecoty 를 통해 받아오는 경로는 /data/user/0/{app_id}/app_flutter/ 와 같은 형태이며 사용자 또는 다른 앱에서 접근이 불가능한 디렉토리다. (안드로이드 스튜디오에서 Device File Explorer로 확인 가능) 그래서 Hive 나 GetStorage 와 같은 패키지를 사용할때 이들 패키지에서..
앱 개발을 하면서 iOS 장비로 iPhone 6+ 와 iPhone Xs 를 사용하고 있다. 그리고 프로그래밍은 Mac mini(M1) 을 이용하고 있다. iPhone Xs 를 사용하게 된건 최근의 일인데, 그전까지 6+ 로 테스트를 했었다. 앱을 빌드하고 6+에 설치가 되면 이후에도 언제든 (Mac min 와의 연결을 하지 않은 상태에서도) 개발 과정에서 설치한 앱이 실행되었다. 그런데 Xs 는 안드로이드 스튜디오에서 run 을 하면 빌드하고 설치된 뒤 실행할 때는 정상 동작이 되는데, 테스트가 끝나고 연결(라이트닝 케이블 연결 제거)을 해제한 뒤 앱을 실행하기 위해서 아이콘을 터치하면 실행이 되지 않는다. iPhone 6+ 는 iOS 버전 12.x 이고, Xs는 iOS 버전이 16.2 다. 찾아보니 i..
프로그래머 블로그나 사이트에서 글을 보다보면 꼭 추천하는 책들이 있는데 이 책도 그 것들 중 하나다. 프로그래머를 위한 자기개발서 같은 느낌이다. 코딩 내적으로의 가르침뿐만아니라 외적으로 추구하거나 진행해야 하는 바에 대해서도 얘기해주 고 있다. 책을 읽을 때는 '아~ 이런부분은 나도 고려를 해야겠어' 하고 생각하지만, 읽고 얼마 시간이 지나면 까먹어 버릴 것이란걸 안다. 생각날때마다, 또는 주기적으로 읽어줘야 하겠다. 기억하고 싶은 내용 모든 개발 과정에서, 매일, 여러분이 내리는 모든 결정을 끊임없이 비판적으로 평가해야 한다. 절대 기계적으로 일하지 말라. 언제나 일하면서 동시에 생각하고, 자기 일을 비평하라. 매일같이 지금 있는 기술들을 다듬고, 여러분 기술 목록에 새로운 도구들을 추가하라. 당신에..
지금 개발하는 앱에서 그래프를 그릴 때 저장된 모든 데이터를 그리도록 하고 있다. 15분을 측정한 데이터의 경우 데이터 샘플 수가 22500개 정도 된다. 초당 25개의 샘플을 저장하기 때문에 3분만 측정을 해도 4500개가 된다. 그렇다보니 syncfusion 에서 제공하는 open source 로 그래프를 나타내고 있는데, 그래프를 화면에 그리는데 긴 시간이 걸린다. 15분 측정 데이터를 화면에 뿌리려고 하니 10초 이상의 로딩 타임이 걸리는 것을 확인 했다. 어떻게 하면 이것을 줄일 수 있을까 싶어서 검색해보았다. 참고 자료 1. https://www.syncfusion.com/forums/175573/high-amount-of-data-points-block-the-whole 이 자료에서 질문자는..
현재 만들고 있는 앱에서는 Get 패키지를 사용하고 있다. Get 패키지에서 snackbar 를 실행하기 위해서는 Get.snackbar() 명령을 주면된다. 버튼을 누르면 snackbar 가 뜨도록 만들었는데, 버튼을 연속으로 누를 시, 즉 snackbar 가 화면에 띄어져있는 상태인데도 계속 버튼을 누를경우, 누른 횟수만큼 queue 에 쌓여있다가 그 횟수 만큼 snackbar 가 실행되는 문제가 있어다. 이를 간단히 처리하기 위해 if(SnackbarController.isSnackbarBeingShown != true) { Get.snackbar(title, contents); }
- Total
- Today
- Yesterday
- error
- UI
- 디자인
- position
- TextFormField
- IOS
- 앱 프로그래밍
- 이미지
- hide
- DART
- 다트
- Bluetooth
- 인사이트
- Flutter
- 크롬
- firebase
- Syncfusion
- 앱개발
- 한빛미디어
- 앱
- addPostFrameCallback
- BLE
- UX
- 에러
- 플러터
- TextField
- Chrome
- 문제 해결
- plugin
- SizedBox
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |