freeeの開発情報ポータルサイト

技術

Beyond Cypress Comfort: A switch to Playwright for Modern E2E Testing

Cypress vs. PlaywrightHello, I’m Alex, a QA Engineer from PLG. This is the 17th day of freee QA Advent Calendar 2025. For the past few weeks, this calendar has been a hub for sharing valuable insights, and today, I'm thrilled to contribute…

Lean Six Sigma: Testing Software and Cooking a Masterpiece

Hello. I’m Jane , a QA engineer working with multiple QA engineers covering various products, mainly focused on Human Resources. This is the thirteenth day of freee QA Advent Calendar 2025. Thanks to a movie night with my little one, I fou…

バイブコーディング開発のプロンプトはどこまで雑でも大丈夫なのか?

AIエージェントを駆使してアルバムアプリを開発!AI時代におけるエンジニアの役割と、初心者が直面する課題、求められるスキルを徹底考察。

【AI-Lab】銀行取引明細の自動分類の改善

こんにちは!freeeのAI-Labで機械学習エンジニアをしているringoです! freeeのAI-LabはML (Machine Learning、機械学習)やそれに類するテクノロジーを駆使してfreeeユーザーに新たな価値を届けるべく、MLの専門性を持った愉快なメンバーが日々楽しく研究開…

今年もQAエンジニア採用インターンを実施しました

こんにちは、フリー人事労務含めいくつかのプロダクトでQAエンジニアをしているyamaeriです。 freee QA Advent Calendar2025 1日目です。今年のフリーのQAエンジニアインターンシップについてお話しします。インターンの開催も今年で4年目となりました。 イ…

ユニットテストに時限爆弾を作らないためのベストプラクティス

要約 時限爆弾的なテストとは、テスト内で扱う日時(レコードのregistered_atなどの属性値やスタブの値)にハードコードされた日時文字列( '2024-07-15' など)を使うことで、時間経過により失敗するようになるテストのこと。 基本原則: ❌ '2024-07-15' の…

11/30 (日)「freee 技術の日 2025」開催!

freee で freee会計のエンジニア兼 DevRel をしているけむりだま (@_kemuridama) です。 今年も freee 主催のテックカンファレンス「freee 技術の日 2025」を 2025/11/30 (日) にフリー株式会社本社と YouTube Live でハイブリッドで開催します 「freee 技術…

新卒エンジニアが研修で AI Agent を全力で使ってみた

初めまして!2025 年 4 月に新卒で freee に入社した massu です! この記事では、freee の新卒研修において AI Agent「Cline」をどのように活用したか、その効果と課題について技術的観点から詳しく紹介します。 新卒研修の概要 2025 年の freee の新卒研修…

MySQLのロック継承が引き起こしたsupremumロックによるDB障害事例

こんにちは、DBREの周東(X: @dev_kngnr)です。 DBRE では、freee の全プロダクトが利用するデータストア層の信頼性向上をミッションとしています。その活動の一環としてDB障害の原因の調査や、再発防止策の検討を行っています。この記事では、freee のとあ…

KubeCon + CloudNativeCon Japan 2025 - 参加レポ Never Underestimate Memory Architecture/No More Disruption: PlayStation Network’s Approaches To Avoid Outages on Kubernetes Platform

KubeCon + CloudNativeCon Japan 2025 参加レポ 4 日目を担当する SRE の kamimuu と申します。 freee では新規マイクロサービスの構築支援やマルチ AWS アカウント環境の運用を担当しています。 本記事では私が興味を惹かれた以下 2 つのセッションを紹介し…

KubeCon + CloudNativeCon Japan 2025 - 参加レポ: From ECS To Kubernetes (and Sometimes Back Again): A Pragmatist's Guide To Migration

developers.freee.co.jp こんにちは。freee の SRE チームに所属している nkgw (X) です。 KubeCon + CloudNativeCon Japan 2025 参加レポート 3日目を担当します。 先日開催された KubeCon + CloudNativeCon Japan 2025、楽しかったですね。 その中でも特…

KubeCon + CloudNativeCon Japan 2025 - 参加レポ What's New in Open Source Kubernetes?/Access AI Models Anywhere: Scaling AI Traffic With Envoy AI Gateway

developers.freee.co.jp KubeCon + CloudNativeCon Japan 2025 参加レポ 2日目を担当する SRE の sho と言います。freee では EKS の運用や新しい EKS プラットフォームの設計・構築を担当しています。 自分からは以下2つのセッションを紹介させてもらいます…

