반응형

Study/Dart,Flutter 25

22. [Flutter] 상태 관리(Riverpod)를 이용하여 비동기 관리하기

이번에는 Flutter의 riverpod을 이용하여 비동기관리에 대해서 설명하도록 하겠다.https://riverpod.dev/ko/ Riverpod어디서나 공유 상태 선언하기 더 이상 main.dart과 UI 파일 사이를 오갈 필요가 없습니다. 공유 상태의 코드를 별도의 패키지에 넣든, 필요한 위젯 바로 옆에 넣든, 테스트 가능성을 잃지 않고 적절riverpod.dev우선 공식자료는 다음과 같다. Riverpod이란?우선 들어가기에 앞서 riverpod이 무엇인지 알아보도록 하자.https://github.com/rrousselGit rrousselGit - OverviewFlutter enthusiast. You'll find me on stackoverflow. Or as a speaker in F..

Study/Dart,Flutter 2024.06.20

22. [Flutter] 알면 매우 정말 너무 좋은 패키지들 [1부]

Clean architecture에 대해서 포스팅하다가 좋은 패키지들에 대한 내용 소개가 필요할 거 같아 작성하게 되었다. 사용하기 좋은 패키지 1. Freezed https://pub.dev/packages/freezed freezed | Dart package Code generation for immutable classes that has a simple syntax/API without compromising on the features. pub.dev Clean architecture에서 Domain Layer는 애플리케이션의 핵심 비즈니스 논리를 포함해서 외부 프레임워크나 라이브러리에 의존하지 않아야 하며, 데이터모델을 불변으로 만들어 안정성을 높이는 게 중요하다. 이 Freezed 패키지..

Study/Dart,Flutter 2024.03.13

21. [Dart] dart의 factory그리고 singleton에 대하여

언젠가 Flutter모임에 나가서 이런저런 이야기를 나누다가 어떤 분이 이러한 말씀을 해주셨다. "dart의 factory에 대해서 한국어로 구글링하면 첫 페이지의 대부분은 전부 틀린 내용으로 작성이 되어있어요. 싱글톤에 대한 내용과 구분을 못해요." 그걸 듣고 "아 나라도 제대로 된 내용을 포스팅해보자!" 라는 생각에 포스팅을 하게 되었다. Dart 키워드 factory란? dart에서 factoy는 Design pattern에서의 factory pattern과 전혀 다른 것이다. design pattern의 factory는 아래의 링크를 참고하자. https://refactoring.guru/ko/design-patterns/factory-method 팩토리 메서드 패턴 / 디자인 패턴들 / 생성 패..

Study/Dart,Flutter 2024.01.13

20. [Dart, Flutter] extension활용하여 가독성 높이는 코드작성하기 [2부]

드디어 Extension을 Flutter에 활용해보도록 하자. 어떻게 활용하면 좋은지 혹시 감이 오는사람이면 코딩이 소질이 좀 있다고 할 수 있다. 만약 안 떠오른다면 그래도 속상해하지말고 이 포스팅 글을 읽고 따라하다보면 보는 시야가 넓어질 것이다. 자 이제 시작해보자. dart extension 복습 앞서 포스트를 보지 않은 사람들을 위해 링크를 추가해주고 짧게나마 설명을 하겠다. https://pcseob.tistory.com/68 19. [Dart, Flutter] extension에 대하여 [1부] 앞서 enum에 이어 드디어 extension에 대해 알아보도록 하자. 왜 extension을 설명하려고 하냐면, 가독성에 있어서 이점이 너무나도 많다. 다만 바로 들어가면 어려우니 기본적인 내용 1..

Study/Dart,Flutter 2024.01.08

19. [Dart, Flutter] extension에 대하여 [1부]

앞서 enum에 이어 드디어 extension에 대해 알아보도록 하자. 왜 extension을 설명하려고 하냐면, 가독성에 있어서 이점이 너무나도 많다. 다만 바로 들어가면 어려우니 기본적인 내용 1부, 활용하는 부분 2부 로 나누어서 작성하도록 하겠다. Extension 이란 무엇인가 extension 이란 직역하면, 확장이란 뜻이다. 말 그대로 확장한다는 뜻인데 어떤것을 확장하는지 코드를 보고 확인하자. enum SexType { man(toKorean: "남성"), woman(toKorean: "여성"), none(toKorean: "선택안함"); final String toKorean; const SexType({required this.toKorean}); } extension SexTypeEx..

Study/Dart,Flutter 2024.01.08

18. [Dart, Flutter] dart enum에 대하여

