반응형

전체 글 77

4. Dart Flutter, 플러터의 비동기식 Future, await 그리고 async

포스팅이 점점 더 기초적으로 가지만, 짚고 넘어가야 할 것 같아서 작성하게 되었다. 앞서 Dart의 비동기의 작동방식을 살펴보았다. 그러면 어떻게 사용하는지 살펴보자. 바쁜 사람을 위한 빠른 결론! Dart Flutter에서 비동기식을 사용할 때 Future, async, await를 사용한다. 함수 이름 앞 Future은 반환을 나타낸다. 가독성을 위해 적는것을 추천하지만, 생략해도 무방하다. await를 사용하기 위해서는 반드시 async가 적혀있어야한다. await를 사용하면 비동기 함수가 끝날때까지 기다리며, await를 사용하지않으면 기다리지않는다. 비동기함수가 끝났음을 알리고싶다면 Callback함수를 이용하여 알릴 수 있다. 직전 포스팅을 안 읽은 사람들을 위해 Dart 공식홈페이지 링크를 ..

Study/Dart,Flutter 2021.07.28

3. Dart Flutter, Asynchronous, Isolates와 Event Loop 에 관한 고찰

오늘은 이론적인 내용을 다뤄보도록 하자. Flutter로 개발을 하면 흔하게 사용하는 Future, async 그리고 await가 비동기식으로 작동하는 원리를 파악해보려고 한다. 먼저 Dart 공식 홈페이지에서 찾아보았다. https://dart.dev/codelabs/async-await Asynchronous programming: futures, async, await Learn about and practice writing asynchronous code in DartPad! dart.dev 읽어보면 Asynchronous 즉 비동기식 프로그래밍, futures, async 그리고 await에 관련된 내용이 나온다. 비동기식이란 동시에 일어나지 않게 일처리 하는 방식을 뜻하며, 동기식의 반대되는..

Study/Dart,Flutter 2021.07.23

2. CCTV Usecase Diagram(유스케이스 다이어그램)

개발에 앞서, 어떠한 기능을 구현할 것인지 구체화하고 시각화해야 한다. 개인적인 프로젝트를 여러 개 진행해 보았을 때, 무작정 개발하는 것과 차근차근 단계별로 진행했을 때 장단점을 많이 느끼게 되었다. 직접 적어서 정리를 해보자면, 장점 무작정 개발 : 초기 개발 속도는 가장 빠르다. 무언가를 한다는 생각에 열정이 솟아난다. 단계별 진행 : 내가 무엇을 해야 하고 어떤 걸 해야 하는지 정해져 있다. 목표가 정해져 있다. 단점 무작정 개발 : 개발 초기를 넘어설 때부터 기능 구현에 대한 정리가 잘 되지 않는다. 목표가 모호하다. 전혀 필요 없는 기능을 구현할 수 있다. 단계별 진행 : 단계별을 하려다가 개발 속도가 느리고 지지부진해질 수 있다. 개발한다는 생각이 많이 들지 않아서 열정이 상대적으로 덜 솟아..

2. 플러터 Navigator와 onGenerateRoute그리고 popUntil 의 고찰

앱 페이지를 넘기는 과정 중, PushName과 Pop만 사용하다가 popUntil을 사용해야 했다. 별생각 없이 PushNamed처럼 popUntil을 사용하는데 검은색 화면만 떠서 왜 안 될까 했는데 이번에 해결을 해서 포스팅하기로 했다. 바쁜 사람을 위한 결론! MaterialApp 혹은 CupertinoApp의 Parameter, onGenerator에 RouteGenerator을 선언했다고 popUntil이 되는 것이 아니다. 정확히는 ModalRoute.withName에 저장이 되지 않는다. ModalRoute.withName으로 Page이름을 적기 위해서는 Navigator push 할 때 MaterialPageRoute 또는 CupertinoPageRoute의 Parameter, setti..

Study/Dart,Flutter 2021.05.15

1. CCTV 프로젝트 개발환경

시작 계기: 주택으로 이사한 후, 출입구에 아무런 방범시스템이 없어서 CCTV를 설치하고자 이 프로젝트를 하게 되었다. 나의 개인적인 프로젝트이지만, 완성한 후에는 필요한 사람들을 위해 github에 내 소스코드를 공개할 예정이다. 개발환경 설정부터 세팅은 건너뛸 수 있지만, 전공분야가 아닌 사람들을 위해 그리고 내가 하나하나 다시 공부한다는 생각으로 모든 걸 작성해보겠다. 개발환경 PL : Python 3.7.7 IDE : VSCode, Pycharm Platform : Anaconda 4.10.1 OS : Windows 10 Pro, Raspberry Pi OS(Raspbian) Device : Raspberry Pi 3B+, 3MP WIFI IP CAMERA (A8B)(AliExpress에서 4만 ..

1. Dart Flutter, Future의 whenComplete, then 그리고 catchError의 고찰(수정)

Flutter로 앱 개발 중, 비동기식에 Future의 WhenComplete와 Then의 차이점이 문득 궁금해졌다. 그리고 catchError는 어떻게 작동할까? 바쁜 사람을 위해 결론! Then과 whenComplete는 역할이 다르다. Then은 Error가 없다면 결괏값을 value로 받아서 실행한다. 하지만, Error가 Return 되면 출력이 되지 않는다. WhenComplete는 Future가 끝나면 무조건 실행된다.(Error 발생 유무에 관계가 없다.) catchError는 Error가 Return이 될 때 작동하며, Error가 Return 되더라도 catchError가 있다면 Then이 실행된다. 1. Then, whenComplete, catchError,는 try, catch, ..

Study/Dart,Flutter 2021.05.12
반응형