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

技術

envoyにおける分散トレーシングの導入でオブザーバビリティを向上させた話

はじめまして、2023/6からfreeeのEnabling SREチームに所属している大木竜勝(ryu)です。 この記事はfreee Developers Advent Calendar 2023 - Adventar 3日目です。 この記事ではenvoyの分散トレーシングを用いてオブザーバビリティの向上を実現した取り組み…

freee 基盤チームアドベントカレンダーの歩き方

SREの河村(at-k)です。 本記事は freee基盤チームアドベントカレンダー の1日目になります。 カレンダー企画にあたり 今年もこの季節がやってきました。年末に向けて冬が深まり、心なしか忙しなくなってくる中、毎日ブログが一本ずつ投稿されていくのを見て…

terraform stateの再設計に取り組んだ話

こんにちは!freee enabling sre teamに所属しているhamaa(濵田雄太)です。 この記事はfreee Developers Advent Calendar 2023 - Adventar 1日目です。 自分はfreeeにjoinし、おおよそ1年がたちました。この1年間で主にterraform state再設計、移行につい…

Jetpack Compose で新規アプリを開発した

こんにちは、モバイル請求書の Android アプリを担当している nakaji です。 前回の iOS アプリの記事に続いて、今回は Android アプリの技術選定と TalkBack 対応についてご紹介します。 アプリのダウンロードはこちらから: play.google.com freee請求書fre…

TCA と SwiftUI で新規アプリを開発した

こんにちは、モバイル請求書チームで iOS エンジニアをしている yaya です。 freee請求書のモバイルアプリが2023年9月6日にリリースされました! www.freee.co.jp そのモバイルアプリの開発について、全3回に渡ってお届けしていきます。 今回はその第一回目…

Kaigi on Rails 2023参加しました!

freee のエンジニアで Kaigi on Rails 2023 に参加しました! こんにちは〜!freee のエンジニアメンバー、anna , fumi , hachi , k-massan , nakayan , otyamura , yongi です。 今回、Kaigi on Rails 2023 に参加してきました! Kaigi on Rails とは 2023/…

技術書典15で「freee 技術の本」 を出します!

こんにちは!DevBrandingのellyです。 いよいよ今週末は技術書典15ですね! この度、freeeの有志の開発メンバーで初めて技術同人誌「freee 技術の本」を制作しました。 すでに技術書典 マーケットにて公開されており、オンラインでは11月11日(土)より入手可…

デザイナーがDroidKaigi2023に参加してきた

Droid Kaigi2023に参加してきたよ こんにちは!freeeのプロダクトデザイナーのyucchan, tomominです。 DroidKaigiとはAndroid技術情報の共有とコミュニケーションを目的としたカンファレンスで、今年は9/14〜9/16開催されました。 DroidKaigi 2023 様々な企…

DroidKaigi 2023に参加しました!

こんにちは、新卒iOSエンジニアのasahiです! iOSDCに引き続き、9/14〜9/16に開催されたDroid Kaigiにも参加してきました。 DroidKaigi会場 ブース たくさんのブースが出展されていましたので、全て回ることを目標にブース巡りをしていました。また、一緒に…

iOSDC2023に参加しました!

こんにちは、新卒iOSエンジニアのasahiです! 9/1 ~ 9/3に開催されたiOSDC 2023に参加してきました。iOS開発の歴が短く、またこういった技術カンファレンスは初めてでしたので、参加する前と後でものすごく世界が広がった気がするので、共有していきたいと思…

リソースベースポリシーをサポートしないAWSリソースのクロスアカウント設定と、Go による実装

こんにちは、サービス基盤のkumashunです。 freeeでは、ほとんどのサービスがAWSをインフラ基盤として利用しています。さまざまな目的や業務上の要件に応じて、複数のAWSアカウントを運用しており、時折、異なるアカウント間でのネットワーク通信やリソース…

ActiveJob の retry_on を使いこなす

こんにちは! 大阪で freee販売を開発しております、bucyou (ぶちょー) というモノでございます。入社1年にしてようやく DevelopersHub デビューです! Rails での開発や、設計面の話題をお送りしたいと思います。今日は ActiveJob についてです。 ActiveJob …

AWS Network Firewallを使ったegress filterを導入した話

