タグ

ブックマーク / blog.giftee.dev (7)

  • RailsでのService Objectの上手な使い方 | giftee engineer blog

    はじめに こんにちは。エンジニアの安達です。前回の記事で触れたRailsアプリのリファクタリング対応の一環で、Service Objectの活用も行っていました。 Service Objectは間違った考え方で使うとアンチパターンに陥るとも言われる設計手法です。業務での活用に際して、どういった留意事項や具体的な実装パターンがあるのか詳しく調べたので、RailsでのService Objectの活用方法全般について記事にまとめてみたいと思います。 Service Objectが欲しくなるとき Rails標準のMVCで業務アプリケーションを実装して行くと、ビジネスロジックが複雑になるにつれて、ControllerまたはModelの処理が肥大化してつらい状態になりやすいです。具体的に言うと、 可読性が悪い テストが書きづらい Modelにメソッドが乱立し、そのModelがビジネス上どういう振る舞

    RailsでのService Objectの上手な使い方 | giftee engineer blog
    fuyu77
    fuyu77 2023/02/28
  • Rails Wayに沿ってシンプルなREST APIを設計する | giftee engineer blog

    はじめに こんにちは。giftee Loyalty Platform(GLP)の開発をしている安達です。GLPはギフティの中では新規事業という性質もあり、Railsのサーバーサイドの設計方針が定まっておらず、実装者によって書き方がバラバラになっている状態でした。そのようなプロダクトに設計方針の導入を試みるリファクタリング対応を私の方で継続的に行って来た経緯があり、その中で得られた知見について記事にしてみたいと思いました。 Rails Wayを活かした設計方針について Railsは”Rails”の名が示す通り、MVCモデルを中心とした強力な設計方針(Rails Way)を提供するフレームワークです。その一方で、実際の業務で扱う複雑な要件に応える際に、Railsの機能を素直に使うだけでは足りない部分が出てくるというのは多くのRailsプログラマを悩ませる問題かと思います。 プレーンなRails

    Rails Wayに沿ってシンプルなREST APIを設計する | giftee engineer blog
    fuyu77
    fuyu77 2022/09/15
  • MUI Data Gridで管理画面のデータテーブルを作る | giftee engineer blog

    はじめに こんにちは。giftee Loyalty Platform(GLP)の開発を行っている安達です。GLPの管理画面を新規開発するにあたって、データテーブル機能にReact向けデザインシステムライブラリMUI(2021年にMaterial UIから名称変更しています)のData Gridという機能を利用して作成したところ、非常に使い勝手が良かったため、記事にしたいと思いました。MUIはドキュメントが懇切丁寧に書かれているライブラリのため、実践的な内容に絞って書きたいと思います。 MUI Data Gridのメリット データテーブルに必要な機能が無料で使える MUIのうち、Data Gridを含む応用的なコンポーネントはMUI Xという括りで実装されていて、MUI Xの中でも特に応用的な機能が月額の有料プランで提供されているのですが、無料プランでもフィルター、ソート、CSVエクスポート

    MUI Data Gridで管理画面のデータテーブルを作る | giftee engineer blog
    fuyu77
    fuyu77 2022/06/07
  • CTO×EM対談 エンジニアリング組織のいまとこれから | giftee engineer blog

    はじめに こんにちは。エンジニアリングマネージャーの渡邊健太です。 ギフティでは1月からの新年度にあわせて全社的な組織改編が行われ、エンジニアリング組織も大きくアップデートがありました。今回はこの組織変更について、その背景や狙いとともに3ヶ月経ったところでの振り返りと今後について、CTOの柳瀬さんに語っていただいた内容をお届けします。 組織改編の概要 2022年度の組織改編を簡単に図解するとこんな感じです。 デフォルメされたこの図だけではわかりにくいので補足すると、従来は事業部制で各事業ごとにビジネスとエンジニアとが同居する組織構成でしたが、今回の組織改編では事業のくくりは残しつつ技術職を技術部として1つにまとめた形になります。 技術組織再編の狙い 渡邊:これまで事業部ごとに別れていたエンジニアリング組織が、今回技術部としてまとまりました。その大きな狙いを教えて下さい。 柳瀬:これまで

    CTO×EM対談 エンジニアリング組織のいまとこれから | giftee engineer blog
    fuyu77
    fuyu77 2022/05/22
  • サーバーサイドでStripe APIを用いた3Dセキュア決済の実装について | giftee engineer blog

    はじめに こんにちは。giftee Loyalty Platformの開発を行っている安達です。先日決済代行サービスStripeを用いた3Dセキュアの実装をする機会があり、その際の実装の知見をシェアしたいと思います。 3Dセキュアの実装方法についてはStripeの公式ドキュメントに詳しいので、基的にはこちらやAPIドキュメントを参照して欲しいのですが、Stripeに用意されている3Dセキュアを導入するための様々なアプローチのうち、サーバーサイドでStripe APIを用いる実装について、全体像や注意点が具体的に分かるように書きたいと思うので、参考になれば幸いです。 3Dセキュア導入のメリットとデメリット 3Dセキュアとは、クレジットカード決済時に通常のクレジットカード情報の入力に加えて、クレジットカード会社のログイン画面を挟むことによって、よりセキュアな決済手段を提供できるサービスのこと

    サーバーサイドでStripe APIを用いた3Dセキュア決済の実装について | giftee engineer blog
    fuyu77
    fuyu77 2021/12/28
  • giftee engineer blog

    株式会社ギフティのエンジニア一同による技術ブログです。

    giftee engineer blog
    fuyu77
    fuyu77 2021/12/15
  • 曜日はデータの定義に必要か? | giftee engineer blog

    こんにちは。 エンジニアのkomaと申します。 普段はあるクライアントの eGift システムの保守運用開発を中心に行っています。 今回の記事は、 設計の失敗をどう解決するかについてです。 まずは失敗のリカバリをどうするか先人の知恵を頼りにしてみましょう。 Denzel Curry この動画はアメリカのラッパー Denzel Curry と Kenny Beats の共作アルバムのビデオです。 UNLOCKED という新しいアルバムが発表する前にリークされてしまったので、 それを取り返すために旅に出る、 というのがこの動画の内容です (一番好きなシーンは二人がギアのサイズでケンカするところです) 。 二人はグアダラハラのギターセンターで買ったよくわからない機械でファイルを取り返す旅に出ましたが、 我々にはそんなものはないので、 設計の何が問題だったかを分析する力と、 特定した問題を解決する

    曜日はデータの定義に必要か? | giftee engineer blog
    fuyu77
    fuyu77 2021/02/05
  • 1