タグ

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

  • 攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog

    こんにちは。 マネーフォワードの新卒Railsエンジニア、きなこ と申します。 マネーフォワードX という組織で、日々プロダクトの開発に勤しんでおります😊 突然ですが皆さんは JWT という技術をご存知でしょうか? 私は趣味CTFというセキュリティコンテストに出場するのですが、最近ホットだと感じるのがJWTに関連する攻撃です。 今年の1月に初めてJWTを題材にした問題に遭遇し、その後JWTの出題頻度が強まっていると感じ、社内に向けてJWTにまつわる攻撃を通して学ぶための記事を書いたところ、たくさんの反応をいただきました。 今回の記事はその内容を社外向けにアレンジし、ハンズオンを通して実際にJWTを改竄し、受け取るAPIを攻撃することでJWT自体を学べるようにしたものです。 記事はJWTに興味があるWeb開発者を想定していますが、そうでない方も楽しんでいただけるようにハンズオンを用意し

    攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog
  • マネーフォワード MEのiOS 15対応 - Money Forward Developers Blog

    こんにちは。 マネーフォワード MEのiOSエンジニア、ひらた( @cafedeichi )です。 ここ数年、マネーフォワード MEは比較的早い段階で新しいXcodeへの開発環境の移行とiOSへの対応をしています。主な理由は、古いXcodeで開発を進めると、それだけ新しいものへ移行した時の技術負債が増え、来集中すべきサービスの施策の遂行等に影響を及ぼしていく可能性が十分にあるからです。また、通常、翌年度末には古いXcodeでビルドしたアプリのAppleへの審査は申請できなくなるので、実施するのであれば早い方が望ましいと考えています。 今年もXcode 13およびiOS 15のbeta 1から動作検証をはじめ、いくつかの問題への対応と新機能の追加を行い、先日iOS 15に対応したバージョンをリリースしました。この投稿は動作検証から実装までのまとめです。これからiOS 15対応を検討されてい

    マネーフォワード MEのiOS 15対応 - Money Forward Developers Blog
  • Optional(2018)年あけましておめでとうございます - Money Forward Developers Blog

    iOS エンジニアの西信です。 新年早々、大変お騒がせしております。申し訳ありませんの一点に尽きます。 yuga panda on Twitter: "おっ、null安全だ https://t.co/RFta3RFXxu" マジレスすると『Optional(2018)年』を恐れる必要はない - Qiita はてブや、Twitterなどで大きく話題にしていただいたので、この機会に、恥は承知の上で、なぜこんなことが起きてしまったのか、筆をとらせていただくことにしました。 この問題は昨日 (2018年1月4日) リリースしました、バージョン 9.1 にて修正済みです。iOS のみで発生していました。 蛇足ですが、当バージョンから、ホーム画面が新しくなり、カードの引き落とし額決定や、使い過ぎなどをお知らせする『MY通知』がさらに便利になりましたので、ぜひお試しください。 さて、今回の起因となったの

    Optional(2018)年あけましておめでとうございます - Money Forward Developers Blog
  • 最近のruby-core (2017年3月) - Money Forward Developers Blog

    こんにちは。卜部です。 ruby-coreというRuby体の開発の議論がされているメーリングリストがあります。 新機能やバグ報告などがだいたいここに集約されてくるので購読しておくとRubyの動きが分かります。 ちょっと間が開いてしまいましたが、最近興味深かったトピックを紹介します。 最近のruby-core (2017年1月) 最近の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月) [#13188] Reinitialize Ruby VM. いま、Rubyのプロセスが立ち上が

    最近のruby-core (2017年3月) - Money Forward Developers Blog
  • 最近のruby-core (2017年1月) - Money Forward Developers Blog

    こんにちは。卜部です。最近の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=✓ とかいうクエリをつけてきます

    最近のruby-core (2017年1月) - Money Forward Developers Blog
  • 最近のruby-core (2016年11月) - Money Forward Developers Blog

    こんにちは。卜部です。 ruby-coreというRuby体の開発の議論がされているメーリングリストがあります。 というか、議論がどうとか以前の話ですが、Rubyにおいては12月がリリースの季節です。脆弱性の修正などはさておき、新機能の入った新バージョンはもうずっと毎年12月に出ています。その直前は、プロダクトクオリティの上昇を目的として新機能の追加は凍結されます。たぶんこの記事が出た頃にはもう凍結されてることでしょう。 というわけですので毎年11月には駆け込みで新機能が追加されそうになるものです。今年は11月にカンファレンスが連続していたという事情もあり、ようは駆け込みが沢山あります。ええ…… 全部は解説できませんが、興味深かったものをいくつか。 最近のruby-core (2016年10月) 最近のruby-core (2016年9月) 最近のruby-core (2016年7月) 最

    最近のruby-core (2016年11月) - Money Forward Developers Blog
  • 最近のruby-core (2016年10月) - Money Forward Developers Blog

    こんにちは。卜部です。 ruby-coreというRuby体の開発の議論がされているメーリングリストがあります。 新機能やバグ報告などがだいたいここに集約されてくるので購読しておくとRubyの動きが分かります。 最近興味深かったトピックを紹介します。過去ログはこちら 最近のruby-core (2016年9月) 最近のruby-core (2016年7月) 最近のruby-core (2016年6月) 最近のruby-core (2016年4月) 最近のruby-core (2016年3月) 最近のruby-core (2016年2月) [#12039] Fixnum#infinite?/Bignum#infinite or Numeric#infinte, consistent with Float#infinite? and BigDecimal#infinite? 以前も紹介したかと

    最近のruby-core (2016年10月) - Money Forward Developers Blog
  • 最近のruby-core (2016年9月) - Money Forward Developers Blog

    [gfm] こんにちは。卜部です。 ruby-coreというRuby体の開発の議論がされているメーリングリストがあります。 新機能やバグ報告などがだいたいここに集約されてくるので購読しておくとRubyの動きが分かります。 最近興味深かったトピックを紹介します。やっぱり一回ぶん間が開いて今回は量が大変でした。過去分はこちら 最近のruby-core (2016年7月) 最近のruby-core (2016年6月) 最近のruby-core (2016年4月) 最近のruby-core (2016年3月) 最近のruby-core (2016年2月) [/gfm][gfm] [#8526] gemify tk ずっと前からrubyについてきていたtkというライブラリが、紆余曲折ありながらもgemに切り離されました。もちろんtkが書かれた頃はgemなどというものはなかった。そういう意味では長い

    最近のruby-core (2016年9月) - Money Forward Developers Blog
  • (83億レコード移行の続編)BigQueryを導入して改善サイクルがスピードアップした話 - Money Forward Developers Blog

    みなさん、こんにちは。 PFM部(家計簿アプリのマネーフォワードをつくってる組織)の伊藤です。 先日、当ブログでこんな記事をアップしました。 83億レコードを移行し、日々2,500万レコードのアクセスログをBigQueryに記録している話(インフラ編) ありがたいことに良い反響を多くいただき、沢山のブクマを頂戴しました。 そんな中で、 83億レコードを移行し、日々2,500万レコードのアクセスログをBigQueryに記録している話(インフラ編) | Money Forward Engineers' Blog 次回はこのビッグデータを何に使ってんのか書いてほしい 2016/08/03 19:00 というコメントをいただいているので、導入してどのように活用しているかの記事を書いてみたいと思います。 まとめ なぜBigQueryを推進したのか 詳細な分析をするのに便利なツール RにBigQue

    (83億レコード移行の続編)BigQueryを導入して改善サイクルがスピードアップした話 - Money Forward Developers Blog
  • 83億レコードを移行し、日々2,500万レコードのアクセスログをBigQueryに記録している話(インフラ編) - Money Forward Developers Blog

    こんにちは。 インフラエンジニアの村上です。 マネーフォワードのインフラチームは、サービスに関わるインフラから、自社の作業環境、開発環境、さらにはサービスのインフラの中でも物理的なものからOS・ミドルウェア・アプリケーションのメンテナンス・ビルド・リリース・運用まで幅広く関与しています。 今回はGoogle Cloud PlatformのBigQueryを活用してアクセスログの分析環境を構築した時の話を紹介します。 この記事に書かれる事 データ分析基盤としてBigQueryを使用した話と データ量を例示しながら使用を開始した時のトラブルシュートとパフォーマンスについて紹介する。 データ移行のコツもうまく含めながら書いていく。 BigQueryを採用した訳 マネーフォワードの家計簿は350万人以上のお客様に利用いただき、 アクセスログは日々2.500万件程度増えております。 サービス開始から

    83億レコードを移行し、日々2,500万レコードのアクセスログをBigQueryに記録している話(インフラ編) - Money Forward Developers Blog
  • 最近のruby-core (2016年6月) - Money Forward Developers Blog

    こんにちは。卜部です。 ruby-coreというRuby体の開発の議論がされているメーリングリストがあります。 新機能やバグ報告などがだいたいここに集約されてくるので購読しておくとRubyの動きが分かります。 先月忙しかったためすっぽかしたら逆に今回量が増えて大変です。小分けにしたほうがいいのかもです。 過去分はこちら ・最近のruby-core (2016年4月) ・最近のruby-core (2016年3月) ・最近のruby-core (2016年2月) [#12435] Using connect_nonblock to open TCP connections in Net::HTTP#connect Net::HTTP#connect というメソッドがあって、いまはブロッキングIOを使っているわけですが、それだと不都合がある(タイムアウトのためだけにスレッド立ち上げたりいろい

    最近のruby-core (2016年6月) - Money Forward Developers Blog
  • 最近のruby-core (2016年3月) - Money Forward Developers Blog

    こんにちは。卜部です。 ruby-coreというRuby体の開発の議論がされているメーリングリストがあります。 新機能やバグ報告などがだいたいここに集約されてくるので購読しておくとRubyの動きが分かります。 最近興味深かったトピックを紹介します。 [#12113] Global method inside Delegator causes NameError スレッドのタイトルは現象としてはその通りなんだけど、当の原因はDelegatorからプライベートなメソッドを呼ぶことがこれまでできなかったという点です。なぜならDelegator経由ではプライベートなメソッドがプライベートな感じで(レシーバーをつけないで)呼ばれたかどうかが判定できなかったから。 なんだけど最近did_you_meanの側からの要求により「プライベートなメソッドがプライベートな感じで呼ばれたかどうか」が判定可能に

    最近のruby-core (2016年3月) - Money Forward Developers Blog
  • 最近のruby-core (2016年2月) - Money Forward Developers Blog

    こんにちは。卜部です。 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

    最近のruby-core (2016年2月) - Money Forward Developers Blog
  • マネーフォワードのtvOSアプリケーションを開発した話 - Money Forward Developers Blog

    エンジニアの児玉です。 「マネーフォワード」のiOS, Androidアプリの開発を主に担当しています。 日プレスリリースをさせていただきましたが、Apple TV(第4世代)向けのマネーフォワード tvOSアプリケーションを公開致しました。 稿では、tvOSとiOSの違いや、アプリケーションを作っていくまでの道のりを紹介させて頂きます。 自動家計簿・資産管理サービス「マネーフォワード」、AppleTV版を提供開始 tvOSについて tvOSでは、Apple TV(第4世代)上でiOSアプリケーションを利用するのと同じようにtvOSアプリケーションを利用することができます。 tvOSアプリケーションの開発についての情報は、Human Interface GuidelinesやProgramming Guideといった公式ドキュメントを読むことが一番良いと思います。 Documentat

    マネーフォワードのtvOSアプリケーションを開発した話 - Money Forward Developers Blog
  • Swift2.0で作るAPI通信基盤 - Money Forward Developers Blog

    こんにちは。エンジニアの浅井です。 普段はマネーフォワードのiOSアプリ開発を担当しています。 弊社では、全社で使用する共通ライブラリの開発を積極的に行っています。 今回は、先日正式リリースされたSwift2.0で作成中のAPI通信基盤をご紹介します。 APIKitを参考に、下記のライブラリを用いて実装しています。 * Alamofire(HTTP通信) * ObjectMapper(JSONのパース) エントリーの肝 エントリーではSwift2.0で追加された、ProtocolExtensionを利用しています。 プロトコルに実装を定義できるだけでなく、細かく条件指定ができるので、そのプロトコルに準拠したクラスの実装を少なく抑えることができます。 また、typealiasによるジェネリクスを利用することで、タイプセーフな設計になっています。 利用側のコード 兎にも角にもまずは利用側の

    Swift2.0で作るAPI通信基盤 - Money Forward Developers Blog
  • Rubyコードの健康を保つためのgem 5+1選 - Money Forward Developers Blog

    こんにちは、Railsエンジニアの鈴木(信)です。 先日31歳になったんですが、やはり30歳を超えたあたりから衰えたというか、何か体に変化があったように思います。 自身の健康はもちろんですが、コードの健康(品質)のことも気になる年頃になりました。 そこで今回は弊社で利用しているコード解析ツールをご紹介します。 brakeman - セキュリティ brakemanは、簡単なXSSやインジェクション系の脆弱性を検出してくれるgemです。 もちろんこれだけで完全に安心という訳ではありませんが、弊社ではJenkinsのBrakeman Pluginを使って、継続的にモニタリング、修正しています。 使い方 $ brakeman $ brakeman --only-files=path/to/specific_file simplecov - テストカバレッジ simplecovはカバレッジ計測ツール

    Rubyコードの健康を保つためのgem 5+1選 - Money Forward Developers Blog
  • 生産性が上がるオフィスづくり。 - Money Forward Developers Blog

    こんにちは、マネーフォワードのデザイナーの金井です。 1年半お世話になったオフィスを離れて、5月11日から新オフィスに移転しました! 場所は東京都港区の田町エリアなので移転前と同じですが、駅直結の森永プラザビルへの移転です。 (通勤がだいぶラクになります) 今回、移転プロジェクトメンバーにデザイナーとして参加して、コンセプトや内装などに色々と関わることができました。 移転のコンセプトや、デザイナー目線で注力したポイントなどをご紹介させていただきます。 コンセプトは『マネーフォワードらしさが伝わるオフィス』 シンプルでスマートだけどあたたかみがある。 信頼感があり、こだわりあるプロダクトを生み出すと感じさせるオフィス。 ■オフィスエントランス マネーフォワードの雰囲気・空気感、大事にしているマインドのようなものが伝わるようなオフィスにしたかったので、コンセプトに関しては移転をお願いしたオフィ

    生産性が上がるオフィスづくり。 - Money Forward Developers Blog
  • 新サービスを立ち上げる際、エンジニアとしてやって良かった 9個の事 - Money Forward Developers Blog

    エンジニアの渋谷です。 マネーフォワードは3月30日に【給与計算ソフト - MFクラウド給与】という新サービスをローンチさせていただきました。 マネーフォワード、クラウド型給与計算ソフト『MFクラウド給与』(β版)を無料提供開始~法改正や税制改正にも自動対応。企業の給与計算・労務をもっとスマートに~ クラウド給与計算ソフト マネーフォワード クラウド上で完結する格的な給与計算サービスとして、リアルタイム給与計算機能や料率自動反映などを備えております。 サービスの企画自体は、昨年年末に3人でスタートし、年明けから様々な方にお手伝いいただきながら、約3ヶ月の開発期間でローンチしました。 今回は、新サービスをゼロから作り上げるにあたり、エンジニアとしてやって良かった、と思えた事を9つばかり紹介させていただきます。 1:リリース前確認シート 企画がスタートした時に、【ビジョン】【ミッション】と

    新サービスを立ち上げる際、エンジニアとしてやって良かった 9個の事 - Money Forward Developers Blog
  • Railsでリファクタリングにオススメな gem 5選 - Money Forward Developers Blog

    みなさん、こんにちは。 ウェブ・サーバーサイドを担当しています、Railsエンジニアの黒田です。 マネーフォワードも早いもので、サービスインしてから2年以上が経過しました。 サービスをご愛顧してくださっている皆様には、心から感謝しております。 さて、今回のエンジニアブログは「リファクタリング」についてです。 マネーフォワードのように、ユーザーファースト&デリバリー優先で爆速開発を進めていると、サービスとしてはイケてても、コード的にイケてるとは言い難い部分が発生してしまいがちです。 「思いやりのないコード」「可読性が悪いコード」「必要以上に複雑なコード」は、バグ発生率を高め、開発スピードを低下させ、何よりエンジニアの気分を憂にさせてしまいます。。。 マネーフォワードでは継続的かつ積極的にリファクタリングの時間を創る取組みをしていますが、そのなかで今回はRailsのリファクタリングでとても便

    Railsでリファクタリングにオススメな gem 5選 - Money Forward Developers Blog
  • Railsに慣れたRubyistに捧げるUnderscore.js便利メソッド 5選 - Money Forward Developers Blog

    マネーフォワードではサーバーサイドのエンジニアRails/JavaScriptともに担当しています。 どうしてもRailsに比べJavaScriptは記述量が気になることが多かったのですが、Underscore.jsを入れてから劇的に便利になりましたので、ご紹介します! http://underscorejs.org/ 1. where, findWhere published_books = books.where(published: true) ActiveRecordを使っているとこのようにとてもシンプルにかける処理ですが、JavaScriptで基に則って書くと、 var publishedBooks = []; var l = books.length; for (var i = 0; i < l; i++) { if (books[i].published === true

    Railsに慣れたRubyistに捧げるUnderscore.js便利メソッド 5選 - Money Forward Developers Blog