サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
TGS2024
blog.giftee.dev
はじめに こんにちは。エンジニアの安達です。前回の記事で触れたRailsアプリのリファクタリング対応の一環で、Service Objectの活用も行っていました。 Service Objectは間違った考え方で使うとアンチパターンに陥るとも言われる設計手法です。業務での活用に際して、どういった留意事項や具体的な実装パターンがあるのか詳しく調べたので、RailsでのService Objectの活用方法全般について記事にまとめてみたいと思います。 Service Objectが欲しくなるとき Rails標準のMVCで業務アプリケーションを実装して行くと、ビジネスロジックが複雑になるにつれて、ControllerまたはModelの処理が肥大化してつらい状態になりやすいです。具体的に言うと、 可読性が悪い テストが書きづらい Modelにメソッドが乱立し、そのModelがビジネス上どういう振る舞
こんにちは、ギフティでエンジニアをやっている中屋です! 最近(というほどでもないですけど)、LINE や Facebook Messenger、Slack などの普及でメールを書くことはめっきり減ってしまった現代ですが、システム開発をしていると何かとメール送信を扱う場面がありますよね。 ちょうど AWS SDK for Go を利用してメール送信を実装したので、今回はその解説をします。 ※ ちなみにサムネ画像の gopher くんは tenntenn さんことTakuya Ueda さんのものを拝借しました(かわいい) 前提 Go SDK v2 SES v2 を利用します。 Go Version は 1.17 です。 SMTP or API or SDK SES にリクエストを送る方法として、SMTP で送る方法と API を叩く方法があります。 これから新規で作る場合は基本的に API
はじめに こんにちは。giftee Loyalty Platform(GLP)の開発をしている安達です。GLPはギフティの中では新規事業という性質もあり、Railsのサーバーサイドの設計方針が定まっておらず、実装者によって書き方がバラバラになっている状態でした。そのようなプロダクトに設計方針の導入を試みるリファクタリング対応を私の方で継続的に行って来た経緯があり、その中で得られた知見について記事にしてみたいと思いました。 Rails Wayを活かした設計方針について Railsは”Rails”の名が示す通り、MVCモデルを中心とした強力な設計方針(Rails Way)を提供するフレームワークです。その一方で、実際の業務で扱う複雑な要件に応える際に、Railsの機能を素直に使うだけでは足りない部分が出てくるというのは多くのRailsプログラマを悩ませる問題かと思います。 プレーンなRails
はじめに こんにちは。giftee Loyalty Platformの開発を行っている安達です。先日決済代行サービスStripeを用いた3Dセキュアの実装をする機会があり、その際の実装の知見をシェアしたいと思います。 3Dセキュアの実装方法についてはStripeの公式ドキュメントに詳しいので、基本的にはこちらやAPIドキュメントを参照して欲しいのですが、Stripeに用意されている3Dセキュアを導入するための様々なアプローチのうち、サーバーサイドでStripe APIを用いる実装について、全体像や注意点が具体的に分かるように書きたいと思うので、参考になれば幸いです。 3Dセキュア導入のメリットとデメリット 3Dセキュアとは、クレジットカード決済時に通常のクレジットカード情報の入力に加えて、クレジットカード会社のログイン画面を挟むことによって、よりセキュアな決済手段を提供できるサービスのこと
こんにちは、ギフティでエンジニアをしている @egurinko です。普段は toB 向けプロダクトの開発をしていて、趣味は 1 年中スノーボードです! 先日ギフティ社内の LT 大会である TechBash にて、「システムリニューアルに伴う monorepo 構成を考える」というタイトルで LT させていただきましたので、その模様をお届けいたします。 スライドはこちらに公開しております。 背景 ギフティには gift wallet というアプリがあります。gift wallet は URL 形式で発行されたギフトをなくさないように保存する、文字通り「ギフトのお財布」的なアプリです。リリースしてから順調にユーザが増えており、今後さらに大幅な機能追加が見込まれました。また、この段階で UI のフルリニューアルも見込まれ、UI に大きな柔軟性が求められることになりました。 2021年7月現在
はじめまして。髙田と申します。 2020年に新卒でギフティに入社し、SaaS事業部でエンジニアとして働いております。 6月に開催された社内イベントのTechBashにて、「Macの開発環境構築2021」というタイトルで発表し、開発効率を向上させるために便利なツールをご紹介しました。 以下、発表内容です。 発表の目的 開発に役立つツールを紹介して、ちょっとでもみなさんの開発効率向上に役立てたらいいな Takadaが知らないツールを教えてほしい 前提 今回はMacを使うことを前提としている 話すこと Macの設定 ランチャーアプリ 画面分割 ターミナル関連で便利なツール DBMSのGUIツール ブラウザ関連 話さないこと エディタ関連 戦争が起こりそうなので何も話しません VSCodeがおすすめです(無料で使える最強エディタ) Macの設定 キーの入力速度を爆速にする Macの下図の設定で、「
はじめに こんにちは、ギフティでエンジニアをしている @megane42 といいます。社内では、主に giftee Campaign Platform という Rails アプリの開発と運用に携わっています。 giftee Campaign Platform は、例えば「Twitter でフォロー & リツイートをすると抽選でeギフトが当たる」のような、ギフティのeギフトを活用したキャンペーンをかんたんに実施することができるプロダクトです。おかげさまで非常に多くのお客様にご活用していただいており、2020 年 8 月は 1 ヶ月間だけで 200 万回以上のキャンペーン参加が行われました。分間リクエスト数が 1 万回を超えることも珍しくありません。 しかし、利用者数が増えるのに伴って、どうしてもアプリエラーの発生件数も増加してしまいます。現状だと、大まかに毎日 2, 3 件ほどのエラーが発生
はじめに こんにちは、CTO室でコーポレートエンジニアしている垣内(@kakinotane)です。 普段は社内ネットワークの管理やIT統制、社内で利用するシステムに関する諸々を担当しております。 昨今(2020年9月現在)の情勢により、様々な企業がテレワークの導入を進めている中で、 セキュアな社内ネットワークやサービスへの接続方法として、VPNを導入している企業も多いかと思います。 そんな中、弊社も例に漏れず、このタイミングでAWS Client VPNを導入してみました。 (AWS Client VPNの詳しい説明は以下となります。) https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-admin/what-is.html 今回は、そんなAWS Client VPNの導入に関するお話をしていきます。 結論から言ってしまえば、「こん
はじめに こんにちは、ギフティの阿部(@memetics10)です。 普段の仕事では web エンジニアとして giftee for business の価値を最大化すべく、新規プロダクトや社内システムの開発に携わっています。 giftee for business とは、弊社が提供している B to B サービスです。 ギフティといえば C to C サービス のイメージが強いかもしれません(自分も入社前は B to B をやってるとは知りませんでした)が、実際には B to B でも多くの e ギフトが流通しています。 さて、今回はそんな B to B 案件を管理している社内システムで、請求書の作成を自動化したお話をご紹介します。 giftee for business の案件管理システム giftee for business では、ギフティの発行する e ギフトを利用して、販売促進
こんにちは、giftee19新卒の横川です。 5/17日に初めての勉強会 ”エンジニアの新人研修Night” に参加してきました。 この記事では “エンジニアの新人研修Night” の概要 勉強会での感想と学び 感想と反省 についてシェアしていきたいと思います。 イベントの詳細は以下のリンクから https://connpass.com/event/122422/ “エンジニアの新人研修Night” の概要 “エンジニアの新人研修Night” のテーマはその名の通り、エンジニアの新人研修について。 具体的に言うと、主に以下について 各社がエンジニアの新人研修をどのように行っているのか 新人研修を実際に受けて、どんな学びがあったのか 研修をやった側4名、研修を受けた側4名がLTを行うという勉強会です。 私も研修を受けた側としてLT発表をしてきました。 使った資料は最後に共有していますので、よ
こんにちは。gifteeの小澤です。 gifteeでは毎週月曜日に各エンジニア持ち回りでLTをやっています。 今回BASIC認証に関してのLTを発表したので、その際のスライドを公開します。 プロダクトをリリースするまでの間、BASIC認証を使用して一般公開から保護するケースは 比較的あるかと思います。 今回は、BASIC認証を使っていることを視覚的に判別したいという要求が生じたたため、 Railsでの解決方法についてスライドにまとめました。
giftee の大谷です。前回に引き続いてRuby Kaigi 2019 の Day2 の様子やセッションの内容を振り返ります!この日も興味深いセッションが沢山ありましたが、個人的に気になった Day2 Opening Keynote から、簡単な内容の紹介と感想を書きたいと思います。(StripeのSorbetはすごくワクワクしました) All bugfixes are incompatibilities (@nagachika) セッションの概要 CRubyのいわゆるstable versionのメンテナーの方々が、日々何を考えてどのようにメンテナンスされているかというお話でした。 stable branchにおけるbugfixの流れ ざっくりとは以下のような流れでbugfixがなされ、1つのstable versionにつき1名のメンテナーの方が付くそうです。 trunk(いわゆるd
このページを最初にブックマークしてみませんか?
『giftee engineer blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く