カミナシ エンジニアブログ

https://kaminashi-developer.hatenablog.jp/

株式会社カミナシのエンジニアが色々書くブログです

フィード

記事のアイキャッチ画像
〜セキュリティ課題、溜め込んでいませんか?〜 カミナシにおける AWS Security Hub CSPM との向き合い方
カミナシ エンジニアブログ
こんにちは、「カミナシ レポート」の開発に携わっている furuya です。 今回はみんなだいすき AWS Security Hub CSPM に対する、カミナシのサービスチームの向き合い方についてご紹介します。 AWS Security Hub CSPM とその通知用社内システムについて AWS Security Hub CSPM とは 今年(2025/6)の AWS re:Inforce にて、AWS Security Hub サービスの再構成がアナウンスされました。今までおなじみだった AWS Security Hub 相当のものは AWS Security Hub CSPM という名前…
9日前
記事のアイキャッチ画像
仕様を変えて速くする —— パフォーマンス改善とAIによる“先回り”検証
カミナシ エンジニアブログ
AIに仮実装をさせることで実装の難所を事前に発見し、より良い仕様へ素早く変更した実例
23日前
記事のアイキャッチ画像
スタートアップがゼロから作る共通ID基盤:立ち上げ〜ID統合まで道のり(前編)
カミナシ エンジニアブログ
こんにちは。株式会社カミナシの認証認可ユニットで『カミナシ ID管理』の開発に携わっているトモ=ロウです。 「マルチプロダクトにおける共通ID基盤」というテーマは、これまで多くのSaaS事業者が向き合ってきた、あるいはこれから向き合っていくべき課題であることは間違いないでしょう。しかし、実際の移行プロジェクトを経験した開発者の視点からの記録は、まだまだ少ないと個人的に感じています。 本記事では、カミナシが単一プロダクトから複数プロダクトへと事業を拡大する過程で、いかにして共通ID基盤を構築し、既存システムを統合していったのか、その道のりとそこで得た知見を、ありのままにお伝えしようと思います。本…
1ヶ月前
記事のアイキャッチ画像
「守る」から「攻める」へ。セキュリティエンジニアがビジネスに貢献するために
カミナシ エンジニアブログ
どうもセキュリティエンジニアの西川です。このブログは Black Hat USA の帰りの道中で書きました。私は Hayabusa や Suzaku というファストフォレンジックツールを大和セキュリティというコミュニティで開発しており、その発表に行ってきました。 毎年 AWS re:Invent でラスベガスには行っています夏のラスベガスはとても暑かったです。 それはさておき、私は7月からセキュリティエンジニアリングのマネージャーをしています。 だからというわけではないのですが、私が普段意識していることを最近メンバーに共有することが多くなってきました。 それは言うなればセキュリティはビジネスと…
1ヶ月前
記事のアイキャッチ画像
ニューカマーの僕が推したいカミナシエンジニア組織の仕組み5選
カミナシ エンジニアブログ
こんにちは。カミナシのソフトウェアエンジニアisanaです。 「カミナシ レポート」の開発に携わっています。 筆者は昨年の11月にカミナシにjoinしました。これまでプロダクトの開発に関わるなかで「これめっちゃイイ!」と全世界に向けて推したい仕組みにいくつか出会いました。 本稿では筆者が推したい仕組みについて、カミナシのエンジニア組織全体に関係するものと「カミナシ レポート」の開発チームに関連するもの、合わせて5つをご紹介します。 紹介した仕組みはそれぞれについて詳しく解説している記事のリンクも記載しておりますので、紹介した各仕組みについては、詳しく解説している記事のリンクも記載していますので…
1ヶ月前
記事のアイキャッチ画像
定期的に期待値の交換会をしよう!
カミナシ エンジニアブログ
カミナシでプロダクト開発をしているふじはら(@daipresents)です。今日はおかんと西武ライオンズで活躍した清原和博選手の誕生日です。 カミナシはサービスチームという単位で開発を行っています。これはスクラムでいうスクラムチームに近く、可能な限りチームで自律して判断できるような形を組織的に目指しています。 最近では、「カミナシ 教育」のサービスチームで期待値の交換会をする機会がありました。 メンバーからも好評で、他社のアジャイルコーチ支援をするときにもよくやるプラクティスのひとつなので、今日はその内容をまとめたいとおもいます。 期待値とは? ここでいう期待値とは、チームメンバーそれぞれに期…
2ヶ月前
記事のアイキャッチ画像
【サクッと実装】CloudFront Functionsでつくる軽量メンテナンスページ
カミナシ エンジニアブログ
はじめまして、こんにちは。6月にカミナシに入社したソフトウェアエンジニアの渡邉(匠)です。「カミナシ 設備保全」の開発に携わっています。 みなさんはシステムのメンテナンスが必要になったときどう対応をしていますか?「カミナシ 設備保全」でもメンテナンスが必要になり、メンテナンス中はユーザーがサービスにアクセスできないようにメンテナンスページの作成が必要となりました。 ※ 本記事で紹介する構成は、ユーザーがオリジン(S3バケットやALBなど)に直接アクセスできず、必ずCloudFrontを経由してアクセスする構成になっていることを前提としています。 開発方針 今回、メンテナンスページを実装する上で…
2ヶ月前
記事のアイキャッチ画像
アジャイルな見積もりと計画づくりをしないチームのはなし
カミナシ エンジニアブログ
こんにちは。「カミナシ 教育」というプロダクトを作っているふじはら(@daipresents) です。毎日アイスを3本以上食べてます。 僕は「カミナシ 教育」のサービスチーム(スクラムチームみたいなチーム)でマネジメントを担当していますが、それ以外ではダブルワークでアジャイルコーチとしていろんな企業の開発支援も行っています。 カミナシでは各チームが自律して動くことを求められ、それぞれが試行錯誤しながらがんばっています。なので、カミナシではあんまりアジャイルコーチの仕事はしていないのですが、自分のチームを俯瞰して見ていると、自然とアジャイルな見積もりと計画づくりをしていないことに気がつきました。…
2ヶ月前
記事のアイキャッチ画像
【脱PAT】local環境でのプライベートGoモジュールの利用にGitHub Appのデバイスフローが使える
カミナシ エンジニアブログ
突然ですが、あなたの.netrcや環境変数に、ghp_...から始まる”あの文字列“、そっと忍ばせていませんか? そう、GitHubのPersonal Access Token (PAT) です。 「自分しか使わないから」「有効期限なしが一番ラクだから」しかしその”魔法の文字列”は、開発効率を上げる便利な鍵であると同時に、ひとたび漏洩すれば全てを危険に晒す諸刃の剣。 果たして、この便利で危険な”魔法”を、私たちは本当に封印できるのでしょうか……? local環境でセキュアにプライベートGoモジュールをダウンロードしたい こんにちは。カミナシ認証認可ユニットで共通ID基盤を開発しているminaで…
3ヶ月前
記事のアイキャッチ画像
Notion MCPで「ヒアリング→チケット」自動化はじめました
カミナシ エンジニアブログ
TL;DR PMのチケット作成~整理業務をNotion MCP x Claudeで約30分→5分程度に短縮できた チケットが自動生成されることで、一次情報収集にリソースを再投下し意思決定の質が上がり、実装時のコミュニケーションコストも低くなる Notion MCPの仕様で、API callが長大になるためチケットを作るまでの時間が1~2分かかり、rate limitにも達しやすいなど一部欠点もある アウトカムを出すために重要なのは、「何を作るか」ではなく「何を作らないか」を見極めることなので、人間はそこに注力すべき 自己紹介 カミナシ StatHack カンパニーCEOの松葉です。 6月にカミ…
3ヶ月前
記事のアイキャッチ画像
生成 UIでユーザーに最適化されたデザインを魅せる。そんな未来の先行体験会。
カミナシ エンジニアブログ
プロローグ 河野「このTODOアプリ便利やなぁ」 河野「でも、なんかシンプルすぎて退屈やねんなぁ。たまにTODO忘れるし...」 河野「もっとド派手なハリウッド映画みたいなデザインで緊迫感だしてくれや!」 アプリ「わかりました。もっと激しくてインパクトのあるデザインで訴求します。」 アプリ「ウィーン。ガシャコン。キュイーン⤴︎(デザインが変わる音)」 アプリ「はい。河野さん好みのデザインにしておきました。(ハリウッドの爆弾バーン!!)」 河野「そうそう。素直でええねん。これでわかりやすくなった!」 河野「あ〜あ!。あらゆるアプリがユーザーごとにカスタマイズされたデザインになる世界に生まれて良か…
3ヶ月前
記事のアイキャッチ画像
Next.jsのコンパイラから知るServer Actionsの完全解析 ~セキュリティ上の注意点も含めて~
カミナシ エンジニアブログ
はじめに StatHackカンパニーの渡邉です。 私の普段の取り組みをこちらで紹介しているのでこちらもどうぞ。 note.kaminashi.jp 私たちKaminashiでは、さまざまなプロダクトにNext.jsを採用し始めています。 今回のブログではNext.jsの最も特徴的な機能の一つであるServer Actionsに関してフォーカスし、それがどういう仕組みで動いているのかコンパイラのソースコードを確認しながら解説し、 最後に実装上の注意点について述べます。 特にServer Actionsの具体的な中身の解説に関してはヘビーなので、実装上の注意点だけ見てもらうだけでも良いかもしれない…
3ヶ月前
記事のアイキャッチ画像
AIは励まされると頑張れるらしいので、いろんな方法で奨励してみた。
カミナシ エンジニアブログ
プロローグ 2025/05/22 Claude 4 リリース後、多くの人間が一段階未来へきたと感じていることだろう。 今まで超えられないと感じていた壁を超えたような感覚がある。 dd 更に Claude 4 を、LLMを使いこなしたい。そう思い Claude 4 プロンプトエンジニアリングのベストプラクティスに目を通した。 私の脳に強烈なインパクトを残したのが以下のセクションだった... 面白すぎる...! 本題 どうやら奨励するとAIは頑張れるらしい。 ビジュアル表現が豊かになるらしい。 英語原文だと以下のような内容だ。 For frontend code generation, you c…
3ヶ月前
記事のアイキャッチ画像
【AWS Jam 1位!】今年も AWS Summit Japan に参加してきました
カミナシ エンジニアブログ
2025/6/25(水)、6/26(木)の2日間、幕張メッセで AWS Summit Japan が開催され、弊社から今回は CTO の[原トリ](https://x.com/toricls)を含む計7名のメンバーが参加してきました!様々な学びや発見があるイベントでしたので、ぜひ当日の雰囲気をお伝え出来ればと思います。
3ヶ月前
記事のアイキャッチ画像
JavaScript で Wasm 使ってるなら要注意! そのメモリ、本当に解放されてますか?
カミナシ エンジニアブログ
数ヶ月前、画像処理ライブラリ OpenCV.js を使って Web カメラの映像をリアルタイム処理するプロトタイプを作っていたときのことです。 OpenCV.js は C++ で書かれたコードを WebAssembly(Wasm) にコンパイルして作られており、Wasm ならではのブラウザ上での高速な処理が可能なライブラリです。 実際、画像のフィルタ処理や特徴点検出など、ユニットテストの段階では高速に実行でき、開発は一見順調に進んでいるかのように見えました。 ところが、いざアプリケーションに画像処理モジュールを組み込んでみると、起動したカメラが数秒経つとなぜか止まってしまいました。 コンソール…
3ヶ月前
記事のアイキャッチ画像
ブラウザで“サクサク”AI推論!!― Wasm × C++ による画像処理
カミナシ エンジニアブログ
こんにちは、Kaminashi StatHackカンパニーの渡邉健です。 初めてエンジニアブログを書いてみます。 以下のリンクに普段の取り組みを書いているので興味があれば見てみてください。 AI というテクノロジーを現場 SaaS でどう実現するか 〜AI チームのアプリケーションエンジニアに話を聞いてみた〜|カミナシnote編集部 1. StatHackのこれまでの画像処理の取り組み StatHack カンパニーでは、現場作業を楽にする AI 画像処理 をいくつか開発してきました。 たとえばスマホで鉄筋束を撮影し、クラウド側で本数を自動カウントする Web アプリなどです。 JFE条鋼がAI…
3ヶ月前
記事のアイキャッチ画像
Prometheusのメトリックタイプを徹底解説!使い分けでオブザーバビリティを高めよう
カミナシ エンジニアブログ
カミナシの認証認可ユニットでソフトウェアエンジニアをしているトモ=ロウです。 早速ですが皆さんPrometheusはご存知ですか? Prometheusは、システムメトリクスの監視に特化したオープンソースのモニタリングシステムです。時系列データを収集・保存し、強力なクエリ言語PromQLを使って分析することで、システムの健全性を詳細に可視化できます。プル型(Prometheusサーバが監視対象のシステムからメトリックをポーリングする形式)を採用している点が特徴的です。 私のチームではPrometheusを使ってメトリクスの収集・分析を行なっています。Prometheusの利用を検討する際に多く…
3ヶ月前
記事のアイキャッチ画像
頑張りすぎず、PlaywrightのCI実行時間を短縮した話
カミナシ エンジニアブログ
カミナシのソフトウェアエンジニアisanaです。 カミナシレポートの開発に携わっています。 私たちのチームでは、Webアプリケーションの品質担保のため、Playwrightを用いたブラウザテストを実装し、GitHub Actionsで実行しています。しかし、このCIプロセスにおいていくつかの課題がありました。 他方、ソフトウェア開発においては日々寄せられるVoCに対応したり、新機能の開発を行うなかで、負債や課題を上手くハンドリングしていく必要があります。 本稿では、CIプロセスにおける課題をコスパよく解決するための改善策と、その過程で遭遇した「ハマったポイント」について、具体的な設定例を交えな…
3ヶ月前
記事のアイキャッチ画像
TypeScriptの"いま”を追う、TSKaigi 2025参加記
カミナシ エンジニアブログ
まえがき はじめまして!カミナシでソフトウェアエンジニアをしている shimmy(@naoya7076) です。 カミナシは 2025年5月23・24日に開催された「TSKaigi 2025」にゴールドスポンサーとして協賛し、私は現地で参加しました。 各登壇の内容やトーク内容の詳細は、きっと誰かがまとめてくれていると思いますので、この記事では以下の点に絞って書いていこうと思います。 やること 自分の中でテーマごとに整理した内容と、それぞれの感想 TS Kaigiで自分が聞いたセッション全体を通じて感じたこと やらないこと 登壇の内容を網羅的に伝えること 全ての登壇について詳細に書くこと 静的解…
4ヶ月前
記事のアイキャッチ画像
Branded Typeから小さく始める型安全なエラーハンドリング
カミナシ エンジニアブログ
はじめに TypeScriptで開発していると、エラーハンドリングの難しさに直面することがあります。 定番のResult型やEither型などの素晴らしいアプローチもありますが、これらは導入コストが高く、チーム全体に浸透させるのが難しいこともあるでしょう。 本記事では、小さく始められてチームに浸透させやすい、Branded Typeを使って型安全なエラーハンドリングを実現する方法を紹介します。 自己紹介 カミナシ StatHackカンパニーの かわりくです! 普段は食品表示ラベルをAIで検査するプロダクトを開発しています! kaminashi.jp note.kaminashi.jp Type…
4ヶ月前
記事のアイキャッチ画像
Immer はどのように実装されているか
カミナシ エンジニアブログ
はじめに こんにちは。カミナシでソフトウェアエンジニアをしている tokuse(@stomy_13) です。 私が所属するチームが開発している現場帳票システム『カミナシ レポート』では、一部のアプリケーションで状態管理ライブラリの Zustand を使用しています。併せて Zustand の Immer middleware も使用しています。開発を進める中で Immer の内部実装を調査する機会がありました。 Immer は React の状態管理や Redux などと組み合わされて使われることが多く、多くの開発者に愛用されています。しかし、その便利さの裏にある仕組みについて詳しく知っている…
4ヶ月前
記事のアイキャッチ画像
Figma Dev Mode MCP Server 調査
カミナシ エンジニアブログ
こんにちは!カミナシ プロダクトデザイナーの高橋です。なぜかエンジニアブログに書いてみます。 Figma が公式に MCP Server を提供しましたね!あくまでベータ提供ですが、使ってみて、できることや特性などを調べてみた簡単なまとめを書いてみました。 help.figma.com Figma Dev Mode MCP Server とは? VS Code、Cursor、Windsurf、Claude Code から自分の Figma にアクセスできるようになるもので、AI に「ワイが作ったデザインを使って作って〜」が簡単にできるようになるとされるものです。 The Dev Mode MC…
4ヶ月前
記事のアイキャッチ画像
怪奇?スケールアウトするとパフォーマンスが落ちるデータベース
カミナシ エンジニアブログ
こんにちは。ソフトウェアエンジニアの古屋です。データベースのメトリクス、見てますか?私のチームが開発運用を担当する『カミナシ レポート』では Amazon Aurora MySQL をメインのRDBMSとして利用しています。この Aurora MySQL について少し課題がありました。 課題1. 増え続けるコスト 昨年の12月以降くらいでコスト、とくに Aurora:StorageIOUsage が右肩上がりで増えています(図の青色)。 課題2. 悪化するパフォーマンス (実際に運用されているのを初めて見たのですが)『カミナシ レポート』で利用している Aurora クラスターはCPU利用率(…
4ヶ月前
記事のアイキャッチ画像
属人化とリスクからの脱却! ドメイン & DNS レコード管理をゼロから再設計した話
カミナシ エンジニアブログ
これまで属人化や手作業に頼った運用が続いていたことで、セキュリティリスクやメンテナンスの難しさが表面化していました。今回、専用の AWS アカウントを設けてすべてのドメインを集約し、Terraform によるコード管理を導入することで、安全性と運用の透明性を大きく改善することができました。
4ヶ月前
記事のアイキャッチ画像
マルチプロダクトのセキュリティを担保する Production Readiness Check のススメ
カミナシ エンジニアブログ
どうもセキュリティエンジニアリングの西川です。禁酒しています。誘惑多い GW を超えたので勝ったも同然です。とはいえ、お酒は飲まずとも酒の場は好きなのでお気軽に誘っていただけると嬉しいです。 さて、今日はカミナシで去年より実施している Production Readiness Check についてお伝えできればと思っています。 Production Readiness Check とは何か プロダクションレディマイクロサービスという書籍が出ています。書籍の紹介に下記のようにあります。 UberのSRE(サイト信頼性エンジニア、サイトリライアビリティエンジニア)として、マイクロサービスの本番対応…
5ヶ月前
記事のアイキャッチ画像
フロントエンド API コール時のエラーハンドリングを軽く整理(Fetch API・typescript-fetch・TanStack Query)
カミナシ エンジニアブログ
カミナシのソフトウェアエンジニア佐藤です。カミナシレポートの開発に携わっています。 フロントエンドのエラーは「画面リロードやブラウザ再起動で復旧できる(かもしれない)」「クラッシュしてもユーザーの端末に閉じる」などの理由から、バックエンドよりは精緻に扱われない傾向があると個人的には感じています。 その一方、カミナシレポートは、ノンデスクワーカー向けの不安定なネットワーク環境で利用されることも多々あるアプリです。そのため、デジタルツールに不慣れな方のために精緻なフィードバックが必要とされる、リロードに頼ることが難しいケースがある、などの理由でエラーの扱いにも慎重になる必要があります。 本記事では…
5ヶ月前
記事のアイキャッチ画像
開発チームの中でセキュリティを育てる - セキュリティエンジニア派遣の試み
カミナシ エンジニアブログ
どうもセキュリティエンジニアリングの西川です。JAWS DAYS 2025 の帰路でこのブログを書いています。私は空港でブログを書く確率が非常に高いです。なぜか捗るんですよね。 さて、カミナシでは昨年からセキュリティエンジニアを二人追加で採用することができ、業務委託含め5人体制になりました。それを機にセキュリティエンジニアを開発チームに派遣する仕組みを導入したのでそれについて話をしていきたいと思います。 セキュリティエンジニアを開発チームに派遣するとは 派遣するセキュリティエンジニアの目指すところを一言で表すならば「特定のサービス・プロダクト・チームを深く理解したセキュリティエンジニア」です。…
6ヶ月前
記事のアイキャッチ画像
助けて! CloudWatch Logs のコストが急上昇!! ログ管理の最適化でコストを 1/3 にした話
カミナシ エンジニアブログ
カミナシ ソフトウェアエンジニアの mina(@yoiyoicho)です。このブログでは、私が所属する「カミナシ ID」開発チームにおいて実施した、インフラコストの最適化施策について紹介します! 「カミナシ レポート」の認証機能移行によりインフラコストが増加 「カミナシ ID」は OIDC / OAuth 2.0 などの標準仕様に準拠した、カミナシの ID 管理・認証基盤プロダクトです。インフラは AWS の各種サービスを活用して構築されています。 「カミナシ ID」は認証基盤という性質上、高いセキュリティや監査能力が求められます。そのため、API サーバーのアプリケーションログに加えて、デー…
6ヶ月前
記事のアイキャッチ画像
良いReactを書くことは凡事徹底だと考えている話
カミナシ エンジニアブログ
カミナシで、Webフロントエンドエンジニアをしている osuzu です。 これまでフロントエンド専門外のエンジニアからReactを学ぶ良い方法やお勧めドキュメントを聞かれる度に、 公式ドキュメント のリンクを貼る日々を過ごしてきましたが、何かすごい上達方法がないものかと普段意識していることをこの記事で書き起こしてみました。 文字にした結果、中身になにか特別なことや魔法のテクニックは一つもなく、むしろプログラミング一般に通ずる話ばかりになりましたが、(自戒も込めて)凡事徹底することの難しさもあると感じておりその一助になれば幸いです。 ※ 凡事徹底:平凡なことを非凡なほどに実行すること。一つ一つの…
7ヶ月前
記事のアイキャッチ画像
AWSにおける送信者制約付きトークン実現の一検討
カミナシ エンジニアブログ
この記事ではmTLS通信を行うことのできるリソースに制約のあるAWSにおいて、OAuthの送信者制約付きトークンをどのように実現するか検討しました。
7ヶ月前