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

開発・デザイン

データ解析(BiqQuery)

【SQL】集計でよく使うSQL構文:count/ group by/having/join/unnest/union

BigQuery と Redash を使用してサービスの会員獲得、MAU(Monthly Active Users)、リテンション率などを分析する際によく使用する SQL 構文をいくつかまとめておく。UNNESTは、配列や構造化データ内の要素を展開し、単一の行に変換する関数。
Web(Python)

【オブジェクト指向でなぜつくるのか?】OOP, クラス, 型付け, 継承, ポリモーフィズム, パッケージ, 例外, ガベージコレクション, コンパイラ, インタプリタ, 中間コード, メモリ領域

2022年に購入して積読だった「オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識」を最近読んだので、まとめ記載。プログラミング言語の歴史の部分が、とてもわかりやすかった。OOPでは新しく3つの要素(クラス・ポリモーフィズム・継承)を導入した。
アプリ(Flutter)

【Flutter × Riverpod】外部サイト遷移処理中のローディング状態処理とボタン非活性化

Flutterアプリから外部サイトへ遷移させたい場合で、遷移まで時間がかかる(APIリクエストしてresponseの情報を元に遷移するなど)際の処理として、ローディングアイコンを表示して、遷移まではボタンを非活性化、 遷移までの間にユーザーが画面を移動しないようにするなどの制御ニーズが発生する。
サーバー(Go)

【Go】タスクキューとクーロンを使った並列処理の実装

今回は、本日の天気情報を音声でお知らせするという機能に関して、ユーザーがアプリで設定した天気お知らせ時刻の1時間前に、該当の天気情報の音声ファイルを生成してAWS S3に保存するという機能を作成。go言語でタスクキューを使った並列処理で実装を進める。
サーバー(Go)

【Flask】アプリをDocker化して、Artifact RegistryにPushしてCloud Runにデプロイする方法

Google CloudにCLIでログインし、Dockerイメージをローカルにビルドし、DockerでArtifact RegistryにPushする。ちなみに、Container Registryは非推奨になった。Google Cloud でコンテナの管理を始めるには、Artifact Registry を使用する。
Web(Python)

【Flask/Python】Webサイト上で目のアニメーションの検証をできるようにする

画像の読み込み、変換、合成、保存などの操作は、バイナリ形式のままPillowライブラリを用いる。画像データをHTML内に表示するためには、画像データをテキストデータに変換する必要があり、そのためにBase64エンコードを使う。フロントエンド側で画像を表示できる。
組み込み(C++ / ESP32)

【ESP32】LittleFSとSqlite3を使用してデータを呼び出す

プロトタイプ段階でESP32ボードで開発中であり、DB:sqlite3、ファイルシステム:LittleFSを使うことに決定。esp32にアップロードしたいデータ自体は、スケッチファイルと同階層にdataフォルダを用意して、その中に配置する必要がある。
開発・デザイン

【スピーカー】アクリルスピーカーアンプのワークショップに参加しました。とても勉強になった。

今日は、楽しみにしていた Fostex × DMM.make AKIBA × 乙女電芸部のコラボレーションによる、アクリルスピーカーアンプのワークショップに参加してきた。とても良かった! 前回のnoteで記載したのだが、イヤホン型脳波サービ...
アプリ(Flutter)

【Go × Echo】バックエンドで天気予報情報を取得し、Flutterアプリに表示する

今までは、アプリ側のみでOpenWeatherMapのAPIを使用して、指定された緯度と経度を使用して天気情報を取得しアプリ画面に表示していたが、今回はGo言語のEchoフレームワークによるバックエンド経由に変更する。
開発・デザイン

【モーター】サーボモーター vs DCモーター:音比較

おしゃべりロボットの口を動かす機構としてサーボモーターとDCモーターとで音の大きさを比較してみた。DCモーターはL293Dモータードライバーを使用しESP32に接続し、取り付けるギアは3Dプリンターで作成。ラックピニオン単体では動くが、ゴムをつけると動かない