コミューン株式会社のフィード

https://zenn.dev/p/dev_commune

コミューン株式会社のメンバーによる技術発信を行います。

フィード

記事のアイキャッチ画像
Mocha 向け SDK を参考に Playwright で Google Cloud Synthetic Monitoring を実装する
コミューン株式会社のフィード
はじめにGoogle Cloud の Synthetic Monitoring は、公式で Mocha テンプレート[1]が提供されています。公式サンプルの mocha-url-ok が用意されてるので、それをみると雰囲気が掴めるかと思います。https://github.com/GoogleCloudPlatform/synthetics-sdk-nodejs/blob/71dbe8986118dc588d619a9c5a55b930def46157/samples/mocha-url-ok/index.js#L17-L27Mocha でもわるくないですが、普段は Playw...
6日前
記事のアイキャッチ画像
頑張りすぎない Google Cloud IAM 設計:フォルダ・グループ・PAM で始める権限管理
コミューン株式会社のフィード
はじめにGoogle Cloud の権限管理はとにかく面倒です。Google Workspace はだいたい社内システム担当のひとが管理してくれたりします。Google Cloud は面倒なうえに管理するひともいません。それでも突然くる大量のセキュリティチェックシートを裁くためになにかをしないといけません。最近では AI Agent がうっかりなにかをしでかすかもしれないです。また、こういう具体的な課題もないでしょうか?Google Cloud プロジェクトの数だけ権限依頼がくるオーナー (Owner)、編集者 (Editor)、閲覧者 (Viewer) が付与されっぱなし...
12日前
記事のアイキャッチ画像
GAS をやめて Slackワークフローを Cloud Run に移行した話
コミューン株式会社のフィード
はじめにある日突然 Slack ワークフローの後続処理が動かなくなりました。Slack ワークフローは依頼のメッセージをチャンネルへ投稿して、それを Slack Bot が拾い、Slack Bot は GAS をトリガーする仕組みになってました。この GAS が動かなくなったのです。原因は単純で、GAS のウェブアプリを「自分としてアプリを実行する」設定が原因でした。スクリプトのオーナーだったアカウントから権限が外れたのです。自分としてアプリを実行するこの場合、ウェブアプリにアクセスするユーザーに関係なく、スクリプトのオーナーであるユーザーとしてスクリプトが常に実行されます...
14日前
記事のアイキャッチ画像
GitHub の権限管理を Terraform 化すると体験がよかった
コミューン株式会社のフィード
はじめに新規のメンバーが入るたび、チームの構成が変わるたび、依頼が Slack ワークフローで流れてきます。その都度、GitHub をブラウザで開いてパスキーで認証して、画面をポチポチする。しんどいですね。いい加減 Terraform にしました。なにを管理したかと詰まったところについて紹介します。https://github.com/integrations/terraform-provider-github 管理したものTerraform でこれらを管理することにしました。すべてを管理するわけではありません。まずは画面ポチポチを減らすこと、依頼自体を Pull Req...
15日前
記事のアイキャッチ画像
フル Google Cloud 環境で PR ごとのプレビュー環境を構築した
コミューン株式会社のフィード
はじめにタイトルのとおり、PR ごとのプレビュー環境を構築したので紹介します。なぜ構築したか?前提として、ローカル開発環境は問題なく立ち上がりますし、Google Cloud に自由にデプロイできる環境も構築しています。ただし、この環境は本番を模したもので、Google Cloud の 1 プロジェクトにつき 1 ブランチしかデプロイできません。開発効率を考慮して 3 プロジェクト、つまり同時に 3 ブランチまでデプロイできる環境を整えていますが、利用率が高い場合は待ち時間が発生してしまいます。3つの Google Cloud プロジェクトを使った動作確認環境さらに、デプ...
15日前
記事のアイキャッチ画像
ノーコードプラットフォームからPlaywrightへテストを移行した話。Part 3. MarkdownからPlaywrightコードへ
コミューン株式会社のフィード
Part 1では、ノーコードのテストプラットフォームをなぜやめたのかを書きました。Part 2では、エクスポートしたテストケースを、QAやPdMがちゃんと読める素のMarkdownに変換しました。最終回となる今回は、いよいよ本命です。そのMarkdownを、実際に動くPlaywrightのテストスイートに変えていきます。使ったパイプライン、実装ループ、なぜ監査を別セッションでやる必要があったのか、こっそり偽陽性を生む「不在チェックの罠」、そしてまだ解決できていないことについて、順に紹介していきます。 おさらい前回までの話はこうでした。ノーコードプラットフォームからAPI経由でテス...
25日前
記事のアイキャッチ画像
Next.js Server Actions を Storybook でスマートにモックする方法
コミューン株式会社のフィード
はじめにNext.js の Server Actions を Storybook でそのまま使おうとすると、エラーになったり、冗長な回避コードを書かないといけないです。それを回避するツール "@akfm/vite-plugin-storybook-mock-server-functions" を教えてもらったのでつかってみました。https://github.com/AkifumiSato/vite-plugin-storybook-mock-server-functions Before - これまで!サンプルコードは vite-plugin-storybook-moc...
1ヶ月前
記事のアイキャッチ画像
Webサービスのスクショ付きガイドブックをPlaywright + LLMで自動生成・更新できるようにした
コミューン株式会社のフィード
こんにちは、コミューンでプロダクトマネージャーをしているひぐ(@zerebom_3)です。Webサービスを多くの方に使っていただくには、わかりやすく網羅的なガイドブックが欠かせません。https://learn.hex.tech/docshttps://code.claude.com/docs/ja/overviewhttps://linear.app/docs(↑わかりやすく網羅的なガイドブックの皆様)しかし、ガイドブックを作り、メンテナンスし続けることには多くの労力がかかります。そこで、ブラウザ自動操作ツールとLLMを使って、ガイドブックを自動生成できないか試してみまし...
1ヶ月前
記事のアイキャッチ画像
「いつか直す」が「すぐ直す」に変わった — レビューを「振る舞い」と「コード」に分けたら、PdMもバグを直せるようになった
コミューン株式会社のフィード
こんにちは。コミューンでエンジニアリングマネージャーをしている近藤です。この数ヶ月で私たちの開発プロセスに起きた変化について書きます。ひとことで言うと、非エンジニアのPdMがバグフィックスや小さな改善のPRを出し、エンジニアはコードレビューだけしてマージする、という体制が実際に回り始めました。「AIでPdMもコードが書けるようになった」という話は世の中に溢れていますが、この記事で書きたいのはツールの話ではなく、責任分界の話です。PRのレビューを「振る舞い」と「ソースコード」に分離する。この再設計と、それを成立させるプレビュー環境という基盤が揃ったとき、これまで構造的に後回しになり続け...
2ヶ月前
記事のアイキャッチ画像
ノーコードプラットフォームからPlaywrightへテストを移行した話。パート2:ノーコードからMarkdownへ
コミューン株式会社のフィード
はじめにパート1では、なぜノーコードのテストプラットフォームを離れたのか、そしてどのように移行計画を立てたのかについて解説しました。今回は実践編です。ノーコードのテストケースを、QAやPdM(プロダクトマネージャー)が実際に読んで検証できるプレーンなMarkdownへと変換します。変換を行うスキルパイプライン、Arrange-Act-Assert(AAA)フォーマット、テスト用パスワードをGitに含めないための工夫、そして次回同じことをする前に知っておきたかったことについて解説します。 なぜ直接Playwrightではなく、Markdownなのか前回の記事で触れた通り、Ma...
2ヶ月前
記事のアイキャッチ画像
Claude Code Hooks で「rules を編集したら必ずセルフレビュー」を自動化する
コミューン株式会社のフィード
はじめにある日 Claude Code のセッションを眺めていて、.claude/rules が毎回コンテキストに読み込まれていることに気づきました。「設定しているはずなのに、なんでだ?」と疑問に思い、Claude Code 自身にききました。プロンプト@.claude/rules/ の記法は Claude Code の公式仕様に準拠しているか公式ドキュメントと照合してレビューしてとか。Claude Code 曰く YAML の「リスト」で書く必要があるということです。# .claude/rules/frontend/testing.md---paths: a...
3ヶ月前
記事のアイキャッチ画像
ノーコードプラットフォームからPlaywrightへテストを移行した方法。パート1
コミューン株式会社のフィード
はじめに長年、私たちの組織は手動でのテスト運用に頼っていました。軽微な変更をその都度手動で検証することがどれほど非効率的であるかは、誰もが同意するところでしょう。そのため、自動E2Eテストの取り組みが始まったときは、本当にワクワクしました。最初の選択肢はノーコードプラットフォームでした。自動テストという素晴らしい新世界への緩やかな入門ステップとして、その選択は十分に理にかなっていました。主要な機能をカバーするまでには多くの時間がかかりましたが、コードに変更を加える際の安心感はかつてないほどでした。 ノーコード自動化の限界優秀なエンジニアであれば、そんなハネムーン期間が長く...
3ヶ月前
記事のアイキャッチ画像
dependabot のマージ戦略を自動化し、AIレビュー&マージする action を作る
コミューン株式会社のフィード
dependabot の滞納問題dependabot のレビュー、溜まっていませんか?dependabot のPRレビューに割く時間が取れず、バージョン差異が肥大化するdependabot による依存パッケージのUpdate PRは、チームのマージ運用ルールを決めていたり、意識的に watch して取り込んでいったりしないと、中々マージされずにPRが滞納されてしまうということが起こり得ますまた、システム規模が大きいほど、パッケージ差異による開発生産性の低下脆弱性の問題もありますし、最新版の追従ができていないことで時を重ねるほどにバージョンの差異が広がってしまい、...
3ヶ月前
記事のアイキャッチ画像
開発効率を落とさないローカル開発のシークレット管理方法
コミューン株式会社のフィード
はじめにローカル開発におけるシークレット管理の方法は色々あると思います。最近はサプライチェーンアタックへの警戒が強まっていたり、生成AIがリポジトリを走査する中で秘匿情報を意図せず読み取ってしまったり、誤ってコミットを作ってしまう可能性もあります。こうした状況を踏まえて、改めて落としどころを考えてみました。なお今回は Node.js + TypeScript と Google Cloud を使っていますが、考え方自体は言語やクラウドに依らないので、同じアプローチが適用できます。 考え方 最小権限しか与えないどこまで仕組みやルールを整えても、各開発者のPCにシークレットを...
5ヶ月前
記事のアイキャッチ画像
カスタム PubSub トピックを使って Cloud Build トリガーのビルド完了後に次のトリガーを自動実行する
コミューン株式会社のフィード
はじめに以前に Cloud Build がおわったら、別の Cloud Build トリガーがキックされる構成をつくりたく Cloud Build の Webhook トリガーを試してみました。https://zenn.dev/dev_commune/articles/4927367e972a18相変わらず cloud-builds トピックをトリガーとする Cloud Build を作成することはできませんが、今回は「カスタム PubSub トピック」を使う方法を見つけたので紹介します。 カスタム PubSub トピックとは?By default, Cloud Bui...
7ヶ月前
記事のアイキャッチ画像
今年の振り返り:「内発的動機」を助長できた(かも)
コミューン株式会社のフィード
はじめにこんにちは、近藤です。年の瀬ですね。2歳の息子が「ママ大好き。パパは大好きじゃない」なんていうようになりまして、成長は喜ばしいものの、心も体も少し寒いです。今年はいろいろなことがありました。その中で今のプロジェクトチームが最高のチームになったと胸を張って言えること。これが今年一番の成果かもしれません。自分のための整理も兼ねて、チームづくりを通じて学んだことを整理しておきます。※今回は個人の振り返りなので、プロジェクト自体の詳細には触れず、あくまで個人の感想として書いています。もしご興味あれば以下から。https://tech.commune.co.jp/entr...
9ヶ月前
記事のアイキャッチ画像
LightGBM ランク学習: lambdarank vs rank_xendcg
コミューン株式会社のフィード
本記事はCommune Developers Advent Calendar 2025の 16 日目の記事です 🎄 はじめにLightGBM の Learning to Rank には、lambdarank と rank_xendcg の 2 つの objective があります。lambdarank は以前から利用していたのですが、rank_xendcg はあまり試したことがなく、rank_xendcgに関する記事もあまりなかったため気になり調べてみました。公式ドキュメントには「rank_xendcg は高速で同等の性能」と書いてあるが、本当にそうなのか?xENDCG の原論...
9ヶ月前
記事のアイキャッチ画像
MySQLでさっき実行したクエリを上手に探したい
コミューン株式会社のフィード
はじめにこの記事はCommune Advent Calendar 2025、19日目の記事ですhttps://qiita.com/advent-calendar/2025/communeMySQLでは実行したクエリをログ出力できますが、システムが発行するクエリなども含まれるので「開発中にさっきアプリケーションから実行したクエリを確認したい」となると、何らかの条件で絞り込む必要が出ます属性としてcommand_typeが使えそうだったので、どのような値が入りどういう意味を持つのか探してみました まずログ出力 ログ出力探すと沢山の記事が見つかります-- 1. 出力した...
9ヶ月前
記事のアイキャッチ画像
Gemini 3 Flash × LangChain によるLLMバッチ処理プラクティス
コミューン株式会社のフィード
はじめに本記事はCommune Developers Advent Calendar 2025の22日目の記事です🎉https://qiita.com/advent-calendar/2025/commune最近実務で大量のテキストデータをLLMでバッチ解析するパイプラインを実装しました。LangChain と Gemini を利用しているのですが、実装する際に気をつけたいポイントを紹介したいと思います。LangChain 1.0.0 のリリースや Gemini 3 Flash の登場など、最新のアップデートを反映した内容となっています!!本記事に記載されている情報は2...
9ヶ月前
記事のアイキャッチ画像
JavaScript linter、BiomeとOxlintのポジショニングの比較
コミューン株式会社のフィード
本記事はCommune Developers Advent Calendar 2025の21日目の記事です。 はじめにこれまでは、もしかしたら、linterの選定なんて気にしすぎる必要はなくて、新しい良さそうなのが出たら乗り換えれば良い・・・というノリだったかもしれません。でもこれから、AIガードレールを目的として、カスタムルールヘビーな時代が来ます。そうなると、linterは、開発システムに深く組み込まれ、変更コストが高いフレームワークのような扱いに近づきます。よって、自分たちに合ったlinterを見極める必要が出てきます。そんなモチベーションで、BiomeとOxlintの現...
9ヶ月前