ENECHANGE Developer Blog

ENECHANGE開発者ブログ

DevinのPRを誰が作ったか分からない問題を、GitHub Actionsで解決してみた

こんにちは。ENECHANGEの石橋です。

最近、AI開発エージェントのDevinを活用してコード生成を行う機会が増えています。
しかし、Devinが作成したPull Requestは全て devin-ai-integration[bot] アカウントで作成されるため、実際に誰がDevinに指示を出したのかが分からないという課題に直面しました。

特に、Findy Team+のような開発者生産性測定ツールを使用している場合、誰がどれだけDevinを活用しているかを正確に計測できないのは大きな問題です。

本記事では、GitHub Actionsを活用してDevinが作成したPRに依頼者の情報を自動で付与する仕組みを紹介します。

続きを読む

PostgreSQLのRLSをRailsへ導入する際のポイント

こんにちは。ENECHANGEの杉浦です。

PostgreSQLのRow Level Securityを利用したマルチテナントアーキテクチャのシステムをRailsで構築する際のポイントを記載します。
構築する際にはまりどころもあるため本記事で導入のハードルが下がれば幸いです。
一番最後にサンプルコードのリンクも記載しています。

続きを読む

ENECHANGE で磨いたバックエンドスキルと温かいチーム文化

こんにちは!2025年4月から、インターン生としてお世話になりました。高岡己太朗です。

約2ヶ月間、 ENECHANGE でフロント・バックの業務に携わらせていただきました。 この記事では、その中で学んだことや魅力についてご紹介させていただきます。


経緯

ENECHANGE が募集していた通年就業型インターンに参加するきっかけとなったのは、 学内の同級生と参加したハッカソンでした。このハッカソンを通し、API や データベースの基礎などのバックエンドを Go で実装し、バックエンドに興味を持ちました。

続きを読む

JWTを検証してAWS Verified Accessの経路判定をやってみた

CTO室のtockeysanです。

弊社のとあるプロダクトではAWS Verified Access(以降Verified Access)を使用してECS環境にアクセスをしています。 ユーザーがVerified Accessの経路でアクセスしたことをECS上で動いているRailsアプリケーション上で判定・検証する要件があったため、その実装を解説していきたいと思います。

  • 構成
  • アクセス経路の判定
    • カスタムヘッダー
    • JWTの検証
      • 1. signerの確認
      • 2. シグニチャの検証
      • 3. 有効期限の検証
    • 実装例
  • まとめ
続きを読む

RenderProps パターンで UI 依存のないコンポーネントライブラリを作る

はじめに

弊社では、自社プロダクトの開発で培ったノウハウを活かし、電力事業者向けに料金シミュレーション機能を提供しています。 ここ最近では、共通のシミュレーション Rails API とクライアントごとにカスタマイズされた React ベースの SPA を組み合わせた構成が主流です。 シミュレーションの基本的なロジックは共通していますが UI に関してはクライアントごとに多様な要望があり、これまでは既存のリポジトリをフォークし UI 部分を個別にカスタマイズするアプローチを取っていました。

しかし、この方法には以下のような問題がありました:

  • 同じようなコードがリポジトリを跨いで量産されてしまう
  • 共通ロジックに変更があった場合、全てのリポジトリに反映する必要がある
  • 同じバグを複数のリポジトリで修正する必要がある

これらの問題を解決するために RenderProps パターンを用いた UI とロジックを明確に分離したコンポーネントライブラリを作成しました。

続きを読む