다음 포스팅의 Extension을 위해, 오늘은 dart의 enum에 대하여 간단하게 알아보자. 1. Enum 1.1 Enum이 무엇인가? https://dart-ko.dev/language/enum 열거 타입 Dart의 열거 타입에 대해 학습합니다. dart-ko.dev 여기에 한국어로 적혀있지만, 설명을 하도록 하겠다. 전체이름은 Enumerations, 직역하면 열거형, 목록 이라고 할 수 있다. 이 타입은 상수값을 가지는 클래스라고 할 수 있다 이게 무슨뜻인지 정확하게 코드를 보며 이해해보자. enum Color { red, green, blue } enum SexType { man, woman, others} enum Country {korea, usa, ...} 대충 이렇게 지을 수 있다. 이..

Study/Dart,Flutter 2024.01.08

[Flutter] Android13 권한 READ_EXTERNAL_STORAGE 와Permission_handler

굉장히 오랜만에 블로그 포스팅을 하게되었다. 우선. 이번 포스팅은 Android13 권한문제때문에 작성하게되었다. Flutter Version Flutter 3.10.5 • channel stable • https://github.com/flutter/flutter.git Framework • revision 796c8ef792 (3 months ago) • 2023-06-13 15:51:02 -0700 Engine • revision 45f6e00911 Tools • Dart 3.0.5 • DevTools 2.23.1 기존 권한설정 우선 Flutter -Android 에서 핸드폰의 내부데이터를 접근하기위해서 사용하는 권한은 다음과 같다. AndroidManifest.xml을 살펴보면 와 같은 권한 설정..

Study/Dart,Flutter 2023.08.28

[Flutter] 디자인패턴 MVVM과 riverpod (1부 MVVM)

이번에 디자인패턴 MVVM과 riverpod에 대해서 알아보도록 하자. 우선 MVVM이 무엇인지에 대해서 알아보자. MVVM이란? MVVM은 Model, ViewModel, View를 줄임말이다. 각각에 대해서 보자면 Model : 애플리케이션에서 사용되는 데이터와 데이터를 처리하는 부분 View : 유저에게 보여지는 UI 부분 Controller : 유저의 입력(Action)을 받고 처리하는 부분 이렇게 나누어진다. Model의 예시는 아래의 코드와 같다. 이렇게 코드를 작성하는게 일반적으로 Model이고 이 부분에서 jsonSerialize를 적용하게 된다. 다음은 View에 대한 예시코드를 살펴보자. 선언형 UI를 사용하는 플러터에서 화면을 선언하는 부분을 View로 보는 것이 일반적이다. 안드로이..

Study/Dart,Flutter 2023.03.18

17. [Flutter] 플러터의 성능향상을 위한 꿀팁 (3부 const)

오늘은 플러터 성능을 올리는 방법 중 const에 관한 내용을 포스팅해보겠다. 플러터 linter 우리는 플러터로 코딩을 하다보면 다음과 같은 줄들을 발견할때가 있다. 이렇게 파란색줄로 등장하는것은 lint라고 하는데, 일반적으로 코드가 최적화가 되어있지 않거나, '이렇게 사용하는 것은 피해라' 라는 뜻으로 알려준다. 물론 이걸 삭제하는 방법도 있는데, 이 lint를 삭제하면 더이상 파란색 줄은 뜨지않는다. 근데 이게 근본적인 해결책은 아니니 다시 살펴보자. 이렇게 사용하지 말아라. 라는 뜻은 개선을 하고 개선한다면 더 좋은 퍼포먼스가 발생한다는 뜻이다. 그래서 이게 왜 문제가 되느냐. 플러터도 화면을 랜더링을 하는 과정을 거친다. statelessWidget에서는 랜더링이 진행되지않지만, 상위 부모위젯..

Study/Dart,Flutter 2023.03.10

[Flutter, 플러터] path_provider_ios 및 FirebaseCoreDiagnostics 오류 해결

간단한 버그해결포스팅이다. 회사에서 Flutter 개발하다가 드디어 3.7버전이 나와서 업데이트를 할까말까 고민하다가 결국 업데이트를 하며 pub major update를 했다. 이런저런 오류가뜨다가 iOS에서 정말 답답한 버그가 두가지 나왔다. Famework not found FirebaseCoreDiagnostics 이 오류가 xcode에서 뜨며 iOS 빌드가 되지않았다. 그래서 한참을 고민하다가 해결책을 찾았다! Flutter프로젝트 -> ios -> Runner.xcodeproj -> project.pbxproj 에서 "FirebaseCoreDiagnostics", "-framework", 이걸 모두 찾아서 삭제하면된다. Framework not found path_provider_ios 이 문..

Study/Dart,Flutter 2023.01.31
반응형