カテゴリー

役立ち情報

DartのSwitch式/文、when句、パターンマッチング周りのチートシート

2026/01/16・役立ち情報

※breakは不要when句を使うことで、パターンマッチに加えて追加の条件を指定できる。※final 変数名の部分は変数を定義するときと同じ書き方ができ、再代入を許可する場合はvarとすることも可能。if文でもcase句を使用することで、同様にパターンマッチングを使用することが出来る。これは何に使うと便利かというと、単純なnullチェックで昇格できない、オブジェクトのプロパティなどの 非nullを

【Dart/Flutter】とてもいい感じに末尾カンマを強制できるLintプラグインを作ったよ

2026/01/16・役立ち情報

Dartでコードを書く際、末尾カンマ(trailing commas)を適切に使うことで、フォーマッタが複数行に整形してくれるため可読性が向上し、git diffも見やすくなります。しかし、標準のrequire_trailing_commasルールは厳しすぎて実用的でないケースがあるため、より良い代替ルールが以前より欲しかったのです。そこで、better_require_trailing_comm

Swift Package Manager使用プロジェクトで、Crashlyticsのデバッグシンボルをアップロードする方法

2026/01/13・役立ち情報

私のiOSアプリでは、以下のようなスクリプトを作成して、CI上でCrashlyticsのデバッグシンボルが自動的にアップロードされるように構成してあった。このスクリプトでは、$PODS_ROOT環境変数を使って、CrashlyticsのSDKのソースに含まれるコマンドを叩いているため、Swift Package Managerに乗り換えると当然動作しなくなる。Xcodeは26.2。upload-s

【Jetbrains IDEs】Dev ContainerでIDEバックエンドのメモリヒープ設定を書き込むには、postAttachCommandを使う

2025/12/24・役立ち情報

devcontainer.json-Xmx3072mの部分はもちろん最大メモリヒープ領域のサイズです。PhpStorm/phpstormの部分は、バックエンドの種類に合わせて書き換えてください。バージョンアップには追従できます。IntelliJ IDEAなど、他のIDEでも同様です。

Workload Identity 連携で認証する、Google Play Store へのアプリのデプロイ【GitHub Actions】

2025/10/25・役立ち情報

この記事では、Google Cloud の Workload Identity 連携を活用し、シークレット情報を直接 GitHub 上に置かずに GitHub Actions から Google Play Store へのアプリデプロイを実現する方法を解説します。この記事には以前まで、私がフォークして手を加えたバージョンのFastlaneを使用して、これを実現する方法を記載していました。しかし、最

FVMを使って Flutter をセットアップする GitHub Actions アクション、setup-fvm

2025/10/23・役立ち情報

今回は、私が作成した GitHub Actions 用アクション「setup-fvm」をご紹介します。本アクションは、FVMを導入しているプロジェクト向けに、Flutterの環境構築とキャッシュを一発で行えるアクションです。具体的には、までこのアクションで行います。アクションを呼び出すだけでFlutterがfvm flutter経由で利用できるようになるため、非常に簡単です。自分のワークフローで呼

Firebase Functions のバンドラーとして Bun を使用すると、Firestore の API 呼び出しがバグる問題

2025/10/19・役立ち情報

以下のようなディレクトリ構造で、Firebase Cloud Functions のソースとなる TypeScript コードを、Bun を用いてバンドル化する運用をしている。親のpackage.jsonlibのpackage.json例えば、以下のようなコードがあるとする。デプロイしてトリガーしてみると、以下のような訳のわからないエラーが出て失敗する。Firestore関連のAPI呼び出しは、内

ラベル付きのチェックボックス/ラジオボタン【Flutter 3.35 対応】

2025/08/22・役立ち情報

一般的なチェックボックスのユースケース(設定画面など)においてはCheckboxListTileを使うことで、ラベル付きのチェックボックスが実現できます。しかし、横方向に大量のチェックボックスを並べたいとき(画像参照)には、やはり「ラベル付きのチェックボックス」というウィジェットが欲しいところです。今回は、私が使っているサンプルを載せますので、適宜カスタムして使ってみてください〜RowでCheck

Firebase AuthのメールリンクをDynamic Linksから移行する時にハマったこと【どこで実行すれば良いんだ】

2025/06/26・役立ち情報

来る今年の8月、短縮リンクサービスであるDynamic Linksはサービスを終了するため、別の方法への移行が迫られている。そんな中でも、Firebase Authenticationで送信されるメールで使用するリンクは、Dynamic Linksとは別の仕組みで提供が続けられるということで、私のアプリでも移行作業を行っていた。全体の移行方法は https://firebase.google.co

flutter_hooksでList, Set, Mapに対応したuseState関数作ったよ

2025/01/06・役立ち情報

以下のコードは、Set(Listの重複無し版)を書き換えた際にHookStateのsetStateメソッドが走るように改造したuseState関数。List、Mapでもこれに倣って作れます。関数名が非常に紛らわしいね