RSS Amplifier

Blog

enechain Tech Blog

techblog.enechain.comSource feed ↗10 posts

Live Last read · last published · next check

Latest posts

Kubernetesで作る全社PRプレビュー基盤の設計判断

こんにちは!Platform Engineeringチームの Taiki です。enechainでは、Pull Requestを作成するとプレビュー環境が自動で立ち上がり、動作確認や検証を高速化・効率化できるプラットフォームを、Kubernetesカスタムコントローラーとして開発・運用しています。社内ではこのプラットフォームをprothea (プロテア)と呼んでいるので 1 、記事中でもこの名前で呼びます。 protheaの特徴は3つあります。複数のプロダクト間で一貫してプレビューできること、プレビュー毎にユニークなURLが払い出され共有しやすいこと、Platform Engineeringのアプローチで認知負荷を吸収し、高いDevExを実現していることです。今回の記事では、その概要や設計上の意思決定を紹介します。 背景 enechainのテクノロジースタック protheaのユニークな点…

Serena MCPとモノレポでのマルチ言語サーバ運用

前提となる環境 Claude Codeへ導入する 前提: uvを入れる MCPサーバとして登録する 言語サーバとツールチェーンの前提 言語サーバがうまく動かないとき Serenaのアーキテクチャを分解する 2つのプロトコル: MCPとLSP solidlsp: 言語サーバの抽象化層 SerenaのツールはLSPリクエストに翻訳される シンボルのname pathという考え方 contextsとmodesでツールセットを切り替える メモリシステム 大規模モノレポでのマルチ言語サーバ運用 1つのリポジトリでgoplsとTypeScript Language Serverが同居する 生成コードをどう排除するか おさえておきたい設定項目 コールドスタートとメモリ消費 標準ツールとの比較 運用上の工夫 Serenaのツールを使わせる工夫 Webダッシュボードで挙動を観測する まとめ 参考…

QCon London 2026 参加レポート

はじめに QConとは? セッションの紹介 Complexity & Creativity in Software Engineering Mitigating Geopolitical Risks with Local-First Software Context is the New Code おまけ:Friendly FOMOという文化づくり さいごに はじめに こんにちは!enechainでエンジニアリングマネージャーをしている taniyarn です。 弊社には、World-class Conference Support Programという制度があります。 これは、社員が世界レベルの業界技術トレンドを知るために、自分の仕事に関連するテクノロジー系の海外カンファレンスに参加することを会社として支援する仕組みです。…

Auth0から内製認証基盤への移行における、フロントエンドライブラリの内製化について

はじめに 認証状態を管理するライブラリ 開発の方針 設計について 設計で意識したポイント 認証状態の設計 インターフェースの最小化 依存ライブラリの最小化 キャッシュ制御の柔軟化 負荷対策 テスト アプリケーション側の変更作業 終わりに はじめに こんにちは、ソフトウェアエンジニアのchocoです。 前回の大山の記事 では、認証基盤をAuth0から内製基盤に移行した話をご紹介しました。 今回はその中からフロントエンド領域にフォーカスを当て、内製化によって何が解決できたか、ライブラリ開発を中心にどのような設計上の判断をしたかをご紹介します。 認証状態を管理するライブラリ Auth0を利用している時は、 auth0-react や auth0-spa-js といったライブラリを使ってログインフローを提供していました。…

DBを使うGoのテストを速く・壊れにくくする

はじめに 設計の方針 テンプレートDBによる高速化 環境差を吸収する macOSでのプロセス起動 Debian / GitHub Actionsでの起動 Testcontainersでの起動 ハマりどころ panic時にPostgreSQLのプロセスが残る t.Failed() がpanic時にfalseを返す データベースの状態を適切に観測する必要がある さらなる高速化:プロセスの再利用 やってみての所感 まとめ はじめに データベースを使った実装のテストは書くのもメンテナンスしていくのも面倒になりがちです。自分たちのチームでは当初モックをしていました。 しかしモックのメンテナンスコストが高いこと、テストの実装をよく分解してみると実は時間の経過と共にテストしたいところがテストできてないものになっていたことなどがありました。 そのため Testcontainers…

未経験から実務へ -AI時代のenechainインターン3ヶ月の成長記録

