タグ

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

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

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

    ドメインや仕様が複雑な開発をうまくすすめるためにやったこと - freee Developers Hub
  • アジャイル、とりわけスクラム開発をやるときに立ち向かわなければならない壁の話 - freee Developers Hub

    この記事は freee Developers Advent Calendar 2022 の3日目です。 このドキュメントはなにかの答えをあたえるというより、アジャイルスクラムを有効化させる上での障害はこれであるということを検討するためのドキュメントです。壁はすべての環境で発生するわけではないですが、そういう壁があるということを認識することで、転ばぬ先の杖となるような文章になることを目指しています。そして、その解決方法は示さず「意図的に不完全」にしています。これを読んで「なぜ意図的に不完全にしているのか」を味わっていただければと思います。(あるいは、私自身のエクスキューズかは読んでる皆様にその判断を委ねます) 前提: アジャイル開発とは アジャイルソフトウェア開発(以後、アジャイル開発)はアジャイルソフトウェア開発宣言で示されている価値の実現を目的とした開発手法です。宣言では4つの項目でそ

    アジャイル、とりわけスクラム開発をやるときに立ち向かわなければならない壁の話 - freee Developers Hub
  • freee 会計を Rails 6.0 から Rails 6.1 にアップグレードしました - freee Developers Hub

    freee 会計でエンジニアをやっている jaxx です。昨年 freee 会計を Rails 6 に上げましたが、今回チーム(@jaxx @kaion @hachi @gakky)で Rails 6.1 へのアップグレードを担当して9月末にリリースしたのでエントリーしました。 developers.freee.co.jp 目次 作業全体の流れ まずは feature ブランチRails 6.1 に上げてみる 依存パッケージのアップデート Deprecation Warning の解消 Breaking Change の解消 Fail している RSpec の修正 最後に 作業全体の流れ まずは feature ブランチRails 6.1 に上げてみる 事前作業として依存パッケージのアップデート 事前作業として Deprecation Warning の解消 Breaking Ch

    freee 会計を Rails 6.0 から Rails 6.1 にアップグレードしました - freee Developers Hub
  • リファクタリングは事前準備が9割 - freee Developers Hub

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

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

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

    freeeの自動テストの全体構成 - freee Developers Hub
  • freeeのエンジニアにリモートワーク環境のこだわりを聞いてみた - freee Developers Hub

    こんにちは、DevBrandingのellyです。 先日、こちらの記事でfreeeの開発メンバーがどのようなキーボード・マウスを使っているのかをご紹介しました。そのアンケートの中で、キーボードやマウスの他にも、椅子や机、音響、カメラ等の作業ツールへのこだわりやライフスタイルの変化についても回答してくれた人も多くいました。 今回はその中から特に気になる5人のエンジニア・デザイナーに、書斎を持つことが夢なichienさんと一緒にインタビューしてきました! kenoji tomoz toofu harutan manabusakai kenoji ―kenojiさんはfreeeでも随一のガジェットマスターらしいですね。キーボードは何を使ってますか? キーボードはTEX Shinobi(TTC Gold Pink スイッチ)かHHKB(全キー35gへ押下圧軽量化&グリス塗布済み)をよく使っています

    freeeのエンジニアにリモートワーク環境のこだわりを聞いてみた - freee Developers Hub
    mikage014
    mikage014 2022/06/08
  • 大量データの JSON serialize 処理を高速化し、レスポンスが倍速になった話 - freee Developers Hub

    こんにちは、freee会計でワークフロー機能の開発をしている @mitubaEX です。 先日 freee会計のパフォーマンスチューニングに取り組みました。記事では、調査の流れ、改善の事例を紹介します。 問題発覚までの流れ freee では自社の経理業務に freee会計を利用しており、その中でも経費精算の機能はほぼすべての従業員が利用しています。そのため日々多くのフィードバックをもらえます。そのフィードバックの1つで、「経費精算の一覧を開くのが遅い」という報告をもらいました。幸い表示件数を指定できるので調整すれば遅くはならないのですが、一覧性が下がってしまうため有用な解決策ではありません。 そこでワークフローを開発しているチームで、このパフォーマンスイシューの調査を始めました。 調査する まず事前調査として Datadog*1 で一覧画面を表示するリクエストの処理を確認しました。 一覧

    大量データの JSON serialize 処理を高速化し、レスポンスが倍速になった話 - freee Developers Hub
    mikage014
    mikage014 2022/04/28
  • 8年以上開発されているRailsプロダクトーーfreee会計をRails 6にするまで - freee Developers Hub

    こんにちは、freee会計でエンジニアをしている @sakakibara-setu です。 普段は債権債務に関する機能を担当するチームに所属して開発を行っていますが、この度freee会計のRailsアップデートを担当することになりました。 実はfreee会計は、先日2021年12月にRails 5系からRails 6系へとメジャーアップデートされました。 ありがたいことにこのメジャーアップデートによる問題は一件も発生しなかったため、皆様には特にお変わりなくご利用いただけたかと思います。 その上で社内の開発環境においては様々な恩恵を得ることができたので、結果は成功と言っていいと思います。 しかしながら、その道のりはお世辞にもうまくいったことばかりではなく、反省すべきことも多々ありました。 アップデート作業には壁とも言えるような問題がいくつもありましたが、それはfreee会計が8年以上開発され

    8年以上開発されているRailsプロダクトーーfreee会計をRails 6にするまで - freee Developers Hub
  • ドメイン知識が求められる開発をどのように乗り切るか - freee Developers Hub

    こんにちは、freee会計のプロダクトマネージャー(以下PM)をしております、gokiです。 皆さん、「ドメイン知識」という言葉、聞いたことありますか? ドメイン知識(英: Domain knowledge)または領域知識は、はっきり限定された、ある専門分野に特化した分野の知識であり、一般知識またはドメイン独立の知識と対比される。 ドメイン知識 - Wikipedia freee会計での開発現場で例示すると「確定申告のプロダクトを作るには、開発技術だけでなくそもそも確定申告業務の理解というドメイン知識が必要だよね」みたいな使われ方をします。 freeeはスモールビジネスの皆さんのバックオフィス業務を改善するプロダクトを作っているので、このドメイン知識が開発においても必要な場面が多いです。 そこで、今回はドメイン知識が必要な開発をどのように進めるか、というコツをPM目線でご紹介しようと思いま

    ドメイン知識が求められる開発をどのように乗り切るか - freee Developers Hub
  • アプリチーム x SRE チームによるアプリケーションモニタリング運用改善 - freee Developers Hub

    freee人事労務の品質改善を専任で活動している keik です。 freeeではアプリケーションパフォーマンスモニタリング(APM)に Datadog を利用しています。 SRE チームが導入し、アプリケーション開発チームに利用提供する形で運用されています。 導入のきっかけについては以下の記事でも触れられています。 developers.freee.co.jp Datadog APM の画面は多機能かつ柔軟で、例えばウェブサーバーが受けたリクエスト処理の内訳を視覚的にドリルダウンできたり、リクエストや SQL クエリごとのレイテンシやエラー率を計測してダッシュボード化してくれたり、また全画面で共通的に「タグ」や日時を用いたフィルタリングができたりします。直感的なだけなく、見た目もオシャレで、適当に眺めているだけでもワクワクします。 しかし、私達は「ここに映っているもの」が何なのか、正直分

    アプリチーム x SRE チームによるアプリケーションモニタリング運用改善 - freee Developers Hub
  • 【マジで】サイバー演習シナリオの作り方【怖い】 - freee Developers Hub

    CEOに身代金を要求したい」 こんにちは、PSIRTマネージャのただただし(tdtds)です。この記事はfreee Developers Advent Calendar 2021 18日目です。 freeejoinしてから早くも14ヶ月がすぎました。freeeでは毎年10月に全社障害訓練をしていて、昨年は入社したてで右も左もわからないままAWS上の番環境(のレプリカ)に侵入してDBをぶっ壊す役目をさせられたのも良い思い出です*1。 で、上の「CEOに身代金を要求したい」という物騒な相談は、今年の訓練計画の話です。話を持ち掛けてきたのはCIOの土佐。昨年は主要サービスが落ちて、開発チームが対応にあたる中、ビジネスサイドも顧客対応などで訓練参加しましたが、今年はさらに、経営サイドまで巻き込もうというゴール設定がされたわけですね。腕が鳴ります。 ゴールは「CEOに4BTCを要求する」 ゴー

    【マジで】サイバー演習シナリオの作り方【怖い】 - freee Developers Hub
  • Rubyの型チェッカーのSorbetを導入しました - freee Developers Hub

    申告チームでテックリードをやらせてもらっている id:nanjakkun です。 freeeではfreee会計をはじめ多くのプロダクトがRuby on Rails(以下Rails)のアプリケーションとして実装されています。 日々の開発の中で、Rubyでも静的な型の解決ができればなあと思うことがあります。 ということで、Rubyの型チェッカーのSorbetをfreee申告に導入してみました。 Sorbet(ソルベ)とは sorbet.org 決済代行サービスのStripeを運営しているStripe社が公開している漸進的型チェッカーです。 ※余談ですがfreeeアプリストアではStripeを決済手段としたアプリの有料販売ができます。 developers.freee.co.jp 有料アプリ販売の準備をする | freee Developers Community 漸進的型付けとは 漸進的型付け

    Rubyの型チェッカーのSorbetを導入しました - freee Developers Hub
  • 転職したばかりのエンジニアが活躍するためにやったこと - freee Developers Hub

    こんにちは、2021年4月に40代で中途入社を果たしたエンジニアの okoshi です。 freeeでの働き方について興味のある方は是非ご一読ください。 中途で入社してはや4ヶ月経とうとしています。時間がたつのは早いものです。 とはいえ、まだまだ業務への慣れは感じないし、毎日のように業務の進め方や考え方に発見があります。 これまで何度か転職の経験があるのですが、転職した直後は毎回意識していることがあります。 それは“どうやったらすばやく活躍できるようになるのか”ということです。 これからfreee転職したいと思っている方、あるいはすでに就職することが決まっている方は是非参考にしていただきたいと思っています。 今回の転職は入社前からどうやって活躍するかをいつもより強く意識した転職になりました。 というのもこれまでの転職ではうまくいったこともあればそうでなかったこともあって、どのようなことが

    転職したばかりのエンジニアが活躍するためにやったこと - freee Developers Hub
  • システム障害のおわびとまなび - freee Developers Blog

    はじめに こんにちは、freee株式会社でCDO(最高開発責任者)をしている平栗です。 2018年10月31日に、freeeで起こしてしまったシステム障害について、その原因と対策、障害からの学びについて共有したいと思います。 この記事はfreee Developers Advent Calendarの22日目になります。 おわび まず、約2時間半にわたりfreeeの全サービスを停止し、皆様に多大なるご迷惑をおかけしましたことを、改めてお詫び申し上げます。 今回の障害を大きな学びと成長の機会とし、今後の再発防止と業務改善に取り組んでまいります。 障害の経緯 2018年10月31日12時34分~15時00分の2時間26分の間、freeeの全サービスを一時停止し、すべてのサービスがご利用できなくなりました。 以下、復旧までの経緯です。 11時24分 特定の機能が利用できなくなっていると、社内から

    システム障害のおわびとまなび - freee Developers Blog
  • ReactComponent のリファクタリング指針 - freee Developers Hub

    エンジニアの id:t930 です。 freee Developers Advent Calendar 2017 19日目いきます。 React はその名前を聞くようになってから3年以上が経過し、Webアプリケーション開発の文脈においてはもはや枯れた技術と言えるでしょう。会計freeeでも2015年ごろに Backbone.js から React へのリプレースを行い、現在では Reactコンポーネントだけでも900近いファイルが存在しています。当然このような規模でやっているとリファクタリングも必要になってくるわけで、記事ではそんな中で得られたReactコンポーネントにおけるリファクタリングの指針について紹介していきます。1 適切な単位に分割する React に限った話ではないですが、巨大で見通しの悪いコンポーネントはメンテナビリティや再利用性の低下を招きます。表示領域、責務、意味付けに

    ReactComponent のリファクタリング指針 - freee Developers Hub
  • 会計ソフトを作る上で避けては通れない和暦の話 - freee Developers Hub

    エンジニアの大橋 @_tohashi です。会計freeeで確定申告や記帳機能などの開発を担当しています。 Webに限らず、日向けのアプリケーションにおける特有の要素として和暦があります。プロダクトによっては最初から和暦を扱わずに西暦に統一してしまうという手もありますが、弊社のプロダクトのように会計や労務管理に関わるものの場合、決算書上の表記など和暦が必要とされる場面は多々あるため避けて通ることはできません。記事ではUIや実装における和暦の扱いについてご紹介したいと思います。 和暦の範囲 そもそも「和暦」とはどこからどこまでの期間を指すのでしょうか。Wikipediaによれば 和暦(われき)は、元号とそれに続く年数によって年を表現する、日独自の紀年法である。邦暦(ほうれき)とも。また「和暦」は、西暦に対する表現としても使用されることが多い。 この手法自体は東アジアで広く行われてきたが

    会計ソフトを作る上で避けては通れない和暦の話 - freee Developers Hub
  • 1