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

技術

pt-online-schema-changeの導入時に検討したこと、およびRailsアプリとの併用について

おはこんばんちは、Database Reliability Engineer (DBRE) の橋本です。今回は、pt-online-schema-changeというデータベースのスキーマ変更ツールを社内の運用に持っていくための過程や、freeeにおける運用上の工夫を紹介します。pt-online-schema-changeは…

Sysbench でカスタム負荷試験を書く

こんにちは、Database Reliability Engineer (DBRE) チームの寺沢です。 業務柄、負荷試験をする機会がちょこちょこあるのですが、sysbench のカスタムテストを書くのが意外に簡単であること、かつ想像よりも色々できて便利だったので、まだ使ってない方に向…

自動テスト速度改善 - 自動テストが品質のボトルネックとならないために

freee人事労務の品質改善を専任で活動している keik です。 freee人事労務ではアプリケーション開発の自動テスト環境として CircleCI を利用しています。すべてのコードの変更は GitHub 上の Pull Request を経由して行われますが、Pull Request のマージ条…

ドメイン知識が求められる開発をどのように乗り切るか

こんにちは、freee会計のプロダクトマネージャー(以下PM)をしております、gokiです。 皆さん、「ドメイン知識」という言葉、聞いたことありますか? ドメイン知識(英: Domain knowledge)または領域知識は、はっきり限定された、ある専門分野に特化した分…

期日じゃなくて優先度を決めろ!悩めるスクラムマスターの本音

こんにちは、DevBrandingのellyです。2月4日に配信した「期日じゃなくて優先度を決めろ!悩めるスクラムマスターの本音」の様子をご紹介します。 今回はスクラムマスターの2人を招いてfreeeがどのようにスクラムに取り組んでいるのか、専任スクラムマスター…

freee CREのこれから〜お問い合わせの横断対応イメージ

こんにちは。freee CREチームのマネージャーをしているkishimotoです。 早いもので、前回「freeeのCREチームとは」という記事を書いてから1年ほどが経ちました。 CREチームのミッションは変わらず、エンジニアリングのスキルを活用して、「お問い合わせを減…

Public APIのバージョニングの仕組みを解説

こんにちは、freeeでアプリケーションエンジニアをしているmonacaです。 私が前回書いた記事では、主にfreeeでの働き方について書きました。 現在私は、愛知県に住みながら、Public APIやアプリストアを開発する東京のLEGOチームで仕事をしています。 いまは…

「自動で経理」の推論エンジンってどんなやつ?

AI ラボの nagomiso です。最近趣味という趣味が「飲酒」と「VTuber*1 の配信を見ること」だけになっていて危機感を覚えています。 唐突ですが freee 会計の「自動で経理*2」には登録された明細の内容から勘定科目などを推測する機能が備わっていることをご…

アプリチーム x SRE チームによるアプリケーションモニタリング運用改善

freee人事労務の品質改善を専任で活動している keik です。 freeeではアプリケーションパフォーマンスモニタリング(APM)に Datadog を利用しています。 SRE チームが導入し、アプリケーション開発チームに利用提供する形で運用されています。 導入のきっか…

期日より、優先順位を決めろ!~freee Tech Night出演にあたって~

期日を決めすぎることの様々な困難と、期日を決めず優先順位を決めることでのメリットを考えてみます。

本当に怖い障害訓練、犯人はfreeeの中にいる!?

こんにちは、DevBrandingのellyです。12月20日に配信した「本当に怖い障害訓練、犯人はfreeeの中にいる!?」の様子をご紹介します。 2018年の10月末にfreeeで大規模な障害が起き、そのような大規模障害を繰り返さないために、freeeでは10月末に障害訓練の日…

支払依頼のUI刷新でエンジニアがどういう開発を行なったかを紹介します

こんにちは、freee 会計のワークフロー(会社内の申請・承認の流れ)機能を開発しているエンジニアのミツバ (@mitubaEX) です。 先日ワークフローの機能の一つである支払依頼を刷新しました。この記事では刷新した手順とこだわりポイントについて紹介したい…

Kubernetes の CronJob の急な停止に対応するための Tips

