FlutterのState管理の定番になりつつあるRiverpodですが、0.14系からStateNotifierProviderの呼び出し方が変わったのはご存知でしょうか。 0.14がリリースされたのは2021/04/04なのですが、検索してみると0.13系までの情報がかなり多かったので、整理してみ…
うっかり自分の予想外のタイミングでDialogが閉じることがあるので、 それを防ぐ方法をまとめました。 考慮してない導線だったりして、バグの原因になったりしますからね。 FlutterでDialogを閉じる方法 主に以下の3種類です。 Navigator.of(context).pop()…
TL;DR githubアカウントを個人用と仕事用で分けたいけど、 id_rsaファイルを切り替えるのとかは面倒くさい 結論: github cliを使う gitのcredential設定で、特定ドメインに対して、認証方法を設定できる。 この認証方法は色々な方法を使えるが、github cliが…
表題そのままです。 何が辛かったのか VimでFlutterの開発を行うにあたって以下の2点が辛かったです。 Breakpointを使ってデバッグできない vimのプラグインでflutter runした時に出るバッファが扱いづらい VSCodeで実行しよう 軽さの点とデバッガから考え…
こんな感じで書ける。 JavaScriptよりも括弧が少ない。 変数宣言時に型をつけた方が間違いが少ないのでおすすめ。 final num = 42; final String message = () { if (num == 42) { return 'this is answer.'; } else { return 'wrong.'; } }(); 即時関数内に…
i3wmのコマンド自体で自動化できると思ったけど、そんなことなかったので、xdotoolを使った。 xdotool key super+2でworkspace 2に遷移できる。 あとは起動時間を考慮してsleepしつつ&で非同期に起動するだけ。 引っかかったところとして、xdotool key super…
i3wmのコマンド自体で自動化できると思ったけど、そんなことなかったので、xdotoolを使った。 xdotool key super+2でworkspace 2に遷移できる。 あとは起動時間を考慮してsleepしつつ&で非同期に起動するだけ。 引っかかったところとして、xdotool key super…
結論 streamは非同期的に使うのが主な使い方だが、複数のstreamを扱うにあたって同期的に同期的に値を流したい時もある stream1を処理した後に、stream2を処理みたいな そういう時は、await forを使う Future<int> getStreamInt(stream) async { var result; awai</int>…
状況 Shellのプラグインで Keybindingの設定で環境変数を使う時がたまにある この際、以下のように環境変数を設定する # 例はfish # ただ、他のShellでも同様にバックスペースが要求される set -Ux EXAMPLE_KEY \C-t こうした時にechoで$EXAMPLE_KEYを表示し…
[evernote:678e7aa70a7b533d4738cef3e283dbfb Uploading] 結論 asciinemaで録画して、asiicast2gifを使う 色々なツールを使ってみたけどこの組み合わせが一番動作が安定していてよかった インストール homebrewなどのPackageManagerに入っていることも多いの…
環境 Macで動作確認しています Windows、Linuxで操作する場合は、CmdをCtrlに置き換えると大体動くはず Panelを表示・非表示にする 下のやつの正式名称はPanelです。 Cmd + Shift + pのコマンド一覧でPanelと打つと、Panel用に用意されているコマンド一覧が…
Riverpod関連でクラスや関数が多すぎて訳がわからないので整理してみた。 整理方法 各パッケージのexportから主要なクラスや関数をピックアップした。 riverpod Riverpod本体。Dartだけで動く。 StateNotifierProvider StateProvider FutureProvider StreamP…
ウィスキーで酔ったまま書いた駄文です。 あと、Emacsを使っててVimの画面管理と大体同じことを思うことが結構あったので参考になるかもです。 Vimの画面管理の概要 Vimの画面管理には3つの概念があります Window Buffer Tab このうち、互いに関係している…
Chrome OS 84からTerminalの設定画面が大幅に変わりました。(テーマ機能とか結構いいです) 見やすくなったのはいいんですが、フォントがデフォルトのものしか選べなくなっています。 vim-deviconsなどでアイコンを使いたいときに困ってしまいます 解決方法…
TrueColorとは、256 color(8bit)よりも多い16,777,216(24bit)色で色を表示できる規格です。 iTerm2やGnomeなどよく使われているTerminalでは対応していることが多いです。 ChromebookのTerminalも対応しています。 Emacs新参者なのでよくわからないんですが…
Crostiniだと以下のようにClipboardにコピーする処理が動かないです。 echo hellp | xsel -bi cat sample.txt | xsel -bi これは、Redditであったwl-clipboardとおうツールのwl-copyで解決しました。 www.reddit.com こういう処理になります。 echo hellp | …
tmuxは何も設定しない場合、デフォルトシェルが起動します。 大体はbashでしょう。 ただ、自分はfishを愛用していて、fishの場合はPOSIX互換性がないため、デフォルトシェルにする運用はあまり好まれなかったりします。 そのためtmuxからfishを呼び出して使…
これでいける # 普通に起動する場合 emacsclient -a "" # aliasの場合 alias='emacsclient -a ""' 自分は必ずtuiで起動したいから、更にオプションを指定している # 普通に起動する場合 emacsclient=emacs -t -a '' # aliasの場合 alias emacs="emacsclient=…
CrostiniはLXDというコンテナ環境で動作していますが、 このままだとnix-shellがインストールできません。 詳細は以下のIssueにあります。 github.com Issueから解決方法抜粋します ctrl-alt-t でcroshを開く vsh terminaと入力 lxc config set penguin secu…
メインのエディタを決める vscode デバッガ強い vim emacs sublime text3 サブエディタにintellijを使えるようにする intellij デバッガ強い 日本語の書籍や公式サイトのガイドをひたすら読む クソつまらないんだけど、がんばる 何か作って実践しようとして…
VSCodeにもとうとう公式のArmのバイナリが来ました!! code.visualstudio.com さっそくChromebookにインストールしようとして躓いたのでなんとかしたメモです インストール環境 Chromebook C101PA (armhf:32bit) Debian(Crostini) 10.4 lenovo ideapad duet…
簡単に言うとroot権限でadbのdaemonが起動していないからそうなる。 特にAndroid Studioでは、裏でadbが勝手に起動しているので、結構引っかかる。 しかもWindowsやMacだとこの現象が起きないので、訳がわからなくなる。 以下のように、adbを一旦終了してroo…
USBにArchLinuxを焼いて、起動できるようになる パーティションの切り方について理解する Arch Linuxのインストール方法について理解する bootloaderに関して理解する ユーザーと権限に関して理解する ネット接続に関して理解する X Serverに関して理解する …
モチベーション 以前からLispに興味はあったのですが、この記事が結構おもしろくてClojureやってみようとなりました logmi.jp シンプルな設計が好きなんですけど、Clujureを学ぶことで勉強になればいいなと また、re-frameからreactのCSSライブラリのmateria…
背景 rustでvectorに入ってるstructをiter().find()で取得して、その値を変更しようとしたんだけど 取り出した値にmutとかつけてもコンパイルエラーで動かなかった ネットであまり見つからないのでメモ代わりに残す 正解 以下のようにすればよかった // 正解…
以下のように書けばいい " vimであれば、.vimrc " neovimであればinit.vim " これは自分の使っているプラグイン let g:coc_global_extensions = [ \ 'coc-yank' \, 'coc-tsserver' \, 'coc-snippets' \, 'coc-prettier' \, 'coc-pairs' \, 'coc-fzf-preview'…
前書き Java、PHP、Ruby、Pythonといったオブジェクト指向言語を想定しています。 実はstaticは半分釣りです。 この記事は、神クラスへの対処、関数の分割やレイヤー分割に関して書いてます。 こんなはずじゃなかったのに こんなことってありませんか? MVC…
Rustの公式サイトを見たけど、PackageManagerを介さないやり方しか載ってなかったので調べてみました。 方針 基本的にArchWikiに載ってる通りに進めるとうまくいきました。 https://wiki.archlinux.jp/index.php/Rust Rustのビルドはnightlyは怖いので、stab…
Flutterとは FlutterはGoogleが開発しているクロスプラットフォームのUI構築用フレームワークです。 現状多く使われているのはAndroidとiOSですが、将来的にはWebやDesktopアプリの制作も可能になるとのことです。 (現在WebはBetaテスト、DesktopはAlphaテ…
自分がArchLinux + i3wmで環境構築したとときの覚書 archlinuxは一つのことをやるにも様々な方法かあって迷う。 エイヤっと一つの手法を選ぶのが大事 大抵あとでも直せる 基本インストール編 wikiのインストールガイドを一通りインストールする https://wiki…