일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Stream
- llm을 활용 단어장 앱 개발일지
- ARM
- pytorch
- Image Processing
- DART
- system hacking
- C++
- BOF
- BAEKJOON
- Flutter
- rao
- Got
- 파이토치 트랜스포머를 활용한 자연어 처리와 컴퓨터비전 심층학습
- study book
- Widget
- MDP
- Dreamhack
- Computer Architecture
- Kaggle
- 영상처리
- bloc
- Algorithm
- ML
- PCA
- FastAPI
- BFS
- 백준
- fastapi를 사용한 파이썬 웹 개발
- MATLAB
- Today
- Total
목록Flutter (44)
Bull

앱 설명은 기회되면 하는 걸로. 캡스톤 프론트 영역 맡으면서 살짝 후회하긴 했지만 그래도 완성도는 높다고 스스로 평가할 수 있을 것 같다.AI도 하고 싶었지만 괜히 애매한 지식으로 나서다가 팀원한테 피해주기 싫어서 프론트를 한 것도 있고 프론트가 더 재밌을 거 같았다.

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 폴더 아래..

바쁘다는 핑계로 일을 수월하게 진행하지 못한 것 같다. 핑계는 아니지만 바쁘긴 바쁘니까 이번 일지는 핵심만 기록해두는 걸로 하겠다.페이지 위젯 소개태그 페이지기본 태그 페이지는 ListTile을 이용하여 간단하게 나타냈다.내부 태그 표시그룹을 펼치면 "그룹 이름 편집", "태그 편집" 태그들이 나열된다. 여기서 그룹 이름 편집과 태그편집 버튼의 디자인이 너무 구조가 별로인 거 같아서 수정을 하고 싶었지만 마땅히 생각나는 디자인이 없었다.그룹 이름 변경 다이얼로그이름을 변경할 수 있다.태그 변경 다이얼로그Chip을 사용해서 태그를 선택,비선택하여 그룹에 원하는 태그를 넣을 수 있다.편집 옵션앱바 우측 상단의 메뉴이다. 이부분은 단어 삭제시 나타나는 다이얼로그와 디자인이 일치한다. 그 디자인이 마음에 들지 ..

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..

서론과 결론을 미리..단어에 대한 기능은 거의 완성했다. 아직 완성시킬 기능들(채팅서랍, 스트릭, 태그 찾기 등)을 모두 완성하지 못했지만 로그인 기능을 구현하고 싶었다. 사용자 인증 서비스는 파이어베이스 서드파티를 이용할 것이다.그런데 이메일이 하닌 구글 OAuth 인증을 통해서 가입을 구현하고 싶었다. 결론부터 말하자면 구현은 성공했는데 User 모델을 만들고 나니 여러 Bloc과 통신해야할지 user bloc만으로 모든 상태를 관리할지 지식이 부족했었다.하지만 user bloc으로 모든 걸 구현하면 bloc 패턴에 적합하지 않을 거 같았다. 그리고 아직 로컬DB 밖에 하지 않았기 때문에 서버 DB를 구현해야 한다. 그래서 나는 로그인 인증만 하고 아직 완성안된 기능들을 먼저 만들어야겠다고 생각했다...

항상 기능을 넣을 때 신중히 작성한다. 그래서 어떤 것이 우선순위를 두어야 할지 고민을 많이 했다. 이전에는 단어 데이터를 json으로 받는 방법을 성공했다. 이제 받은 단어 데이터를 bloc으로 관리하고 SQLite로 저장하여 앱을 껐다가 다시켜도 데이터를 유지할 수 있도록 바꿔보겠다. 작성날이랑 개발날이랑 갭차이가 있어서 약간 까먹었다. 순서가 정확하지 않을 수 있다.Word Bloc일단 event와 state 정의는 다음과 같다.import '../../models/word.dart';abstract class WordEvent {}class LoadWord extends WordEvent {}class AddWord extends WordEvent { final Word word; AddWor..

내가 하고 있는 아르바이트의 수강생의 질문이었다. 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: [ ..