関西Ruby会議 08 に行ってきたよ

こんにちは〜、freee販売エンジニアのErikaです。今回、関西Ruby会議08に行ってきたので、参加レポートです! 大阪Ruby会議には行ったことがあったんですが、今回はもう一つ大きな「関西」ということでワクワクしながら行ってきました! 今回は会場が先斗町…

Coding Agent の動作原理を解明するために何を学ぶと良いのだろうか?

はじめに こんにちは、タイガーチームでエンジニアをしている横塚といいます。 自分は直近3ヶ月間、社内におけるAI 駆動開発の推進を主務として活動してきました。 今日は Coding Agent との向き合い方について思いの丈を綴ろうと思います。 Coding Agent と…

Coding Agent へのタスク依頼を最適化する方法: Pull Request 作成 Workflow

はじめに こんにちは、タイガーチームでエンジニアをしている横塚といいます。 この記事では Coding Agent へのタスク依頼を最適化していく過程を step-by-step で一緒に見ていきます。 お題は「Pull Request の作成」です。 コードは既に書いている コミッ…

ソフトウェアアーキテクチャに基づいた自動テスト戦略と実装ガイドライン

支出管理開発本部で事業部横断テックリードをしている @ogugu です。 広く複雑で大規模になりつつある支出管理のアーキテクチャについて、以下の連載形式でご紹介していきます。 OpenAPI ではなく TypeSpec を読み書きするスキーマ駆動開発 (本記事) ソフト…

OpenAPI ではなく TypeSpec を読み書きするスキーマ駆動開発

支出管理開発本部で事業部横断テックリードをしている @ogugu です。 広く複雑で大規模になりつつある支出管理のアーキテクチャについて、以下の連載形式でご紹介していきます。 (本記事) 支出管理におけるTypeSpecを中心にしたスキーマ駆動開発 ソフトウェ…

AIエージェントCline、freeeはどうやって全社導入した?

はじめに 最近のAI関連技術の進化は目まぐるしいですよね。私たちfreeeの開発組織でも、世の中のトレンドに追従、あるいは先回りする形でGitHub Copilotや社内から安全にLLMを利用するための基盤整備にも取り組んできました。そして2025年、これまでの検証フ…

2025/4/18 RubyKaigi 2025 LT資料 - "Fiber Scheduler vs. General-Purpose Parallel Client" by hachi

RubyKaigi 2025 の LT (2025/4/18) にて発表された、"Fiber Scheduler vs. General-Purpose Parallel Client" の資料です。 speakerdeck.com なお、gRPC が Fiber による通信ができない課題については、修正が出そうな雰囲気があります。 As @hachiblog poin…

2024/12/11 Authlete Customer and Partner Meetup 2024 登壇資料 "freee における OAuth/OpenID Connect の活用と Authlete への移行" by てらら

2024/12/11 に開催された、Authlete Customer and Partner Meetup 2024 における登壇資料および文字起こしです。 www.authlete.com

社内のDatadogイベントに参加した感想

サマリ 社内イベント楽しい! Datadog Tシャツもらった! profilerがすごい!あるリクエスト中のCPU使用率を関数単位で見れるぞ! トレースクエリの検索機能もすごい!AからBに対するリクエストという検索ができるぞ! Datadogのロゴのかわいいワンちゃんは …

社内で RubyKaigi 2025 直前座談会 を開催しました

こんにちは。freee 大阪拠点で freee販売を開発しております、bucyou (ぶちょー) こと、川原です。 developers.freee.co.jp RubyKaigi 2025 まで、残すところ1週間となりました。Xを見る限りは、もう現地入りしている方もいて、ワクワクしているところです。…

Devindabot: Devinで実現するライブラリの脆弱性自動対応システム

freee PSIRT( Product Security Incident Response Team ) のhikaeです。freeeでも自律型AI AgentのDevin*1を雇用しています。 今回はPSIRTの業務の一つである Dependabot対応におけるDevinの活用事例(Devindabot)… ライブラリの脆弱性対策にAIを活用して…

EKSの権限整備のため、K8sのRBACについて勉強した話

こんにちは、SREの久保木です。一年弱ぶりにまた記事を書きます。 以前はfreeeに入って割とすぐの頃で、Project間の依存関係を表す図を自動生成したりしていました。 その後はfreeeで使われているTerraform Codeを一括整備するためにTFLintを導入しつつCusto…

