Web(React / Python) 【FullCalendar】でGoogleカレンダーを埋め込み表示して装飾する googleカレンダーの埋め込みコードを利用した場合、カレンダーの見た目が固定でカスタマイズできないが、FullCalendar Javascriptライブラリを使えば、サイトにキレイな見た目のカレンダーを設置できる。GoogleカレンダーのAPIキーとIDを取得する。 2024.03.03 2024.07.01 Web(React / Python)開発・デザイン
アプリ(Flutter) 【Flutter】flutter_background_serviceパッケージで、アプリからサーバに定期POST実行。 前回までの実装だと、ユーザーが「連携開始する」ボタンを押すたびに、健康データをサーバー側にPOSTリクエスト送る仕様になっているので、Flutterアプリで毎日特定の時間にバックグラウンドで定期的にPOSTリクエストを実行する方法に変更したい。flutter_background_serviceパッケージを利用する。 2024.03.07 2024.07.01 アプリ(Flutter)開発・デザイン
Web(React / Python) 【ネットワーク】LAN/WAN, TCP/IP, IPアドレス, サブネットマスク, NAT, CIDR表記, DNS, ポート番号 プライベートIPアドレスは、ローカルネットワーク内で使える、自分たちで勝手に決めていいIPアドレス。異なるローカルネットワークで同じプライベートIPアドレスを使用していても、グローバルIPアドレスが異なれば、インターネット上での通信が混同することはない。プライベートIPアドレスは、ローカルネットワーク内でのみ一意であれば良い 2024.03.10 2024.07.01 Web(React / Python)開発・デザイン
サーバー(Go) 【DNS設定】お名前.comのドメインをConoHa WINGで使う方法 お名前.comで取得したドメインをConoHa WINGのサーバーに割り当て、ウェブサイトがそのドメインからアクセス可能になるよう設定する。ドメイン名をIPアドレスに変換するために使用されるネームサーバーは、実際にはIPアドレスを直接持ってるが、一般的にはそのドメイン名で参照される。 2024.03.16 2024.07.01 サーバー(Go)開発・デザイン
アプリ(Flutter) 【Flutter】WebViewでモーダル表示してスクロール可能にする方法 アプリ内にユーザーの設定画面があり、その中に、利用規約・プラポリの項目を用意しているので、この項目をタップした時にWebViewで各内容が表示され、閉じることもできるようにする。今回はシンプルな実装で事足りるので、webview_flutterを導入する。 2024.03.20 2024.07.01 アプリ(Flutter)開発・デザイン
組み込み(C++ / ESP32) 【PlatformIO】頭を何回か連続で撫でると最初デレから段階的に嫌がるようにする。 おしゃべり猫型ロボット「ミーア」は頭に取り付けたTTP223のタッチセンサーを介して、頭を撫でると音声を再生できる。この仕組みを利用して、何回か連続で頭を撫でると、最初は嬉しがるが、徐々に警戒し始め、撫ですぎると、嫌がってそっぽを向くという機能を実現したい。 2024.03.24 2024.07.01 組み込み(C++ / ESP32)開発・デザイン
サーバー(Go) 【gRPC】.protoファイルを作成し、コンパイルしてGo言語で使用するまで Protocol Buffers(protobuf)は、gRPCで使用されるインターフェース定義言語(IDL)。JSONやXMLなどの伝統的なフォーマットに比べて、より小さいサイズで、より速い速度でデータを伝送できる。.protoファイルを作成し、メッセージとgRPCメソッドを定義する 2024.04.06 2024.07.01 サーバー(Go)開発・デザイン
組み込み(C++ / ESP32) 【ESP32】OTAアップデート機能を実装して、遠隔でファームウェア更新する方法 ESP32のWiFiモジュールを搭載した猫型ロボット「ミーア」の開発を進めているが、今回は製品をユーザーに提供後に新機能をリリースした際に、開発者がリモートでファームウェアの更新を行えるようにするために、OTAアップデート機能を導入する。 2024.03.31 2024.07.01 組み込み(C++ / ESP32)開発・デザイン
開発・デザイン 【Dart/TypeScript】共通点と違い。型推論ありの静的型付け・単一継承・抽象クラス・Mixin・非同期 Dart, TypeScriptともに静的型付け言語(コンパイル時に型が決定する)だが、型注釈はオプショナルで強力な型推論が働く。Dartの抽象クラスはサブクラスに具体的な実装を強制する手段を提供し、TypeScriptのinterfaceはクラスに特定の構造を強制する手段を提供する。 2024.04.06 2024.07.01 開発・デザイン
サーバー(Go) 【Flutter × Go × gRPC】OTAアップデート:Firmware更新をgRPCでアプリ通知 AWS s3のfirmwareディレクトリに新しいFirmwareバイナリを開発者がバージョン指定してアップロードする。各ユーザーのFirmwareのバージョンと開発者がアップロードした最新バージョンを比較し、異なる場合にFlutterアプリに「新しいFirmwareをインストール可能です」と通知する。 2024.04.10 2024.07.01 サーバー(Go)組み込み(C++ / ESP32)開発・デザイン