サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブックレビュー
kabochapo.hateblo.jp
Protocol Buffers には様々な用途があるようですが、個人的には gRPC での利用を考えています。 昨年末には Go や Dart/Flutter で gRPC を扱う方法を調べ、使っていけそうだと感じました。 そのときに記事にまとめて Qiita へ投稿しましたので、興味のある方はご覧ください。 qiita.com qiita.com 使い方を概ね把握しても、プロトコル定義ファイル(.proto)で一度定義した message を将来変えたくなったときにどうするのかを知らないまま本格的に使い始めるのは不安があります。 前もってアップデート時の注意点を把握し、備忘のためにメモしておくことにしました。 免責 次のことを理解した上でご覧ください。 本記事は、忘れてもさっと復習できるようにまとめているだけです。網羅できていない可能性もあります。 公式ドキュメント(主に proto3
画像を多く表示する画面が複数あるアプリの開発に今携わっていて、注意点をチーム内でどう共有しようかと考えている間に一つの記事になりそうだと思ったので書くことにしました。 大量読み込みが起こりやすい Flutter で画像を含む一覧を作るのは簡単ですが、あまり気にせずに作ると大量の画像が一気に読み込まれたりメモリを使いすぎたりすることがあり、大きな一覧では特に注意が必要です。 ネットワークからの読み込み数、転送量/通信量、メモリ使用量などを減らす方法はパジネーションや小さなサムネイル画像など様々ですが、この記事では一般的な方法は省略して Flutter での方法に絞ります。 Column や Row に注意 Column に 20 個の要素があって画像を含んでいる例です。1 SingleChildScrollView( child: Column( children: [ for (var i
モバイル以外にも対応したローカル DB を使いたかったので、複数のパッケージを調べてみました。 Hive を特に詳しく調べたため、そこだけ情報量が多めです。 2022年12月補足(結論) 記事を書いたときは Isar に注目していましたが、現在は Drift に落ち着きました。 ややこしそうな印象を受けて試さずにいて、しばらく後に再び気になったときに触って良さに気づいたので、もっと早く使えば良かったと思いました。 イチオシです。 高い機能性、型安全 あらゆる場所で使われている SQLite なので非常に堅牢(参考記事) この一点だけを見ても Isar のような個人開発のデータベースは比較にならない SQLite の最新バージョンを利用できる 既に持っている RDB / SQL の知識を活用できる RDB なので高度な操作も自在にできる Flutter Favorite に選ばれている Fl
Go2 Advent Calendar 2019 の 6 日目の記事です。 Go の database/sql って使いにくくないでしょうか。 二年ちょっと前にもっと楽にできないかなと思って調べました。 欲しかったもの database/sql を使いやすくしたもの ORM は要らない ただし、SELECT と INSERT は楽をしたい ORM を必須とする人もいると思いますが、そのときは直に SQL 文を書きたかったので、それに合ったライブラリだけを試しました。 試したライブラリ sqlx Connect()、MustExec() など database/sql とのメソッド名の違いが大きくて、感覚的に避けてしまいました。 gorp 割と近い感じで使えて好感触でした。 というわけで gorp を選び、そのときに書いた記事が下記二つです。 【Go】gorp を使って DB 操作を少し楽に
前編である「導入編」の続きです。 まずそちらをざっと一読されることをお勧めします。 kabochapo.hateblo.jp ソースコードは本記事投稿後にたびたび改変しており、記事内容との相違があります。ご了承ください。 github.com 作るアプリについて(ご注意) Flutter によるアプリ開発でも DDD の恩恵があるのかを試すことと理解を深めることを目的とするサンプルであるため、アプリとして本来は考慮すべき点をいくつか無視しています。 データベース操作の効率や確実性にこだわっていない メモのタイトルとカテゴリだけを使うときに本文まで取得している等。 更新や削除を行った結果の確認も省いています。 保存数に制限を設けていない 何万件ものメモを保存したときの動作は想定外かつ未確認です。 エラーメッセージの扱いが不十分 補足した Exception のメッセージをそのまま表示していま
カテゴリ別にメモを管理できるアプリの開発を DDD(Domain-driven design)でやってみたものです。 github.com 二つの記事から成り、この記事はその一つ目です。 導入編(本記事) 解決しようとした問題点や、DDD と関連用語の意味の他、モデリング・レイヤ分け・ディレクトリ構成の検討において考えたことなどをまとめています。 実装編 Dart/Flutter での実装を中心としますが、一つ目で触れていない点(集約など)の説明も含みます。 やってみようと思った経緯 何かを作るとき、設計がメチャクチャであっても運良くそれっぽく出来上がることがあります。 小さなものなら直しやすかったり、あるいは問題があまり顕在化しなかったりするかもしれません。 しかし、大きなものでは次第に破綻してしまうことが容易に想像できます。 Flutter でも、小さなアプリを作って学ぶ間は「なんて簡
1ヶ月ちょっと前に Flutter の provider というパッケージに関する記事を書きました。 qiita.com そこでは、provider の機能の一つとして「DI の仕組みを提供」と説明しています。 しかし記事を複雑化するのを避けて掘り下げないままにしました。 代わりにここで補足しておこうと思います。 記事更新情報 2019/12/15 2019/11 下旬の provider 3.2.0 で 各プロバイダの builder という引数名が create に変わりましたので、本記事の関連箇所を更新しました。 2020/5/8 provider 4.1.0 によって異なる書き方ができるようになった旨を少し追記しました。 DI(Dependency Injection)とは DI はデザインパターンの一つであり、依存性の注入 と訳されることが多いものです。 とっつきにくい言葉です。
このページを最初にブックマークしてみませんか?
『kabochapo.hateblo.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く