네이버 클라우드 플랫폼에 로그인하고, Papago NMT API의 사용을 신청하여 Client ID와 Client Secret을 발급.통신을 위하여 http 패키지 설정. pubspec.yaml 파일에 다음을 추가:dartdependencies: http:
InkWell과 GestureDetector 둘 다 Flutter에서 사용자 인터랙션을 처리하기 위한 위젯이다. 하지만, 사용 목적과 제공하는 기능에 있어서 차이가 있다.다양한 제스처를 쉽게 처리할 수 있다.사용이 간단하며, 많은 종류의 사용자 입력을 감지할 수 있다.
바인딩(Bindings)은 Getx 프레임워크에서 제공하는 기능으로, 의존성 주입(Dependency Injection)과 라이프사이클 관리를 용이하게 해주는 메커니즘이다. 바인딩을 사용하면 컨트롤러, 서비스, 또는 다른 의존성들을 특정 스크린 또는 라우트와 연결하여,
사내 UI/UX를 위해 상단에서 내려오는 바텀시트를 구현하고자 하기 위해 아래와 같이 고찰하였다.showModalBottomSheet 함수는 이름에서 알 수 있듯이 바텀 시트를 모달 형태로 보여주는 데 특화되어 있다. 이 함수를 사용하면 화면 하단에서 위로 슬라이드되며
Flutter에서 showModalBottomSheet와 같은 모달 방식의 위젯을 사용할 때, 이러한 모달은 일반적으로 상태를 가지지 않는(context-free) 상태에서 생성된다.showModalBottomSheet 함수는 현재의 위젯 트리와 독립적으로 새로운 Bu
바텀시트의 height을 수동으로 조절하여도 일정 사이즈 이상으로는 늘어나지 않았다.이유가 무엇일까?Flutter의 showModalBottomSheet 함수를 사용하여 바텀시트를 생성할 때, 기본적으로 바텀시트의 높이는 내부 컨텐츠의 크기에 따라 결정된다. 하지만 이
토큰 만료 시, 토큰을 재발급 받고 이전 요청을 이어가기 위해 본 로직을 짰다.부족한 점이 있을 수 있다. Dio를 통한 로직임을 참고API 클래스는 kReleaseMode와 환경 변수(dotenv)를 사용하여 앱이 현재 개발 모드인지 배포 모드인지를 판단. 개발 모드
아래로 스크롤을 했을 때, 흰화면이 보이는 이슈를 겪었다. 오버스크롤에 대해 알아보자오버스크롤(OverScroll)은 사용자가 스크롤 가능한 콘텐츠의 시작점 또는 끝점을 넘어서 계속해서 스크롤을 시도할 때 발생하는 효과다.오버스크롤은 주로 스크롤이 끝에 도달했음을 시각
GetView는 Flutter에서 GetX 라이브러리를 사용할 때, 상태 관리와 의존성 주입을 더 쉽게 하기 위해 제공되는 유틸리티 위젯 중 하나다. 일반적으로 Flutter에서는 StatelessWidget과 StatefulWidget을 사용하여 UI를 구성한다. G
사내에서 동적으로 여러 위젯이 생성됨과 동시에, UIUX를 고려한 여러 커스텀이 필요한 Carousel의 구현이 필요하였다. 커스텀, 빠른 구현, 추후 유지보수를 위한 커뮤니티 활성화를 위해 아래 후보들을 취합하였다.특징: Flutter 프레임워크에 기본적으로 포함되어
Flutter에는 iOS의 UITextField에 해당하는 autocapitalizationType 속성이 없다. 즉, 키보드의 자동 대문자화 설정을 직접 조절하는 속성이 없다.나의 경우에는 특정 상황에서 첫 글자는 소문자로 시작해야했기에, 아래와 같은 로직을 추가하였
사내 기능 구현 중, 곱셈 문제를 푸는 기능이 있다. 문제 풀이 시, 타이머가 노출되어야하는 부분이 있었다.Ticker와 Timer는 Flutter에서 시간 기반의 작업을 수행할 때 사용되는 두 가지 다른 메커니즘이다. 이 둘은 사용 목적과 작동 방식에서 차이가 있다.
Foreign Function Interface(FFI)는 한 프로그래밍 언어에서 다른 프로그래밍 언어로 작성된 함수나 서비스를 호출할 수 있게 해주는 매커니즘이다. FFI를 사용하면 예를 들어, 고성능이 필요한 애플리케이션의 특정 부분을 C 언어로 작성한 후, Pyt
부끄럽지만, 플러터를 진득하게 공부를 하고 프로젝트에 투입이 된게 아니다보니지금에 와서야 당연히 알고있어야할 부분을 학습하게 된다.Class형과 함수형을 명확하게 구분하지 않고 사용을 했던 스스로가 부끄럽다.아래 링크에서 플러터팀의 입장을 알 수 있다.https
🚀개념 훓기 좋은 수준의 답변입니다. 꼭 해당 질문들에 대해 공부하실 것을 권장합니다.1\. 플러터(Flutter)란 무엇이며 왜 사용되나요? 플러터는 구글이 개발한 오픈 소스 UI 소프트웨어 개발 키트입니다. 단일 코드베이스로 iOS, Android, 웹,
면접을 보다가 CustomPaint 사용 경험에 대한 질문을 받았다.나는 여태껏 일반적인 애니메이션 위젯을 통한 처리와 Rive를 통한 처리를 했을 뿐, Custom Paint에 대한 경험은 없어 굉장히 아쉬웠었다.커스텀 페인터는 플러터에서 제공하는 방법 중 하나로,
Flutter에서 Stack 위젯은 여러 자식을 겹쳐서 표시할 수 있게 해주는 레이아웃 위젯이다. 이를 통해 자식 위젯들이 Z축 방향으로 쌓여서 복잡한 오버레이 또는 다양한 시각적 효과를 쉽게 구현할 수 있다. Stack은 주로 배경에 큰 이미지나 컨테이너를 두고 그
아이콘 버튼을 사용할 때마다, 커스텀한 디자인에 맞춰 정확한 적용이 필요한 경우가 있다. 그러나 아이콘 버튼은 기본 패딩을 가지고 있어, 플러터를 막 시작한 나를 당황하게 한 적이 있었다.Flutter에서 IconButton의 패딩을 EdgeInsets.zero로 설정
이미지를 서버로 업로드할 때 이미지 크기가 너무 크면 전송 시간이 오래 걸리고, 네트워크 대역폭을 많이 차지할 수 있다. 이를 해결하기 위해 Flutter에서는 이미지 파일을 압축할 수 있다. 이 글에서는 image 패키지를 사용하여 이미지를 압축하는 방법을 알아보겠다
프로젝트 진행 시에 Sacffold의 body 속성과 Indexed Stack을 함께 사용하는데 있어 레이아웃 복잡도가 생겨 자식 위젯들이 겹치는 이슈가 발생했다.거기에 더해 나는 FAB까지 사용을 하는데 endflot위치가 바텀 내비게이션 바와 ui적으로 가까워 터치
Freezed 도입 이전에 직렬화와 불변 객체 생성에 대한 이해 개념이 필요하다.본 글은 코딩 공부를 시작하는 조카를 위해 최대한 쉽게 설명해보겠다.불변 객체는 한 번 만들어지면 그 값을 바꿀 수 없는 객체다. 예를 들어, 생성한 게임 캐릭터가 있다고 생각해보면 이 캐
이번 프로젝트에서 styled widget 패키지를 사용하고 있어, 간략하게 패키지에 대해 정리한다.Styled Widget은 Flutter 애플리케이션에서 위젯의 스타일을 더 쉽고 체계적으로 관리할 수 있게 해주는 패키지다. 이 패키지를 사용하면 위젯의 스타일을 선언