タグ

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

  • クイズでGo!panic(runtime error)が発生するのはどんな時? - Money Forward Developers Blog

    こんにちは、マネーフォワードエックスカンパニー 個人サービス開発部 バンキングアプリ開発グループの仲川です。この記事は Money Forward Engineering 1 Advent Calendar 2023 の12日目の投稿です。 突然ですが、クイズです! Q:Go言語ではどのような実装を行うとpanic(runtime error)が発生するでしょうか?また、それらの発生自体を防ぐにはどうすれば良いでしょうか? 少しだけ手を止めて考えてみてください... さて、いくつ思いつきましたか? 熟練のGoエンジニアなら、5つ以上の実装パターンと対策がすぐに思い浮かんだでしょう。しかし、実務である程度Goを触っている方でも答えが出せないことも多いと思います。実際、panicの考慮が漏れてバグを発生させてしまった事例はよく見かけます。 これらはテストカバレッジを100%確保したり、lint

    クイズでGo!panic(runtime error)が発生するのはどんな時? - Money Forward Developers Blog
    youko03
    youko03 2023/12/13
  • Dependabot 運用を自動化したい - Money Forward Developers Blog

    この記事は、Money Forward Engineering 1 Advent Calendar 2022 16日目の投稿です。 Money Forward ME サーバサイドエンジニアの島津です。 今回は、Dependabot 運用の自動化について、ご紹介したいと思います。 Dependabot について Dependabot は、プロジェクトで使用されているライブラリの脆弱性を監視し、依存関係を最新の状態に保つための、GitHub のサービスです。 その中でもいくつか機能がありますが、今回は Dependabot version updates の機能を使用した際の自動化についてです。 この機能を使うと、リポジトリ内の各種パッケージのバージョンをチェックし、常に最新に保つために自動的に bot が プルリクエストを作成してくれます。 詳しい設定方法は割愛しますが、リポジトリ内で .g

    youko03
    youko03 2022/12/21
  • 長期エンジニアインターンで得た学び - Money Forward Developers Blog

    こんにちは。松と申します。 2020年8月から2021年5月までの約10ヶ月間、クラウド横断部のわり算グループという技術的負債を解消するチームでエンジニアとしてインターンをしていました。 メインタスクとして社内向け管理画面のリプレイスを担当しつつ、他にも実際にユーザーに使われているサービスの一部機能を改修したり、共通基盤のコードを数千行消してリファクタリングするなど当に多くのことを経験させてもらいました。 (共通基盤のコードを数千行消した PR) 今回は振り返りの意味も兼ねて、インターンで得た学びを書き残しておこうと思います。 具体的な技術の話をすると収まりきらないので、今回は省略します。 記事にする関係上、詳細を割愛・簡略化している部分もあります。 要求の裏にある「やりたいこと」を常に意識する (出典 : https://www.businessballs.com/amusemen

    長期エンジニアインターンで得た学び - Money Forward Developers Blog
    youko03
    youko03 2022/04/01
  • サーバサイドの進捗に依存しないための Next.js x GraphQL のフロントエンド開発の工夫 - Money Forward Developers Blog

    こんにちは! マネーフォワード クラウド横断部のWebエンジニアの はるやま (@linnefromice) です。 現在クラウド横断部では BtoB 向けサービスのリプレイスプロジェクトの開発を行っており、今回は とフロントエンド開発においてそのプロジェクトで悩んだ点とそれに対する工夫の紹介をさせていただきたいと思います!(Special Thanks かわかみさん(@thinceller)、一緒にアーキテクチャの実現とこのフローを考えてもらいました) プロジェクトの特徴 今回のプロジェクトはリプレイスのため、既存のサービスで実現している機能の再現/改善または新規機能の開発を行うのですが、 現行サービスのコアモデル/データをベースに扱う必要がある サービスの特徴として、他のクラウドサービスとの連携により実現したい機能が多い のような特徴があります。 これらの特徴により、 サーバサイド

    サーバサイドの進捗に依存しないための Next.js x GraphQL のフロントエンド開発の工夫 - Money Forward Developers Blog
  • GraphQL Federation - API Gatewayの進化 - Money Forward Developers Blog

    こんにちは、マネーフォワード 福岡開発拠点のStart up Studio部で新規プロダクトを開発しているバックエンドエンジニアのダンと申します。 今回の記事は私たちのチームでマイクロサービスアーキテクチャにあるAPI Gatewayの課題を解決できるソリューションを検討の経緯、そして辿り着けた優れたGraphQL Federationについて紹介させていただきます。 課題 GraphQL Federationの前の世界 GraphQLの誕生 GraphQL Federation登場 - "One endpoint to rule them all" 1. 課題 まずは、マイクロサービスアーキテクチャによく出会うパターンの例を説明します。 製品をレビューするシステムを構築するプロジェクトで、フロントエンドとバックエンド二つのコンポーネントがある。 バックエンド側はドメインによる三つのサービ

    GraphQL Federation - API Gatewayの進化 - Money Forward Developers Blog
    youko03
    youko03 2022/03/16
    “フロントエンドが一つのリクエストで複数サービスのデータを取得するため、API Gatewayにも必要なビジネスロジックを実装する。そういうものはBackend For Frontendである”
  • OpenAPIでスキーマ駆動開発してみた - Money Forward Developers Blog

    こんにちは! マネーフォワードでインターンをしている伊藤巧です。 社内向けAPIの開発をスキーマ駆動開発で行いました。 記事では、それについて紹介します。 「スキーマ駆動開発はなんとなくわかるけど、いまいち進め方のイメージが湧かない。。。」といった方にとって参考になる内容になっています! ※今回はあくまでスキーマ駆動開発の一例を紹介することに留めており、ツールの設定や使用方法等に関する細かい部分は説明していません。 技術スタック/ツール OpenAPI Specification 3 openapi-generator (コード生成ツール) Rails RSpec Committee ReDoc (ドキュメント生成ツール) Stoplight Studio (OpenAPI用のGUIエディタ) OpenAPI Specificationとは OpenAPI Specificationとは

    OpenAPIでスキーマ駆動開発してみた - Money Forward Developers Blog
  • 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
  • マネーフォワード社内PRに見られるRubyの書き方について - (4) 真理値 - Money Forward Developers Blog

    エンジニアの澤田です。 この連載では、社内のRuby (on Rails)コードで気になった箇所の問題点やそこから発展して関連事項を議論しています。 前回投稿の マネーフォワード社内PRに見られるRubyの書き方について (3) では文字列の生成と検証を考察しました。 記事に言及してもらったり、コメントをもらったりして、励みになっています。 今回は真理値について考察します。 【バックナンバー】 マネーフォワード社内PRに見られるRubyの書き方について - (1) 配列の生成 マネーフォワード社内PRに見られるRubyの書き方について - (2) ハッシュの生成 マネーフォワード社内PRに見られるRubyの書き方について - (3) 文字列の生成や検証 題材とするコードは、社内のGitHubプルリクエストで実際に見かけたコードから問題点に関係する部分を抽出し、抽象化したもので、見かけたもの

    マネーフォワード社内PRに見られるRubyの書き方について - (4) 真理値 - Money Forward Developers Blog
    youko03
    youko03 2021/01/06
  • ActiveRecordのincludes, preload, eager_load の個人的な使い分け - Money Forward Developers Blog

    マネーフォワード福岡拠点の責任者をしております 黒田 です。 普段はRailsエンジニアとして マネーフォワードクラウド経費 の開発を担当しています。 普段Railsを使って開発されている方であれば、N+1問題に悩まされた経験は大抵の方がおありではないでしょうか。 N+1なクエリの発見には bullet を使うと良いですね。 bulletを使うとN+1なクエリを発見してくれ、さらに、具体的にここにincludesを追加しなさいと指摘までしてくれるので大変助かります。 しかし、先日bulletに言われるがままにincludesを付けてみたところ、N+1は解消したものの、スロークエリに見舞われることとなったので、includes,preload, eager_loadについて改めて調べてまとめてみることにしました。 (ソース調査したRailsのバージョンは 6.0.0.beta3 です。) i

    ActiveRecordのincludes, preload, eager_load の個人的な使い分け - Money Forward Developers Blog
    youko03
    youko03 2020/08/24
    “ belongs_to, has_one アソシエーション → 1対1あるいはN対1関連なのでSQLを分割して取得するより、left joinでまとめて取得(eager_load)。 一方、has_many アソシエーション→ eager_load すると slow queryを踏みやすいためpreloadを基本”
  • マネーフォワードCTOが考えていること(2020年3月) - Money Forward Developers Blog

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

    マネーフォワードCTOが考えていること(2020年3月) - Money Forward Developers Blog
    youko03
    youko03 2020/04/05
  • 1