본문 바로가기

개발/Dart_Flutter8

비동기 프로그래밍 동기 : 모든 코드가 순차적으로 진행되는 형태 비동기 : 코드가 동시 다발적으로 실행되서, 순차적으로 보장을 할 수 없는 형태 Futere 클래스 / async, await 키워드 : 1회만 응답을 돌려받는 경우 Stream 클래스/ async*, yield 키워드 : 지속적으로 응답을 돌려받는 경우 void main () { Future todo (int second) async{ await Future.delayed(Duration(seconds: second)); print('TODO Done in $second seconds '); } todo(3); todo(1); todo(5); } 위의 사진처럼 비동기 방식은 함수가 동시 다발적으로 실행되기 때문에 순서를 보장할 수 없다. 현재 Future... 2023. 11. 6.
[dart] 가위 바위 보 import 'dart:convert'; import 'dart:io'; import 'dart:math'; void main() { /// 1. 유저에게 어떤 타입을 낼 것인지 물어보는 질의 칭 print('가위, 바위, 보 중 하나를 정해서 입력해 주세요'); final String userInput = stdin.readLineSync(encoding: utf8) ?? 'Error'; //잘 안쓰는 함수 : 콘솔창에서 데이터 받기 /// 2. 컴퓨터가 낼 타입이 어떤 것인지 결정하는 함수 const selectList = ['가위', '바위', '보']; final cpuInput = selectList[Random().nextInt(3)]; print(cpuInput); /// 3. 유저의 타입과.. 2023. 11. 6.
flutter )) tree 삼종세트 Widget Tree 화면을 만들기위해 작성한 위젯을 트리 형식만든다. widget tree는 Element Tree와 1:1로 연결되어 있다. 위젯은 immutable(변하지 않으려는)한 특성을 가지고 있다. Element Tree 변하지 않으려는 위젯 트리 대신에 상태를 관리하고 RenderObject Tree의 라이프 사이클을 관리하는 트리이다. 아래의 사진처럼 위젯 트리와 엘리먼트 트리는 1:1로 연결되었다. 또한 Stateful 위젯은 Element Tree 에 상태가 추가된다. 이때, 재설정이 필요하면 해당 부분만 re-build되기 때문에 리소스 낭비가 아니다. 반대로 stateless 위젯은 상태가 없다. RenderObject Tree RenderObject tree는 Element Tr.. 2023. 11. 3.
flutter )) UI 구성하는 기본 단위 Widget 위젯 이란 화면을 만들어주는 요소이다. 위젯은 icon, text와 같은 눈에 보이는 요소와, margin, padding과 같은 눈에 보이지 않는 요소가 있다. 이런 위젯을 트리 형식으로 조합해 화면을 만든다. 기본적인 Widgt 사용 예제 import 'package:flutter/material.dart'; class Practice extends StatelessWidget { const Practice({super.key}); @override Widget build(BuildContext context) { var _checkbox = true; var _radiobtn = true; return Scaffold( body: SafeArea( child: Container( margin: Ed.. 2023. 11. 3.