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

Go

スポンサーリンク
サーバー(Go)

【ミーア】Google Calendar APIをGoで操作する方法:Refresh Tokenからイベント取得まで

Google APIでは、refresh_token を直接利用してAPIにアクセスすることはできない。代わりに、refresh_token を使用して一時的な access_token を発行し、このトークンを使ってAPIにリクエストを送る必要がある。
アプリ(Flutter)

【ミーア】Auth CodeとRefresh Tokenを活用したGoogle Calendar APIアクセスの実装 (Go言語とFlutter)

Google Calendar APIへのアクセスをより安全かつ効率的に管理するために、アプリ側でアクセストークンを直接使用せず、認証コード(Auth Code)をバックエンドに送信してリフレッシュトークンを生成・保存し、そのリフレッシュトークンを使用してGoogle Calendar APIにアクセスする仕組みに変更
アプリ(Flutter)

【flutter_sound × Go】音声ファイルをAPI経由でAWS S3にアップロード

今回は、アプリでflutter_soundパッケージで録音した音声ファイルをAPI通信でアプリからサーバー(AWS S3)にアップロードする部分を実装したいと思う。アップロードされた音声ファイルのS3パスをデータベース内のフレーズに関連付け、voice_pathフィールドを更新する。
サーバー(Go)

【Go言語】におけるテスト駆動開発の実践:マイグレーションファイル作成からSQLインジェクション対策まで

Go言語のテスト駆動開発をマイグレーションファイル作成、SQLインジェクション対策、dockertestを使った実際のテスト方法を含めて記載。testutils.RunMySQLContainer 関数を呼び出して、MySQLコンテナを起動し、データベースに接続する。
サーバー(Go)

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

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

【Gemini Pro API】ChatGPTより80倍安い!? ・Go言語での実装方法

計算間違っているのでは?と疑ってしまったのだが、Gemini Pro APIの方がGPT3.5-turboと比較して80倍近く安い!OpenAIが課金単位としている「トークン」では割高になりがちな日本語では、「文字」でカウントしてくれるGeminiは割りが良い
アプリ(Flutter)

【Flutter × Go】眠りモードに至るまでの時間をアプリで設定して、サーバーに反映させる。

以前、ESP32のlight sleep mode機能を使って、ミーアをおやすみモードに移行する部分のコードを作成した。この時は、PlatformIOに直接スリープモードへの移行時間を設定していたが、ユーザーのアプリで移行時間を設定できるように変更する。
アプリ(Flutter)

【Flutter】Apple HealthKit API から行動ログを取得し、Gemini APIを元にアドバイス文を生成:実装編

今回は、Flutterアプリからサーバーにヘルスデータを送信し、Gemini APIを通じてアドバイスのテキスト(例:昨日はよく眠れたみたいですね。この調子!)を生成する部分を実装したい。1日の総歩数と総運動時間を出力するように計算ロジックを追加。
サーバー(Go)

【gRPC】.protoファイルを作成し、コンパイルしてGo言語で使用するまで

Protocol Buffers(protobuf)は、gRPCで使用されるインターフェース定義言語(IDL)。JSONやXMLなどの伝統的なフォーマットに比べて、より小さいサイズで、より速い速度でデータを伝送できる。.protoファイルを作成し、メッセージとgRPCメソッドを定義する
サーバー(Go)

【Flutter × Go × gRPC】OTAアップデート:Firmware更新をgRPCでアプリ通知

AWS s3のfirmwareディレクトリに新しいFirmwareバイナリを開発者がバージョン指定してアップロードする。各ユーザーのFirmwareのバージョンと開発者がアップロードした最新バージョンを比較し、異なる場合にFlutterアプリに「新しいFirmwareをインストール可能です」と通知する。
スポンサーリンク