Money Forward Developersのフィード
https://zenn.dev/p/moneyforward
株式会社マネーフォワード公式開発者向けアカウントです。 技術記事やイベント、登壇など技術関連のことを発信します。
フィード

結果のフィードバックがメールのテストを非同期で検証する仕組みを作ってみた
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。みなさんは、「この処理の結果がメールで届くんだよなぁ。このメールを起点に非同期であるべき結果を確認できるテストを書きたいなぁ」と思ったことはありませんか?私はあります。私はSDET(Software Development Engineer in Test)という職種で働いており、テスト自動化コードの実行だけでなく「こういうテストをできる仕組みが欲しい〜!」を叶えるのも私の仕事だと思っています。今回はシステムからフィードバックとして届くメールをSlackに転送して、Slack AppをAWS Lambdaでイベント駆動で...
5日前

バグのすみか: 色々なめんどうくさいの上
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。私は国内では珍しい SDET(Software Development Engineer in Test)という職種で働いており、小さな日々のアウトプットを意識しています。テスト技術やQAなどの記事を書こうとすると(私にとっては)重くなりそうな記事が多いので、以下のようなZenn Book に日々の小さなアウトプットをまとめていくことで、私の頭の中だけではなく人の目に触れるようにアウトプットを気軽にできることを目指しています。今回は初めての投稿となりますが、カテゴリーとしては「バグのすみか」シリーズということで、SDET...
16日前

Neovimでしていたタスク管理をObsidianのQuickAddプラグインでやってみた
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。以前私は以下のような記事を書いて、Neovimで作業記録やタスクの詳細を管理しているTIPSを紹介しました。https://zenn.dev/moneyforward/articles/e12037a09f436c構造は単純で、メインは以下のようなmain.mdというファイルにマークダウン構造で記載します。main.md# Task Management## Link- [Hoge機能の親タスクリンク](https://example.com)- [安心を与えるためのQA心得的な覚書](./tasks/q...
19日前

スタースキーマでMap Bridge Tableを活用した階層データ分析のアプローチ
Money Forward Developersのフィード
はじめにマネーフォワードのアナリティクスエンジニア 奥野です。先日出したブログに関連して、データモデリングネタです。今回は、Map Bridge Tableの活用方法について書きます。前回と同じく、チームメンバーに共有したところ反応が良かったので、せっかくなのでブログにしました。Map Bridge Tableって何?って感じかもしれません。Map Bridge Tableは階層の深さが異なる親子構造を持つデータを柔軟に集計するためのテーブルです。例えば、親会社に紐づくグループ会社の従業員数をまとめて集計するときなどに有効なアプローチです。分析したことがある方なら分かると思...
22日前

Claude Code GitHub Actionsにインラインでサジェストさせて以前のコメントを隠す
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。みなさんは Claude Code GitHub Actions を利用していますか?https://docs.anthropic.com/ja/docs/claude-code/github-actions例えばv1.0を利用する場合、以下のような記述でCIに Claude Code を簡単に組み込めて良いですよね。name: Code Reviewon: pull_request: types: [opened, synchronize]jobs: review: runs-on: ub...
1ヶ月前

jOOQ の起動後最初のクエリが遅い問題
Money Forward Developersのフィード
先にまとめjOOQ を大量(数百以上)のテーブルを持つデータベースで使うとき、クラスローディング等で起動後最初のリクエストで時間がかかることがある。リクエストを受け付ける前に適当な jOOQ クエリを一度流しておくなど、適切にウォームアップしましょう。 問題jOOQ を ORM として利用してるバックエンドプロジェクトで、以下の様な問題に遭遇しました。https://www.jooq.org/起動直後の1発目リクエストが必ず遅い (2秒以上)2発目以降のリクエストは、概ね 500ms 以下で処理できるjOOQ を呼び出していないリクエストはそれほど遅くないJDB...
1ヶ月前

スタースキーマでdimensionテーブルをSCD Type2で実装するアプローチ
Money Forward Developersのフィード
はじめに最近チームで、スタースキーマでDimensionテーブルをSCD Type2形式で実装する方法について共有することがあり、せっかくなのでその設計方法についてブログにしようと思いました。DimensionテーブルにSCD Type2を導入するとSnapshotの実行とfactテーブルとのジョイン整合性を保つ必要あります。ここの方法はシンプルな話ですが、ドキュメントが意外と少ないかもしれないので、お役に立てれば幸いです。 実装の流れ実装は以下の4ステップで進めます:ディメンションテーブルの最新断面を作成1のデータをsnapshotでSCD Type2化2のデータ...
1ヶ月前

