ブックマーク / developers.freee.co.jp (65)

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

    はじめに こんにちは、freee の 権限管理基盤マイクロサービスを開発するチームでエンジニアリングマネージャーを務めている sentokun と申します。前職ではできることをできる限りやろうというスタンスで開発チームをリードし、アーキテクチャ設計やチームビルディングなどに取り組んでいました。その後 2022 年に freee へ入社し、freee で初めてエンジニアリングマネージャーの役割に。変わらずできることにできる限り取り組むスタンスでチームビルディングに従事しています。 この記事では、我々のチームが担当している権限管理基盤について語っていこうと思います! 権限管理基盤の成り立ち freee では、「スモールビジネスを、世界の主役に。」をミッションに掲げ、統合型経営プラットフォームの開発・提供を進めています。最近では freee Togo Panorama を公開するなど、統合に向け

    freee の権限管理基盤マイクロサービスの今を語ろう! - freee Developers Hub
    toshikish
    toshikish 2023/09/15
  • ドメインや仕様が複雑な開発をうまくすすめるためにやったこと - freee Developers Hub

    freee人事労務の開発チームで給与計算関連の機能開発を行っているbanaと申します。最近はポケモンスリープに睡眠を支配されています。 freee人事労務の給与計算チームでは、先日入退社月の日割り計算の機能をリリースしました。この機能開発は自分が経験した中では比較的ドメインや仕様が難しい開発で、学びが多くあったため、プロジェクトを前に進めるためにやったことをこの記事にまとめたいと思います。 1つでも役に立つことがあれば、また、深いドメイン理解が求められるアプリケーション開発の大変さと面白さを少しでも感じていただければ幸いです。 前提 入退社月の日割り計算とは 今回記事で取り上げる内容が伝わりやすくなるよう、簡単に入退社月の日割り計算について説明します。 例えば、給与の締め日が月末(=給与計算期間が月初から月末)の会社に入社するときの基給について考えます。従業員は月給制とします。 1日に入

    ドメインや仕様が複雑な開発をうまくすすめるためにやったこと - freee Developers Hub
    toshikish
    toshikish 2023/09/08
  • Dependabot alertをSlackに通知して、トリアージ運用に役立てる仕組みを作ってみた - freee Developers Hub

    こんにちは、PSIRTのWaTTsonです。 去年の12月にAdvent CalendartAWS SecurityHubの結果をSIEM on Amazon OpenSearch Serviceに取り込んだ話を書きました: developers.freee.co.jp 今回は、同じくSIEM on OpenSearchを使った話で、GitHubのDependabotの運用に関することを書きたいと思います。 Dependabotの運用上の課題点 Dependabotはプロジェクトで使われているライブラリの依存関係をチェックし、古いものやセキュリティ上の問題があるものをアラートするサービスです。元々は独立したサービスでしたが、2019年にGitHubに買収されて、今はGitHubの公式機能として提供されています。 freeeでは、依存ライブラリの脆弱性管理に長らくyamoryを使っていまし

    Dependabot alertをSlackに通知して、トリアージ運用に役立てる仕組みを作ってみた - freee Developers Hub
    toshikish
    toshikish 2023/08/17
  • RDS Proxyを用いたオンラインスイッチオーバーによるMySQLのアップグレードについて - freee Developers Hub

    おはこんばんちは、DBREの橋です。 今回は、Amazon RDS Proxy(以降RDS Proxyとよぶ)を用いたRDS for MySQLインスタンスおよびAurora MySQLクラスタのオンラインスイッチオーバーの手法について、ある程度社内での運用が確立してきましたので解説いたします。 従来のアップデート手法 AWS上でRDS for MySQLインスタンスやAurora MySQLクラスタ(以降これらをデータベースとしてまとめてよぶ)を運用している場合、それらのエンジンバージョンの更新を行ったり、OSバージョンの更新に伴う再起動を実施する必要があります。これらの更新を行う場合、以下のような方法が考えられます。 対象のデータベースに直接更新を適用する スナップショットを作成し、更新済みのデータベースとして復元する 更新済みの空のデータベースを新規作成し、そちらにデータを移行し、

    RDS Proxyを用いたオンラインスイッチオーバーによるMySQLのアップグレードについて - freee Developers Hub
    toshikish
    toshikish 2023/08/01
  • きっぷが好きなエンジニアがデザイン哲学を意識してUI開発をした話 - freee Developers Hub

    こんにちは、freee会計チームでWebエンジニアをしているe-mohaです。4月に入社しました。 この記事では、先日プレスリリースが発表されたきっぷUIの開発についてご紹介します。 燕駅から大崎駅までの交通経路のスクリーンショット まだプレスリリースをご覧になっていない方は以下のリンクをご確認ください。 prtimes.jp 今回は、freeeのプロダクトのデザイン方針である「Design Philosophy」を意識してUI開発をしました。 Design Philosophyの4つのキーワードに沿って、解説していきます。 brand.freee.co.jp 爽快でシンプルな見た目にする "かろやかシンプル" 「かろやかシンプル」というキーワードでは、業務の面倒な事務作業のストレスから開放するためにシンプルでわかりやすいデザインを心がけることを定義しています。 きっぷUIでは、右上のつば

    きっぷが好きなエンジニアがデザイン哲学を意識してUI開発をした話 - freee Developers Hub
    toshikish
    toshikish 2023/06/15
  • freeeが導入した、離れた部屋をつなげる空間ゲートウェイ”tonari”で手を振りたくなってしまう理由 - freee Developers Hub

    はじめに freee Developers Hubでは初めまして。yoと申します。 freeeでは、2022年4月の「Culture Infra」というチームの立ち上げで入社し、Culture Tech Engineerというロールを担っています。 このCulture Infraチームは、「freeeのカルチャーをテクノロジーで進化・醸成させる」がミッションで、主に以下のような業務を担っています。 カルチャーやコミュニケーションを軸とした設備やツールの企画・運営・管理 社内外に発信するイベントなどの配信&企画・管理・運営支援 社内のナレッジマネジメント もう1年近く前のものではありますが、以下の記事に立ち上げの詳細がまとまっています。 note.com 稿では、”tonari”の何がすごいのかを、技術的な観点からご紹介します。 tonariを導入したきっかけは…?それは、大崎へのオフィス

    freeeが導入した、離れた部屋をつなげる空間ゲートウェイ”tonari”で手を振りたくなってしまう理由 - freee Developers Hub
    toshikish
    toshikish 2023/04/22
  • freee OSSポリシーを策定します - freee Developers Hub

    こんにちは、PSIRTマネージャのただただし(tdtds)です。……と書きだしてみたものの、今日はセキュリティはとくに関係なくて「freeeも(やっと)OSSポリシーを決めたよ!」という話をします。タイトルだけで言いたいことはだいたい終了です。 なぜOSSポリシーを定めたのか 私は2020年にfreeeに入社しましたが、わりとすぐにちょっとした違和感に気づきました。「あれ、この会社、OSSにコントリビューションする習慣が希薄だな?」。 かれこれ30年以上、「OSS」という言葉が生まれるはるか以前から日常的にフリーソフトウェアの開発をしてきた私の目からすると、数百人もの開発者を擁する会社のわりに、OSSコミュニティでの存在感がこんなにも薄いのはちょっと変だと思いました。freeeのサービスはOS(GNU/Linux)からフレームワーク(Ruby on Rails)、プログラミング言語(Rub

    freee OSSポリシーを策定します - freee Developers Hub
    toshikish
    toshikish 2023/04/07
  • PG BATTLE 2022 に参加しました - freee Developers Hub

    はじめに こんにちは、2022年4月にfreeeへ新卒で入社したyellowです。現在は、Software Engineer in Qualityチーム(通称:SEQチーム)で自動テストの運用・改善や基盤開発などに携わっています。 先日、社内の競技プログラミング部のメンバーでチームを組み、2022年10月末に開催された、企業・学校対抗プログラミングコンテスト「PG BATTLE 2022」に参加しました!この記事では、コンテスト当日までの様子や参加した感想などを中心にお伝えしたいと思います。 PG BATTLE とは PG BATTLEは、1チーム3名による企業・学校対抗のプログラミングコンテストです。大まかなルールは以下の通りとなっています。 「企業の部」「大学&大学院、高専、専門学校の部」「高校、中学、小学校、その他スクールの部(18歳以下)」の部門内で競い合う 同一組織内から3名で1

    PG BATTLE 2022 に参加しました - freee Developers Hub
    toshikish
    toshikish 2023/02/01
  • Performance Schemaの仕組みと活用法の紹介 - freee Developers Hub

    メリークリスマス!!freee Developers Advent Calendar 2022 25日目担当のid:shallow1729です!昨日はtdtdsさんでfreee特有の風土病:エンジニアの症例と寛解についてでした! 僕からはMySQLのPerformance Schemaという機能の仕組みの解説とfreeeでの活用についての紹介をします。 前置き Performance SchemaはMySQLで実行されるトランザクションやクエリなどの実行時の様々な情報を取得してくれる機能です。特に面白いのは後で説明するようにstageやwaitなどのMySQLの実装レベルでのモニタリングを提供してくれているところで、これを使う事でどのあたりがボトルネックになっているかについて実際のProduction環境のワークロードで分析できる点です。また、最近だと例えばAWSのRDSを用いているとPe

    Performance Schemaの仕組みと活用法の紹介 - freee Developers Hub
    toshikish
    toshikish 2022/12/25
  • freee での SLO の実践について - freee Developers Hub

    Enabling SRE チームの oracle です。 チーム内で SLO の推進を担当しております。 freee での SLO の実践についてご紹介させて頂きます。 改めてSREとは 皆さんご存知のように SRE とは Google 社が実践してきたシステム運用のノウハウを書籍化したことで一般的に知られるようになった言葉です。 日語版の書籍が発売されてからもう5年経ちました。 Google が提唱しているアプローチを皆さんは実践できていますでしょうか。 freee では SRE チームの前身はインフラという部署でした。 同じように部署を新設ではなくて名前を変更した企業も多いのではないでしょうか。 チームの名称は何であれ問題はありません。重要なのは SRE を実践しているのか、していないかです。freee は SRE を実践できていたかというとそうではありませんでした。 信頼性とは S

    freee での SLO の実践について - freee Developers Hub
    toshikish
    toshikish 2022/12/18
  • ソフトウェア開発ライフサイクルに SRE という文化を Enabling していくためのアプローチ - freee Developers Hub

    こんにちは。freee の Enabling SRE チームに所属している nkgw (Twitter) です。 freee Developers Advent Calendar 2022 の 15 日目の記事となります。 普段は、エンジニアリングマネージャーをしつつ、新規プロダクトのリリースサポートとか、envoy の機能である external authorization の実装などをやってました。 以前 SRE チームのマネジャー 河村より 2022: freee SRE Journey - これまでの振り返りとこれから という記事にて今までの SRE チームの遍歴及び簡単な今後について書いていただきました。 記事では freee の SRE の Rebuild として、どのようにプロダクトチームと一緒に SRE の Enabling(有効化) を進めていくのか、プロダクトチームが

    ソフトウェア開発ライフサイクルに SRE という文化を Enabling していくためのアプローチ - freee Developers Hub
    toshikish
    toshikish 2022/12/16
  • SREへの社内留学を通してEnabling SREを推進した話 - freee Developers Hub

    こんにちは、金融開発チームでアプリケーションエンジニアをしている ogugu です。 普段はサーバーサイド・フロントエンド問わず実装しています。 直近では、半分趣味Golinterを自作したり、フロントエンドStorybookのインタラクションテストを導入したり、幅広くやっています。 さて、今回は、SREチームに社内留学して Enabling SRE を推進した話をします。 なぜ留学したか 自分はこれまで「技術をリードしていく立場として幅広い知識と経験を持った人材になりたい」というキャリア志向を抱いていました。 そのために、自分自身がウィークポイントに感じていたインフラやセキュリティの理解を深めたいと感じていました。 また、同時に、freeeの開発組織に対して「悪い意味で開発者とSREの責任境界がはっきりしていて、開発者がインフラの構築・運用やアラート対応に疎くなっているのでは」とい

    SREへの社内留学を通してEnabling SREを推進した話 - freee Developers Hub
    toshikish
    toshikish 2022/12/10
  • 脅威 Intelligence と log 運用 - freee Developers Hub

    こんにちは、freee Developers Advent Calendar 2022 8日目の記事です。 PSIRTでblue teamとして活動している eiji です。 サービスやシステムのsecurityを確保したいとき、まず、最初にやらなければならないことはなんでしょう? FirewallやIPSのようなsecurity sensorを配置することが頭に浮かぶかもしれませんが、それよりも先にやっておかなければならないことがあります。 それは、logを取ることです。 logがなければ、攻撃や異常を検知できませんし、検知できなければ、サービスやシステムを守るための行動をとることができません。 では、全部のlogを取るのか? といわれると、答えは乱暴に言うとYesなのです。でも、全てのlogを単純に保存したとして、多くの人はそこからsecurityを確保したと言える状況に至る道筋を思い

    脅威 Intelligence と log 運用 - freee Developers Hub
    toshikish
    toshikish 2022/12/08
  • VSCode から Neovim に挫折せず移行する - freee Developers Hub

    freee Developers Advent Calendar 2022 1日目の記事です! ついに今年も始まりました freee Developers Advent Calendar、一日目は会計チームの hachi (@hachiblog) からお送りします。 エディタはソフトウェアエンジニアにとって毎日使う道具です。あなたはどんなエディタを使っていますか?そのエディタに満足していますか? 自分は3年ぐらい VSCode を使っていて大方満足はしていたのですが、細かいところで不満が出てきていました。 そのため思い切って Neovim にエディタを移行しました。 移行して、超快適!という状態ではまだないのですが、VSCode と同等ぐらいまでには使いこなせるようになりました。 自分は今まで何度か VSCode から Vim/Neovim に移行しようとして何度か挫折していて今回始めて成

    VSCode から Neovim に挫折せず移行する - freee Developers Hub
    toshikish
    toshikish 2022/12/01
  • Docs の独自コマンドはサーバなしで動く。 - freee Developers Hub

    毎週の定例ミーティングで Google Docs にテンプレートを追加するという作業をやったことがあるだろうか? あるいは毎回変わるファシリテータをその度に手動で書いたことがあるだろうか? そういう作業は Google Apps Script (GAS) を用いて自動化することが出来る。 GASを動かすのに面倒なサーバ構築はいらない。Googleが用意したエディタでGoogleが用意した関数を使ってJavaScriptを書けば動いてくれる。 毎週テンプレートを追加するような定期的な作業はこれを使うと便利だ。 さあドキュメントを開いて Extensions -> Apps Script からプログラムを書こう。 メニューを追加しよう 特定の場所にテンプレートを挿入しよう スナップショットを取ろう 次のファシリテータを記入しよう メニューを追加しよう Docsはメニューをカスタマイズして独自の

    Docs の独自コマンドはサーバなしで動く。 - freee Developers Hub
    toshikish
    toshikish 2022/11/15
  • AWSマネージドサービス+Terraformを活用してDBオペレーションをより安全&簡単に(pt-oscの例) - freee Developers Hub

    おはこんばんちは、Database Reliability Engineerの橋です。 以前、freee Developers Hubにて、MySQLのスキーマ変更をオンラインで実施するためのpt-online-schema-changeの導入に関する検討記事を書かせていただきました。こちらはカラムの型変更のようなテーブルロックがかかりオンラインで実施できないような変更や、オンラインで実施できても完了までに長時間かかるようなケースで用いています*1。 運用の都合上、pt-online-schema-changeをそのまま用いるのではなく、以下の4つのフェーズにそれぞれ作業を分割し、個別に実行できるようにしています。前回の記事を要約すると次の流れとなります: pt-online-schema-change コマンドを実行し、スキーマ変更済みテーブルを新規作成し、pt-online-sche

    AWSマネージドサービス+Terraformを活用してDBオペレーションをより安全&簡単に(pt-oscの例) - freee Developers Hub
    toshikish
    toshikish 2022/11/09
  • リファクタリングは事前準備が9割 - freee Developers Hub

    会計チームで債権周りの開発をしている hachi (@hachiblog)です。会計チームが開発している freee 会計は freee の中で一番歴史が長いプロダクトです。加えて会計というドメインは複雑かつバグを生むと顧客の業務を大きく阻害するという点で一度作ったものを変更しづらいという特徴があります。 そのような環境で今回、債権のチームでは freee会計の初期からある「自動で経理」という機能の一部リファクタリングを行いました。リファクタリングのしづらい環境下でうまくリファクタリングをすすめるための tips は多くの人に役立つのではと思い、このエントリを書くに至りました。 今回「自動で経理」でリファクタリングしたときに事前に以下のことを行いました。 課題の発見 課題の具体化 設計とスケジュール見積もり テストコード実装 それぞれについて今回意識したことを書いていきます。 課題の発見

    リファクタリングは事前準備が9割 - freee Developers Hub
    toshikish
    toshikish 2022/09/06
  • freeeの自動テストの全体構成 - freee Developers Hub

    こんにちは、Software Engineer in Qualityチーム(通称SEQチーム)の @teyamagu です。 私たちのチームは普段自動/手動テストの基盤開発や開発フィードバックサイクルの高速化に向けた開発をおこなっています。 その一環で、先日、社内でfreeeの自動テストシステム全体像を共有したのですが、この辺りのことを社外の友人達と話したところ、自動テストの具体的な構成や普段の運用など事例が少なく、どんなことをやっているのかイメージしにくいとの話を伺ったので、社内向け原稿をちょっと手直しして、おすそ分けと言うことで、ここで紹介します。 特に変わったことをおこなっているわけではありませんが、自動テストの関係性の理解に参考になれば幸いです。 基的な考え方 自動テストが既存のデプロイ・リリースのブロッカーではなく、開発のフィードバックを加速させるために、自動テストそのものが高

    freeeの自動テストの全体構成 - freee Developers Hub
    toshikish
    toshikish 2022/08/08
  • 2022: freee SRE Journey - これまでの振り返りとこれから - freee Developers Hub

    忙しい方向けサマリ EKS化・IaCの浸透・DB改善活動が、ここ数年のfreeeのインフラ事情の主だった動きです。 一方で組織・サービスも増えてきており、従来のワンチームSREでは色々と厳しくなってきました。 基盤も進化し、課題も変化した。それに伴い、SREの組織構造を、チームトポロジ的に再編しました。 文 こんにちは、freeeでSREのマネージャをやっている河村です。 freeeは会計年度の開始月が7月となっており一つの節目となっています。加えて今年はfreee創業10周年ということで、一つのマイルストーンとして、freeeのSREの現状と、それを受けた今後の展望について整理してみました。 この数年の中で、EKS化やAurora化といった基盤の刷新が進む一方、プロダクト・組織規模拡大に伴う従来型SREチームのスケール限界が顕在化してきています。それに対し、新しい基盤に合わせた仕組みの

    2022: freee SRE Journey - これまでの振り返りとこれから - freee Developers Hub
    toshikish
    toshikish 2022/08/05
  • 品質を追及するfreeeの守護神、QAエンジニアのお仕事 - freee Developers Hub

    こんにちは、DevBrandingのellyです。6月1日に配信した「品質を追及するfreeeの守護神、QAエンジニアのお仕事」の様子をご紹介します。 今回はfreeeに新卒として入社後、QAエンジニアとして活躍している2人と大ベテランがQAエンジニア仕事・魅力・やりがいなどについて話してもらいました。 ※感染対策をしっかり行った上で配信しました。 登壇者集合写真 berry:写真左から2番目。2021年新卒入社。入社からQAチームに配属されて2年目。 kin-chan:写真右から2番目。2019年新卒入社。入社から2年間iOSエンジニアとして開発に従事し、QAチームに異動して1年目。 ymty:写真右端。2019年freeeに中途入社。業界歴としては30年近くのベテラン。 terara:写真左端。今回の司会。IAM(認証認可)チームエンジニア。好きな映画はSAWシリーズで、好きなべ物

    品質を追及するfreeeの守護神、QAエンジニアのお仕事 - freee Developers Hub
    toshikish
    toshikish 2022/07/25