サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
moneyforward-dev.jp
半年ぶりのカキコ……ども……。気づいたらHRソリューション本部からMFBC-CTO室に異動していたVTRyoです。兼任で引き続きHR系のマネーフォワード クラウドシリーズも担当しています。 ソフトウェアエンジニアとしての経験値が増えてくると、次第にレビュー担当者になることが増えてくるでしょう。私が所属するSREチームでもTerraformの相互レビューが頻繁に実施されています。そこで、事件は起きたのです。 自信を持ってApproveしたPull Requestで次々に事故が起きてしまった 現在HR内のマネーフォワード クラウドシリーズは、モダンな開発基盤へとリプレイス作業を多く行っています。これまで動いていた基盤に感謝しつつ、新しいPlatformへと移行し、最終的に元あったリソースを削除します。 事件はこの リソース削除 で起きました。 チーム内レビュー OK リポジトリ管理者レビュー
こんにちは。 アグリゲーション開発担当の中川です。 今回は、みんなが大好きな構成管理ツール「Git」について話したいと思います。 私は Git を使い始めてから、バグの発生数が激減しました。 Git を使ったとある手法によってレビューが充実し、バグの少ないコードを書くようになったと考えています。 では、今回はその手法について紹介したいと思います。 ※ 本稿は Git 以外の第三世代構成管理ツール(Hg、Bzr など)にも適用するかと思いますが、Git の用語とコマンドを使って紹介していくため Git の基本知識が必要となります。ご了承ください。 レビューしやすいコミット履歴と、開発の流れで自然にできるコミット履歴の乖離 以下のようなコミット履歴があるとします。 1. wip: 仕様変更○○を行い始めた 2. wip: 仕様変更○○の続き 3. wip: ちょっと設計を変更、それと過去のバグ
こんにちは。 マネーフォワードの新卒Railsエンジニア、きなこ と申します。 マネーフォワードX という組織で、日々プロダクトの開発に勤しんでおります😊 突然ですが皆さんは JWT という技術をご存知でしょうか? 私は趣味でCTFというセキュリティコンテストに出場するのですが、最近ホットだと感じるのがJWTに関連する攻撃です。 今年の1月に初めてJWTを題材にした問題に遭遇し、その後JWTの出題頻度が強まっていると感じ、社内に向けてJWTにまつわる攻撃を通して学ぶための記事を書いたところ、たくさんの反応をいただきました。 今回の記事はその内容を社外向けにアレンジし、ハンズオンを通して実際にJWTを改竄し、受け取るAPIを攻撃することでJWT自体を学べるようにしたものです。 本記事はJWTに興味があるWeb開発者を想定していますが、そうでない方も楽しんでいただけるようにハンズオンを用意し
こんにちは。 マネーフォワードでアグリゲーション開発を担当しています中川です。 今回のブログは、私が bash スクリプトを書く際に心がけている事のおさらいをします。 知ってて当たり前のことかも知れませんが、意外と理解されていないアレです。 では、私が bash スクリプトを書く際によく使う記述を一つずつ紹介します。 2種類の shebang シェルスクリプトの一行目に必ず記述する #! で始まる行を shebang と言います。 bash スクリプトの shebang は、bash を絶対パスで指定する方法と、env を使って指定する方法の二種類あります。 bash を絶対パスを指定する方法 #!/bin/bash env を使ってを指定する方法 #!/usr/bin/env bash 前者は /bin/bash が使われます。 (/bin/bash が存在しなければスクリプトの起動時に
エンジニアの渋谷です。 マネーフォワードは3月30日に【給与計算ソフト - MFクラウド給与】という新サービスをローンチさせていただきました。 マネーフォワード、クラウド型給与計算ソフト『MFクラウド給与』(β版)を無料提供開始~法改正や税制改正にも自動対応。企業の給与計算・労務をもっとスマートに~ クラウド給与計算ソフト マネーフォワード クラウド上で完結する本格的な給与計算サービスとして、リアルタイム給与計算機能や料率自動反映などを備えております。 本サービスの企画自体は、昨年年末に3人でスタートし、年明けから様々な方にお手伝いいただきながら、約3ヶ月の開発期間でローンチしました。 今回は、新サービスをゼロから作り上げるにあたり、エンジニアとしてやって良かった、と思えた事を9つばかり紹介させていただきます。 1:リリース前確認シート 企画がスタートした時に、【ビジョン】【ミッション】と
こんにちは。ハルキです。 4月から中学二年生になりました。 僕はこの春休み、パパが働いているマネーフォワードに職業体験インターンという形でお世話になりました。 プログラミングを始めたきっかけは、Scratchという子供向けのプログラミング学習サービスです。 小学校3年生の時にどハマりし、そこから6年生まで夢中になってやり込みました。 ただ、やはり子供向けなので最低限のことしかできず卒業。 その頃、マネーフォワードの方が開催してくれたバーベキューで酒井さんと出会い、そこでPythonを教わりました。 (酒井さんはビジネスマンなのにプログラミングもできちゃうすごい人なのです!) そこから、Chatworkで酒井さんとコミュニケーションを取るようになり、プログラミングで悩んだことがあったら酒井さんに報告して、バグがあれば直し方を教わるようになりました。 酒井さんは面白い記事を紹介してくれたり、そ
iOS エンジニアの西信です。 新年早々、大変お騒がせしております。申し訳ありませんの一点に尽きます。 yuga panda on Twitter: "おっ、null安全だ https://t.co/RFta3RFXxu" マジレスすると『Optional(2018)年』を恐れる必要はない - Qiita はてブや、Twitterなどで大きく話題にしていただいたので、この機会に、恥は承知の上で、なぜこんなことが起きてしまったのか、筆をとらせていただくことにしました。 この問題は昨日 (2018年1月4日) リリースしました、バージョン 9.1 にて修正済みです。iOS のみで発生していました。 蛇足ですが、当バージョンから、ホーム画面が新しくなり、カードの引き落とし額決定や、使い過ぎなどをお知らせする『MY通知』がさらに便利になりましたので、ぜひお試しください。 さて、今回の起因となったの
こんにちは。 インフラエンジニアの村上です。 マネーフォワードのインフラチームは、サービスに関わるインフラから、自社の作業環境、開発環境、さらにはサービスのインフラの中でも物理的なものからOS・ミドルウェア・アプリケーションのメンテナンス・ビルド・リリース・運用まで幅広く関与しています。 今回はGoogle Cloud PlatformのBigQueryを活用してアクセスログの分析環境を構築した時の話を紹介します。 この記事に書かれる事 データ分析基盤としてBigQueryを使用した話と データ量を例示しながら使用を開始した時のトラブルシュートとパフォーマンスについて紹介する。 データ移行のコツもうまく含めながら書いていく。 BigQueryを採用した訳 マネーフォワードの家計簿は350万人以上のお客様に利用いただき、 アクセスログは日々2.500万件程度増えております。 サービス開始から
こんにちは。デザイナーの大橋です。 今日は、私が担当している “(しら)ずにお金が(たま)る”自動貯金アプリ『しらたま』 で導入してました、デザインのバージョン管理の話を紹介します。 デザインのバージョン管理といえば、AbstractやKactusがありますが、今回はあえてGit Sketch Pluginを試してみました。 デザインデータをGitHubで管理しようと思ったキッカケ 私以外のチームメンバーがみんなエンジニアだから、間違いなくGitHubに寄せたほうが効率いいんじゃないか。 新しいツールを導入すると、プロジェクトに関する情報が分散してしまいがちで、エンジニアも招待したり登録してもらったりしなきゃいけないのかなという印象。※あくまで印象です。 Kactusはプライベートレポジトリが有料。 こんな感じでなんかファイルが増えてく。。。(忙しいと放置しがちでよくない。。 GitHub
この記事は Money Forward Engineering 2 Advent Calendar 2022 18日目の投稿です。 こんにちは。マネーフォワード関西開発拠点でマネーフォワード クラウド会計Plus (以下会計Plus)のエンジニアをしているぽっけです。 この記事では、私が行った高速化について紹介します。 私は最近Railsアプリケーションの高速化を行っており、ある画面のレスポンスタイムを50%以上削減しました。そしてこの改善はRubyレベルの変更のみで達成しました。 この記事での「Rubyレベルの変更のみ」は、MySQLやRedis、Web APIなどへのアクセスには全く手を入れず、Rubyのプロセスが消費する時間のみを変更した、ということを意図しています。 MySQLなどへのアクセスは通常ボトルネックになりがちな箇所です。今回そこに手を入れずに高速化を達成できたのは、1つ
エンジニアリング戦略室の高井といいます。 みなさん、GitHub Copilot は利用されていますか? GitHub Copilot は GitHub と OpenAI が共同で開発した生成 AI を活用した開発支援ツールです。コードの自動補完、コード生成、ドキュメントの提案など、多岐にわたる機能を提供し、開発者の生産性を向上させることを目的としています。 マネーフォワードでは、昨年度にトライアルとして Copilot の利用を開始しました。本記事では、Copilot を利用して半年以上経過して、その利用がどのような効果をもたらしたかをレポートします。なお、ここで GitHub Copilot として言及されている Copilot のプランは GitHub Copilot Business です。 Copilot 利用状況・分析対象 なお、分析にはエンジニアリング組織のパフォーマンスを可
こんにちは、Railsエンジニアの鈴木(信)です。 先日31歳になったんですが、やはり30歳を超えたあたりから衰えたというか、何か体に変化があったように思います。 自身の健康はもちろんですが、コードの健康(品質)のことも気になる年頃になりました。 そこで今回は弊社で利用しているコード解析ツールをご紹介します。 brakeman - セキュリティ brakemanは、簡単なXSSやインジェクション系の脆弱性を検出してくれるgemです。 もちろんこれだけで完全に安心という訳ではありませんが、弊社ではJenkinsのBrakeman Pluginを使って、継続的にモニタリング、修正しています。 使い方 $ brakeman $ brakeman --only-files=path/to/specific_file simplecov - テストカバレッジ simplecovはカバレッジ計測ツール
みなさん、こんにちは。 ウェブ・サーバーサイドを担当しています、Railsエンジニアの黒田です。 マネーフォワードも早いもので、サービスインしてから2年以上が経過しました。 サービスをご愛顧してくださっている皆様には、心から感謝しております。 さて、今回のエンジニアブログは「リファクタリング」についてです。 マネーフォワードのように、ユーザーファースト&デリバリー優先で爆速開発を進めていると、サービスとしてはイケてても、コード的にイケてるとは言い難い部分が発生してしまいがちです。 「思いやりのないコード」「可読性が悪いコード」「必要以上に複雑なコード」は、バグ発生率を高め、開発スピードを低下させ、何よりエンジニアの気分を憂鬱にさせてしまいます。。。 マネーフォワードでは継続的かつ積極的にリファクタリングの時間を創る取組みをしていますが、そのなかで今回はRailsのリファクタリングでとても便
最近中途入社した卜部です。よろしくおねがいします。諸事情にてLinuxを使います。Macで。 結論からいうと OSXより起動が速いです。 経緯など 弊社はお客様の大切な情報を扱っています。情報セキュリティにはとても気を遣っています。通常であれば意味もなくOSの再インストールなどは行いません。 とはいえ卜部の業務は社業とは直接関係しません。そもそもお客様の大切な情報といったものに卜部がアクセスできてしまう方がリスキーといえます。そこで「production環境にそもそもログインできなくする」「オープンソースではないソースコードをそもそもgit cloneしないようにする」等の運用方針で、リスクをじゅうぶんに低減できると考えたため、普段使いのパソコンとしてLinuxを利用できるか試してみることにしました。 今回はMacに最初から入っているOSXを全部消してUbuntu Desktopを入れるこ
エンジニアの黒田です。 この度Android版「マネーフォワード」アプリをマテリアルデザインにフルリニューアルしました。 そしてなんと!!! おかげさまでGooglePlayの「2014年ベストアプリ」に選出いただきました! GooglePlay 2014年ベストアプリ アプリのDLはこちらから 家計簿マネーフォワード【投資・資産管理】 この記事ではマテリアルデザイン対応するにあたり、考えたことや実際に書いたコード、使ったツールなどあれこれと書いてみたいと思います。 マテリアルデザインとは マテリアルデザインとはGoogleが発表した新たなデザインガイドラインです。 モバイルに限らず、AndroidWearやAndroidTVなど様々なデバイスでもユーザーに対して同じ体験を提供することを目的としています。 マテリアルデザインに関する細かい説明は割愛しますが、GoogleMapやGMailな
エンジニアの中出です。 私は元々、C/C++やJava等のコンパイラ型言語をこれまで扱ってきましたが、マネーフォワードに入って、ついにRuby(Ruby on Rails)に触れる機会を頂きました。 Ruby on Railsの学習を始めてまだ2ヶ月弱なのですが、すでに色々な学びがありました。 今回はその中でも言語としてのrubyについて、今更ながら衝撃を受けたことを書きたいと思います。 1. 本当にすべてオブジェクト rubyは紛れもなくオブジェクト指向なプログラミング言語です。 一般的にオブジェクト指向な言語では処理や操作の対象をオブジェクトとして扱おうとし、すべてがオブジェクトとして扱える世界を善しとする文化があります。というよりそれがオブジェクト指向と言えます。 一方、多くのオブジェクト指向な言語においても数値等のデータ型はオブジェクトして扱わない事が多いと思います。 javaであ
こんにちは。卜部です。最近の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=✓ とかいうクエリをつけてきます
English version of this article is available here はじめに こんにちは、CTO室 IDサービス開発部のyamato(@8ma10s)です。 マネーフォワード IDという、当社サービス向けのIdPを開発しています。 今回このマネーフォワード IDにおいて、パスワードを使わずに、生体認証などを利用してログインできる「パスワードレスログイン」という機能をリリースしました。 また、今回のリリースでは、既にいくつかの他社サービスで導入されているような通常のパスワードレスログインUIではなく、「Passkey autofill」という、ブラウザの自動補完を利用する新しいタイプのパスワードレスログインUI を(恐らく日本のサービスで初めて。エンドユーザーの目に触れるサービスという意味では、おそらく世界でも初めて)導入しています。 私達がどういった過程で、
エンジニアの越川です。 今朝プレスリリースを出させていただきましたが、当社ではフルタイムRubyコミッターを採用致しました。そこまでの道のりを紹介させて頂きます。 マネーフォワード、フルタイムRubyコミッターを採用~Ruby1.8.6/1.8.7のリリースマネージャである卜部昌平氏が就任~ 左:技術顧問 松田明氏/中央:Ruby開発者 卜部昌平氏/右:代表取締役社長CEO 辻庸介 何故やるのか プロダクトを開発する上で、Railsを選択する理由については、以前個人ブログに考察を書きました。 それでもRailsを選択する3つの理由 - pblog Railsを用いた開発に必要な事を整理すると Railsの哲学を理解し規約を守る 周辺のエコシステムを活用し、自らもそのエコシステムの住人となること 進化に追従すること 概ねこの辺りが重要な事柄かと思います。 その際、Railsのスペシャリストを
こんにちは。卜部です。 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
エンジニアはなぜマックが好きなのか? マックといってもマクドナルドの事ではない。あるいはスマイル党総裁のマック赤坂氏の事でもない。 そういえば、マック赤坂氏はマクド赤坂氏に改名して大阪市長選に出馬することを決めたらしい。 関西ではマクドナルドの事をマックではなく、マクドと略されているのは有名な話である。 どうも。エンジニアの中出です。 私は40歳の大台に差し迫ったアラフォーエンジニアであり、自他ともに認める中年エンジニアでもあります。 今日は Apple Inc. の Mac をネタにしてみようと思います。 1. 背景 私はこれまでPCといえば、Windowsを使い続けていました。 他に浮気しようと思ったことは一度もなかったし、そもそも現実的ではなかった。 仕事ではWindows 95ぐらいから使い続けていました。 当時はOSそのものの安定性が問題になることが多かったですが、Windows
エンジニアブログでは初めまして、CTO室グローバル部のnishimura.yukariです。 前部署のCIO室から会社の社内異動公募制度(チャレンジシステム)を経て現在の部門で働いています。 (異動に至る経緯や想いは色々あるのですが、ちょっと長すぎるので別の機会にまたnoteにでも・・・) 先日、当社CTOから発表した通り、マネーフォワードのエンジニアリング組織では今後3年以内の公用語英語化を進めています。 マネーフォワードCTOが考えていること(2021年9月) グローバル部はその先駆者として、東京勤務ながらチームの公用語を英語に切り替え、様々な国出身のエンジニアが集って開発を進めている部門です。 そんな部署に異動志望を出した私自身といえば、実は【マネフォにジョインするまで、流暢に英語を話す人を周囲でほとんど見たことがなかった】ほど、英語とは無縁の学習環境からの出発でした。 エンジニアら
こんにちは。卜部です。 ruby-coreというRuby本体の開発の議論がされているメーリングリストがあります。 新機能やバグ報告などがだいたいここに集約されてくるので購読しておくとRubyの動きが分かります。 最近興味深かったトピックを紹介します。 [#12113] Global method inside Delegator causes NameError スレッドのタイトルは現象としてはその通りなんだけど、本当の原因はDelegatorからプライベートなメソッドを呼ぶことがこれまでできなかったという点です。なぜならDelegator経由ではプライベートなメソッドがプライベートな感じで(レシーバーをつけないで)呼ばれたかどうかが判定できなかったから。 なんだけど最近did_you_meanの側からの要求により「プライベートなメソッドがプライベートな感じで呼ばれたかどうか」が判定可能に
初めに こんにちは、マネーフォワードクラウド連結会計(以降、クラウド連結会計)のバックエンド開発に従事しているTaskと申します。 今回は、クラウド連結会計のコア機能を高速化した話と、それが原因で起こった金額の不整合障害から得られた教訓を紹介しようと思います。 本記事内では、前提として簿記2級相当の知識や用語が頻出します。 連結会計とは まず、クラウド連結会計が扱っている連結会計について説明させてください。 連結会計とは、親会社・子会社など、支配もしくは従属関係にある複数の会社を1つのグループと捉えて、そのグループの決算を行うための会計手続きを指します1。 下の図の「連結グループA」の決算を行うイメージです。 この業務を「連結決算業務」と呼びます。 連結決算を行うことによって、会社の利害関係者(債権者や株主など)は各社単体だけではなく、グループとしての財政状態・経営成績・キャッシュフローの
こんにちは。 経費精算サービス「マネーフォワード クラウド経費」の開発チームでフロントエンドエンジニアをしている坂本です。 クラウド経費ではJSのライブラリとしてReactを採用しているのですが、最近クラウド経費で React Component を実装する際のルールをまとめたので、その話を書こうと思います。 なぜルールをまとめようと思ったのか Componentの分割ルールとしてAtomic Design、スタイルの管理としてstyled-components、GraphQL用のライブラリとしてApollo Clientを導入し実装を進めています。 昨年の10月までは挙げた3つとも使用していなかったので、試行錯誤しながら進めています。 チームメンバーの各々が試行錯誤しながら実装を進めていくので、最近はチーム内で認識の齟齬や持っている情報に差が出るようになりました。 そこで一旦現状を整理し
マネーフォワードビジネスカンパニー クラウドERP本部 会計Plus開発部の西村です。 エンジニアリングマネジャーとして クラウド会計Plus の開発に携わっています。(執筆時) 本記事では ユニコーン企業のひみつ ―Spotifyで学んだソフトウェアづくりと働き方 を何度も読んだ私が toB 向けのプロダクト開発において経験し、考えたことを紹介します。 私は2021年1月にソフトウェアエンジニアとして入社し、グループリーダーを経て、エンジニアリングマネジャーとしてマネジメントに従事しているという立ち位置です。 もちろん1人でなしとげたことではなく、チームで考えて、学んで、成長してきた記録です。 https://www.oreilly.co.jp/books/9784873119465/ この本はインセプションデッキなどを紹介した アジャイルサムライ のジョナサン・ラスマセンの新作。著者が
こんにちは。 京都開発拠点でGoエンジニアをしています @yoskeoka です。 Goを中心技術として性能改善やプロダクト間を横断するような機能の設計、実装を行うKTAチーム (京都開発本部 テクニカルアーキテクトチーム) 所属です。 突然ですが、皆さんはGoでテストを書いているでしょうか。 我々はテストを書くことが中長期的なスピードアップに繋がると信じて日々テストを書くようにしています。 KTAではGoの実装をする際にClean Architectureの考えに基づいたpackage分けを行っていますが、packageを分けたり、インターフェースを定義したりとしていくと、テストを書くのが難しい部分というのが出てきます。 そんな場合に使えるモック作りテクニックを今回は紹介したいと思います。 Clean Architectureはテストしやすくなると言うが Clean Architectu
こんにちは。エンジニアの廣瀬です。 業務では「MFクラウド経費」のiOSアプリの開発をしています。 マネーフォワードで最年少です。若いです。 平成4年生まれです。若いです。(大事なことなので2度(ry 時々、エンジニアとしてどういう気概で物事に取り組むのがいいのだろう、エンジニアは何を考えて目の前の問題に取り組めばいいのか、と疑問に思うことがあります。 若さゆえの悩みです。 そんなわけで今投稿では、エンジニア(プログラマー)の本質を定義した「プログラマーの三大美徳」について紹介します。 プログラマーの三大美徳とは? Perlの生みの親である「Larry Wall」さんが定義したもでのです。 プログラマーには、次の美徳が絶対に必要です。 この美徳の一つでも欠く人は、プログラマーとなってはいけません。 また、これらの美徳を欠いているにも関わらずプログラマーという職業に就いてしまった人は、今すぐ
先月中途で入社した卜部です。 中途入社したタイミングでちょうどよいので環境設定を見直していました。 たぶん全部捨てて書き直したのは8年ぶりくらいでした。 今回の感想を忘れないうちに書いておきます。 Emacs Emacsを使い続けている理由はauto-save-buffersです。これと同じような機能を提供しているエディタは(RubyMineとかなくもないが)とても少なく、移行先として選択肢があまりありません。Atomのautosaveはどうやら求めているものと違うようですし。 auto-save-buffersで救われたファイルは数知れず、というか保存とかいう前世紀の遺物を計算資源に下請けさせることで考えることが減るので、本当は他のエディタにも是非あるべき機能です。下にzshでpredict-onの話も書いてありますが、自分は0クリック革命をわりと実践している派だと思います。 パッケージ
次のページ
このページを最初にブックマークしてみませんか?
『Money Forward Developers Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く