accepts_nested_attributes_forを使わず、複数の子レコードを保存する

この記事は Money Forward Advent Calendar 2018 15日目の記事です。

こんにちは、マネーフォワードでマネーフォワードクラウドの開発をしている @kamille です。
今年の10月に新卒で入社して、今はマネーフォワードクラウドの全体的な課題を解決する横断チームにてRailsエンジニアをしています。
今日はRailsの accepts_nested_attributes_for メソッドについてお話したいと思います。

はじめに

突然ですが皆さん accepts_nested_attributes_for は好きですか?僕は複数リリースの同時保存・更新が超お手軽にできて素敵なコンセプトだなと思います。
でもこのメソッドはあまり評判が良くなく、特にRails生みの親のDHHがaccepts_nested_attributes_forを消したいと言っていたり、代わりとなる公式なformオブジェクトのプロジェクトが立ち上がったり(残念ながら途中でなくなってしまったようです 😥 )している等、あまりいいメソッドと思われていないようです。

社内でも accepts_nested_attributes_for は今後は使わないようにして、既存のコードもリプレイスしていく活動が始まっているので accepts_nested_attributes_for を使わずに、 FormObject を使って複数リリースの同時保存を行うコードを書いてみました。

続きを読む

[iOS 12]Siri Shortcutsの最小実装 – Intent編

この記事は iOS (その2) Advent Calendar 2018 の 14 日目の記事です。

こんにちは。
iOSエンジニアの玉井(@tamadon3776)です。

今回はマネーフォワード MEのiOSアプリで実装したSiri Shortcutsについてご紹介します。

Siri Shortcutsの実装方法はNSUserActivityを用いた方法とIntentsを用いた方法がありますが、本記事ではIntentsを用いたSiri Shortcutsの最小実装 だけ を紹介します。

NSUserActivityを用いた方法については、本Advent Clendar1日目の[iOS 12]Siri Shortcutsの最小実装 – NSUserActivity編 が参考になるかと思います。
タイトルを真似させてもらいました。

実装方法を理解するためにサンプルアプリを作成しました。
SiriShortcutIntentSample

続きを読む

新卒から始めるアカウントアグリゲーション

これは MoneyForward Advent Calendar 2018、14日目の投稿です。

新卒でマネーフォワードに入り、アグリ村で働いているつっきーです。

アグリ村は、正式名称はアカウントアグリゲーション本部で、マネーフォワード社内で「アグリ村」と呼ばれています。
ここではアカウントアグリゲーション(以下、アグリ)サービスと呼ばれる銀行や証券、仮想通貨、ECサイトなどの金融機関との連携を行っています。

アグリが目指す未来はこちらに書かれているので、ぜひご一読ください!(3年前の記事)

https://moneyforward.com/engineers_blog/2015/08/25/toward-the-future/

アグリ村に新卒で入ったのは僕一人で、他の部署がいろいろ規模拡大やメンバーが入れ替わっているなか、メンバーの入れ替わりが少ない安定した部署です。

業務の面白さとかあまり書かれてない気がするので、アドベントカレンダーの力を借りて書いてみます。

そもそもアグリってなにしてるんだっけ?

続きを読む

マネーフォワード社内PRに見られるRubyの書き方について (1)

エンジニアの澤田です。

マネーフォワード社内のGitHubプルリクエストに見られるRubyの書き方について、気になったところをもとにして、関係することを連載で考察していきます。

※ 題材とするコードは、社内のGitHubプルリクエストで実際に見かけたコードから問題点に関係する部分を抽出し、抽象化したもので、見かけたものそのままではありません。

配列の生成

初回の今回は、配列の生成について考察します。

プログラム中で使う配列には、他の情報から導かれない一次的なものと、もととなる他の情報を変形させて得られる二次的なものがあります。
前者の場合、次のようにプログラム本体や設定ファイルなどのどこかにリテラルとして書くより他にありません。

[23, 12938, 382]

対して、上の配列が既にどこかに書かれていて、その各要素を2倍にして次の別の配列を作った場合、これは後者の例です。

[46, 25876, 764]

あるいは、次のハッシュがどこかに書かれているとして、

続きを読む

新卒が絶対にサンタさんに来てもらうために Rails バージョンアップを頑張った話

この記事は MoneyForward Advent Calendar 2018 の 11 日目の記事です。

昨日は iOS デベロッパーの tamadon さんの 育児とやっていきの両立について という記事でした。

育児とやっていきの両立が偉大すぎて、僕には一生到達できぬ高みなんじゃないかとビビっています。

自己紹介

改めて、2018 年 4 月入社の新卒でマネーフォワードクラウドの横断チームにて Rails のエンジニアをやっています、古濱 (@furuhama) といいます。

僕が最近メインでやっていた Rails のバージョンアップとその他の改善のお話に関して書いてみたいと思います。

この記事で扱うこと

この記事で書くこと

  • バージョンアップ作業をやるときに考え・取り組み
  • 継続的にサービスをメンテナンスしていくための取り組み

この記事で書かないこと

  • バージョンアップ作業の具体的で詳細な手順
  • バージョンアップ作業時にハマった問題の解決方法

 

続きを読む

はじめまして! 京都開発拠点

この記事は マネーフォワードアドベントカレンダー🎄 の2日目の記事です!


みなさん、こんにちは。
マネーフォワードでインフラエンジニアをやっている村上です。

 
先日以下の発表させていただきました。
関西地区(大阪・京都)における営業・開発力強化の取組みに関するお知らせ:日本経済新聞

 
それに伴いエンジニアの募集を始めています。
京都にプロダクト開発拠点を新設!コアメンバーとなってくれるエンジニア募集!

 
私が京都拠点の立上げをしていることもあり、
関西のエンジニアの皆様へ向けて「え?マネーフォワード、関西来るってよ!?」というお話をさせていただきます。

続きを読む

Money Forward Advent Calendar 2018

みなさん、こんにちは。

2018年も残すところあとわずかとなりましたね。。。

ん、12月?

12月といったらアレだろ。アレ。

ということでマネーフォワードでもAdvent Calendarやります。

Money Forward Advent Calendar 2018

techな話だけでなく、マネーフォワードのみんな(エンジニア、デザイナー、CS、マーケティング、営業、etc)が色々なお話をします。

年の瀬のお忙しい時期かと思いますが、お楽しみいただければ幸いです。

続きを読む