-
システム開発
Claude 3.5 Sonnetを使ってOpenAPI仕様のAPI仕様書からRailsのソースコードを生成する
開発の効率化の検証のために、Claude 3.5 Sonnetを使って、OpenAPI仕様のAPI仕様書からRailsのAPIソースコードを生成することを試してみました。利用したAPI仕様書は、店舗(Shop)に対するCRUDを定義したシンプルなものです。 claudeのサイトから生成を行い... -
アプリ開発
Webシステム開発のための生成AI活用
OpenAIのGPTやAnthropicのClaudeなど、日々バージョンアップを続ける生成AIはコーディングの補助ツールとしてとても強力なものになりました。 VSCodeやCursorなどの統合開発環境も生成AIをシステム開発に活用していくうえでの強力なサポートとなっています... -
アプリ開発
Line Message APIでユーザーに選択肢を提示する方法
Lineを使ってユーザーにサービスの説明を行う際に、ユーザーがより詳しく知りたいことを選択肢の中から選んでもらい、それに対しての回答を返却する機能の実現方法を検討しました。(2024.8) 【方法1 知りたい選択肢の番号をメッセージで送ってもらう】 実... -
システム開発
【Rails】Bullet導入済みの開発環境でNginxの “upstream sent too big header while reading response header from upstream” エラーが発生した件
開発中のソースを開発環境にデプロイしたところ以下のエラーが発生しました。 2024/05/30 08:22:17 [error] 17725#0: *117340 upstream sent too big header while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: xxx.com,... -
インフラ
IAMユーザーの直接アタッチしたポリシーをAWS CLIからデタッチする方法
【概要】 IAMユーザーに「直接」と「グループ」の両方で同じポリシーをアタッチしているユーザーがおり、直接アタッチのポリシーのみをデタッチしたい。 【なぜ「直接」アタッチポリシーのみデタッチしたいのか】 既存プロジェクトでIAMユーザーの見直しを... -
システム開発
【Rails】deviseとauditedを同時に使用するとstack level too deepが発生した件
既存プロジェクトにauditedを導入したところ、本番環境で大量のstack level too deepエラーが発生しました。その原因と対処方法についてまとめます。 【プロジェクト環境】 rails 7.0.4 devise 4.9.2 audited 5.3.2 ※DBレコードの変更履歴を自動... -
システム開発
RSpecで外部依存性をロジック目線でモックする
RSpecでWebMockを有効にしているけれど、関心事から外れているケースでAPIレスポンスのスタブを書きたくないということはあると思います。そのようなとき、RSpecのinstance_double1 を使ってロジック目線でモック・スタブを書ける場合があります2。 # Shri... -
インフラ
【AWS】EventBridge Schedulerを使って、ECSタスクを常に最新で起動する方法
【概要】 ECSでタスクスケジュールを設定してタスクの自動起動を設定していたのですが、タスクのリビジョンが更新される度に設定を変更する必要があり、非常に面倒でした。 今回はECSのタスク自動起動をするためにEventBridge Schedulerを使い、常に最新の... -
インフラ
Docker環境の Ruby 3.3へのアップグレード問題とその解決方法
【】 Ruby 2.6.5やRuby 2.7.6等の古いバージョンのRubyを利用しているDocker環境において、Rubyのバージョンを3.3にアップグレードすると、`ruby` コマンドが実行できなくなる問題が発生しています。gem updateやbundle install等も同様に実行できない状態... -
システム開発
reCAPTCHAを導入しないと起きてしまいえる問題について
会員登録や問い合わせなどフォーム画面を開発する際にはreCAPTCHAを導入することをお勧めしております。 今回はreCAPTCHAを導入しないとどんなことが起きてしまいえるかということをご紹介いたします。 【reCAPTCHAとは】 reCAPTCHAはサイト利用者が人間か...