方言を話すおしゃべり猫型ロボット『ミーア』をリリースしました(こちらをクリック)

2024-04

アプリ(Flutter)

【Flutter】状態管理:StatefulWidget + setStateからproviderへ移行とメリット

Flutterでは、StatefulWidgetを使用して内部状態を持つことができる。また、ProviderやRiverpod、Blocなどのライブラリを使用してアプリケーション全体の状態管理を行う。本記事では、statefulWidget + setStateから、次のステップであるProviderまでをみていく。
デザイン(Figma)

【Figma】オートレイアウトで、アイコン非表示の際にズレないようにする方法

Figmaのオートレイアウトは、要素間の距離を自動的に調整し、デザインの一貫性を保ちながら柔軟にレイアウトを管理できる機能。ナビゲーションバーのデザインにおいてアイコンを非表示にするとタイトルが中央からずれる問題とその解決方法について解説。
組み込み(C++ / ESP32)

【ESP32】OTAアップデート:MQTTとAWS IoTデバイスシャドウを利用したファームウェア更新

ユーザーがアップデートを受け入れると、アプリがサーバーにAPIリクエストを送信し、サーバーがAWS IoTのデバイスシャドウに変更を反映させる。デバイスはMQTTを通じてこの変更を検知し、ファームウェアのダウンロードとアップグレードを実行する。
サーバー(Go)

【Go】静的型付け・型推論・関数・構造体・レシーバ・Go Modules・Packages・Imports

Go言語では、関数はfuncキーワードで始まり、引数と戻り値の型が必要(静的型付け)。変数名の「後ろ」に型名を書く。Go の構造体はクラスと異なり、メソッドは構造体の定義の外部で定義され、構造体とメソッドは「レシーバ」を介して関連付けられる。
アプリ(Flutter)

【Flutter】状態管理:providerからRiverpodへの移行と利点

前回はFlutterの状態管理に関して、statefulWidget + setStateからProviderまでを記載した。今回は、ProviderからRiverpodまでを見ていく。Riverpodの導入によりコンテキスト非依存になり、不変性が強化された。
アプリ(Flutter)

【Flutter】通知メッセージ表示としてOverlayクラスを導入する

overlay_supportという、トーストやアプリ内通知を簡単に作成できるパッケージがあったので、こちらを使用することにする。OverlaySupportEntry.of(context)?.dismiss();は、表示されているオーバーレイウィジェットを削除するメソッド。
組み込み(C++ / ESP32)

【Switch】高温スリープエラーを自分で分解して修理する方法

Nintendo Switchの高温スリープエラーを自分で修正する手順を記載。Y字・十字ドライバーで背面カバーを取り外し、その後シルバープレートを取り外す。バッテリーコネクト・ヒートシンク・ゲームカードユニットの順に取り外したら冷却ファンを取り出すことができる。
組み込み(C++ / ESP32)

【C++】ポインタと参照の違い・値渡しと参照渡し・関数ポインタ・スマートポインター

ポインタはアドレス(メモリ空間上の位置)を格納する変数。変数宣言を行う際に、変数用のメモリが確保され、メモリ空間上に配置される。しかし、変数宣言直後はポインタには不定値が格納されており、どこを指しているか分からない状態。変数名の前に `&` 記号をつけることで、その変数のアドレスを取得できる。
アプリ(Flutter)

【ESP32 × Flutter】Wi-Fiスキャン結果をBLEでチャンク分割送信する方法

ESP32とFlutter(flutter_blue_plus)を利用してWi-Fiスキャンの結果をBLEを通じてスマートフォンに分割送信する方法を記載。BLEのNotify機能を使用して、大きなデータを小さなパケットに分け、受信したデータを再構成する。
組み込み(C++ / ESP32)

【ST7735】TFT LCDの描画問題解決ガイド:Green Tabの設定方法

ST7735 TFT LCDディスプレイで遭遇した描画問題とその解決策について記載。ST7735ディスプレイは同じ基本チップを使用しながらも、異なるメーカーや生産バッチによって、細かな仕様の違いがあるため、"Green Tab"、"Red Tab"、"Black Tab" など多くのバリエーションが存在する。