こんにちは、PSIRTのWaTTsonです。ちょっと前にDependabot alertについて記事を書いたばっかりですが、また別のネタが湧いてきたので書きます。今回はAWS Network Firewallについての話です。 developers.freee.co.jp AWSのネットワークセキュリティ freeeの…

CEDEC2023に参加しました!

こんにちは、QAチームのtakeです。 2023年8月23日〜25日にかけて行われたCEDEC2023に参加してきました。 cedec会場 なぜCEDECに参加したのか CEDECは、ゲームを中心とするコンピュータエンターテインメント開発に携わる方を中心に開催されるカンファレンスで…

freee の権限管理基盤マイクロサービスの今を語ろう!

はじめに こんにちは、freee の 権限管理基盤マイクロサービスを開発するチームでエンジニアリングマネージャーを務めている sentokun と申します。前職ではできることをできる限りやろうというスタンスで開発チームをリードし、アーキテクチャ設計やチーム…

ドメインや仕様が複雑な開発をうまくすすめるためにやったこと

freee人事労務の給与計算チームでは、先日入退社月の日割り計算の機能をリリースしました。この機能開発は自分が経験した中では比較的ドメインや仕様が難しい開発で、学びが多くあったため、プロジェクトを前に進めるためにやったことをこの記事にまとめたい…

Kotlin Multiplatformを運用してみた開発とその振り返り

こんにちは、モバイル開発のandrekandore (かんちゃん)だ! ※ この記事のどこかにiOSDC Japan 2023のチャレンジトークンが隠されているよ! はじめに この記事は、Kotlin Multiplatformを用いて実現しようとしたこと、運用してみた結果の振り返りについて…

CloudNative Days Fukuoka 2023に参加しました!

こんにちは、SRE Platformチームのmohaと申します。 去る8/3、CloudNative Days Fukuoka 2023が開催されました。freeeからはSRE Developer eXperience (DX) チームのmiyahikaが登壇したほか、Dev brandingチームとSRE、PSIRTの有志がブース運営のため参加し…

Dependabot alertをSlackに通知して、トリアージ運用に役立てる仕組みを作ってみた

こんにちは、PSIRTのWaTTsonです。 去年の12月にAdvent CalendartでAWS SecurityHubの結果をSIEM on Amazon OpenSearch Serviceに取り込んだ話を書きました: developers.freee.co.jp 今回は、同じくSIEM on OpenSearchを使った話で、GitHubのDependabotの運…

QAエンジニアでLT大会をしてみた

こんにちは、QAのharashinです。 先日QAチームでチーム内LTを実施しました! QAチームでLTをしようと思った理由は大きく2点あります 1. 組織拡大していく中で他のチームの取り組みやペインの言語化・可視化 QAチームは横断的な組織でQAチームには属していま…

Project間の依存関係の図示

ことのはじめ こんにちは、freeeのSREの久保木です。 freeeにはたくさんのProjectがあり、それらが複雑に依存関係を持ちます。 ですが僕はSREという所属上いったんはこれら全てに関与する可能性があります。なのでどんなProjectがあって、どれとどれがどう関…

RDS Proxyを用いたオンラインスイッチオーバーによるMySQLのアップグレードについて

おはこんばんちは、DBREの橋本です。 今回は、Amazon RDS Proxy(以降RDS Proxyとよぶ)を用いたRDS for MySQLインスタンスおよびAurora MySQLクラスタのオンラインスイッチオーバーの手法について、ある程度社内での運用が確立してきましたので解説いたしま…

5,000カラムのコメントを一気に更新したい!

こんにちは。freeeでWebアプリケーションエンジニアをしている金山(@tkanayama_)です。 普段はいわゆるプレイングマネージャとして、freee人事労務というプロダクトの新機能開発を行っています。ですが今回は、そのメインの業務のかたわらで行った、データ…

モブプログラミングをやってみたのであえて共有してみる

こんにちは!! freeeのあるプロジェクトの開発リーダーをしているMです。 チームメンバーに異動があったり、メンバー間のプロジェクトに関するナレッジやプログラミングスキルにむらがあったために、プロジェクトの進捗が遅れ気味で困っていました。メンバ…

自立的なチームを作るために、チームでKPT に取り組んでみた

はじめに freee Developers Hubでは初めましてです。riotaroと申します。 freeeでは2023年5月に入社し、CREに在籍しています。 この記事では入社後に日々の課題の把握と改善活動をすることを目的に、チームでKPTを導入しその後の経過について書きたいと思い…