簡単な自己紹介 なぜenechainだったのか エンジニアの実務経験を積みたかった ドメインの希少性 会社の雰囲気 所属していたチーム 具体的な業務内容 1. お気に入り機能 2. Monthly Updateタブの追加 3. Jクレジットの属性情報拡充 4. タグの機能改善 AI時代のエンジニア業務のリアル —なぜ未経験でも圧倒的なスピードでリリースできたのか 主体となってAIを「使いこなす」ために必要な3つの視点 1. 主体性を持って積極的に自分から周囲を巻き込みにいく 2. エンジニアとしての「基礎力」と「設計」、「ドメイン知識」への理解 3. 学びを加速させる「アウトプットの習慣」 これから応募する人へ enechainインターンのここが最高 事前にやっておくと良いこと こんな人におすすめ! はじめまして!…

なんでも作れる時代に、何を作るか — アラン・ケイとAI時代のプロダクトデザイン

アラン・ケイとは何者か 今のコンピュータ体験の多くはここから始まっている Dynabook — 「個人のためのメディア」という構想 GUI — コンピュータを「触れる」ものにした Smalltalk — コンピュータの見方そのものを変えた Appleのプロダクトとケイの思想 未来を当てたのではなく、前提を変えた 「メディアはメッセージである」 コンピュータは「思考のためのメディア」である 「使う」だけでなく「作れる」メディア AI時代の違和感 「何を作るか」から「何を変えるか」へ おわりに 参考 enechainプロダクトデザインデスクの近藤( @add_kk )です。電力や環境価値の取引、トレーディングに関するデザインを主に担当しています。 先日、社内のLT会でアラン・ケイについて紹介したとき、こんな反応がありました。 「未来人すぎる」 「タイムトラベラーでは?」…

PostgreSQLで作る非同期ジョブキュー

はじめに 背景と課題 背景 イベントをトリガーとした非同期処理の基本的な構成 改善前のアーキテクチャ 顕在化した課題 改善の方針 アーキテクチャ 実装方式の選定 デキュー: ジョブの取得と実行 ジョブの設計 ジョブのライフサイクル 直列化キーによる順序保証 優先度による実行順の制御 リトライとクラッシュリカバリ デキュークエリ Workerの並行実行 エンキュー: イベントの検知とジョブの生成 ポーリング方式の課題 WALを利用したエンキュー 実装 結果 まとめ はじめに こんにちは、enechainでエンジニアをしている青戸です。…

Auth0から内製認証基盤へ移行を決めた背景と移行方法

はじめに なぜ内製化を選んだのか プラットフォーマーとしての説明責任 制約の解消とコスト削減 認証基盤を内製で持つリスク 移行の設計 並行稼働による段階的移行 使用するデータソースの統一(SSoT) 認証基盤の内製化、並行稼働をしてみて 認証基盤全体がコントローラブルになった 内製化で得られた価値 並行稼働について 発生した課題 まとめ はじめに こんにちは、ソフトウェアエンジニアの大山です。 enechainではこれまでユーザー認証基盤としてAuth0を利用してきましたが、事業の成長に伴い自社開発の認証基盤(eAuth)へ移行しました。 本記事では、Auth0から内製へ移行する意思決定の背景、移行の設計について紹介します。 なぜ内製化を選んだのか enechainでは元々Auth0を認証基盤として採用していました。…

デザイナーはアクセシビリティチェックツールの夢を見るか — Claude Codeでつくる3エンジン評価ツール

きっかけ:Agent Browserを試したかった Claude Codeと一緒に作り始める ツールの設計:3つの評価軸 使い方 これからどう使いたいか おわりに enechainプロダクトデザインデスクの近藤( @add_kk )です。 今回は認証環境でも動く、WCAG・APCA両対応、AIによる意味的評価まで。デザイナーがClaude Codeと5日間で作ったアクセシビリティチェックツールの話です。 以前、 WCAG 2.xとAPCAのコントラスト評価について書いた記事 で、コントラストの「実感とのズレ」に向き合う話をしました。数値は合格でも読みにくい、という体験をデザイナーとして何度もしてきたからこそ書いた記事です。 ただ書いた後も、もやもやが残っていました。 知識はある、でもチェックする仕組みがない。 axe…