Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

2021-01-01から1年間の記事一覧

FlutterのWidgetTest攻略メモ(随時更新)

WidgetTestを書いていて、Riverpodでビューの操作を行うクラスを全部DIして、ProviderのOverrideでMockに差し替えることをやっている。Mockにはmocktailを使っていて、このテスト戦略はシンプルでよい。サクサクテストが書ける。 riverpod.dev どうせ忘れる…

DockerのSelenium-HQで「cannot create temp dir for user data dir in chrome driver」

DockerのSeleniumで、こんなエラーが出ました。 Unknown error: cannot create temp dir for user data dir in chrome driver MacのDockerのディスクが32GBで、30GB使っていた。2GBあったらええんちゃうかと思ってたけど、足りないようで... MacのDockerのデ…

FlutterのWidgetテストをちゃんとできるような設計にするお勉強

FlutterのテストにはUnit / Widget / Integrationの3つの段階があるが、外部データソースのアクセスを利用しないでDartのオブジェクト上だけでテストを行うのが、UnitとWidgetのテスト。 とはいっても、昨今で外部リソースを一切使わないケースはない。 HTTP…

FutureProviderを持つ親画面を、子画面から更新する

Riverpodネタは続く。 カート一覧→タップで数量更新→画面が戻った時にカートが更新・・・されない!データは書き換わっているが、UIが更新されていなかった。 一覧画面のデータFutureProvider.autoDisposeを使って、画面下部のタブに表示している。iPhoneは…

RiverpodのProviderが管理するStateに引数を与えて初期化したい

画面遷移とかでよくあるよね。一覧から行タップで詳細に遷移する系のやつ。商品一覧→商品詳細みたいなやつです。 Riverpodが提供するProviderにはfamilyという関数があり、Providerを初期化する際に任意の型の引数を与えることができる。今回は、StateNotifi…

RiverpodでinitStateを使わず、autoDisposeでUIを再構築する

FlutterのRiverpodの話。 10月に入って、作りかけのアプリのProvider -> Riverpodへのリプレイスを行っています。zennで公開されているRiverpod解説には大変お世話になりました。 ひとつわからなかったのが、「タブを切り替えた時に自動でそのページの中身を…

Android StudioでUnable to find bundled Java version

flutter doctorでこの警告が出る場合。一定の手順に沿って行うだけ。JetBrain Toolboxを使っている人の対応策も書いてあった。 Macのユーザー名とAndroidStudioのバージョンは、その時の最新に差し替えれば良さそう。 stackoverflow.com cd /Users/<USER_NAME>/Library/</user_name>…

FileSystemObjectがネットワークドライブ上のファイル探索でクソ遅い件

VBA

ネットワークドライブ上の35個のExcelファイルのOPEN→転記に30分近く要していた。 おせえええええええ、死ねええええええ。 理由はわからないけど、FileSystemObjectを使ってネットワークドライブ上のファイル走査すると、クソ遅い。なので、Dir関数を使う方…

Prism8のContainerLocatorへの対応

日本でWPFのPrismやってるの100人いるかどうかじゃないかな。なんでWindowsのデスクトップアプリなんか作ったんだろう。 Prism8が2020年の10月頃にリリースされ、破壊的変更が入った。ServiceLocatorがなくなってContainerLocatorに変わりました。それだけ言…

Pycharmで"Couldn't refresh skeletons for remote interpreter"が出る

MacのDockerの設定の問題だった。 ここにUser Docker Compose v2とある。このチェックを外したらエラーが出なくなった。 $ docker --version Docker version 20.10.7, build f0df350 $ docker-compose --version Docker Compose version v2.0.0-beta.6 # suc…

HerokuでRoute53で独自ドメイン(サブドメイン)運用

秒で終わったのでメモ。 ドメインを追加する。hoge.goza.comとする。 追加後、goza53.herokudns.comみたいなドメインが 発行される。 hoge.goza.com のCNAMEに上記のドメインをあてるだけ。 あとはHeroku側のACMで色々やってくれて、SSLも作ってくれる。 1分…

heroku.ymlでDockerイメージをデプロイするメモ

Heroku簡単じゃん。ビビるわ。 AWSのALB+Fargate+Auroraでちょーモダンな環境作るぜって息巻いていた。ただ、やっぱりAWSはインフラ構築の手順が色々あって(VPCだるい)、AWS力が低い私には一抹の不安があった。 Herokuだと「Dyno+JAWSDB」で、ALB+Fargate+Au…

PC-FAXで初期値に宛先を与えたい

C#

この質問と全く同じ。 detail.chiebukuro.yahoo.co.jp 富士ゼロックスの複合機はパソコンからダイレクトにFAXを送信する機能がありますが、当然ながらFAX番号を指定しなければなりません。 現在つくっている業務アプリでは、FAX送付先をデータとして保有して…

AppStore Reviewガイドラインで、アカウント削除機能がマストになった件

qiita.com If your app supports account creation, you must also offer account deletion within the app. 今後新規に作るアプリが対象になるのかなぁ。5年前に作ったアプリはログイン前提でアカウント登録の動線すらないけど、昨年アップデート申請したら…

ChromeDriverでtype="date"の扱いに注意が必要だった

これはちょっとハマった。 thinkami.hatenablog.com input type="date" を指定したHTMLは、Chromeの場合、以下のように年、月、日で各々別々のフォーカスを持ってしまうため、clear()とかやっても、全然消えない。 上記のエントリはC#だったが、PythonのSele…

Terraformをやってみた

AWSを触るのは2年ぶりぐらいかな… インフラはVPSに逃げがちでしたが、VPSで頑張ってもなんの成長にもならんので、AWSでインフラをコード化することにトライした。CloudFormationは、色々とググったYAMLを見た時にこれをちまちま書くのは無理!と思ったのでス…

Flutterのテストは、ウィジェットレベルだけでよくね

Flutterには3段階のテストパターンが存在する。 Unit Test Widget Test Integration Test アプリケーションの性質にもよるだろうけど、ローカル or HTTPでデータをフェッチして表示するというロジックが多くを占める場合、Unit Testでテストすることがかなり…

Flutter(iOS)でアプリがアンインストールされたかを知る

キーチェーンに書き込んだ情報はアプリがアンインストールされても残ってしまうので、ユーザーがアプリを再インストールした時にそのtokenが残ってちょっとやだ、みたいなケース。 結論から言うと、NSUserDefaultsに書き込んで逃げるしか無いっぽい。アプリ…