Flutter 공식 개발팀에서 지원하는 라우팅 패키지인 go_router는 다양한 기능을 제공한다. 그 중에서도 가장 유용하게 사용할 수 있는 기능인 redirection 사용방법을 기록해놓고자 한다.redirect라는 개념은 go_router에서만 사용되는 것은 아
PROVIDER → RIVERPOD글자 위치만 바꾸면 Riverpod이 된다.Riverpod이 2.4로 업데이트 될 때 Code Generation을 통한 Provider 생성을 기본으로 하는 것으로 Document가 최신화됐다. 이에 더하여 앞으로의 버젼에서는 Cod
앱을 강제로 종료시켜야한다는 기획이나 정책이 있을 수 있다.예를 들어, 알람 권한이나 위치정보 권한 요청을 승인하지 않았을 때 등등안드로이드는 해당 코드가 정상적으로 작동하지만, IOS에서는 현재 위치의 context만 Pop. exit(0) 메소드를 사용하면 IOS
나는 아이폰만 사용한지 10년이 돼서 안드로이드 폰에서 제공하는 뒤로가기 기능에 대해서 망각할 때가 자주 있다. 실제로 페이스북 앱에서 안드로이드 폰에 제공하던 뒤로가기 버튼 기능을 제거하여 이런저런 밈들도 만들어진듯 하다. 하지만 유튜브 같은 대형앱들에서는 대부분
앱을 개발하다보면 네트워크 통신 기능을 개발할 상황이 생깁니다.Flutter는 HTTP프로토콜을 http라이브러리를 통해 네트워크 통신을 지원하고 있습니다.Http 라이브러리만을 통해서 네트워크 통신 기능을 개발할 수 있지만 보일러플레이트 코드의 양이 많아 유지보수가
Flutter에서는 앱 State를 2가지 종류로 구분하여 설명한다.Ephemeral state and App stateEphemeral state (sometimes called UI state or local state) is the state you can nea
https://dart.dev/language/extension-types Dart의 Primitive 타입들은 모두 오브젝트다. 또한 모든 타입 오브젝트들은 다양한 API들을 지원한다. extension은 이런 API에 커스텀 메소드를 추가할 수 있는 기능이다. F
.
Flutter_hooks의 useMemoized() 메소드는 리액트의 그것과 동일하게 복잡한 연산을 가진 메소드의 결과값을 캐싱하여 빠른 출력을 도와준다.실제로 1억개 아이템을 갖는 흉악한 리스트를 만든다.해당 리스트를 Sorting시키고 아이템 마다 3제곱하여 다시
Pretendard와 같이 Variable을 지원하는 폰트스타일이 존재한다.Variable font 기능을 사용함으로 flutter 코드 안에서 다음과 같은 태그를 제어할 수 있게 된다.wght : font-weightwdth : font-stretchsint : 기울
flutter_tts | Flutter Package안드로이드의 경우 minSDK가 존재minSdkVersion 21또한 Native레벨에서 안드로이드는 Pause 기능이 없기 때문에, 임시방편으로 pause를 구현해놓은 상태. 때문에 안드로이드에서 pause 기능을
Riverpod Provider를 사용하다보면 명시적으로 Provider값을 최초 Build에 기입된 값으로 초기화시켜주고 싶거나 아예 메모리에서 소거해버리고 싶은 상황이 생긴다.예를 들어, 사용자 로그아웃을 하면서 사용자 정보를 들고 있던 keepAlive Provi
사내에서 사용자에게 판매하는 보급형 디바이스는 성능이 매우 낮음.이미지 로딩하는데도 오래걸려서, 무조건 로딩화면을 봐야한다.이미지를 미리 캐싱해놔서 로딩 시간을 줄여 사용자 경험을 개선하자!Pre-caching이 실질적 효과를 가지는지를 확인한다.Local Asset과
아래 명령어로 크롬 브라우저 빌드 가능웹 빌드는 그때그때마다 잉여 포트를 랜덤으로 가져가서 사용하니, 필요한 포트넘버가 있다면 —web-port=3000 \*\*\*\*와 같이 지정해서 빌드하도록 하자 main.dart 위치에서 아래 함수로 Url에서 기본으로 달려
대부분의 내용은 깃헙 레포에 올려둠생활코딩 블로그생활코딩 블로그(Express 공식문서)정적 라우팅 / 동적라우팅/profile/:userID동적 라우팅은 path안에 데이터를 넣어 해당 값에 따라 라우팅을 다르게 처리하는 것애플리케이션 내에서 다른 페이지나 뷰로 이동
https://github.com/MinwooRowan/get_it_studyInjectable은 Get_it을 더 유용하게 사용할 수 있도록 돕는 역할.Like Dio & RetrofitGetIt은 싱글톤 서비스 로케이터로, 전역 변수로 할당해 사용하기 쉽고
https://github.com/MinwooRowan/get_it_study레이어 아키텍처를 통한 관심사 분리reusable, lean widgets that hold as little logic as possible.비즈니스 로직과 UI의 분리모듈의 운용S
withOpacity → withValues(alpha:)Freezed 3.0 업데이트 (참고)abstract/sealed modifier 를 클래스명 앞에 붙혀줘야함Dart Constructor처럼 선언하는 것도 가능해짐!! 😍하지만 이때는 JsonSerializa
. Flutter로 앱을 개발하면서 어떻게하면 유지보수에 용이하고 가독성을 높힐 수 있는지 고민해왔다. 여러가지 블로그와 오픈소스 프로젝트에서 공통적으로 얘기하는 건 다음과 같았다. UI와 비즈니스 로직을 분리해라 반복적으로 사용되는 UI코드를 컴포넌트화 해라. 레
감정저장소의 개발과 디자인을 둘 다 진행하면서 느꼈던 회고를 작성합니다.Flutter가 3.10버젼을 릴리즈하면서 SKIA엔진을 Impeller엔진으로 대체했고, 덕분에 UI상의 버벅거리는 현상인 Jank가 많이 줄어들게 됐습니다. Flutter를 1.0 버젼에서부터
새로 구매한 맥북에서 IOS 시뮬레이터를 구동하려고 하니 아래와 같은 에러 메시지가 빌드 과정에서 출력됐다.ERROR:flutter/shell/platform/darwin/ios/framework/Source/FlutterDartVMServicePublisher.mm(
Flutter 버젼을 3.29로 올리고 나서부터 파라미터 마지막 콤마가 자동으로 제거되는 현상을 발견했다.콤마를 통해서 줄정렬을 하고, 코드 가독성을 높혀오는 작업을 해왔는데, 갑자기 지 혼자 콤마를 제거하니 어색하고 매우 불편했다.뭔가 Prettier나 Flutter
Dart는 자바를 베이스로 만들어졌기 때문에 전통적인 tryCatch구문을 통해 예외처리가 가능하다. try로 실행시키고, exception이 발생하면 catch에서 받아서 처리한다. try catch는 짧은 코드에서는 간단하고 직관적이지만, 조금만 코드가 길어지거나
https://fvm.app/documentation/guides/basic-commandshomebrew를 사용해서 fvm 글로벌 설치설치실행설정 후 프로젝트 루트에 .fvm/fvm_config.json 파일이 생성됩니다..vscode/settings.jso