きっぷが好きなエンジニアがデザイン哲学を意識してUI開発をした話

こんにちは、freee会計チームでWebエンジニアをしているe-mohaです。4月に入社しました。 この記事では、先日プレスリリースが発表されたきっぷUIの開発についてご紹介します。 燕駅から大崎駅までの交通経路のスクリーンショット まだプレスリリースをご覧…

RubyKaigi 2023 に参加してきたよ

こんにちは. freee で freee会計のエンジニアをやっているけむりだま (@_kemuridama) です. 最近は技術的負債や実装の標準化を行うチームで freee会計のフロントエンドの TypeScript 化を行っています. 開催からしばらく経ってしまいましたが, 会社にサポー…

初テックカンファレンスの裏側をあえて共有してみる

こんにちは!DevBrandingのellyです。 4月16日に開催されたfreee初テックカンファレンス freee 技術の日にご参加・ご視聴いただいたみなさま、誠にありがとうございました! この記事では、開催までのDevBrandingチームの活動や改善点などをまとめたいと思い…

テックカンファレンスで総合司会をやる技術

こんにちは!総合司会の てらら です! どーもどーもー! はじめに freee技術の日は大盛況に幕を閉じ、参加してくださった皆さまありがとうございました。 また、スタッフ、登壇者、関わってくださった方々全員がイベントを全力で盛り上げていただいて本当に…

セッションキャッシュによる SPOF(単一障害点)問題の解消

こんにちは、サービス基盤の横塚です。 freee のサービス基盤は、各チームがアプリケーション開発に専念できる環境を作ることをミッションに掲げるチームです。開発者の生産性を高めるような共通コンポーネントを整備したり、freee 全体が堅牢なシステムとな…

4/16(日)freee初テックカンファレンス「freee 技術の日」を開催します!

こんにちは!DevBrandingのellyです。 いつもfreee Developers Hubをご覧いただきありがとうございます。 すでにご存じの方もいらっしゃるかと思いますが、タイトルの通り4/16(日)にfreee初のテックカンファレンス「freee 技術の日」を開催します! オフラ…

QAのスキルアセスメントシートを作って適用してみた

こんにちは、freeeでQAマネージャーをしているymty(ゆもつよ)です。昨年(2022年)、QA人材育成とQA標準化という活動を始めました。その活動の中で、QAスキルアセスメントシートを作り、実際に適用した結果も出たので、広く共有したいと思い、この記事を書…

freee人事労務開発 〜 従業員一覧画面のパフォーマンス改善・リアーキテクチャ

freee人事労務開発チームでアプリケーションエンジニアをやっている @massan です。 2021年10月に入社して以来、freee人事労務開発チームのメンバーとして新規の機能開発や改善に取り組んでいます。 今回は、freee人事労務のメイン機能の一つである従業員一…

PG BATTLE 2022 に参加しました

はじめに こんにちは、2022年4月にfreeeへ新卒で入社したyellowです。現在は、Software Engineer in Qualityチーム(通称:SEQチーム)で自動テストの運用・改善や基盤開発などに携わっています。 先日、社内の競技プログラミング部のメンバーでチームを組み、…

E2Eテストとの1年 ~もらったコードレビュー~

はじめに こんにちは21卒のberryです。2021年6月にQA部に配属され、1年ほど基盤開発系のQAをした後、2022年7月からはfreee会計の開発チームでQAをやっています。 趣味は競技プログラミングです。 QA業務ではもちろん手動でのテストもやってきましたが、ユー…

AWS SecurityHubの検出結果が見づらい!→OpenSearchで見られるようにしてみた

こんにちは、PSIRTのWaTTsonです。私は平成の初め頃に生まれて平成を育ってきたので、12月23日といえば天皇誕生日で休み、という意識でしたが、もう令和になって天皇誕生日が2月に移ってから3年目になるんですね。ということで、freee Developers Advent Cal…

freee の二要素認証(ワンタイムパスワード)を仕組みから解説

はじめに こんにちは、freee で認証認可基盤の開発をしている okarin です。 freee のプロダクトでは二要素認証を有効にすると、メールアドレスとパスワードを入力した後、ワンタイムパスワードを求められるようになります。この二要素認証を利用することで…

iOSDC2022に参加しました!

