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

技術

どうやってGoをキャッチアップしてきたのか

こんにちは。この記事はfreee Developers Advent Calendar 2023の20日目になります。 認証認可基盤チームのアプリケーションエンジニアを担当しているハトンです。 一番好きな言語はGoです! 学生時代はコンピューターサイエンスとは無縁で、メモリとストレ…

Terragruntで快適なTerraformライフをめざす

Gruntwork社が公開しているTerraformのラッパーツール「Terragrunt」について、基礎的な概念や主要機能、使用方法について紹介します。Terragruntを用いてDRYにTerraformコードを書くことで、インフラの設定管理を効率化を目指しましょう!

ファイルの後方互換を考える

こんにちは、freee販売 開発エンジニアをやっているtakayanです。この記事はfreee Developers Advent Calendar 2023 - Adventar 17日目です。 2023年に開催されたfreee技術の日ではPublic APIについての話をしました。その中で後方互換の話もしましたが、こ…

AWS のコスト統制の道

SRE 統制チームの oracle です。 この記事は freee 基盤チームアドベントカレンダー の16日目になります。 今回は AWS の コスト統制についてお話させて頂きたいと思います。 先日「 AWS の組織移行をしました 」という記事の中で AWS の組織移行のために SR…

多様なプロダクトが存在する freee における health check 標準化

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

AWS の組織移行をしました

SRE 統制チームの oracle です。 この記事は freee 基盤チームアドベントカレンダー の12日目になります。 今回は AWS の 組織移行を行った話をさせて頂きます。 AWS の 組織移行というのはどういうこと?と思われる方もいらっしゃるかと思いますので、正し…

PagerDutyを用いたアラート対応改善の取り組みとTips紹介

はじめに こんにちは!freee の Enabling SRE チームに所属している阿部 寛明 (uryy)と申します。freeeのシステムを運用する際にはDatadogからの通知をもとにアラート対応するケースが多いのですが、組織拡大により従来の方法ではうまくワークしない箇所もで…

型を意識した Ruby on Rails 上のモデル

こんにちは。freee販売を大阪で開発しております、bucyou (ぶちょー) というものです。 この記事は、freee Developers Advent Calendar 2023 の10日目です。 例によって普段は Ruby on Rails で開発をしておりますが、ここでのアーキテクチャや、モデリング…

TerraformのAWS ProviderでRoute Table Resourceを利用するときに気を付けたほうがよいこと

こんにちは!PSIRTのimarikuです!この記事はfreee 基盤チーム Advent Calendar 2023の8日目としてお送りします。 私は普段、PSIRTのメンバーとして主にクラウド方面を中心にプロダクトセキュリティの向上に取り組んでいます。 PSIRT buleteamでは現在AWS Ne…

スクラムチームのメンバーとしてQAが入ってみる

こんにちは。freee会計のQAをしているakariです。 freee Developers Advent Calendar2023 8日目です。 私が所属する開発チームでは、QA含むスクラムチームで開発をしています。スクラムチームの中で QAがどのような動きをしているかについて先日インボイス制…

How to write an effective test cases?

Hello! Today is the 6th day of Advent Calendar 2023, and my name is Ween, QA of データ化サービス. I am grateful for the opportunity to write a blog and share with everyone the best practices that we used in my former company where I am als…

A novice to API testing

Hello! I’m Tin, a QA engineer of HR payroll and this is the 5th day of the freee QA Advent Calendar 2023. I had the opportunity to test an API in July of the current year, 2023, and I made the decision to write about it in the hopes that i…

インフラ爆速構築記〜freeeの場合〜

こんにちは。この記事は freee基盤チームアドベントカレンダー の4日目になります。 認証認可基盤チームのアプリケーションエンジニアを担当している てらら です。 社内の人にはエンジニアではなく、freee Tech Nightの司会の人、またはSlackで良く見かける…

謎解き制作にfreeeQAプロセスを適用してみた

こんにちは。freee申告でQAエンジニアをしている金子です。 freee QA Advent Calendar2023 の4日目です。 freeeには謎解き部があり、謎解き公演に一緒に行ったり、社内イベント用に謎解き制作を行なったりしています。 この記事は、普段はWebサービスに対し…

ArgoCDバージョンアップを安全かつ迅速に行うための取り組み

概要 freeeではAmazon Web Services (AWS) Elastic Kuerbentes Service (EKS) 上にほとんどのアプリケーションが載っており、EKSへのデプロイ基盤としてはOSSの ArgoCD を利用しています。 ArgoCDから各クラスタにデプロイを行うため、非常に中央集権的なア…

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業務ではもちろん手動でのテストもやってきましたが、ユー…