freeeの2024年新卒研修の事例 - 社内むけショート動画プラットフォームの開発

こんにちは!24新卒でfreeeに入社したkochanです!この記事では、実際に私が経験した2024年度のエンジニア新卒研修について紹介します。これから研修を控える方や、就職先を検討中の学生の皆さんに、freeeでどのような成長機会が得られるのかをお伝えします…

かんさい通信 - kyobashi.rb は freee関西拠点で定期開催されています

こんにちは、関西拠点のお便りとして、「かんさい通信」を銘打って情報をお伝えしていきたいと思います。 普段は、freee販売の開発をしております、bucyouというものです。趣味は家計簿と、Railsのコードをひたすら読んでいくことです。 最近は、ChatGPT に…

より良いプロダクトを目指して、freee 請求書のメール送付機能不正利用防止対策の話

こんにちは!freee 債権請求書領域でプロダクト開発に取り組んでいる 韓国出身のエンジニア jason です。 この記事は freee Developers Advent Calendar の24日目になります。 adventar.org すでにお気づきの方もいらっしゃるかもしれませんが、今年のアド…

デザインシステムを拡張し、プロダクト開発の共通基盤を目指す

統合UX基盤というチームでエンジニアをしているtakumiです。freee Developers Advent Calendar 2024の20日目は、現在社内向けに開発を進めている新しいUIライブラリ「標準UI」について、その特徴や開発過程を紹介していきます。 デザインシステムの浸透と新…

脅威モデリングのためのカードゲームを比較する

freee Developers Advent Calendar 2024 17日目の記事はWaTTsonが担当します。昨年のAdvent Calendarでは「credentialをSlackに書くな高校校歌」というのを出してプチバズりしていたのですが、今回はネタ枠ではなくもうちょっと真面目な話を書きます。 devel…

Ruby のコードから TypeScript のコードを生成する

この記事は freee Developers Advent Calendar 2024 の 16 日目の記事です. freee でエンジニア兼 Dev Branding をやっているけむりだま (@_kemuridama) です. 今年は Apple Vision Pro を購入したのですが, 予約したことを X に投稿したらフジテレビに開封…

生成AIを用いたクレジットカード明細OCR開発の挑戦

はじめに この記事は freee Developers Advent Calendar 2024 - Adventar 12/14(14日目)の記事です。 adventar.org こんにちは。freeeで機械学習エンジニアをしているmickyです。 普段はAI-LabというチームでOCR開発のリードをしています。 今回はOCRチーム…

ページオブジェクトモデルを採用しているE2Eテスト基盤の実装Tips

こんにちは。SEQ (Software Engineering in Quality)のnakamuです。 freee QA Advent Calendar2024 11日目です。 これまで、freeeのE2EテストツールはSelenium+RSpec+Capybara+SitePrismをベースにした独自基盤を利用してきました。 この基盤は、2016年から…

E2Eテスト分析基盤としてReportPortalを導入しました!

E2Eテスト分析基盤としてReportPortalを導入しました

チームで実例マッピングをやってみた

こんにちは freee会計のQAエンジニアをしているsugenoです。 freee QA Advent Calendar 2024 - Adventar 5日目です。 私が所属する開発チームで、実例マッピングを作ってチーム内での要件整理/検討を行ったのでその取り組み内容について書いていこうと思いま…

認知を優先するか、作り込みを優先するか