初めまして、新卒iOSエンジニアのShakaです。 9月10日〜12日にかけて開催されたiOSDC2022に参加してきました。 モバイル開発歴が浅い自分にとっては、たくさんの貴重な経験や学びでしたので話していきたいと思います。 Day1のfreeeのブース。僕らは確定申告…

機能クローズのときエンジニアからできるコミュニケーション

こんにちは、今年は家電が何かと壊れる freee会計のアプリケーションエンジニア id:him0 です。 この記事は freee Developers Advent Calendar 2022 の19日目の記事です。 今年自分のチームは特定のドメインの DB を分離しパフォーマンスのカイゼンを図るプ…

freee での SLO の実践について

Enabling SRE チームの oracle です。 チーム内で SLO の推進を担当しております。 freee での SLO の実践についてご紹介させて頂きます。 改めてSREとは 皆さんご存知のように SRE とは Google 社が実践してきたシステム運用のノウハウを書籍化したことで一…

社内SlackアプリをHubotからBoltに移行した

社内の自動テスト実行に使っているSlackアプリをHubotからBoltに移行したのでその際の流れや詰まりどころを話します。 BoltがLambdaからEC2のJenkinsサーバを叩いている点が典型的な構成とは少し異なり、詰まったところでもあるので、同じ構成の人の助けにな…

ソフトウェア開発ライフサイクルに SRE という文化を Enabling していくためのアプローチ

こんにちは。freee の Enabling SRE チームに所属している nkgw (Twitter) です。 freee Developers Advent Calendar 2022 の 15 日目の記事となります。 普段は、エンジニアリングマネージャーをしつつ、新規プロダクトのリリースサポートとか、envoy の…

Ultralight な Neovim の config を求めて

こんにちは、@mitubaEXです。この記事は、freee Developers Advent Calendar2022 の 13 日目の記事です。 最近キャンプにハマってしまい色々動画やサイトを巡っている際に UL(Ultralight) hiker などの言葉を知りました。この UL という概念はなんなんでしょ…

SREへの社内留学を通してEnabling SREを推進した話

こんにちは、金融開発チームでアプリケーションエンジニアをしている ogugu です。 普段はサーバーサイド・フロントエンド問わず実装しています。 直近では、半分趣味でGoのlinterを自作したり、フロントエンドにStorybookのインタラクションテストを導入し…

脅威 Intelligence と log 運用

こんにちは、freee Developers Advent Calendar 2022 8日目の記事です。 PSIRTでblue teamとして活動している eiji です。 サービスやシステムのsecurityを確保したいとき、まず、最初にやらなければならないことはなんでしょう? FirewallやIPSのようなsecu…

Docker on Lima なツールを色々試してみた

こんにちは、freee Developers Advent Calendar 2022 6日目の記事です! 本日はサービス基盤の yoko がお送りします。 まえがき:Mac と Docker コンテナ型の仮想環境を高速に作成・起動できる技術として有名な Docker ですが、コンテナという隔離された環境…

混ぜるな危険!?スクラムマスターとエンジニアリングマネージャーを兼務するということ

こんにちは、freeeカード Unlimitedでエンジニア兼スクラムマスターをしている mattsunです。この記事は freee Developers Advent Calendar 2022 の4日目です。昨日は ichyさんのとりわけスクラム開発をやるときに立ち向かわなければならない壁の話でした。 …

VSCode から Neovim に挫折せず移行する

freee Developers Advent Calendar 2022 1日目の記事です! ついに今年も始まりました freee Developers Advent Calendar、一日目は会計チームの hachi (@hachiblog) からお送りします。 エディタはソフトウェアエンジニアにとって毎日使う道具です。あなた…

これってもしかして……認証基盤が入れ替わってる〜?

こんにちは、DevBrandingのellyです。9月2日に配信した「これってもしかして……認証基盤が入れ替わってる〜?」の様子をご紹介します。 今年に入ってfreeeの認証基盤が新しい基盤に入れ替わりました。リリースされるまでの1454日間の取り組み、今後の開発にど…

メールアドレスを持たないアカウントも freee 人事労務を利用できるようになりました

はじめに こんにちは、freee で認証認可基盤の開発をしている okarin です。最近の休日は QR コードを実装して遊んでます。意外と仕組みが複雑で数学的にも難しいのですが、いろんな知識が身について楽しいのでオススメです。 先日、メールアドレスを持たな…