inflearn logo
知識共有
inflearn logo

MAU 3,000万人を誇るTossの開発者が教える金融バックエンド実践:Outbox、冪等性、Dual Write

二重決済や外部決済・DBの不整合に悩む開発者のために、Tossでのバックエンド実務経験を活かし、堅牢な精算システムを設計・実装します。

難易度 入門

受講期間 無制限

JavaScript
JavaScript
Blockchain
Blockchain
PostgreSQL
PostgreSQL
Docker
Docker
TypeScript
TypeScript
JavaScript
JavaScript
Blockchain
Blockchain
PostgreSQL
PostgreSQL
Docker
Docker
TypeScript
TypeScript

学習した受講者のレビュー

4.2

5.0

배현우

受講進捗96%時点のレビュー

テストを基に実装したい目標を設定し、そのテストを基にアプリケーションのロジックを実装していく姿が印象的でした。 - そのため、自然とファイルも増えていく傾向はありますが(笑) それでも、コードの書き方自体もClean Codeに沿うように教えてくださり、 講義のタイトルどおり、基準となる要素に焦点を当てた講義です。 考え方によっては、当然のことのように感じられる内容かもしれません。しかし、こうしたパターンや設計について、改めて考えさせられるテーマでした。 一つひとつ一緒に進めながら、自分自身を改めて振り返ることができる、とても良い講義だと思います。 ありがとうございました。

5.0

두쫀쫀쿠

受講進捗75%時点のレビュー

ライブセッションでHongさんが直接おっしゃっていましたが、 "AIによって自信をなくすのではなく、AIそのものを活用できる人になろう" という観点から、この講義はとても有益でしたㅎㅎ この講義を見る前にAIを使うとしたら、こんなふうに依頼していたと思います。 - "PGと連携して処理する注文APIを作って" でも、この講義の内容をもとに自分がさらに成長し、学ぶことができたので、今ならこんなふうに依頼できると思います。 - "PGと連携するんだけど、リトライと冪等性を守ってほしい。重複して支払われることに備えたい。また、外部ドメイン(この講義ではブロックチェーンですが)の観点から考慮すべき点は~~だよ。この観点も取り入れて" こんなふうに、自分自身が質問そのものをもう少し構成立ててできる人になれたと思いますㅎㅎ 良い内容をありがとうございました!

5.0

이병석

受講進捗77%時点のレビュー

当たり前の内容かもしれませんが、その分、自分の知識を見直す良いテーマでした。 思っていた以上に基礎が身についていないことを改めて実感し、決済の観点から見ると、想像以上に多くの注意すべき点があるのだと分かりました。 良い内容をありがとうございました!

この講座で身につくこと

  • 決済・精算ドメインの取引ステータスとデータ整合性要件を定義する

  • 冪等キーと重複リクエスト防止ロジックにより、二重支払い・重複処理を防止する

  • トランザクション分離レベルと同時実行制御を適用し、残高・取引状態を安全に変更する

  • DBと外部決済システム間の不整合を考慮し、リトライ・補償・保留処理を設計する

  • イベント駆動処理とアウトボックスパターンにより、取引結果を安定して伝達する

  • 失敗した取引を追跡し、再処理できるステートマシンと運用構造を実装する

  • 入金・出金・手数料・精算・レポートを連携した中級レベルの決済システムを完成させる

  • 精算データの照合・検証クエリとレポートを作成し、欠落・重複・金額差異を検知する

  • 同時実行性・障害・重複リクエストのシナリオをテストし、ログとモニタリングで原因を分析する

次のような方に
おすすめです

受講対象

  • 決済機能は実装したものの、冪等性と同時実行制御が不十分なバックエンド開発者

  • DB取引状態と外部決済承認結果が異なる問題を解決しようとする開発者

  • トランザクション・分離レベル・ロックを実際の決済事例を通して深く理解したい初級〜中級開発者

  • 入金・出金・精算・照合レポートが連携する金融バックエンドを設計しようとする開発者

  • 失敗した取引の再試行と補償処理、運用追跡の仕組みを構築しようとしている開発者

  • PostgreSQLなどのリレーショナルデータベースを基盤とした実践的なシステム設計能力を身につけたい開発者

