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

  • 【Go 1.21】ループ変数が共有される問題への対策(プレビュー)が公開されました - Money Forward Developers Blog

    こんにちは、マネーフォワードエックスカンパニー サービス開発部 バンキングアプリ開発グループの仲川です。 先日Go 1.21がリリースされましたが、以前から多くのGoエンジニアを悩ませてきた「ループ変数が共有される問題」への対策が実験的に盛り込まれたので、今回はそちらについて紹介したいと思います。 Go 1.21 is released! - The Go Programming Language ※記事で紹介するコードの実行結果は全てGo 1.21での挙動です ※記事は主に以下ドキュメントの情報を基に作成しています(8月15日時点) golang/go/wiki/LoopvarExperiment golang/go/issues/60078 go.dev/doc/faq#closures_and_goroutines TL;DR Goのfor文で宣言されるループ変数は、ループ(イテ

    【Go 1.21】ループ変数が共有される問題への対策(プレビュー)が公開されました - Money Forward Developers Blog
  • Goのテストに使える手作りモックパターン - Money Forward Developers Blog

    こんにちは。 京都開発拠点でGoエンジニアをしています @yoskeoka です。 Goを中心技術として性能改善やプロダクト間を横断するような機能の設計、実装を行うKTAチーム (京都開発部 テクニカルアーキテクトチーム) 所属です。 突然ですが、皆さんはGoでテストを書いているでしょうか。 我々はテストを書くことが中長期的なスピードアップに繋がると信じて日々テストを書くようにしています。 KTAではGoの実装をする際にClean Architectureの考えに基づいたpackage分けを行っていますが、packageを分けたり、インターフェースを定義したりとしていくと、テストを書くのが難しい部分というのが出てきます。 そんな場合に使えるモック作りテクニックを今回は紹介したいと思います。 Clean Architectureはテストしやすくなると言うが Clean Architectu

    Goのテストに使える手作りモックパターン - Money Forward Developers Blog
  • レビューしやすいコミット履歴でバグ削減 - Money Forward Developers Blog

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

    レビューしやすいコミット履歴でバグ削減 - Money Forward Developers Blog
  • Javaエンジニアが、Rubyを始めてみて受けた衝撃 - Money Forward Developers Blog

    エンジニアの中出です。 私は元々、C/C++Java等のコンパイラ型言語をこれまで扱ってきましたが、マネーフォワードに入って、ついにRuby(Ruby on Rails)に触れる機会を頂きました。 Ruby on Railsの学習を始めてまだ2ヶ月弱なのですが、すでに色々な学びがありました。 今回はその中でも言語としてのrubyについて、今更ながら衝撃を受けたことを書きたいと思います。 1. 当にすべてオブジェクト rubyは紛れもなくオブジェクト指向なプログラミング言語です。 一般的にオブジェクト指向な言語では処理や操作の対象をオブジェクトとして扱おうとし、すべてがオブジェクトとして扱える世界を善しとする文化があります。というよりそれがオブジェクト指向と言えます。 一方、多くのオブジェクト指向な言語においても数値等のデータ型はオブジェクトして扱わない事が多いと思います。 javaであ

    Javaエンジニアが、Rubyを始めてみて受けた衝撃 - Money Forward Developers Blog
  • 1