Flutter の StatefulWidget はどう動く?Riverpod や Hooks を使う前に理解したい State・Element・Widget ツリーと setState の仕組み
Riverpod や Flutter Hooks を使う前に理解しておきたい、StatefulWidget の内部構造と State・Element・Widget ツリー・setState の関係をわかりやすく整理した解説記事です。
日本語で書いた記事は全てこのカテゴリにまとめています。
Riverpod や Flutter Hooks を使う前に理解しておきたい、StatefulWidget の内部構造と State・Element・Widget ツリー・setState の関係をわかりやすく整理した解説記事です。
Flutter Web を本番サーバーに安全デプロイする方法を解説。SSH・rsync・vim を使った実務的なベストプラクティスをまとめました。ローカルから本番へ安全に反映したい人向けの完全ガイドです。
普段使っているターミナルから離れずにAIにサクッと質問できたら便利だな、と思いGemini CLIをインストールしてみました。 インストール要件を調べるとNode.js v20以降が必要とのこと。そこで、最新LTS版であるv22をインストールすることにしました。ただ、Ubuntu標準のNode.jsはバージョンが古いため、リポジトリを追加してバージョンアップする必要がありました。 今回はその手順をブログに残しておきます。 手順1:古いNode.jsのアンインストール まず、競合を避けるために、Ubuntuに標準で入っている古いNode.jsをアンインストールしておきましょう。 あわせて sudo apt autoremove を実行して、不要な依存パッケージも掃除しておくとクリーンな状態になります。 手順2:NodeSourceリポジトリの追加 Node.jsの最新版は、NodeSourceというリポジトリからインストールするのが一般的です。公式サイトの手順はこちらです: https://nodesource.com/products/distributions リポジトリ追加用のスクリプトをダウンロードするために、curlコマンドを使います。入っていない場合は、先にインストールしておきましょう。 続いて、curlでセットアップスクリプトを実行し、Node.js v22のリポジトリをシステムに追加します。 手順3:Node.js v22のインストール リポジトリの準備ができたので、aptコマンドでNode.js v22をインストールします。 インストール後、node -v コマンドを打って、バージョンが “v22” で始まっていれば成功です。 手順4:Gemini CLIのインストール いよいよGemini CLI本体をインストールします。npmを使い、グローバル(-g)にイン ストールするためsudoを付けて実行します。 最後に – 使ってみた感想 これまでは、AIにちょっとしたことを聞きたいだけでも、いちいちブラウザに移動するのが地味にストレスでした。Gemini CLIを導入してからは、そのストレスから解放され、すべての作業がターミナル上で完結するようになり、とても快適になりました。返答がターミナルに表示されるだけでなく、テキストファイルとして出力してもらうこともできるので、ブラウザ上のチャットAIを使用するよりも便利です。
Vimにおける「U」アンドゥコマンドの挙動について カーソルを別の行に移動すると「U」の挙動が変わる Vimtutorのアンドゥに関するレッスンで練習していたとき、「U」を押しても何も起こらないことがあり、困惑しました。調べてみると、「U」コマンドは、カーソルがその行に移動してから行った変更のみを元に戻すことがわかりました。 つまり、誤って「j」や「k」を押して別の行に移動し、すぐに戻ってきた場合でも、「U」は期待通りに動作しません。カーソルが一度でもその行を離れると、変更履歴がリセットされてしまうのです。 慎重なタイピングを心がけることで、「U」が意図通りに動作するようになります。Vimの操作に慣れていくことで、こうした問題に遭遇することも少なくなるでしょう。
左右分割はalt+t、上下分割はalt+shift+tにした。 ~/.tmux.conf bind -n M-t split-window -hbind -n M-T split-window -v bind -n M-h select-pane -Lbind -n M-j select-pane -Dbind -n M-k select-pane -Ubind -n M-l select-pane -R