こんにちは
Hongです。

インフラーン認証

経歴認証済み

13,084

受講生

678

受講レビュー

185

回答

4.8

講座評価

33

講座

家でぶらぶら過ごしているうちに開発に興味を持ち、開発の勉強を始めました。現在は板橋でプラットフォームサーバーの開発を担当しています。私が勉強してきた方法や、実務で直面するさまざまな問題とその解決策を皆さんにお伝えしたいと考え、知識共有者としての活動を続けています。

 

講義は、決して私だけの知識によって作られているわけではありません。すべての講義には、共に作り上げてくださる方々がいます。

 

[知識共有者の経歴]

[前] サンドボックスIP関連のブロックチェーン開発者

[前] メタバースバックエンド開発者

[現] 板橋で停滞していくサーバー開発者

 

[インタビュー歴]

[その他のお問い合わせ]

[公式サイトおよびSNS]

もっと見る

カリキュラム

全体

48件 ∙ (10時間 2分)

講座資料:

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

5件

4.2

5件の受講レビュー

  • byeongseogi492130님의 프로필 이미지
    byeongseogi492130

    受講レビュー 12

    ∙

    平均評価 5.0

    5

    受講進捗77%時点のレビュー

    当たり前の内容かもしれませんが、その分、自分の知識を見直す良いテーマでした。 思っていた以上に基礎が身についていないことを改めて実感し、決済の観点から見ると、想像以上に多くの注意すべき点があるのだと分かりました。 良い内容をありがとうございました!

    • jhong
      知識共有者

      ある程度当然の内容ではありますよね(笑)でも、それだけ注意すべき点が多いテーマだと思います!!良い評価ありがとうございます 😄

  • kslj82586229님의 프로필 이미지
    kslj82586229

    受講レビュー 11

    ∙

    平均評価 5.0

    5

    受講進捗65%時点のレビュー

    大まかな範囲を説明するというより、一つひとつ実装を進めながら、発生する問題点を中心に解説していく形式です。 そのため、全体の構造を理解するのは少し難しく、自分でもある程度コードを復習する必要があるように感じました。 また、ブロックチェーンに関する考え方も少し知っておくと、より理解しやすいと思います。ブロックチェーンのドメインそのものがテーマではないとのことでしたが、コードは基本的にブロックチェーンのドメインを前提としているので、途中で解説される細かな説明も聞き逃さず、しっかり把握する必要があります。 それでも、内容自体にはかなり満足していますし、自分が目指している勉強方法に近く、ついていきやすかったです。 良い講義をありがとうございました!

    • achoi68339754님의 프로필 이미지
      achoi68339754

      受講レビュー 4

      ∙

      平均評価 5.0

      5

      受講進捗75%時点のレビュー

      ライブセッションでHongさんが直接おっしゃっていましたが、 "AIによって自信をなくすのではなく、AIそのものを活用できる人になろう" という観点から、この講義はとても有益でしたㅎㅎ この講義を見る前にAIを使うとしたら、こんなふうに依頼していたと思います。 - "PGと連携して処理する注文APIを作って" でも、この講義の内容をもとに自分がさらに成長し、学ぶことができたので、今ならこんなふうに依頼できると思います。 - "PGと連携するんだけど、リトライと冪等性を守ってほしい。重複して支払われることに備えたい。また、外部ドメイン(この講義ではブロックチェーンですが)の観点から考慮すべき点は~~だよ。この観点も取り入れて" こんなふうに、自分自身が質問そのものをもう少し構成立ててできる人になれたと思いますㅎㅎ 良い内容をありがとうございました!

      • jhong
        知識共有者

        ライブセッションをご覧になったんですね(笑)恥ずかしいです。 また今度、一緒にライブセッションをやりましょう。私にとっても有意義な時間でした。 よい一日をお過ごしください!! 😄

    • kasju72796603님의 프로필 이미지
      kasju72796603

      受講レビュー 3

      ∙

      平均評価 5.0

      5

      受講進捗96%時点のレビュー

      テストを基に実装したい目標を設定し、そのテストを基にアプリケーションのロジックを実装していく姿が印象的でした。 - そのため、自然とファイルも増えていく傾向はありますが(笑) それでも、コードの書き方自体もClean Codeに沿うように教えてくださり、 講義のタイトルどおり、基準となる要素に焦点を当てた講義です。 考え方によっては、当然のことのように感じられる内容かもしれません。しかし、こうしたパターンや設計について、改めて考えさせられるテーマでした。 一つひとつ一緒に進めながら、自分自身を改めて振り返ることができる、とても良い講義だと思います。 ありがとうございました。

      • jhong
        知識共有者

        こんにちは、ヒョヌさん!! やはりこのテーマについては、さまざまなエッジケースが発生する状況を想定しながら作業する必要があるため、自然とこの順番で講義を撮影することになりました(笑) 有益な内容だと感じていただけたら嬉しいです。今後もより良い内容をお届けしていきます。 ありがとうございます!

    • beat67448333님의 프로필 이미지
      beat67448333

      受講レビュー 1

      ∙

      平均評価 1.0

      修正済み

      1

      受講進捗25%時点のレビュー

      私はよほどのことがない限り、こうしたレビューを書くことはないのですが、ブロックチェーンを初めて学ぶ立場からすると、講義の内容が少し難しく感じられました。 ブロックチェーン関連の用語やライブラリが出てきますが、それぞれがどのような役割を果たすのかよく分からないまま全体の流れを聞いているため、内容がなかなか頭に入ってきません。説明中に画面に表示されていた資料には「サーバーは秘密鍵で送信を承認します」とだけ書かれていましたが、それだけでは、講師の方がお話しになるさまざまな状況を覚えるのも理解するのも難しいです。 質問欄でもお伝えしましたが、講師の方がさまざまな状況を紹介したかったということは十分理解しています。ただ、実務でも同僚に馴染みのない機能を説明するときは、まずその機能がなぜ必要なのか、どのような背景を知っておくべきなのかを説明しますよね。そのうえで、機能が実際にどのように動くのかを説明すれば、初めて聞く人でも流れを追いやすくなります。私のようにブロックチェーンを初めて学ぶ人にも、そのような順序で説明していただけたら、もっと理解しやすかったと思います。こうした観点から、講義の順序や資料を一度見直していただければと思います。 最近はAIでもいろいろ調べられるため、有料講義では、講師の方ご自身が基礎から順を追って丁寧に説明してくださることを期待していました。しかし、コードや講義資料の大半がAIで作成されたような印象を受け、残念に思ったため、レビューを書くことにしました。

      • jhong
        知識共有者

        こんにちは。--様、レビューをお寄せいただきありがとうございます。 ご指摘いただいたとおり、至らない点はかなりあると感じています。 私が意図していたのは、ブロックチェーンについて詳しく知らなくても、「Dual Write」というテーマを理解していただくことでした。 そのため、ブロックチェーンについては深く掘り下げていません。 ・講義の途中で、簡単に説明することを目指していたからです。 ブロックチェーンのドメインを選んだ理由は単純です。MSAの観点から見たAPIサーバーよりも、はるかに複雑で、考慮すべき点が多いからです。 ・内容は難しいほど理解しにくいですが、理解できたときには、より多くのことを学べるからです。 その結果、ブロックチェーンに関する内容は自然と最小限になってしまったのだと思います。 ・講義の紹介文も意図的にそのように書いたつもりでしたが、私たちのチームの表現力が足りませんでした(泣)。 どのような言葉を尽くしても--様にご満足いただけず、失望させてしまうばかりで、申し訳ありません。 今後は、より有益な内容をお届けできるよう努めてまいります。 ・資料の作成にはAIの助けを借りましたが、基本的には私たちがすべて整理した内容で進めており、コードについては一切助けを借りていません……!!ご参考までにお伝えします!

    Hongの他の講座

    知識共有者の他の講座はこちら

    似ている講座

    同じ分野の他の講座を見てみましょう!

    期間限定セール、あと21:01:49日で終了

    ¥61,160

    60%

    ¥19,212