MoneyForwardの検索ロジック歴史

はじめまして。
Money Forward で Ruby on Rails のエンジニアをしています辻です。
( ※ CEOの辻とは別の辻です )
現在学生で内定者インターン中です。

今回業務で検索機能を実装する機会があり、検索ロジックはどういう設計にするのが良いのかチームで議論してきました。

MoneyForward ではこれまで検索ロジックに関して様々な設計が採用されていたので、その背景について軽く話しながら今回採用した検索ロジックについて説明します。

はじめに

MoneyForwardでこれまで検索ロジックとして採用されていた設計を、歴史といった時系列で追います。
歴史は1〜4まであり、それぞれ検索に関する設計について説明していきます。

またサンプルコードがあるので、良ければこちらを参照して下さい。
「歴史1」に関するロジックは、sample1_users_controller といった形で歴史の番号と対応したサンプルコードになっています。
https://github.com/ShuheiTsuji/search_history_sample

歴史1:form_tag + controllerべた書きスタイル

続きを読む

エンジニアとデザイナーの相互理解

こんにちは。
iOSエンジニアの廣瀬です。

今日は、“(しら)ずにお金が(たま)る”自動貯金アプリ『しらたま』( https://sirata.ma/ )の開発時に実施した エンジニアとデザイナーの相互理解 についてお話しします

この記事(Atomic Design を導入してみた話) においての活動でもそうなのですが、このような取り組みを行うきっかけは、何か課題を感じた場合です。

この記事では、エンジニアとデザイナーの相互理解 を実現するために起こしたアクション、および何故アクションをとったか、どういう課題を感じていたのかをお話ししていきます。

コミュニケーション

エンジニアとデザイナー間のコミュニケーションについて課題を感じていました。
チームで開発している以上コミュニケーションは欠かせないものです。
コミュニケーション についてどういう風に課題を感じていたか説明します。

続きを読む

Atomic Design を導入してみた話

こんにちは。
iOSエンジニアの廣瀬です。

以前から感じていた課題に、デザインデータ・UIコンポーネントの管理 がありました。
その解決策として Atomic Design の考え方を取り入れてみました。

今日は、“(しら)ずにお金が(たま)る”自動貯金アプリ『しらたま』( https://sirata.ma/ )の開発時に実施した Atomic Designの導入 について紹介します。

デザインデータ・UIコンポーネントの管理

ここでいう デザインデータ・UIコンポーネント とはデザイナーが使っているツール(Sketch)や、フロントエンドとなるiOSアプリのコードレベル(Swift)の話です。
具体的に管理がうまくいっていない状態とは下記のような状態と言えます。

  • カラーコードやフォント名がコミュニケーションを取るときに飛び交う
  • アプリ全体で フォント の使い方にコンセプトが無い
  • Sketchとプログラムコードのどちらが正しいかわからない
  • 新しいメンバーが入ってきたとき等にデザインのコンセプトを説明できるものが無い

続きを読む

デザインのバージョン管理をGitHubでしてみたら修正点が3秒で分かるようになった話

こんにちは。デザイナーの大橋です。

今日は、私が担当している
“(しら)ずにお金が(たま)る”自動貯金アプリ『しらたま』
で導入してました、デザインのバージョン管理の話を紹介します。

デザインのバージョン管理といえば、AbstractKactusがありますが、今回はあえてGit Sketch Pluginを試してみました。

デザインデータをGitHubで管理しようと思ったキッカケ

  • 私以外のチームメンバーがみんなエンジニアだから、間違いなくGitHubに寄せたほうが効率いいんじゃないか。
  • 新しいツールを導入すると、プロジェクトに関する情報が分散してしまいがちで、エンジニアも招待したり登録してもらったりしなきゃいけないのかなという印象。※あくまで印象です。
  • Kactusはプライベートレポジトリが有料。
  • こんな感じでなんかファイルが増えてく。。。(忙しいと放置しがちでよくない。。

  • GitHubで管理するのどうかなと相談したら、エンジニアのやっくんがこんな事もできそうだよって教えてくれた。

続きを読む

Optional(2018)年あけましておめでとうございます

iOS エンジニアの西信です。

新年早々、大変お騒がせしております。申し訳ありませんの一点に尽きます。

はてブや、Twitterなどで大きく話題にしていただいたので、この機会に、恥は承知の上で、なぜこんなことが起きてしまったのか、筆をとらせていただくことにしました。

この問題は昨日 (2018年1月4日) リリースしました、バージョン 9.1 にて修正済みです。iOS のみで発生していました。
蛇足ですが、当バージョンから、ホーム画面が新しくなり、カードの引き落とし額決定や、使い過ぎなどをお知らせする『MY通知』がさらに便利になりましたので、ぜひお試しください。

さて、今回の起因となったのは、昨年 2 月に行った Swift 3 への対応でした。

続きを読む