일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- infinity or nan toint
- appstore connect guideline
- 플러터
- app store connect guideline
- 에러
- guideline 4.3(a)
- guideline 1.5
- tflite_flutter
- flutter_dotenv
- exception caught by image resource service
- GetX
- flutter_secure_storage
- .dio
- undefined name
- Flutter
- pub.dev
- exception
- withopacity
- 채팅 메시지 정렬
- dart sdk version upgrade
- app completeness
- flutter doctor -v
- AI
- information needed
- buildcontext
- providernotfoundexception
- app stroe connect guideline
- youtube_player_flutter
- appstroe connect guideline
- permissiondeniedexception
- Today
- Total
목록Flutter (27)
min_chan님의 블로그

Debounce란?Flutter 개발을 하다 보면 사용자의 입력을 실시간으로 반영해야 하는 경우가 많습니다. 그러나 입력할 때마다 즉각적으로 API 요청을 보낸다면, 서버 부하가 커지고 불필요한 요청이 많아질 수 있습니다. 이럴 때 유용한 기법이 바로 Debounce입니다.Debounce는 짧은 시간 내에 발생한 여러 번의 이벤트를 하나의 이벤트로 묶어 처리하는 기법입니다. 사용자의 입력이 끝난 후 일정 시간이 지나야 실행되므로 불필요한 API 호출을 줄일 수 있습니다.Debounce의 필요성실시간 검색 기능검색 입력창에 사용자가 키를 입력할 때마다 API 요청을 보내면, 한 단어를 입력하는 동안에도 여러 번의 네트워크 요청이 발생할 수 있습니다. 이는 서버 부하를 증가시키고, 사용자 경험을 저하시킵니다..

withOpacity is deprecated in Flutter 3.27.0 updateflutter 3.27.0 업데이트로 우리가 자주 사용하던 withOpacity가 이젠 사용할 수 없다.공식 문서에 따르면 이전에는 Color 클래스에 opacity 개념이 있어서 opacity와 withOpacity() 메서드로 나타났고 Opacity는 Color의 alpha 채널을 부동 소수점 값으로 조정하기 위해 도입된 개념이었다고한다. 이제 alpha 값 자체가 부동 소수점 값으로 처리되면서 opacity는 불필요하게 되었고, 이에 따라 opacity와 withOpacity 메서드는 더 이상 사용되지 않으며 제거될 예정이라고 한다.Migrate변경 전final x = color.withOpacity(0.55)..

Flame이란?Flame은 Flutter 기반의 모듈형 게임 엔진으로, Flutter의 강력한 인프라를 활용하면서도 게임 개발을 단순화해주는 엔진입니다.게임 개발에 필요한 루프 시스템, 입력 처리, 이미지 및 스프라이트 관리, 애니메이션, 충돌 감지, 컴포넌트 시스템(FCS: Flame Component System) 등을 제공합니다.또한, Flame의 기능을 확장할 수 있는 Bridge 패키지도 제공하며, 필요에 따라 원하는 기능만 선택적으로 사용할 수도 있습니다.Flame 설치Flame을 사용하려면, pubspec.yaml에 패키지를 추가해야 합니다.최신 버전은 pub.dev 사이트의 Versions에서 확인 가능 Flame 기본 사용법Flame에서 게임을 실행하려면 GameWidget을 사용해야 합..

Key란?위젯의 State를 보존 (State - UI가 변경되도록 영향을 미치는 데이터)위젯이나 요소들을 유니크하게 식별Flutter는 기본적으로 위젯의 타입으로 식별같은 타입의 Stateful위젯을 사용한다면 위젯을 이동시키거나 삭제할 때 문제가 발생하므로 식별을 위해서 Key가 필요Value KeyValue값을 State로 갖는 Stateful위젯에 State를 보존할 때 사용Global Key어떤 요소를 고유하게 식별Global Key는 BuildContext와 같은 요소들과 연관된 다른 외부의 객체들이 접근할 수 있도록 해주는 역할을 한다.Stateful위젯의 State에 접근할 수 있도록 해준다.출처코딩셰프 플러터 조금 매운맛 강좌 18 | 플러터 키 이해하기

null safety란?null이란 값이 존재하지 않음을 의미한다.가장 많은 런타임에러가 발생하는 이유중 하나는 null때문에 발생한다. 그 문제를 해결하기 위해 null safety를 적용하는 것이다.// null safety가 적용된 코드 안에서는 name, b 변수안에 null값을 넣어줄 수 없다.String name = getFileName(); final b = Foo(); null값을 지정해주는 방법해당 변수뒤에 ?를 넣어주면 null값을 넣어줄 수 있다.null값이 아님을 표현하는 방법첫번째 에러: List의 첫번째 아이템은 2인걸 알 수 있으나, List는 널이 가능한 값이므로 변수 b에 넣어줄 수 없다는 에러가 발생했다.두번째 에러: couldReturnNullButDoesnt()가 nu..

서버구축을 위해 open api 연습 중 다음과 같은 에러가 발생하였다. 에러 코드 & 사진index.js// node.jsvar express = require("express");var app = express;app.get("/", (req, res) => { res.json({ "key":"Value" })});app.listen(3000,(req, res) => { console.log(3000);});해결 코드 & 사진해당 코드로 변경해준다.var app = require('express')();var app = require('express')();app.get("/", (req, res) => { res.json({ "key":"Value" ..

1. 문제오..오..오...늘 GetX를 사용하던 중 제목과 같은 에러가 발생하였다. stack overflow를 찾아본 결과 페이지 이동 시 컨트롤러가 dispose된 문제라고 생각했다. 2. 해결 방법#1 - lazyPut을 fenix: true와 함께 사용하여 dispose된 후에도 컨트롤러 복원 가능Get.lazyPut(() => MyController(), fenix: true);#2 - SchedulerBinding.instance.addPostFrameCallback을 사용하여 현재 프레임이 렌더링된 후에 특정 작업을 수행하도록 만들어준다. @override void initState() { super.initState(); SchedulerBinding.instance.add..

에러 메시지원인로컬 변경 사항을 보호하기 위해 flutter upgrade 명령어가 먹질 않는다.해결 방법force 명령어를 사용하여 강제로 업그레이드flutter upgrade --force

플러터 업그레이드를 하고 난 뒤로 flutter doctor -v를 쳐보니 에러가 발생하였다.에러 메시지 & 사진✗ Unable to find bundled Java version.해결 방법 & 사진cmd에 다음과 같이 입력입력 후 다시 flutter doctor -v를 해보면 에러 메시지가 사라진 것을 볼 수 있다 ^^* ❯ cd /Applications/Android\ Studio.app/Contents❯ ln -s jbr jre

Throttle을 사용한 이유버튼과 같은 이벤트를 통해 사용자와 서버 간의 빈번한 데이터 통신은 많이 발생한다.만약 동일한 이벤트에서 과도한 API 호출이 발생하는 경우, 불필요한 네트워크 트래픽 증가와 서버 과부하를 초래할 수 있다.Throttle 기법은 특정 시간 간격 동안 한 번의 작업(예: API 호출)만 실행되도록 제한하는 기법으로 동일한 작업이 연속적으로 호출되지 않도록 하여 서버와 네트워크의 부하를 줄이기 위해 사용하였다.Throttleclass Throttle { bool _isThrottled = false; void call(Future Function() action, Duration duration) async { if (_isThrottled) return; _isT..