본문 바로가기
반응형

Flutter/Study17

Saga 디자인 패턴이란? 플러터 예시를 통한 이해하기(분산서버) Saga 디자인 패턴은 분산 시스템에서 롱 트랜잭션(Long Transaction)을 처리할 때 사용되는 패턴입니다.특히 여러 서비스가 연관된 복잡한 작업을 처리할 때 유용합니다.이 패턴의 핵심은 트랜잭션을 작은 단위로 나누고, 각 단위가 실패했을 때 롤백하는 방법을 제공하는 것입니다.왜 Saga 디자인 패턴이 필요한가요?일반적으로 데이터베이스에서 트랜잭션이 여러 단계를 포함할 때, 모든 단계를 하나의 큰 트랜잭션으로 처리하는 것은 효율적이지 않습니다.대신 각 단계를 독립적으로 처리하고, 실패한 경우 보상 작업(compensation action)을 통해 롤백하는 방식으로 문제를 해결할 수 있습니다.이렇게 하면 시스템의 안정성을 높이고, 장애 발생 시 더 쉽게 문제를 해결할 수 있습니다.Saga 패턴의 .. 2025. 3. 22.
플러터 오버플로우 대처법 플러터(Flutter)에서 오버플로우(overflow)를 방지하는 방법은 UI 레이아웃을 설계할 때 흔히 발생하는 텍스트나 위젯이 화면을 벗어나는 문제를 해결하는 데 초점을 맞춥니다.오버플로우는 주로 제한된 공간에 너무 많은 콘텐츠가 들어가거나 크기가 고정되지 않은 위젯이 사용될 때 발생합니다.아래는 오버플로우를 방지하기 위한 주요 방법들입니다:1. `Flexible` 또는 `Expanded` 사용설명 : `Row`나 `Column` 내에서 위젯이 차지할 공간을 유연하게 조정하려면 `Flexible` 또는 `Expanded`를 사용하세요. 이렇게 하면 위젯이 남은 공간을 적절히 나누어 오버플로우를 방지할 수 있습니다.예제Row( children: [ Expanded( .. 2025. 3. 20.
[애드센스] 구글 블로거에 ads.txt 파일 설치하기! 초보자도 쉽게 따라할 수 있는 방법 안녕하세요! 오늘은 구글 블로그에 ads.txt 파일을 설치하는 방법에 대해 알아보겠습니다.ads.txt는 광고 사기를 예방하고 광고 수익을 안전하게 보호하는 중요한 파일인데요, 이 파일을 설정하면 블로그에서 더 신뢰할 수 있는 광고를 받을 수 있습니다.그럼, 초보자도 쉽게 따라할 수 있도록 단계별로 설명해드릴게요!1. ads.txt 파일 만들기먼저, ads.txt 파일을 만들어야 합니다.이 파일에는 여러분의 블로그에 광고를 제공할 수 있는 광고 네트워크들의 정보를 담고 있어요.예를 들어, 구글 애드센스나 다른 광고 네트워크의 정보를 추가할 수 있습니다.ads.txt 파일 예시google.com, pub-1234567890123456, DIRECTrubiconproject.com, 12345, RESEL.. 2025. 3. 9.
플러터에서 screenshot 패키지를 사용하여 이미지 생성 후 share_plus로 공유하기 Flutter 앱에서 특정 화면이나 위젯을 이미지로 저장하고, 이를 공유하는 기능을 구현하는 방법을 알아보겠습니다. 이를 위해 screenshot 패키지로 화면을 캡처하고, share_plus 패키지로 공유하는 기능을 추가합니다.1. 패키지 추가하기먼저 pubspec.yaml 파일에 아래 두 가지 패키지를 추가합니다.dependencies: flutter: sdk: flutter screenshot: ^3.0.0 share_plus: ^10.1.4 터미널에서 다음 명령어를 실행하여 패키지를 설치합니다.flutter pub get2. ScreenshotController 초기화하기screenshot 패키지를 사용하려면 ScreenshotController를 생성하고, 해당 컨트롤러로 캡처할 위젯.. 2025. 3. 9.
HomeScreen({super.key}); vs HomeScreen({Key? key}) : super(key: key); 무슨 차이? 결론적으로 말하면 두 코드의 차이점은 명시적인 키 전달 여부입니다.1️⃣ HomeScreen({super.key});✅ 설명Dart의 super parameter shorthand(슈퍼 매개변수 단축 문법)를 사용한 형태입니다..super.key는 부모 클래스(StatefulWidget 또는 StatelessWidget)의 생성자로 자동 전달된다는 뜻입니다.즉, super.key는 사실상 Key? key를 선언하고, super 생성자로 넘기는 것과 동일합니다.🔹 내부적으로 변환되는 형태HomeScreen({Key? key}) : super(key: key);2️⃣ HomeScreen({Key? key}) : super(key: key);✅ 설명이 코드는 전통적인 방식으로 Key를 직접 선언한 뒤, su.. 2025. 2. 14.
플러터 초보자를 위한 Firebase Dynamic Links 사용법: go_router와 함께 딥 링크 구현하기 Firebase Dynamic Links와 go_router로 플러터 앱에 딥 링크 설정하기플러터 앱을 개발하면서, 앱이 특정 콘텐츠를 바로 열 수 있도록 하는 딥 링크를 설정하는 방법을 배우고 싶다면, Firebase Dynamic Links와 go_router 패키지를 활용할 수 있습니다.이 글에서는 Firebase Dynamic Links와 go_router를 사용하여, 사용자가 앱을 실행할 때 특정 URL을 통해 바로 원하는 페이지로 이동할 수 있도록 설정하는 방법을 초보자도 따라 할 수 있도록 자세히 설명합니다.1. Firebase Dynamic Links 설정하기1.1 Firebase 프로젝트 만들기Firebase를 사용하려면 먼저 Firebase 콘솔에서 프로젝트를 만들어야 합니다.Fireb.. 2025. 2. 14.
반응형