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

  • Aurora 3.04.2 での DDL の予期しない挙動と Rails での対策 - freee Developers Hub

    こんにちは、DBRE (Database Reliability Engineer) の shinta です。 今回は、Aurora 3.04.2 に存在する DDL の予期しない挙動について紹介したいと思います。 発見のきっかけ きっかけは、Aurora 3.04.1 に存在した以下の事象の検証でした。(CyberAgent 様の記事で事象の存在を知り、検証するに至りました。ありがとうございます!) ca-srg.dev これがどんな事象かというと、「ALGORITHM=INPLACE で特定の online DDL を実行している間、そのテーブルに reader からアクセスできなくなる」というものでした。 writer で DDL を実行している間、reader からそのテーブルにクエリを投げると以下のエラーが出ます。 Table 'db_name.tbl_name' doesn't

    Aurora 3.04.2 での DDL の予期しない挙動と Rails での対策 - freee Developers Hub
    toshikish
    toshikish 2024/07/11
  • freee PSIRTの風景:Dependabot alertの調査 - freee Developers Hub

    こんにちは、PSIRTのWaTTsonです。 昨年の夏頃に、「Dependabot alertをSlackに通知して、トリアージ運用に役立てる仕組みを作ってみた」という記事を投稿しました: developers.freee.co.jp ここでは、新しく報告されたDependabot alertをSlackに通知し、Jiraチケットを作成してPSIRTメンバーをアサインし、トリアージを行って各開発チームのチャンネルにメッセージを送信する、という仕組みについて説明しました。 今回は、この中でPSIRTメンバーがトリアージをする時にどういう風なことをしているのかを書いてみたいと思います。 過去に私自身にアサインされた事例の中から1つ、具体例を挙げて見てみましょう。執筆に時間をかけてしまったせいでちょっと古い例ですが、2024年3月頃アラートが上がったにRDoc RCE vulnerability

    freee PSIRTの風景:Dependabot alertの調査 - freee Developers Hub
    toshikish
    toshikish 2024/06/30
  • 権限制御とは? を freee の権限管理基盤で説明 - freee Developers Hub

    どうも、freeeエンジニアリングマネージャー をやっている sentokun です。 以前に私の所属しているチームで開発している権限管理基盤マイクロサービスの記事を書いたのですが、そういえば「権限制御ってなに?」という説明をしていないと思ったので、今回記事にしました。 権限制御とは? freee の権限管理基盤が行なっている権限制御とは?を一文でまとめると以下となります。 アクセス制御ポリシーを元に、ユーザーの属性に合わせた適切なアクセス制御を行うこと というわけで、この記事は権限制御について説明しました。ありがとうございました! … とはなりませんよね。ちゃんと一文の中の要素を分解してそれぞれ解説していきます。 ユーザーの属性 適切なアクセス制御 アクセス制御ポリシー ユーザー属性とは? freee ユーザーが持っている、様々な属性のことです。例えば以下が挙げられます。 管理者やメ

    権限制御とは? を freee の権限管理基盤で説明 - freee Developers Hub
    toshikish
    toshikish 2024/05/14
  • git worktreeを使ってプルリクレビューを効率化した話 - freee Developers Hub

    共通マスタ基盤チームにおけるソフトウェアエンジニアのyugoです。 共通マスタ基盤チームは、従業員、商品、取引先といった製品横断で利用できるマスタデータを一元管理し、ユーザーにfreeeプロダクトにおける統合体験を提供できる基盤開発をミッションとしております。 そんな共通マスタ基盤チームチームですが、製品横断で利用されるとだけあり、日々の開発フローでPRレビューの割り込みが多いです。そんな中で、開発フローにgit worktreeを導入してみて、個人的にはPRレビューの割り込み作業時に割と使いやすかったので紹介します。 git worktreeを使うに至る背景 実はfreeeで働く以前、前職で先輩シニアエンジニアが「レビューするときにgitのstagingにあげていない自分の変更を、stashしたり、テキトーにcommitしてからrebaseするなりするの嫌だったら、worktree使った

    git worktreeを使ってプルリクレビューを効率化した話 - freee Developers Hub
    toshikish
    toshikish 2024/04/13
  • freeeのエンジニア成果発表祭〜歴史と変遷〜 - freee Developers Hub

    こんにちは、freeeでアプリケーションエンジニアをしているossoです。 日酒のしぼりたての季節ですね。今年も良い出会いがありました。日酒だいすき🥴🍶 今回はfreee社内で実施しているエンジニアエンジニアによるエンジニアのためのイベント「成果発表祭」についてお話ししたいと思います。 (「歴史と変遷」なんて大掛かりなサブタイトルをつけてしまいましたが、2022年からの2年間について語ります。笑) エンジニア成果発表祭とは 「エンジニア同士がお互いの成果を知り、成果を称賛し合う場」として、エンジニアが内発的にはじめたイベントです。 私の入社時点(2021年11月)からすでに定着しており、毎クォーター(3ヶ月)ごとに1回実施しています。 成果発表祭のやり方や目的に合わせて賞も用意しており、賞を取るとお菓子などがもらえます。 運営メンバーは有志で集まっており、「他の開発チームのひとと

    freeeのエンジニア成果発表祭〜歴史と変遷〜 - freee Developers Hub
    toshikish
    toshikish 2024/01/31
  • Attack Surface Management? はじめました - freee Developers Hub

    こんにちは、北海道から freee PSIRT(Product Security Incident Response Team)に参加している yu です。 今年は雪が少ないな〜と思っていたら最近ドカドカ降るようになってきて、1日デスクで集中した後に外に出ようとすると玄関のドアが雪で開かない日もありました。雪国エンジニアの各位、除雪も忘れず頑張っていきましょう! さて、この記事では前回の記事で bucyou が紹介した開発合宿において、私と同僚の tomoya さんで取り組んだ freee の Attack Surface Management(以下、ASM)について紹介します。 ASM とは ASM、Attack Surface Management という用語はさまざまなところで異なる定義がされており、私自身、この言葉を使うときにはまだ少しだけ違和感があります。 国内では昨年の5月に経

    Attack Surface Management? はじめました - freee Developers Hub
    toshikish
    toshikish 2024/01/30
  • 2023年も開発合宿を開催しました - freee Developers Hub

    こんにちは、関西拠点にて freee販売の開発を行っております、bucyou (ぶちょー) です。2023年も freee Developers Hub をご覧いただきありがとうございました。2024年も引き続き freee での技術的な知見や、カンファレンスレポートをお送りしてまいりますので何ぞとよろしくお願いいたします。 さて、昨年は Advent Calendar の真っ只中でお知らせ出来ていなかった、2023年の開発合宿についてのご報告です。 過去の開発合宿の記事一覧です。 2022年も開発合宿を開催しました! - freee Developers Hub 2021年も開発合宿を開催しました - freee Developers Hub 2020年も開発合宿を開催しました - freee Developers Hub 2019 年も開発合宿を行いました - freee Develo

    2023年も開発合宿を開催しました - freee Developers Hub
    toshikish
    toshikish 2024/01/12
  • Webサービスの歩き方 - シン・境界値分析 - freee Developers Hub

    京王線 16:27 各停 調布 32768両編成 こんにちは。freeeでQAのマネージャをやってるuemuです。freee人事労務とグローバル開発のQAをメインで担当しています。 これは、freee QA Advent Calendar2023 23日目の記事になります。 はじめに みなさん、境界値分析はやってますか? 普段、QA業務を行っている人だったら、やったことがない人はいないでしょう。「そんなの知ってるよ」「いつもやってるよ」という人がほとんどだと思いますが、今回は普段より少し広い視野で境界値分析をやってみたいと思います。 ちょっと話が脱線しますが、私はブラタモリという番組をよく観ます。タモリさんが“ブラブラ”歩きながら知られざる街の歴史や人々の暮らしに迫る番組ですが、その中でタモリさんがよくこんなことを言っています。 「へりがおもしろいんですよ、へりが。」 「事件はへりで起きて

    Webサービスの歩き方 - シン・境界値分析 - freee Developers Hub
    toshikish
    toshikish 2023/12/25
  • 新人研修でHardening! 2023 - freee Developers Hub

    こんにちは。freee PSIRTでマネージャーをやっています、ただただし(tdtds)です。この記事はfreee Developers Advent Calendar 2023 24日目です。昨日は最近freeeにグループジョインしたBundleのkouheiさんによる「Bundleの3年間をライブラリで振り返る」でした。 さて、「freeeでは新卒研修でHardeningをやってるらしい」という話は界隈ではちょっとは知られているものの、その内幕が伺えるのは、まだPSIRTがCSIRTから独立する前の2018年の記事しかありませんでした。 developers.freee.co.jp あれから5年。最近のHardening研修はどうなっているのか、アップデートしようというのが今回の記事になります。 Hardening 2023! 細かい話はあとまわしにして、さっそく今年行われたHarde

    新人研修でHardening! 2023 - freee Developers Hub
    toshikish
    toshikish 2023/12/25
  • freeeサインのAWSリージョンを移行した話 - freee Developers Hub

    この記事はfreee 基盤チーム Advent Calendar 2023 の24日目の記事です。 はじめに はじめまして! kanno と申します。freee SREで、freeeサインのプロダクトSREを担当しておりAWSインフラの改善や運用を主に行っています。初回の投稿で拙い文章になりますが、直近で実施したfreeeサインのAWSリージョンを移行した話を書こうと思います。 背景 元々、freeeサイン(旧ninja-sign)はHeroku上にアプリケーションをデプロイしていましたが、2022年の年末頃にAWSに移行しています。その際、元々のHerokuがus上で稼働していたことが影響して、AWSのバージニアリージョンに移行された状態でした。私がfreeeのサインチームにjoinしたのがこの時で、AWSリージョン移行を担当することになりました。 AWSリージョン移行のモチベーション

    freeeサインのAWSリージョンを移行した話 - freee Developers Hub
    toshikish
    toshikish 2023/12/25
  • freee会計の月末のDB負荷を減らしたい! - freee Developers Hub

    こんにちは、freee 基盤チーム advent calendar の 21 日目担当、DBRE (Database Reliability Engineer) の shinta です。今年新卒入社しました。 freee の中でも一番のリクエスト数を誇る freee会計の DB は、月末に負荷が高まって色んなアラートを発報するのですが、なんとかその負荷を減らしたいな〜と思ってやっていることを書いていきます。 freee会計の負荷の傾向 freee会計のワークロードにはトレンドがはっきりあって、月単位で見れば月末、年単位で見れば確定申告のある 2, 3 月にアクセスが集中します。去年の確定申告期は一時的に会計 DB をスケールアップして乗り切りました。freee会計へのリクエスト数はありがたいことに年々増加傾向で、今年は既に去年の確定申告期のリクエスト数を突破しているそうです。freee

    freee会計の月末のDB負荷を減らしたい! - freee Developers Hub
    toshikish
    toshikish 2023/12/25
  • 複数の検証環境でのDB相乗り化 - freee Developers Hub

    この記事は freee 基盤チーム Advent Calendar 2023 の 22 日目の記事です。 こんにちは、freeeDBRE (Database Reliability Engineering) で ジャーマネ(マネージャー)としてDBRE組織を運営管理しているJuni です。 今回は何故integration環境*1を相乗り化してきたのかという話しをしていきたいと思います。 始まる前に、タイトルにも書いてある「DB相乗り」に関して一度定義していきましょう。 DB相乗りとは、複数の論理Databaseを1つの物理cluster内にまとめて乗せておく事です。 何故integration環境を相乗り化しようとしたのか? freeeでのintegration環境は主にproductionへのリリースの前の機能テスト、QAなどで使われていまして、数十環境が構築されています。 それぞ

    複数の検証環境でのDB相乗り化 - freee Developers Hub
    toshikish
    toshikish 2023/12/25
  • GoのASTを解析してFeature Toggleを掃除する - freee Developers Hub

    この記事はfreee Developers Advent Calendar 2023の21日目の記事です。 こんにちは、金融開発部でEMをしている ogugu です。 今回は、Go言語において Feature Toggle の分岐を掃除するCLIを作ったので、ご紹介します。 ※ 毎年恒例の開発合宿 での成果になります。 Feature Toggle とは Feature Toggle とは、特定機能の有効・無効をフラグによって切り替える方法です。 金融開発部では、以下のように Feature Toggle を実現できるライブラリを用意しています。 if featflg.Enabled(ctx, "feature_name") { doNewLogic() } else { doOldLogic() } 一般に、フラグ設定は、設定ファイル・環境変数・ストレージなどから読み出し、それらに対する

    GoのASTを解析してFeature Toggleを掃除する - freee Developers Hub
    toshikish
    toshikish 2023/12/25
  • リグレッションテストで使うテストの設計にGIHOZ使ってみた - freee Developers Hub

    こんにちは、freeeのQAでマネージャーをしてるymtyです。 freee QA Advent Calendar2023 22日目です。 私は、QAマネージャーとしていくつかのプロダクトのQAに関わっています。今日はその中のひとつで、freee会計の申請機能(経費精算、各種申請、支払依頼、購買申請)を担当しているQAのメンバーであるMさんとリグレッションテストで使うテストの設計をした話を書きます。 テスト設計の細かい内容は読み飛ばしたい方は最後のほうにある(ここ大事)テスト設計の裏話って部分だけ読んでもらえればいいと思います! きっかけ 最初にやったこと ワークフローのステータス遷移のテスト設計 テストで確認したい状態やイベントを追記 0スイッチテストケースをテスト実行しやすいように連結してシナリオにする 関連申請の紐付けパターンと申請時の入力パターンのテスト設計 権限のテスト設計 (こ

    リグレッションテストで使うテストの設計にGIHOZ使ってみた - freee Developers Hub
    toshikish
    toshikish 2023/12/22
  • freeeカードチームの開発(Go)から得た学びベスト5 - freee Developers Hub

    この記事はfreeeアドベントカレンダー2023の19日目の記事です。 こんにちは!freeeカードチームのmattsunです。freeeカードUnlimitedの開発運用をしています。私は1年前にfreeeに入社しfreeeカードチームに所属しています。これまでの自分のエンジニアとしてのキャリア(10年強)を通してみても、今のチームではPRレビューやリファクタなどからの学びが多いなぁと感じます。個人的に学びがあったことやチームとしての知見が深まったもののうち、ベスト5(私の主観)をまとめます。 freeeカードシステムは、フロントエンド(TS,React)・BFF(RoR)・Backend(Go)で構成されており、Goでの開発比率が多いことから、記事はGoのコードに関する言及が多いです。freee社全体をみるとRailsで開発されたシステムも多いですが、Goで開発しているサービスもある

    freeeカードチームの開発(Go)から得た学びベスト5 - freee Developers Hub
    toshikish
    toshikish 2023/12/15
  • AWS の組織移行をしました - freee Developers Hub

    SRE 統制チームの oracle です。 この記事は freee 基盤チームアドベントカレンダー の12日目になります。 今回は AWS の 組織移行を行った話をさせて頂きます。 AWS の 組織移行というのはどういうこと?と思われる方もいらっしゃるかと思いますので、正しく説明しますと、 既存の複数の AWS アカウントを構成している AWS Organizations を解体し、新規に作成した AWS Organizations にすべてのアカウントを移動させました。 となります。 その動機とアプローチについてご紹介したいと思います。 背景 AWS 組織移行する前から、freee では 数十の AWS アカウントを運用していました。運用の仕方は組織によって様々ですが、一般的にはプロダクトで分けたり、環境で分けたりすることが多いかと思います。 freee でも同様の手法でアカウントを分け

    AWS の組織移行をしました - freee Developers Hub
    toshikish
    toshikish 2023/12/13
  • credentialをSlackに書くな高校校歌 - freee Developers Hub

    youtu.be こんにちは。freee 基盤チーム Advent Calendar 2023 12/6の記事は、PSIRTのWaTTsonがお届けします。セキュリティ仕事をやっている新卒2年目です。 freeeでは会計や人事労務といった領域のプロダクトを提供していて、顧客となる企業の財務情報や給与情報のような、非常に機微な情報を扱うことがあります。このため、情報セキュリティには特に気をつけて対策をとる必要があります。 freeeセキュリティに関する施策方針については、セキュリティホワイトペーパーにまとめて公開しています。この中で、データの取り扱いについては「セキュリティレベル」を定めてそれに応じた保護策をとる旨が記載されています。 データの取り扱いとセキュリティレベル プロダクトを作る際、機微な情報は適当に定めた信頼境界から外に出さないように運用して、情報漏洩などの被害が起きないよう

    credentialをSlackに書くな高校校歌 - freee Developers Hub
    toshikish
    toshikish 2023/12/06
  • freee 基盤チームアドベントカレンダーの歩き方 - freee Developers Hub

    SREの河村(at-k)です。 記事は freee基盤チームアドベントカレンダー の1日目になります。 カレンダー企画にあたり 今年もこの季節がやってきました。年末に向けて冬が深まり、心なしか忙しなくなってくる中、毎日ブログが一ずつ投稿されていくのを見て年の瀬の近づきを感じる、ある種の風物詩となっています。 そもそもアドベントカレンダーは12月1日からクリスマスまで続く長い前夜イベントで、日では、少なくとも筆者には馴染みがないものでした。そんな元ネタから派生した形で、近年ではIT企業が中心となってテックブログを日次で投稿していくイベントとして広く認知されてきています。ことの経緯を知らなかったので調べてみたのですが、意外に歴史は古く、日では2008年頃からPerl界隈で賑わっていて、海外ではそれ以前からそれなりに定着していた文化のようです。 freeeでも毎年アドベントカレンダーが企

    freee 基盤チームアドベントカレンダーの歩き方 - freee Developers Hub
    toshikish
    toshikish 2023/12/02
  • モバイル請求書でのチーム体制を変えてみたら開発がしやすくなった話 - freee Developers Hub

    こんにちはモバイル請求書チームでAndroidEngをしているmananです。 はじめに freeeのモバイル請求書アプリが9/6にリリースされましたね。 そこでモバイル請求書アプリでの開発についてオムニバス形式で紹介していく全3回の第3回として 開発していく中でのチーム体制の変遷の話。 チーム体制の変遷 最初のチーム体制 モバイル請求書アプリでは開発途中でチーム体制の変更がありました。 最初はiOS,Android混合のPride-AチームとPride-Bチームからなる体制となっていて、 AチームとBチームでそれぞれ片方は大きめの機能開発、細かめの機能開発を回すといった 割り振りで進めていくような体制になっていました。 最初のチーム体制の狙いとしては下記のようなものがありました。 OS間での仕様差異をなくす QAで発覚してその分の手戻りが発生するみたいなことが過去あったので防ぎたい 機能

    モバイル請求書でのチーム体制を変えてみたら開発がしやすくなった話 - freee Developers Hub
    toshikish
    toshikish 2023/11/30
  • 技術書典15で「freee 技術の本」 を出します! - freee Developers Hub

    こんにちは!DevBrandingのellyです。 いよいよ今週末は技術書典15ですね! この度、freeeの有志の開発メンバーで初めて技術同人誌freee 技術」を制作しました。 すでに技術書典 マーケットにて公開されており、オンラインでは11月11日(土)より入手可能です。 11月12日(日)池袋・サンシャインシティのオフライン会場では、執筆者たちでブースを出しておりますのでぜひ立ち寄っていただけると嬉しいです! techbookfest.org freee 技術とは? freeeの有志の開発メンバーで執筆した技術同人誌です。 今回は、これ一冊を読むことで、freee技術はもちろん、開発組織やカルチャーなど、なんとなく会社の全体的な雰囲気が伝わるような内容にすることを心がけました。 数年前からDevBrandingチームで技術の制作をしてみたいという話はあがっていたものの

    技術書典15で「freee 技術の本」 を出します! - freee Developers Hub
    toshikish
    toshikish 2023/11/10