サーバー(Go) 【ミーア】Google Calendar APIをGoで操作する方法:Refresh Tokenからイベント取得まで Google APIでは、refresh_token を直接利用してAPIにアクセスすることはできない。代わりに、refresh_token を使用して一時的な access_token を発行し、このトークンを使ってAPIにリクエストを送る必要がある。 2024.11.26 2024.11.28 サーバー(Go)開発・デザイン
アプリ(Flutter) 【ミーア】Auth CodeとRefresh Tokenを活用したGoogle Calendar APIアクセスの実装 (Go言語とFlutter) Google Calendar APIへのアクセスをより安全かつ効率的に管理するために、アプリ側でアクセストークンを直接使用せず、認証コード(Auth Code)をバックエンドに送信してリフレッシュトークンを生成・保存し、そのリフレッシュトークンを使用してGoogle Calendar APIにアクセスする仕組みに変更 2024.11.25 アプリ(Flutter)サーバー(Go)開発・デザイン
サーバー(Go) GolangでデータベースマイグレーションのDirty状態を解決する方法 Golangとgolang-migrateを使ったサーバー開発で、マイグレーションがDirty状態になった場合の対処法をまとめる。Dirty状態とは、マイグレーションが中断し、データベースが不整合な状態になったことを指す。以下に、その解決手順を備忘録的に記載する。 2024.11.15 サーバー(Go)開発・デザイン
アプリ(Flutter) 【flutter_sound × Go】音声ファイルをAPI経由でAWS S3にアップロード 今回は、アプリでflutter_soundパッケージで録音した音声ファイルをAPI通信でアプリからサーバー(AWS S3)にアップロードする部分を実装したいと思う。アップロードされた音声ファイルのS3パスをデータベース内のフレーズに関連付け、voice_pathフィールドを更新する。 2024.08.04 アプリ(Flutter)サーバー(Go)開発・デザイン
アプリ(Flutter) 【開発】大きい機能を開発してみての振り返り:機能開発とテストの優先順位 当初は、1ヶ月くらいかかるだろうと想定していたものの、結果的には半分くらいの日数で開発を終えることができ(現在PRレビュー待ち)、それ自体は良かったのだが、今回大きい機能を開発してみての振り返り(マインドセットと、どう開発を進めていくのが効率的か)を備忘録として記載しておこうと思う。 2024.07.29 アプリ(Flutter)サーバー(Go)開発・デザイン
サーバー(Go) 【AWS】S3署名付き(presigned)URLを使用して、音声合成ファイルのアクセス制限を管理する方法 プリサインURLは、クラウドストレージサービス(例:Amazon S3)内のオブジェクトへの一時的なアクセスを提供するURL。このURLは特定の権限と有効期限で署名され、クラウドストレージの資格情報に直接アクセスすることなく、安全にファイルをダウンロードまたはアップロードすることができる。 2024.07.24 サーバー(Go)開発・デザイン
サーバー(Go) 【Go言語】におけるテスト駆動開発の実践:マイグレーションファイル作成からSQLインジェクション対策まで Go言語のテスト駆動開発をマイグレーションファイル作成、SQLインジェクション対策、dockertestを使った実際のテスト方法を含めて記載。testutils.RunMySQLContainer 関数を呼び出して、MySQLコンテナを起動し、データベースに接続する。 2024.07.14 サーバー(Go)開発・デザイン
Web(React / Python) 【オブジェクト指向でなぜつくるのか?】OOP, クラス, 型付け, 継承, ポリモーフィズム, パッケージ, 例外, ガベージコレクション, コンパイラ, インタプリタ, 中間コード, メモリ領域 2022年に購入して積読だった「オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識」を最近読んだので、まとめ記載。プログラミング言語の歴史の部分が、とてもわかりやすかった。OOPでは新しく3つの要素(クラス・ポリモーフィズム・継承)を導入した。 2024.03.06 2024.07.01 Web(React / Python)アプリ(Flutter)サーバー(Go)組み込み(C++ / ESP32)開発・デザイン
サーバー(Go) 【Go】タスクキューとクーロンを使った並列処理の実装 今回は、本日の天気情報を音声でお知らせするという機能に関して、ユーザーがアプリで設定した天気お知らせ時刻の1時間前に、該当の天気情報の音声ファイルを生成してAWS S3に保存するという機能を作成。go言語でタスクキューを使った並列処理で実装を進める。 2024.01.18 2024.07.01 サーバー(Go)開発・デザイン
サーバー(Go) 【Flask】アプリをDocker化して、Artifact RegistryにPushしてCloud Runにデプロイする方法 Google CloudにCLIでログインし、Dockerイメージをローカルにビルドし、DockerでArtifact RegistryにPushする。ちなみに、Container Registryは非推奨になった。Google Cloud でコンテナの管理を始めるには、Artifact Registry を使用する。 2023.12.09 2024.07.01 サーバー(Go)開発・デザイン