タグ

ブックマーク / moneyforward-dev.jp (25)

  • Ruby や Rails のアップグレード情報を共有する場を作りました。 - Money Forward Developers Blog

    こんにちは。 id:Pocke です。最近のマイブームはルピシアのラムレーズンの紅茶です。1 RubyRails のアップグレード情報を共有する場を作ったので、それをご紹介しようと思います。 背景 RubyRails のアップグレードは単純な作業ではありません。 アップグレードには多くの変更が含まれています。変更はそのソフトウェアが成長している証ですが、一方で痛みもあります。RubyRails を使うアプリケーションが、それらの変更に対応する必要があるためです。 そのようなアップグレード作業を楽にする取り組みはすでにいくつか存在します。 例えば Rails ガイドの Rails アップグレードガイドでは、一般的なアドバイスと、各バージョンで注意すべき変更が書かれています。 また 社内版 Rails アップグレードガイドを公開します - Timee Product Team

    Ruby や Rails のアップグレード情報を共有する場を作りました。 - Money Forward Developers Blog
    peketamin
    peketamin 2024/04/25
  • 開発生産性が上がるって分かったので GitHub Copilot Business を積極活用しています - Money Forward Developers Blog

    エンジニアリング戦略室の高井といいます。 みなさん、GitHub Copilot は利用されていますか? GitHub Copilot は GitHubOpenAI が共同で開発した生成 AI を活用した開発支援ツールです。コードの自動補完、コード生成、ドキュメントの提案など、多岐にわたる機能を提供し、開発者の生産性を向上させることを目的としています。 マネーフォワードでは、昨年度にトライアルとして Copilot の利用を開始しました。記事では、Copilot を利用して半年以上経過して、その利用がどのような効果をもたらしたかをレポートします。なお、ここで GitHub Copilot として言及されている Copilot のプランは GitHub Copilot Business です。 Copilot 利用状況・分析対象 なお、分析にはエンジニアリング組織のパフォーマンスを可

    開発生産性が上がるって分かったので GitHub Copilot Business を積極活用しています - Money Forward Developers Blog
    peketamin
    peketamin 2024/04/17
  • DB呼び出し回数を減らしてコア機能を高速化した話。そして起こった悲劇と教訓 - Money Forward Developers Blog

    初めに こんにちは、マネーフォワードクラウド連結会計(以降、クラウド連結会計)のバックエンド開発に従事しているTaskと申します。 今回は、クラウド連結会計のコア機能を高速化した話と、それが原因で起こった金額の不整合障害から得られた教訓を紹介しようと思います。 記事内では、前提として簿記2級相当の知識や用語が頻出します。 連結会計とは まず、クラウド連結会計が扱っている連結会計について説明させてください。 連結会計とは、親会社・子会社など、支配もしくは従属関係にある複数の会社を1つのグループと捉えて、そのグループの決算を行うための会計手続きを指します1。 下の図の「連結グループA」の決算を行うイメージです。 この業務を「連結決算業務」と呼びます。 連結決算を行うことによって、会社の利害関係者(債権者や株主など)は各社単体だけではなく、グループとしての財政状態・経営成績・キャッシュフローの

    DB呼び出し回数を減らしてコア機能を高速化した話。そして起こった悲劇と教訓 - Money Forward Developers Blog
    peketamin
    peketamin 2024/03/31
    迅速に巻き戻せるようにしてたの素晴らしい。数字を扱う規模が大きい時、妥当性検証が難しくなるので調査難航を乗り越えて問題解決したの素晴らしい/透明性があっていいじゃん
  • 「Ask What, not Why」 失敗したときに自信を失いかけたら実行しているメンタル転落回避術 - Money Forward Developers Blog

    半年ぶりのカキコ……ども……。気づいたらHRソリューション部からMFBC-CTO室に異動していたVTRyoです。兼任で引き続きHR系のマネーフォワード クラウドシリーズも担当しています。 ソフトウェアエンジニアとしての経験値が増えてくると、次第にレビュー担当者になることが増えてくるでしょう。私が所属するSREチームでもTerraformの相互レビューが頻繁に実施されています。そこで、事件は起きたのです。 自信を持ってApproveしたPull Requestで次々に事故が起きてしまった 現在HR内のマネーフォワード クラウドシリーズは、モダンな開発基盤へとリプレイス作業を多く行っています。これまで動いていた基盤に感謝しつつ、新しいPlatformへと移行し、最終的に元あったリソースを削除します。 事件はこの リソース削除 で起きました。 チーム内レビュー OK リポジトリ管理者レビュー

    「Ask What, not Why」 失敗したときに自信を失いかけたら実行しているメンタル転落回避術 - Money Forward Developers Blog
    peketamin
    peketamin 2023/08/23
  • Passkey autofillを利用したパスワードレスログイン導入で得たものと、得られなかったもの - Money Forward Developers Blog

    English version of this article is available here はじめに こんにちは、CTO室 IDサービス開発部のyamato(@8ma10s)です。 マネーフォワード IDという、当社サービス向けのIdPを開発しています。 今回このマネーフォワード IDにおいて、パスワードを使わずに、生体認証などを利用してログインできる「パスワードレスログイン」という機能をリリースしました。 また、今回のリリースでは、既にいくつかの他社サービスで導入されているような通常のパスワードレスログインUIではなく、「Passkey autofill」という、ブラウザの自動補完を利用する新しいタイプのパスワードレスログインUI を(恐らく日のサービスで初めて。エンドユーザーの目に触れるサービスという意味では、おそらく世界でも初めて)導入しています。 私達がどういった過程で、

    Passkey autofillを利用したパスワードレスログイン導入で得たものと、得られなかったもの - Money Forward Developers Blog
    peketamin
    peketamin 2023/04/06
  • Rails appをRubyコードの改善だけで50%以上高速にした話 - Money Forward Developers Blog

    この記事は Money Forward Engineering 2 Advent Calendar 2022 18日目の投稿です。 こんにちは。マネーフォワード関西開発拠点でマネーフォワード クラウド会計Plus (以下会計Plus)のエンジニアをしているぽっけです。 この記事では、私が行った高速化について紹介します。 私は最近Railsアプリケーションの高速化を行っており、ある画面のレスポンスタイムを50%以上削減しました。そしてこの改善はRubyレベルの変更のみで達成しました。 この記事での「Rubyレベルの変更のみ」は、MySQLやRedis、Web APIなどへのアクセスには全く手を入れず、Rubyのプロセスが消費する時間のみを変更した、ということを意図しています。 MySQLなどへのアクセスは通常ボトルネックになりがちな箇所です。今回そこに手を入れずに高速化を達成できたのは、1つ

    Rails appをRubyコードの改善だけで50%以上高速にした話 - Money Forward Developers Blog
    peketamin
    peketamin 2022/12/18
  • 攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog

    こんにちは。 マネーフォワードの新卒Railsエンジニア、きなこ と申します。 マネーフォワードX という組織で、日々プロダクトの開発に勤しんでおります😊 突然ですが皆さんは JWT という技術をご存知でしょうか? 私は趣味CTFというセキュリティコンテストに出場するのですが、最近ホットだと感じるのがJWTに関連する攻撃です。 今年の1月に初めてJWTを題材にした問題に遭遇し、その後JWTの出題頻度が強まっていると感じ、社内に向けてJWTにまつわる攻撃を通して学ぶための記事を書いたところ、たくさんの反応をいただきました。 今回の記事はその内容を社外向けにアレンジし、ハンズオンを通して実際にJWTを改竄し、受け取るAPIを攻撃することでJWT自体を学べるようにしたものです。 記事はJWTに興味があるWeb開発者を想定していますが、そうでない方も楽しんでいただけるようにハンズオンを用意し

    攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog
  • マネーフォワードCTOが考えていること(2020年9月) - Money Forward Developers Blog

    こんにちは。 マネーフォワード CTOの中出(なかで)です。 CTOの私が、普段「なにを感じて、どんなことを考えているか」について、四半期に一回社内へ共有している内容を一部編集し、エンジニアブログに公開したいと思います。 前回はこちら:マネーフォワードCTOが考えていること(2020年6月) 目次 技術ポートフォリオの配分を変える ベトナム拠点とグローバルエンジニアについて コロナ禍の新入社員への影響について 技術ポートフォリオの配分を変える マネーフォワードは創業期からこれまで、Railsに集中する形で技術のポートフォリオを構成してきました。しかし私たちが中長期的に価値あるサービスを社会に提供し続けるために、技術戦略として、他の技術の割合を意識的に高めていく必要があると感じています。 これまでは、統一した技術で開発することのメリットが勝っていました。しかし多くのプロダクトがグロースしたた

    マネーフォワードCTOが考えていること(2020年9月) - Money Forward Developers Blog
    peketamin
    peketamin 2020/09/16
  • マネーフォワードCTOが考えていること(2020年3月) - Money Forward Developers Blog

    こんにちは、マネーフォワード CTOの中出(なかで)です。 CTOの私が普段なにを感じて、どんなことを考えているかを、改めて言語化して、社内に共有するという取り組みをしています。 そうしたところ「当社のエンジニア組織に興味を持っている方にも読んでいただくのがいいのでは?」という社内の意見もあり、今回公開することにしました。 もちろん、日々考えていることは変化しているので、今後は四半期に一度ぐらいの頻度で、変更があれば更新していきます。 ※公開用として、社内向けの内容を一部編集しております。 これからのマネーフォワードのエンジニア組織について まず、マネーフォワードのエンジニア組織として「どこを目指すのか」という話をしたいと思います。 もちろんビジネスには「やれる・やれない」という議論も必要ですが、まずは私たちが「どこを目指すのか」という意志が必要です。 そして、「どこを目指すのか」を決めた

    マネーフォワードCTOが考えていること(2020年3月) - Money Forward Developers Blog
    peketamin
    peketamin 2020/04/01
  • React Componentの実装ルールを決めてみた - Money Forward Developers Blog

    こんにちは。 経費精算サービス「マネーフォワード クラウド経費」の開発チームでフロントエンドエンジニアをしている坂です。 クラウド経費ではJSのライブラリとしてReactを採用しているのですが、最近クラウド経費で React Component を実装する際のルールをまとめたので、その話を書こうと思います。 なぜルールをまとめようと思ったのか Componentの分割ルールとしてAtomic Design、スタイルの管理としてstyled-componentsGraphQL用のライブラリとしてApollo Clientを導入し実装を進めています。 昨年の10月までは挙げた3つとも使用していなかったので、試行錯誤しながら進めています。 チームメンバーの各々が試行錯誤しながら実装を進めていくので、最近はチーム内で認識の齟齬や持っている情報に差が出るようになりました。 そこで一旦現状を整理し

    React Componentの実装ルールを決めてみた - Money Forward Developers Blog
    peketamin
    peketamin 2020/02/18
  • 中学生ハルキのエンジニア体験記 - Money Forward Developers Blog

    こんにちは。ハルキです。 4月から中学二年生になりました。 僕はこの春休み、パパが働いているマネーフォワードに職業体験インターンという形でお世話になりました。 プログラミングを始めたきっかけは、Scratchという子供向けのプログラミング学習サービスです。 小学校3年生の時にどハマりし、そこから6年生まで夢中になってやり込みました。 ただ、やはり子供向けなので最低限のことしかできず卒業。 その頃、マネーフォワードの方が開催してくれたバーベキューで酒井さんと出会い、そこでPythonを教わりました。 (酒井さんはビジネスマンなのにプログラミングもできちゃうすごい人なのです!) そこから、Chatworkで酒井さんとコミュニケーションを取るようになり、プログラミングで悩んだことがあったら酒井さんに報告して、バグがあれば直し方を教わるようになりました。 酒井さんは面白い記事を紹介してくれたり、そ

    中学生ハルキのエンジニア体験記 - Money Forward Developers Blog
    peketamin
    peketamin 2019/04/26
    利発そうな方だ
  • プログラマーの三大美徳 - Money Forward Developers Blog

    こんにちは。エンジニアの廣瀬です。 業務では「MFクラウド経費」のiOSアプリの開発をしています。 マネーフォワードで最年少です。若いです。 平成4年生まれです。若いです。(大事なことなので2度(ry 時々、エンジニアとしてどういう気概で物事に取り組むのがいいのだろう、エンジニアは何を考えて目の前の問題に取り組めばいいのか、と疑問に思うことがあります。 若さゆえの悩みです。 そんなわけで今投稿では、エンジニアプログラマー)の質を定義した「プログラマーの三大美徳」について紹介します。 プログラマーの三大美徳とは? Perlの生みの親である「Larry Wall」さんが定義したもでのです。 プログラマーには、次の美徳が絶対に必要です。 この美徳の一つでも欠く人は、プログラマーとなってはいけません。 また、これらの美徳を欠いているにも関わらずプログラマーという職業に就いてしまった人は、今すぐ

    プログラマーの三大美徳 - Money Forward Developers Blog
    peketamin
    peketamin 2019/01/21
  • デザインのバージョン管理をGitHubでしてみたら修正点が3秒で分かるようになった話 - Money Forward Developers Blog

    こんにちは。デザイナーの大橋です。 今日は、私が担当している “(しら)ずにお金が(たま)る”自動貯金アプリ『しらたま』 で導入してました、デザインのバージョン管理の話を紹介します。 デザインのバージョン管理といえば、AbstractやKactusがありますが、今回はあえてGit Sketch Pluginを試してみました。 デザインデータをGitHubで管理しようと思ったキッカケ 私以外のチームメンバーがみんなエンジニアだから、間違いなくGitHubに寄せたほうが効率いいんじゃないか。 新しいツールを導入すると、プロジェクトに関する情報が分散してしまいがちで、エンジニアも招待したり登録してもらったりしなきゃいけないのかなという印象。※あくまで印象です。 Kactusはプライベートレポジトリが有料。 こんな感じでなんかファイルが増えてく。。。(忙しいと放置しがちでよくない。。 GitHub

    デザインのバージョン管理をGitHubでしてみたら修正点が3秒で分かるようになった話 - Money Forward Developers Blog
    peketamin
    peketamin 2018/01/24
  • Optional(2018)年あけましておめでとうございます - Money Forward Developers Blog

    iOS エンジニアの西信です。 新年早々、大変お騒がせしております。申し訳ありませんの一点に尽きます。 yuga panda on Twitter: "おっ、null安全だ https://t.co/RFta3RFXxu" マジレスすると『Optional(2018)年』を恐れる必要はない - Qiita はてブや、Twitterなどで大きく話題にしていただいたので、この機会に、恥は承知の上で、なぜこんなことが起きてしまったのか、筆をとらせていただくことにしました。 この問題は昨日 (2018年1月4日) リリースしました、バージョン 9.1 にて修正済みです。iOS のみで発生していました。 蛇足ですが、当バージョンから、ホーム画面が新しくなり、カードの引き落とし額決定や、使い過ぎなどをお知らせする『MY通知』がさらに便利になりましたので、ぜひお試しください。 さて、今回の起因となったの

    Optional(2018)年あけましておめでとうございます - Money Forward Developers Blog
    peketamin
    peketamin 2018/01/05
  • 【Swift, iOS10.3】アプリアイコンを動的変更できるalternateIconName - Money Forward Developers Blog

    こんにちは、エンジニアの杉です。 3月最終週、ついにiOS10.3が登場しました! マイナーアップデートながら、レビューの返信ができるようになったりアイコン切り替えができるようになったりとかなり大きなアップデートとなりました。 今日は今回のアップデートで使えるようになったアイコン変更機能について書いてみたいと思います。 アイコン変更機能について アイコン変更はiOS10.3から使えるようになった機能です。 下画像のようにアプリアイコンを変更する事ができます。 実装手順 この機能の実装手順は下の通りです。 事前にアイコン名をInfo.plistに登録しておき、setAlternateIconNameメソッドでそのアイコン名を指定する事でアイコンを変更できます。 アイコンをプロジェクトに追加 Info.plistにアイコン名を登録 アイコン変更メソッドを呼び出す 事前のアイコン名の登録が必要

    【Swift, iOS10.3】アプリアイコンを動的変更できるalternateIconName - Money Forward Developers Blog
    peketamin
    peketamin 2017/03/29
  • 最近のruby-core (2017年1月) - Money Forward Developers Blog

    こんにちは。卜部です。最近のPython-devが始まりましたね。すごい。 こちらの連載は先月はお休みしてしまったのですが、引き続き頑張ります。 ruby-coreというRuby体の開発の議論がされているメーリングリストで、最近興味深かったトピックを紹介していきます。 最近のruby-core (2016年11月) 最近のruby-core (2016年10月) 最近のruby-core (2016年9月) 最近のruby-core (2016年7月) 最近のruby-core (2016年6月) 最近のruby-core (2016年4月) 最近のruby-core (2016年3月) 最近のruby-core (2016年2月) [#12852] URI.parse can't handle non-ascii URIs Railsがよく ?utf8=✓ とかいうクエリをつけてきます

    最近のruby-core (2017年1月) - Money Forward Developers Blog
    peketamin
    peketamin 2017/02/02
  • 83億レコードを移行し、日々2,500万レコードのアクセスログをBigQueryに記録している話(インフラ編) - Money Forward Developers Blog

    こんにちは。 インフラエンジニアの村上です。 マネーフォワードのインフラチームは、サービスに関わるインフラから、自社の作業環境、開発環境、さらにはサービスのインフラの中でも物理的なものからOS・ミドルウェア・アプリケーションのメンテナンス・ビルド・リリース・運用まで幅広く関与しています。 今回はGoogle Cloud PlatformのBigQueryを活用してアクセスログの分析環境を構築した時の話を紹介します。 この記事に書かれる事 データ分析基盤としてBigQueryを使用した話と データ量を例示しながら使用を開始した時のトラブルシュートとパフォーマンスについて紹介する。 データ移行のコツもうまく含めながら書いていく。 BigQueryを採用した訳 マネーフォワードの家計簿は350万人以上のお客様に利用いただき、 アクセスログは日々2.500万件程度増えております。 サービス開始から

    83億レコードを移行し、日々2,500万レコードのアクセスログをBigQueryに記録している話(インフラ編) - Money Forward Developers Blog
    peketamin
    peketamin 2016/08/03
  • 最近のruby-core (2016年2月) - Money Forward Developers Blog

    こんにちは。卜部です。 ruby-coreというRuby体の開発の議論がされているメーリングリストがあります。 新機能やバグ報告などがだいたいここに集約されてくるので購読しておくとRubyの動きが分かります。 最近興味深かったトピックを紹介します。 [#12039] Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite? Float と BigDecimal には #infinite? メソッドがあるのに Fixnum と Bignum には存在しないので困る/欲しい、という提案です。これはあると便利ですね。 [#12040][Win32] File.stat fails on a mounted volume Windows

    最近のruby-core (2016年2月) - Money Forward Developers Blog
    peketamin
    peketamin 2016/03/04
  • フルタイムRubyコミッター採用までの道のり - Money Forward Developers Blog

    エンジニアの越川です。 今朝プレスリリースを出させていただきましたが、当社ではフルタイムRubyコミッターを採用致しました。そこまでの道のりを紹介させて頂きます。 マネーフォワード、フルタイムRubyコミッターを採用~Ruby1.8.6/1.8.7のリリースマネージャである卜部昌平氏が就任~ 左:技術顧問 松田明氏/中央:Ruby開発者 卜部昌平氏/右:代表取締役社長CEO 辻庸介 何故やるのか プロダクトを開発する上で、Railsを選択する理由については、以前個人ブログに考察を書きました。 それでもRailsを選択する3つの理由 - pblog Railsを用いた開発に必要な事を整理すると Railsの哲学を理解し規約を守る 周辺のエコシステムを活用し、自らもそのエコシステムの住人となること 進化に追従すること 概ねこの辺りが重要な事柄かと思います。 その際、Railsのスペシャリストを

    フルタイムRubyコミッター採用までの道のり - Money Forward Developers Blog
    peketamin
    peketamin 2016/02/17
  • レビューしやすいコミット履歴でバグ削減 - Money Forward Developers Blog

    こんにちは。 アグリゲーション開発担当の中川です。 今回は、みんなが大好きな構成管理ツール「Git」について話したいと思います。 私は Git を使い始めてから、バグの発生数が激減しました。 Git を使ったとある手法によってレビューが充実し、バグの少ないコードを書くようになったと考えています。 では、今回はその手法について紹介したいと思います。 ※ 稿は Git 以外の第三世代構成管理ツール(Hg、Bzr など)にも適用するかと思いますが、Git の用語とコマンドを使って紹介していくため Git の基知識が必要となります。ご了承ください。 レビューしやすいコミット履歴と、開発の流れで自然にできるコミット履歴の乖離 以下のようなコミット履歴があるとします。 1. wip: 仕様変更○○を行い始めた 2. wip: 仕様変更○○の続き 3. wip: ちょっと設計を変更、それと過去のバグ

    レビューしやすいコミット履歴でバグ削減 - Money Forward Developers Blog