アプリ(Flutter / React Native) 【開発】大きい機能を開発してみての振り返り:機能開発とテストの優先順位 当初は、1ヶ月くらいかかるだろうと想定していたものの、結果的には半分くらいの日数で開発を終えることができ(現在PRレビュー待ち)、それ自体は良かったのだが、今回大きい機能を開発してみての振り返り(マインドセットと、どう開発を進めていくのが効率的か)を備忘録として記載しておこうと思う。 2024.07.29 アプリ(Flutter / React Native)サーバー(Go / Rails)開発・デザイン
サーバー(Go / Rails) 【AWS】S3署名付き(presigned)URLを使用して、音声合成ファイルのアクセス制限を管理する方法 プリサインURLは、クラウドストレージサービス(例:Amazon S3)内のオブジェクトへの一時的なアクセスを提供するURL。このURLは特定の権限と有効期限で署名され、クラウドストレージの資格情報に直接アクセスすることなく、安全にファイルをダウンロードまたはアップロードすることができる。 2024.07.24 サーバー(Go / Rails)開発・デザイン
サーバー(Go / Rails) 【Go言語】におけるテスト駆動開発の実践:マイグレーションファイル作成からSQLインジェクション対策まで Go言語のテスト駆動開発をマイグレーションファイル作成、SQLインジェクション対策、dockertestを使った実際のテスト方法を含めて記載。testutils.RunMySQLContainer 関数を呼び出して、MySQLコンテナを起動し、データベースに接続する。 2024.07.14 サーバー(Go / Rails)開発・デザイン
サーバー(Go / Rails) 【Go】タスクキューとクーロンを使った並列処理の実装 今回は、本日の天気情報を音声でお知らせするという機能に関して、ユーザーがアプリで設定した天気お知らせ時刻の1時間前に、該当の天気情報の音声ファイルを生成してAWS S3に保存するという機能を作成。go言語でタスクキューを使った並列処理で実装を進める。 2024.01.18 2024.07.01 サーバー(Go / Rails)開発・デザイン
サーバー(Go / Rails) 【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 / Rails)開発・デザイン
アプリ(Flutter / React Native) 【Go × Echo】バックエンドで天気予報情報を取得し、Flutterアプリに表示する 今までは、アプリ側のみでOpenWeatherMapのAPIを使用して、指定された緯度と経度を使用して天気情報を取得しアプリ画面に表示していたが、今回はGo言語のEchoフレームワークによるバックエンド経由に変更する。 2023.08.28 2024.07.01 アプリ(Flutter / React Native)サーバー(Go / Rails)開発・デザイン
AI 【ChatGPT × Cloud Functions × Firestore】会話記憶するLINE Bot開発:環境設定編 ユーザーがLINEにメッセージを送信すると、その内容はLINEのWebhookによってCloud Functionsに転送され、Cloud Functionsで設定した関数でOpenAI APIを通じてChatGPTを利用してユーザーのメッセージに対する応答が生成される。 2023.12.07 2024.07.01 AIサーバー(Go / Rails)開発・デザイン
AI 【ChatGPT × Cloud Functions × Firestore】会話記憶するLINE Bot開発:コード実装編 OpenAIのAPIは定期的に更新され、変更されるので、最新のAPI呼び出し方法を公式サイトで確認する必要あり。bot作成して動かないときの原因の1つは、OpenAIのAPIの呼び出し関数のことがある。Chat Completionsで返ってくるオブジェクトのうち、テキスト部分を取得する。 2023.12.08 2024.07.01 AIサーバー(Go / Rails)開発・デザイン
サーバー(Go / Rails) 【Docker】ポートマッピング。port番号がたくさん登場するので整理してみた。 Docker化してコンテナ内部のサービスにアクセスする場合は、Dockerコンテナ自体がホストマシンからも独立した環境なので、コンテナportを介さないとアクセスができない。Docker port mappingの設定方法は、docker runコマンドを使用する場合とdocker-compose.ymlを使用する場合の2つがある。 2023.12.21 2024.07.01 サーバー(Go / Rails)開発・デザイン
AI 【Gemini Pro API】ChatGPTより80倍安い!? ・Go言語での実装方法 計算間違っているのでは?と疑ってしまったのだが、Gemini Pro APIの方がGPT3.5-turboと比較して80倍近く安い!OpenAIが課金単位としている「トークン」では割高になりがちな日本語では、「文字」でカウントしてくれるGeminiは割りが良い 2024.01.11 2024.07.01 AIサーバー(Go / Rails)開発・デザイン