Gradle Multi-Project構成でCircleCIのrerun failed testsを実行する際の設定
Money Forward Developersのフィード
これなにCircleCIの"rerun failed tests"を有効にしているのですが、Flaky testに出会したので目論見通り"rerun failed tests"を実行したところ、そのテストだけが実行され成功したけど違う理由でエラーになったので、それの対処法を残しておくページです。 起きたエラー9: Task failed with an exception.-----------* What went wrong:Execution failed for task ':example2:test'.> No tests found for giv...
1ヶ月前

実務英語は「環境」で身につく—怠惰なエンジニアのペラペラへの旅
Money Forward Developersのフィード
はじめに「グローバルな環境で働いてみたい!」と思いながらも、英語に自信がなくて一歩を踏み出せないエンジニアは多いのではないだろうか。かくいう僕もその一人だった。大学受験を最後に英語の勉強などしておらず、受験勉強の貯金で読み書きはなんとかなったけど、スピーキングとリスニングはほぼできない状態。そんな状態で、英語が共通言語の会社に入社。しかも自分のチームにはベトナム・台湾・アメリカなど様々な国のメンバーがいて、みんな普通に英語で会話している。英語が第一言語ではない人ですらスラスラ話している中、僕だけが沈黙…。正直「これじゃあ話にならない」と焦った。この記事では、そこから1年(2024...
2ヶ月前

[小ネタ] coder/claudecode.nvim を使う時にフォーカスをスムーズに動かしたい
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。普段はソフトウェア開発やテストについてZennで記事の執筆をしているのですが、本日はNeovimのプラグインに関する小ネタを紹介いたします。 coder/claudecode.nvim以下の記事にあるように、coder/claudecode.nvimはNeovimで Claude Code を利用する上でとても便利なプラグインです。https://qiita.com/getty104/items/c332e5f632da71523dbc以下のように、Neovimと統合させるような形でさながら VS Code などの...
2ヶ月前

ISTQB Testing with Generative AI 試験に合格しました
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。わたしはSDET(Software Development Engineer in Test)という職種で働いており、テスト自動化だけでなく、システムの品質を向上させるための様々な活動を行っています。普段からプロダクトコードをゴリゴリ書く仕事ではありませんが、あくまでテスト側にメインで従事する開発者の意識に比重を寄せて業務を行っています。以前私は ISTQB Test Automation Engineer というテスト自動化に対する試験に合格していました。https://zenn.dev/moneyforward/ar...
2ヶ月前

テスト側開発者(SDET)のルールファイル 〜開発と開発者テスト編〜
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。わたしはSDET(Software Development Engineer in Test)という職種で働いており、テスト自動化だけでなく、システムの品質を向上させるための様々な活動を行っています。普段からプロダクトコードをゴリゴリ書く仕事ではありませんが、あくまでテスト側にメインで従事する開発者の意識に比重を寄せて業務を行っています。そんな私ですが、先日とある開発エンジニアの方から「bunさんの CLAUDE.md を見せてください」と言われた際に「シチュエーションによって使い分けてます」と答えて具体例をあまり示すこと...
2ヶ月前

AI時代にこそ設計を学ぶため A Philosophy of Software Design を読んでみました
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。わたしはSDET(Software Development Engineer in Test)という職種で働いており、テスト自動化だけでなく、システムの品質を向上させるための様々な活動を行っています。普段からプロダクトコードをゴリゴリ書く仕事ではありませんが、あくまでテスト側にメインで従事する開発者の意識に比重を寄せて業務を行っています。今回は A Philosophy of Software Design という洋書を読了したため学んだことなどを書きますが、本書は英語で書かれているため「ハードルが高いよ」と思う方に少しで...
2ヶ月前

業務で行っている自動テストの思想を確かめながら、ISTQB Test Automation Engineerを受験しました
Money Forward Developersのフィード
ISTQB Test Automation EngineerとはCertified Tester Advanced Level Test Automation Engineer(CTAL-TAE)は、テスト自動化エンジニアのための国際的な認定資格です。詳しい内容はこちらのシラバスに記載されていますが、この資格ではテスト自動化に必要な知識や考え方を体系的に学ぶことができます。例えば以下のような内容が含まれています。自動化フレームワークの設計思想自分たちのプロジェクトに適した自動テストのフレームワークを作る時に、どのようなレイヤーにどのようなコードを配置するべきかテスト...
2ヶ月前

playwright-mcpを拡張するMCPサーバーを作ってレスポンスBodyを観察できるようにしてみました
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。みなさんはPlaywrightのMCPサーバーを使いながら「どんなAPIリクエスト・レスポンスがあるかBodyも含めてみてほしいな」と思ったことはありませんか?私はあります。PlaywrightのMCPサーバーを使うことでAIにブラウザを操作させるだけでなく、自分でそのサイトを動かしながら指示を出すことが可能です。https://qiita.com/t-kurasawa/items/fc47a9133dd6cfe1ae7bただし、既存(2025/07/06時点)のplaywright-mcpのネットワーク監視機能ではネ...
3ヶ月前

Junie でいい感じにユニットテストを書いてもらうために試した事
Money Forward Developersのフィード
Junie とはJunie は JetBrains が開発した AI Coding Agent です。LLM を活用して、コードの生成や補完、リファクタリングなどを行ってくれます。https://www.jetbrains.com/junie/早い話が、VSCode が諸事情により使えない (Java, Kotlin や Android の開発など) JetBrains IDE ユーザーのための Cursor みたいなものです。JetBrains IDE ユーザーであれば、ある程度無料で利用することもできます。(非常に少ない Quota なので、すぐに使い切ってしまいますが)...
3ヶ月前

英語が苦手なエンジニアが1年間本気で英語学習をした結果と学んだこと
Money Forward Developersのフィード
最初にまとめ私の職場では特にエンジニア組織のグローバル化が進んでいます私はそんな中、英語がほぼ話せない状態(CEFRレベル:A2)から入社し、1年間社会人として頑張れる範囲で英語学習を続けてきました大体一日2~4時間程度の学習時間 + 業務中の英語コミュニケーション の成果ですまだ小さな家族がおり、この程度の時間の確保が限界でした現在は「自分が興味のある社会情勢について、ある程度スムーズなプレゼンテーションができる」とされる(CEFR: B1+〜B2レベル)まで成長し、業務での英語コミュニケーションもある程度できるようになりましたこれから同じように弊社に入社して...
3ヶ月前

ステージング環境の取り合いを予防するCLIツールをClaude Codeで開発してみました
Money Forward Developersのフィード
はじめにこんにちは、ダイの大冒険エンジョイ勢の@bun913です。皆さんは、ある程度規模が大きくなったシステムにおいてこんな体験をしたことはありませんか?私「機能検証のテストのためにステージング環境を利用します!デプロイ注意してください!」優しい同僚「OKです!」しばらくして優しい同僚「あっ。dependabotの修正良さそう。マージ完了!」私「えっ。ステージング環境変わった?」優しい同僚「あっ!!ごめーん!!」規模が小さいうちは、ちょっと声掛けすれば十分かもしれませんが、ある程度大きい規模のチームになると当然うっかりマージして自動デプロイが走る可能性が高くなり...
3ヶ月前

Testing Web APIs は想像したAPIテストのテクニック集以上の本でした
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。わたしはSDET(Software Development Engineer in Test)という職種で働いており、API のテスト自動化だけでなく、システムの品質を向上させるための様々な活動を行っています。今回は Testing Web APIs という洋書を読んで、単なるAPIテストのテクニック集を期待していたら、それ以上の学びがあったので記事にまとめました。!今回の記事は書籍を評価したり、何かの答えを出すための記事ではありません内容を過度にネタバレしないように留意しつつ、自身が業務に活かしたい(もしくはすでに...
3ヶ月前

非開発者の方にこそRaycastの便利技!開発者の人が一瞬で色々開くアレ
Money Forward Developersのフィード
こんにちは。ダイの大冒険エンジョイ勢のbun913と申します。私はSDET(Software Development Engineer in Test)という職種で働いています。日本ではあまり馴染みのない職種ですが、とても簡単に説明すると、開発者の知見を活かしてテストやQAの領域に貢献するエンジニアです。もしSDETという職種について詳しく知りたい方は、以下のURLを参照ください。求人ページに繋がるので、不快な方はスキップしてください。https://hrmos.co/pages/moneyforward/jobs/2121455132004343828自身が開発者であった経験...
4ヶ月前