일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 역사
- 메이지유신
- constraint
- IntrinsicWidth
- navigator
- 고사성어
- swiftUI
- DART
- NATO
- 동아시아
- 근대화
- 육서
- overlay
- 조지레이코프
- 이미테이션게임
- 상대성이론
- 제약
- 앨런튜링
- 한자
- Flutter
- 정규표현식
- GridView
- 영화
- 튜링기계
- 사자성어
- mixin
- 경황
- column
- jetpack compose
- 부호화
- Today
- Total
목록DART (12)
인문주의 사피엔스
Flutter의 프로그래밍 언어인 Dart의 문법은 C, C++, JAVA 등 이전의 프로그래밍 언어들과 비교할 때 효율적이면서도 훨씬 간결해졌습니다. 그런 만큼 기존에 볼 수 없었던 생소한 내용도 많이 있습니다. 그런 생소한 내용 가운데 하나가 클래스에 관한 문법입니다. 다음은 Dart 언어의 문법을 전체적으로 훑어보는 데 도움이 되는 공식 웹페이지입니다. Dart basics | Dart Introduction to Dart A brief introduction to Dart programs and important concepts. dart.dev 인터페이스 일반적으로 인터페이스는 클래스의 API 가운데 외부에 공개할 것들을 모아서 따로 관리하기 위한 목적으로 사용됩니다. 인터페이스를 정의할 때는 ..
Flutter에서 실행 오류를 감지하기 위해서 사용하는 대표적인 방법으로 try catch가 있습니다. 그러나 try catch는 프로그래머가 관심을 두는 특정 위치에서 발생하는 오류를 잡을 때는 유용하지만, 불특정 위치에서 발생하는 오류를 잡는 목적으로는 적당하지 않습니다. 왜냐하면 불특정한 위치는 ‘모든’ 위치를 의미하기 때문입니다. 소스코드의 모든 위치에 try catch를 넣는 것은 불필요할 뿐만 아니라 불가능에 가까운 일이라고 할 수 있습니다. Flutter는 그런 불특정 오류를 다루기 위한 별도의 방법들을 제공하고 있습니다. 그 방법들은 오류의 특성에 따라 아래와 같이 세 가지 종류로 분류할 수 있습니다. 1. Flutter 내부에서 오류가 발생하는 경우 다음 코드는 버튼이 눌려졌을 때 오류를..
Overlay는 Flutter로 만든 앱의 화면 맨위에 독립적인 위젯을 추가할 때 사용하는 클래스입니다. 아래 그림은 Overlay의 사용법을 테스트하기 위해 만든 예제 앱의 화면입니다. Add 버튼을 누를 때마다 화면에 100x100 크기의 사각형이 하나씩 추가됩니다. Remove 버튼을 누르면 마지막에 추가된 사각형이 화면에서 제거됩니다. 각 사각형의 위치와 색깔은 무작위로 선택되고 위치를 나타내는 숫자가 그 위에 표시됩니다. Overlay 클래스 Overlay의 사용법은 Stack 클래스와 비슷합니다. 화면에 위젯들을 쌓아올리는 방식입니다. 다른 점은 Overlay를 통해 추가되는 위젯은 앱의 기본 위젯 트리에서 벗어나 독립적으로 존재한다는 것입니다. 따라서 Overlay는 다음과 같이 싱글톤 방식..
Flutter에서 UI 구성을 위해 위젯(widget)을 배치(layout)하는 방식은 위젯의 다양성, 유연성, 확장성 면에서 볼 때 매우 훌륭합니다. 위젯을 제대로 활용하려면 Flutter UI 프로그래밍의 핵심 주제의 하나인 제약(constraint)을 제대로 이해해야 합니다. Flutter 문서가 위젯의 배치와 제약을 상세히 설명하고 있음에도 불구하고 그 내용을 프로그래밍에 적용할 때는 적잖은 시행착오를 겪게 됩니다. 그런 시행착오의 결과로서 위젯의 배치와 제약에 대해 정리해 보기로 했습니다. 다음 공식 웹페이지의 내용을 함께 보면 Flutter의 위젯 배치 방식을 이해하는 데 많은 도움이 될 것입니다. https://docs.flutter.dev/development/ui/layout/constr..