umatoma

ソフトウェア開発やってるエンジニア 🔧 アプリ・フロントエンド・バックエンドどプロダク…

umatoma

ソフトウェア開発やってるエンジニア 🔧 アプリ・フロントエンド・バックエンドどプロダクト開発に必要であれば何でもやってる人 🚀 直近の仕事ではFlutter・Firebaseをメインに使ってる ⚡️ https://www.flutter-study.dev/

最近の記事

DartのNullSafetyについて確認してみる2

前回に続き、DartのNullSafety対応について、何が出来るようになったのかを確認してみる。 Working with nullable typesNull-aware operator NullSafety対応前から使える Null-aware operator `?.` がよりスマートになったらしい。 NullSafety対応前に以下のようなコードを書くと、引数に null が入ってきた場合はエラーとなってしまう。message?.trim() の評価結果が

    • DartのNullSafetyについて確認してみる1

      Flutter2からNullSafetyに対応したDartが使えるようになった。そこで、NullSafetyに対応したことによって、何が出来るようになったのかを確認しておこうと思う。 NullSafetyとはnullになる可能性があるかどうかを表現できる仕組み。 NullSafetyに対応していない時は `int hoge` と宣言した場合 hoge には null が入ってくる可能性がある。しかし、NullSafetyに対応している時は `int hoge` と宣言した

      • 自作アノテーションとBuildRunnerを使ってDartのコードを自動生成

        以前BuildRunnerを使ってDartのコードを自動生成してみた。今回はその発展として、アノテーションを定義して、その定義を元にコード生成を行ってみたいと思う。 Metadata@override とか @deprecated とか @ で始まるやつを Dart的には Metadata と呼ぶ。いわゆるアノテーション。 Metadataを定義するのは簡単で、const な クラス or 変数 を定義するだけでOK。 class Field { const Fiel

        • GitHub ActionsでGitのタグ付けを自動化する

          リリースした時とか、特定の条件に従ってGitのタグを付けておきたい場合があると思う。ただ毎回リリースのたびに手動でタグを付けてたりすると忘れてしまったり、面倒くさかったりとできれば手作業でやりたくない。 そこで今回はGitHub Actionsを使ってGitのタグ付け作業を自動化してみる。 特定のブランチがマージされたらタグを付けるどの様にタグを管理すべきかみたいな所は諸説あると思うが、ここでは release/ で始まるブランチのPullRequestが main ブラ

        DartのNullSafetyについて確認してみる2

          BuildRunnerでDartのコードを自動生成してみる

          前回はcode_builderを使ってJSONからDartのコードを作成してみた。 今回はbuild_runnerを使って、コード生成の処理を自動化(コマンド化)してみたいと思う。 build_runner・build_config・buildbuild_runnerを使うにあたり、必要となるパッケージがいくつかある。ちょっと分かりづらいので整理してみる。 build_runner いわゆるタスクランナーみたいなもの。こいつが、build_config・buildを使っ

          BuildRunnerでDartのコードを自動生成してみる

          プログラムでDartのコードを生成してみる

          freezedとかアノテーション付けてbuild_runnerでコードを生成する系のパッケージがあるが、そもそもプログラムでDartのコードを生成するのってどうやるのだろう?と気になったので試してみる。 code_buildercode_builderというパッケージを使うことでプログラムでDartのコードを生成することが出来るらしい。 import 'package:code_builder/code_builder.dart';import 'package:dart

          プログラムでDartのコードを生成してみる

          Riverpodの基本的な使い方を整理してみる2

          前回の投稿ではRiverpodでの値の受け渡し・更新・組み合わせに関して整理した。今日は、もう少し細かい部分の使い方を整理しておきたいと思う。 同じ様な処理に使い回すIDが違うけど同じテーブルのデータを取得したりすることは普通にあると思う。しかし、毎回別々のProviderを用意するのはちょっと面倒である。そんな時はProviderが引数を受け取れるようにすれば良い。 class User { User(this.id, this.name); final String

          Riverpodの基本的な使い方を整理してみる2

          Riverpodの基本的な使い方を整理してみる

          改めてRipverpodの基本的な使い方を整理しておきたくなったので書き出してみる。 Riverpodhttps://riverpod.dev/ Compile safeNo more ProviderNotFoundException or forgetting to handle loading state.Using Riverpod, if your code compiles, it works. 定義したグローバル変数を直接参照するので、コンパイルできる=型

          Riverpodの基本的な使い方を整理してみる