SRE の hatajoe です。 私が所属しているチームでは、これまで数多くのサービスのインフラ基盤を Amazon EKS へ移行してきました。 その過程で多くの乗り越えなければいけない課題に直面して来ましたが、今回は Kubernetes クラスタで安全に CronJob を扱う…

freee の API では BigDecimal をどう扱うべきなのか?

この記事は freee Developers Advent Calendar 2021 の最終日の記事です 普段は freee会計 や freee人事労務 といった、freee におけるコアサービスの開発の面倒を見る、プロダクトコア開発本部の本部長をしています id:yo_waka です。 前回書いたときは Web…

pingcap/parser (MySQL互換) で SQL を手軽に解析

突然ですが, pingcap/parser を使って SQL を簡単に解析していきたいと思います. Go 製 の SQL Parser で, MySQL への高い互換性を謳う TiDB で利用されています.

freee会計の React 17 化を進めていたら flux に PR を出していた話

この記事は freee Developers Advent Calendar 2021 の 21 日目の記事です. freee でエンジニアをやっているけむりだま (@_kemuridama) です. freee会計の開発をメインに freee Tech Night の運営リーダーをやっていたり, オンラインになった社内イベントの…

異動をカジュアルに!freeeの社内異動制度「異動戦国」

こんにちは、最近キャリアのヒントをつかみ出したichienです。今回はfreeeの開発組織にある社内異動制度、「異動戦国」をご紹介します。異動戦国とは、1年に1回自分の希望するチームに異動の立候補をすることができる制度です。 実際に異動戦国で異動を経験…

Argo CD & Rollouts を使って freee会計に canary release を導入しました!!

こんにちは、SRE で主に CI/CD 周りを担当している kumashun です。 この記事は freee Developers Advent Calendar 2021 20日目の記事になります。 私は今年11月に開催された、クラウドネイティブに関する国内でも大規模なテックカンファレンスである CloudN…

MySQLでIN句の中に大量の値の入ったクエリがフルスキャンを起こす話

こんにちは、freee Developers Advent Calendar 2021、19日目のid:shallow1729です。昨日はtdtdsさんで【マジで】サイバー演習シナリオの作り方【怖い】でした!障害訓練後に攻撃方法を解説された時はリアリティの高さに驚きました。 僕はMySQLを使っていて…

【マジで】サイバー演習シナリオの作り方【怖い】

「CEOに脅迫状を送り付ける」というゴールに向けて、リアリティのある標的型攻撃のサイバー演習シナリオを構成した記録です。

SESで働いていたフリーランスエンジニアがfreeeに入社して感じたこと、これからのこと

はじめまして、freeeでアプリケーションエンジニアをしている小田 @monaca です。 この記事は、freee Developers Advent Calendar の17日目の記事です。 ここでは、SESが主な業態のフリーランスだった私がfreeeに入社後の4ヶ月間で経験したことや感じたこと…

Gitのコミットログに詳細を書く習慣をつけている

おはこんばんちは、SREの橋本です。この記事は、freee Developers Advent Calendar 2021の16日め記事となります。 わたしがソフトウェアエンジニアとして仕事をするうえで、コミットログを詳細に記述する習慣づけがあり、この機会にその具体例をあえて共有し…

GitHub Actionsで日々の開発運用を楽にする取り組みの紹介

この記事はfreee Developers Advent Calendar 2021 15日目の記事です。 中部支社のチームのエンジニアの okoshi です。 みなさんいかがお過ごしですか。めっきり寒くなってまいりましたね。外部イベントでLTするときは下手うまな絵をスライドに差し込むのが…

法人設立登記のオンライン申請機能リリースしたくて実際に会社作ってみた

「freee会社設立」では合同会社の登記のオンライン申請機能をリリースしました。機能のリリース前に該当機能を使って実際に会社を設立してみたよという話をします。

AWSのコストが最適なのかそうじゃないかわからなくて困っていた話

AWSのコストがブラックボックスすぎて危機にあったのを、どうにか頑張った話

開発合宿でadmin画面の開発について妄想した

この記事はfreee Developers Advent Calendar 10日目の記事です。 こんにちは、freeeスマート受発注のエンジニアをしているmiyachiです。 最近は VCT (Valorantというゲームの世界大会)を鑑賞しています。 日本からも1チーム出場しており、手に汗握る試合を…