この記事は、freee Developers Advent Calendar 2024 5日目の記事です。 こんにちは。現在プロダクトマネージャー兼ソフトウェアエンジニアとしてfreee人事労務の開発を行っている金山(id: tepppei)です。先日わたしが投稿した記事(「機能を削る」以外の…

OAuth/OIDCのClient管理を"型"で制する - freee_client_typeの軌跡

freeeの認可サーバー移行プロジェクトの一環として、freee_client_typeの誕生とその運用について詳しく解説。多様なクライアントに対応する新たな機能制御の導入背景と成果を紹介します。

ActiveSupport::CodeGenerator で遊ぼう

この記事は、freee Developers Advent Calendar 2024 の3日目です。 bucyou (ぶちょー) と申します。普段は大阪は京橋にある関西拠点で freee販売の設計・実装を行っています。ちなみに、社内では freee販売を実際に利用して、ミニ店舗の運営などを行ったり…

Rails の time_zone ヒヤリハット

こんにちは!freee の gon です。 freee Developers Advent Calendar 2024の2日目の記事です。 freee ではマイクロサービスを含め大小さまざまなサービスが稼働してますが、あるサービスで Rails の time_zone の設定をし忘れており、time_zone がデフォルト…

Terraform Monorepo の CI の実行時間を可視化し 2 分以上高速化

SRE team の suzuki-shunsuke です。 今年の 8 月(約3か月前)から freee の SRE team に join しました。 本記事では Terraform Monorepo の CI の実行時間を CIAnalyzer で可視化し 2 分 (70 percentile で約 160 %) 以上高速化した話を紹介します。 背景 f…

Kaigi on Rails 2024に参加してきました!

こんにちは、freee エンジニアの WaTTsonとyongiです!少し遅くなりましたが、2024年10月25日(金)〜26日(土)に行われたKaigi on Rails 2024に参加してきたのでレポートします! 今回参加したWaTTon, yongi, k-massanの3人と、運営側のメンバーだったhachiさ…

『freee技術の本』第2弾の詳細を公開します!

こんにちは、『freee技術の本』編集長のWaTTsonです。 先日のブログ記事で、技術書典17で『freee技術の本』の第2弾を出すことを発表しました。 developers.freee.co.jp 前回の記事では概要だけを公開していましたが、書影や目次などの詳細を公開します! 『f…

技術書典17で『freee技術の本』第2弾を出します!

こんにちは、『freee技術の本』編集長のWaTTsonです。 昨年の11月、技術書典15で『freee技術の本』を販売しました。 developers.freee.co.jp 今年の11月に技術書典17が開催されますが、こちらで『freee技術の本』の第2弾を出すことが決まりました! コンセプ…

『AWS Jam』に参加しました!!

はじめに こんにちは! SRE Platform Deliveryチームで内定者インターンをしているhagiです。 今回は9月3日に社内で開催されたAWS Jamに参加したので、その様子や感想をお伝えします! そもそもAWS Jamって何? AWS Jamの公式サイトから抜粋すると、次のよう…

freee人事労務の給与計算ロジックにLocal Write Forwardingを導入した話

読まなくても良い漫才パート ボケ「いきなりですけどね、freee人事労務の給与計算ロジックでいつも使ってる DB instance があるらしいんやけど」 ツッコミ「あっ、そーなんや」 ボケ「うちのオカンがね、reader instance なのか writer instance なのかをち…

大阪Ruby会議04のSponsor LTで「データベースだけじゃないN+1とその対策」について話しました

大阪Ruby会議に参加しました! こんにちは、関西でfreee販売・freee工数管理の開発を行っています、bucyouこと川原です。 2024/8/24(土)に開催された、大阪Ruby会議04にスポンサーとして (かつ個人的にも気になったので) 参加してきました。 同僚で大阪Ruby会…

『勝手にコードゴルフ王決定戦 in RubyKaigi 2024』を開催しました! - 後編

こんにちは。freee エンジニアの yongi です。 この記事は後編です。前編はこちらの記事をご覧ください。作問の背景や、当日の様子を紹介しています。後編では、問題の簡単な解説と、優勝回答の紹介をします。 developers.freee.co.jp 問題解説 詳しい内容に…

freee PSIRTの風景:Dependabot alertの調査

こんにちは、PSIRTのWaTTsonです。 昨年の夏頃に、「Dependabot alertをSlackに通知して、トリアージ運用に役立てる仕組みを作ってみた」という記事を投稿しました: developers.freee.co.jp ここでは、新しく報告されたDependabot alertをSlackに通知し、Ji…

『勝手にコードゴルフ王決定戦 in RubyKaigi 2024』を開催しました! - 前編

RubyKaigi 2024 で freee が出展していたブースでは、コードゴルフ大会を開催しました。沖縄の地図が出力されるスクリプトを作るまでのプロセスを説明しています。

権限制御とは? を freee の権限管理基盤で説明

どうも、freee でエンジニアリングマネージャー をやっている sentokun です。 以前に私の所属しているチームで開発している権限管理基盤マイクロサービスの記事を書いたのですが、そういえば「権限制御ってなに?」という説明をしていないと思ったので、今…

git worktreeを使ってプルリクレビューを効率化した話

共通マスタ基盤チームにおけるソフトウェアエンジニアのyugoです。 共通マスタ基盤チームは、従業員、商品、取引先といった製品横断で利用できるマスタデータを一元管理し、ユーザーにfreeeプロダクトにおける統合体験を提供できる基盤開発をミッションとし…