| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Widget
- llm을 활용 단어장 앱 개발일지
- FastAPI
- Algorithm
- MATLAB
- 백준
- Image Processing
- system hacking
- pytorch
- ARM
- 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습
- 영상처리
- Dreamhack
- fastapi를 사용한 파이썬 웹 개발
- DART
- MDP
- Computer Architecture
- BOF
- rao
- bloc
- study book
- Got
- Kaggle
- ML
- Flutter
- C++
- PCA
- BAEKJOON
- BFS
- Stream
- Today
- Total
목록Software Framework/Flutter (40)
Bull
앱 설명은 기회되면 하는 걸로. 캡스톤 프론트 영역 맡으면서 살짝 후회하긴 했지만 그래도 완성도는 높다고 스스로 평가할 수 있을 것 같다.AI도 하고 싶었지만 괜히 애매한 지식으로 나서다가 팀원한테 피해주기 싫어서 프론트를 한 것도 있고 프론트가 더 재밌을 거 같았다.
SQL 쉽게 핸들가능한 ORM 라이브러리라이브러리2025.03.23 기준dependencies: drift: ^2.26.0 drift_flutter: ^0.2.4 path_provider: ^2.1.5 path: ^1.9.0 drift_dev: ^2.26.0 build_runner: ^2.4.15database 정의database/app_database.dartclass Todos extends Table { IntColumn get id => integer().autoIncrement()(); TextColumn get title => text().withLength(min: 1, max: 50)(); BoolColumn get completed => b..
referencepub.dev - bloc_concurrencygithub - bloc concurrencyconceptbloc의 동시성 이벤트 처리를 관리해준다.cubit은 이벤트를 정의하지 않고 메소드로 호출되기 때문에 cubit에서는 XUsageon 등록 메서드의 transformer 프로퍼티에 필요한 메소드를 담으면 된다.typeconcurrent() : 동시에 처리.sequential() : 순차적으로 처리.restartable() : 진행중인 이벤트를 멈추고 다시 시작.droppable() : 이벤트를 진행하는 동안 들어오는 이벤트는 전부 무시.codeconcurrency.bloc.dartimport 'package:bloc/bloc.dart';import 'package:bloc_concur..
https://pub.dev/packages/gafa_indicator gafa_indicator | Flutter packageA gradient flow arc indicator with animations.pub.devhttps://github.com/Chun-Bae/gafa_indicator GitHub - Chun-Bae/gafa_indicator: A Flutter gradient flow arc indicator with customizable animations.A Flutter gradient flow arc indicator with customizable animations. - Chun-Bae/gafa_indicatorgithub.com 앱 개발 중 리니어한 컬러 + 동그란 인디케이..
패키지 설치flutter pub add flutter_riverpodflutter pub add riverpod_annotationflutter pub add dev:riverpod_generatorflutter pub add dev:build_runnerflutter pub add dev:custom_lintflutter pub add dev:riverpod_lint핵심만 짚어보자면,annotaion은 리버팟을 @ (어노테이션)을 통해 코드를 수월하게 관리할 수 있도록 해준다. (쉽게 보자면 생성기 역할을 해주는 것)@riverpod은 리버팟에서 제공하는 애너테이션 기반 프로바이더 생성 방식으로, 이를 통해 수동 코드 작성 없이 프로바이더를 자동으로 생성할 수 있다. build_runner는 코드 중에..
해결방법flutter_launcher_icons: ios: true android: true remove_alpha_ios: true image_path: "assets/icon/icon.png" adaptive_icon_background: "#ffffff" adaptive_icon_foreground: "assets/icon/icon.png"원래는 image_path 까지만 적어줬었는데 혹시나 adaptive_icon_background ,adaptive_icon_foreground 까지 적어주니까 적용됐다. 원래는 필요없는 줄 알았는데...생성된 mipmap 파일들을 보니까 foreground 로 생성되었다. 적응형이 기본으로 들어가서 그런지 mipmap-anydpi-v26 폴더 아래..
ReorderableListViewimport 'package:flutter/material.dart';void main() { runApp(MyApp());}class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Reorderable List Demo', theme: ThemeData( useMaterial3: true, colorScheme: ColorScheme.fromSeed(seedColor: Colors.amber), ), home: ReorderableGroupListPage(..
서론appBar와 BottomBar는 BottomNavigator 때문에 home_page 스크립트에서 관리되고 각 메뉴별 페이지를 렌더링하는 방식이다. 그래서 appBar에 편집 메뉴를 실행하면 tag_page의 method를 사용하고 싶었다.home_page에 HomePage 클래스에 메소드를 선언하고 callBack으로 전달해주어도 되지만 그렇게하면 구조적으로 역할이 모호해지는 게 싫었다.그래서 TagPage에 method를 선언하고 HomePage의 appBar에서 메소드를 호출할 수 있도록 하고 싶었다. 즉 부모 위젯이 자식위젯의 메소드를 사용하게끔 유도해주는 것이다.방법방법은 다음과 같다.1. 글로벌 키 생성// home_page.dartfinal GlobalKey _tagPageKey = G..
내가 하고 있는 아르바이트의 수강생의 질문이었다. ImagePicker에서 이미지를 로드하고 상태 변화에 따라 위젯에 사진을 추가하는 로직인데 이 때 사진의 높이가 크면 스크롤뷰를 통해서 아래 구간에 공간을 추가하고 스크롤을 내려서 확인할 수 있는 위젯이다. 이때 scrollToBottom 메소드를 호출해서 스크롤을 아래쪽으로 자동 모션을 진행한다. 하지만 그래서 버튼 부분에 await을 통해 chooseImage를 호출하고 scrollToBottom을 호출하는 형식으로 진행했다. 하지만 이 이론에서 버그가 생겼다. 이미지 로드 -> 상태 변화 감지 -> 자동 스크롤 -> 재렌더링으로 일어나기 때문이다. 이렇게 되면 사진을 추가해도 재렌더링되기 전의 상태에서 scrollToBottom을 호출하기 때문에 ..
https://api.flutter.dev/flutter/widgets/StatefulBuilder-class.html StatefulBuilder class - widgets library - Dart APIA platonic widget that both has state and calls a closure to obtain its child widget. The StateSetter function passed to the builder is used to invoke a rebuild instead of a typical State's State.setState. Since the builder is re-invoked when the StateSettapi.flutter.dev StatefulB..
편의상 작업하던 프로젝트에서 예제를 적용하여 보이겠습니다.1. AlertDialog가장 일반적인 다이얼로그로, 경고 메시지나 중요한 정보를 사용자에게 알릴 때 사용한다. 제목(title), 내용(content), 그리고 하나 이상의 버튼(actions)으로 구성된다.showDialog( context: context, builder: (BuildContext context) { return AlertDialog( title: Text('AlertDialog Title'), backgroundColor: Colors.white, content: Text('This is the content of the AlertDialog.'), actions: [ ..
ChangeNotifierProvider주로 객체의 상태가 변하고, 이 상태 변화에 따라 UI를 업데이트해야 할 때 사용한다. ChangeNotifier를 상속받은 클래스에서 상태를 관리한다. 이 클래스는 상태가 변경될 때 notifyListeners() 메서드를 호출하여, 이 상태를 구독하고 있는 모든 위젯들이 리빌드되도록 알린다.쇼핑 카트에 항목을 추가하거나 삭제할 때, 이런 상태 변화는 UI에 반영되어야 하므로 ChangeNotifierProvider를 사용한다.class CartModel extends ChangeNotifier { List _items = []; List get items => _items; void addItem(Item item) { _items.add(item);..