マネーフォワード vs freee、もし名古屋で開発するなら?

こんにちは、DevBrandingのellyです。11月19日に配信した「マネーフォワード vs freee、もし名古屋で開発するなら?」の様子をご紹介します。 これから名古屋に開発拠点を立ち上げるマネーフォワードと 2020年に拠点を構えたfreee。 なぜ名古屋に開発拠点が…

freee Product Securityのこれまでとこれから

freee Developers Advent Calendar の 8日目です。 freeeのproduct securityのこれまで と これからをまとめました。

丑三つ時におくるWebAuthnの勘所

この記事は freee Developers Advent Calendar 2021 の5日目です。 こんばんは。Identity & Access Managementを担当している てらら(id:a_terarara) です。 先日 死霊館 を鑑賞しました。(ホラー注意) この作品は実話から作られたということですが、購…

アクセシビリティー研修でスクリーンリーダーの音声を届けるために

こんにちは、id:ymrlです。この記事はfreee Developers Advent Calendarの2日目です。 先日の記事で、全従業員向けのアクセシビリティ研修を紹介しました。 developers.freee.co.jp この研修でとても大切にしていることのひとつに 「スクリーンリーダー(画…

全てのメンバーにアクセシビリティー研修を実施しはじめました + 研修資料を公開します

こんにちは、 freeeでデザインシステムを作っていたりアクセシビリティーのいろいろをやっていたりする id:ymrl です。 freeeではfreeeアクセシビリティー・ガイドラインを策定して、誰でも使えるアクセシブルな製品開発ができるよう取り組んでいます。これ…

freee流、クレジットカードのマイクロサービス設計構築術

こんにちは、DevBrandingのellyです。10月29日に配信した「freee Tech Night 〜freee流、クレジットカードのマイクロサービス設計構築術」の様子をご紹介します。 先日freeeは、法人向けに企業成長を支援するための統合型ビジネスカード「freeeカード Unlimi…

CloudNative Days Tokyo 2021 に参加しました

CloudNative Days Tokyo 2021 は 11 月 4 日 〜 5 日の 2 日間に渡ってオンラインで開催されました。 freee は Platinum スポンサーとして協賛させていただき、さらに CLC チームから 2 人が登壇しました。

【連載 第8回】QAがfreeeカードUnlimitedのスクラムチームメンバーとして取り組んでること

こんにちは、freeeでQAエンジニアをしているymty(ゆもつよ)です。この記事はfreeeカード Unlimited の開発の裏側について紹介する連載の第8回目(最終回)になります。 今までの連載の中で、freeeカード Unlimitedのアーキテクチャーやインフラといった技…

安定した開発を続けるサイトビジットのRails活用術

こんにちは、DevBrandingのellyです。10月1日に配信した「freee Tech Night 〜安定した開発を続けるサイトビジットのRails活用術」の様子をご紹介します。 サイトビジット社は2021年4月にfreeeの子会社としてグループにジョインしました。『資格スクエア』や…

開発を止めずに Flow を TypeScript に移行する手法

こんにちは、freee人事労務開発チームでエンジニアをしている fiahfy です。 現在、freee人事労務のフロントエンドコードはほぼ TypeScript で記述されていますが、以前は Flow のコードが大部分を占めていました。 今回は、約 1200 ファイル程度あった Flow…

【連載 第7回】クレジットカードのインフラ作ってみた

どうもSREのid:renjikariです。この記事はfreeeカード Unlimited の開発の裏側について紹介する連載の第7回目になります。 私は直近でfreeeカード UnlimitedのStaging&Production向けのインフラ構築などを担当していました。(id:nekottyo が検証用アカウント…

Rubyの型チェッカーのSorbetを導入しました

申告チームでテックリードをやらせてもらっている id:nanjakkun です。 freeeではfreee会計をはじめ多くのプロダクトがRuby on Rails(以下Rails)のアプリケーションとして実装されています。 日々の開発の中で、Rubyでも静的な型の解決ができればなあと思う…

データ処理パイプラインの Argo Workflows 移行を検討した話

AirflowからArgo Workflowsへ freee の AI ラボというチームでエンジニアをしている id:nagomiso と⾔います。好きな飲み物はストロング系チューハイです。オススメはキリン・ザ・ストロングのコーラサワーと SAPPORO 99.99 のクリアレモンです。 さて, あま…

【連載 第6回】新規プロダクト&新造チーム&フルリモート:そのときEMに何ができるか?

TL; DR 新規プロダクトを新造チームで開発するとき、私のとったEMとしての行動は、ブランコを漕ぐ子どもの背に手を添える母親と同じものでした。 はじめに freeeの金融開発チームでエンジニアリングマネージャーをしている横田と申します。このfreeeカード U…

【連載 第5回】新卒1年目からの新規プロダクト開発

こんにちは、金融チームでエンジニアをしているsekkyです。この記事はfreeeカード Unlimited の開発の裏側について紹介する連載の第5回目になります。 この記事では、新卒1年目からマイクロサービスを用いた新規プロダクト開発にアサインされて感じたよかっ…

【連載 第4回】freeeカード Unlimited でのClean Architecture実践

こんにちは、金融チームでエンジニアをしているlvmingbeiです。この記事はfreeeカード Unlimited の開発の裏側について紹介する連載の第4回目になります。 この記事では、freeeカード Unlimitedの開発でClean Architectureを導入して学んだことをシェアでき…

【連載 第3回】EMから再度エンジニアとしてプロダクト開発に挑戦して学んだこと

こんにちは、freeeの金融チームでエンジニアをしているtabachainです。この記事はfreeeカード Unlimited の開発の裏側を紹介する連載の第3回目の記事になります。 このfreeeカード Unlimited連載企画では、これまでWebアプリ開発エンジニアの視点からの記事…

新アプリリリース!iOSエンジニアとWebエンジニアの融合

こんにちは、DevBrandingのellyです。9月3日に配信した「freee Tech Night 〜新アプリリリース!iOSエンジニアとWebエンジニアの融合」の様子をご紹介します。 freee では iOS エンジニアと Web エンジニアは基本的に別々のプロジェクトで業務を行うことが多…

【連載 第2回】freeeカード Unlimited での非同期通信の設計と実装

金融チームでエンジニアをしているimamuraです。freeeカード Unlimited の開発の裏側について紹介する連載の第2回目になります。freeeカード Unlimited がどのようなサービスなのかは第1回目の記事*1で紹介していますので、そちらをご覧ください。また、そこ…

基盤サービスにおけるユーザーストーリ作成のポイント

ある程度事業規模が大きくなると、新規サービスを立ち上げたりマイクロサービスによるプロダクトの分割を行い、各サービスで共通に利用する機能を切り出したサービス、基盤サービスを立ち上げるタイミングがいつか来ることがあるかと思います。基盤サービス…

【連載 第1回】freeeカード Unlimited の開発の道のり

金融チームでエンジニアをしているimamuraです。freeeカード Unlimited のβ版の提供が今年(2021年)の秋から開始されます。開発自体は半年以上かかっており、そこでの開発の裏側について連載を行います! 連載は以下のようになります。 ※ 日程、タイトルは…

freeeプロジェクト管理でJavaScriptバンドルサイズ削減に取り組んだ話

こんにちは! 中部オフィスでエンジニアをやっているichienです。 5月に入社してfreeeプロジェクト管理の開発を担当していました。今回はfreeeプロジェクト管理のJS(JavaScript)バンドルサイズを削減した話を紹介します。 改善前はバンドルしたJSファイルが5…

Stripeを使って自社マーケットプレイスに決済機能を実装しました

こんにちは、freeeのPublic APIチームでエンジニアをしているまっつーです。 ビールの美味しい季節ですが外で飲めないのが残念です。 僕らのチームは2021年7月にfreeeアプリストアに決済機能をリリースしました。 https://corp.freee.co.jp/news/paid-app.ht…

全サービス新デザイン!リブランディングの裏側

こんにちは、DevBrandingのellyです。7月30日に配信した「freee Tech Night 〜全サービス新デザイン!リブランディングの裏側」の様子をご紹介します。 今回からfreee tech nightも心機一転、新デザインに変更しています。 freee tech night ロゴ新デザイン …