Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Extending Active Merchant
Search
Kenichi Takahashi
September 21, 2014
Programming
2
970
Extending Active Merchant
RubyHiroba 2014 生活発表会
補足のコードリーティングメモは
https://gist.github.com/kenchan/d90dafa88e8a6938c129
です。
Kenichi Takahashi
September 21, 2014
Tweet
Share
More Decks by Kenichi Takahashi
See All by Kenichi Takahashi
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
1.6k
「トップ10プランナー」からはじめる目標設定
kenchan
5
3.4k
負債と言わないことが負債と向き合うこと
kenchan
5
3.5k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
72
カラーミーショップは私たちが作っています
kenchan
0
1.4k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
600
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
3.7k
ポストコロナの商売を支えるカラーミーショップのアーキテクチャのこれから / The new architecture of COLORME SHOP in the Post-COVID-19 world
kenchan
2
2k
ペパボのエンジニアリングマネジメント一問一答 / engineering-management-q-and-a-in-gmo-pepabo
kenchan
7
2.5k
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
0
110
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
930
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
300
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
100
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.7k
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
180
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
Jakarta EE meets AI
ivargrimstad
0
650
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.2k
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
Code Review Best Practice
trishagee
64
17k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Being A Developer After 40
akosma
87
590k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
A designer walks into a library…
pauljervisheath
204
24k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Transcript
GMO Pepabo, Inc. Kenichi TAKAHASHI 2014/09/21 RubyHiroba 2014 Extending Active
Merchant
8IPBNJ !LFODIBO 8PSLBU(.01FQBCP *OD
None
None
None
ΤϯδχΞੵۃ࠾༻த http://pepabo.com/recruit/career/engineer/
GMO Pepabo, Inc. Kenichi TAKAHASHI 2014/09/21 RubyHiroba 2014 Extending Active
Merchant
ࠓͷ͓ എܠ ෦ߏͷղઆ ݱࡏͷঢ়گ
͜ͷͷഎܠ
ϖύϘͷٕज़ج൫νʔϜ ಛఆͷαʔϏεͷ։ൃʹίϛοτͯ͠ ͍ͳ͍ ֤ࣗͰΔ͖͜ͱΛݟ͚͖ͭͯͯվ ળ͍ͯ͘͠ εέʔϧ͢ΔࣄΛ͠ͳ͍ͱ͍͚ͳ͍
͍͠
None
՝ۚ ΄ͱΜͲͷαʔϏεͰ՝ۚػೳ͕͋Δ ݸผͷαʔϏεʹґଘ͠ͳ͍ ࣾHFN͕ᘳͰͳ͔ͬͨ ܾࡁํ๏ͷબࢶଟ͍ํ͕͍͍
બࢶΛ؆୯ʹ૿ݮͰ͖Δͱخ͍͠
छྨ͕ଟ͍ ܾࡁ ߦ αʔϏε (.0ϖΠϝϯτήʔτΣΠ 1BZQBM
FUD ࢧ͍ํ๏ ΫϨδοτΧʔυ ίϯϏχܾࡁ FUD
͍͠
ݱঢ়Ѳ αʔϏεຖͷ՝ۚίʔυΛಡΉ طଘͷࣾHFNΛಡΉ ΅ΜΓͱઃܭΛߟ͑Δ 044Λ୳͢
None
"DUJWF.FSDIBOU ࣮͕͋Δ ֦ுϙΠϯτ͕༻ҙ͞Ε͍ͯΔ ֦ு͞ΕͨHFNެ։͞Ε͍ͯΔ
044Λ͏͜ͱ Ϣʔβ͕͍Δ ΠϯλϑΣʔε͕ܾΊΒΕ͍ͯΔ ࣗͨͪͷ༻݅ʹ߹͏͔Θ͔Βͳ͍
෦ߏͷղઆ
ௐ͍ͨ͜ͱ ܾࡁαʔϏεͷՃํ๏ ܾࡁํ๏૿ͤΔ͔ ܾࡁαʔϏεಠࣗͷػೳΛΈࠐΊ Δ͔
ओཁͳΫϥε kenchan ~/src/github.com/shopify/active_merchant (master) $ tree lib lib !"" active_merchant
# !"" billing # # !"" credit_card.rb # # !"" gateway.rb # # !"" gateways # # # !"" #{your_payment_gateway}.rb # # $"" response.rb # !"" *.rb !"" active_merchant.rb !"" activemerchant.rb $"" support !"" *.rb 12 directories, 181 files
DSFEJU@DBSESC
DSFEJU@DBSESC ΫϨδοτΧʔυΛදݱ͍ͯ͠Δ ੩తͳόϦσʔγϣϯ͕Ͱ͖Δ Χʔυ൪߸ͷϑΥʔϚοτ ༗ޮظݶ
දࣔ༻ͷศརϝιου͕͋Δ
HBUFXBZSC
HBUFXBZSC ܾࡁαʔϏεͷجఈΫϥε ΠϯλϑΣʔεΛఆ͍ٛͯ͠Δ QVSDIBTF SFGVOE ศརϝιου͕ఆٛ͞Ε͍ͯΔ
SFRVJSFT
SFTQPOTFSC
SFTQPOTFSC ܾࡁ݁ՌΛදݱ͍ͯ͠Δ ෳͷϨεϙϯεΛ·ͱΊΔػೳ͕ ͋Δ SFRVFTUͳ͍Μͩʜ
ςετʹ͍ͭͯ
ओཁͳςετ kenchan ~/src/github.com/shopify/active_merchant (master) $ tree test test !"" fixtures.yml
!"" remote # $"" gateways # $"" your_payment_gateway_test.rb !"" schema # $"" your_payment_gateway # $"" schema.xsd !"" support # $"" mercury_helper.rb !"" test_helper.rb $"" unit !"" credit_card_test.rb !"" gateways # $"" your_payment_gateway_test.rb !"" multi_response_test.rb !"" rails_compatibility_test.rb $"" response_test.rb 10 directories, 303 files
ςετʹ͍ͭͯ SBLFUFTUSFNPUFͰςετڥʹ ଓ͢Δ&&ςετ SBLFUFTUͰϢχοτςετ
ܾࡁαʔϏε ΛՃͯ͠ΈΔ
http://example.com/image.png
ZPVS@QBZNFOU@HBUFXBZSC HFOFSBUPSTHBUFXBZUFNQMBUF HBUFXBZSC͕ςϯϓϨʔτʹͳͬͯ ͍Δ ಠࣗͷϝιουΛՃ͍ͯ͠Δͷ ͋Δ QVSDIBTFʹDSFBEJU@DBSEҎ֎Λ͠
͍ͯΔͷ͋Δ
ίʔυϦʔσΟϯͷ݁Ռ ಠࣗͷܾࡁαʔϏεΛՃ͢Δͷ ؆୯ ܾࡁํ๏Λ૿ͤͦ͏ ಠࣗͷػೳΛՃͯ͠Αͦ͞͏
ݱࡏͷঢ়گ
Γ͍ͨ͜ͱ ܾࡁαʔϏεΛͭՃ͢Δ ΫϨδοτΧʔυܾࡁͰ͖Δ ίϯϏχܾࡁͰ͖Δ ΤϥʔॲཧͳͲͷ࡞ΓࠐΈ
ຊ൪ڥͰςετ ຊ൪ೖ
Ͱ͖͍ͯΔ͜ͱ ܾࡁαʔϏεΛͭՃ͢Δ ΫϨδοτΧʔυܾࡁͰ͖Δ ίϯϏχܾࡁͰ͖Δ ΤϥʔॲཧͳͲͷ࡞ΓࠐΈ
ຊ൪ڥͰςετ ຊ൪ೖ
·ͱΊ
ࠓͷ͓ എܠ ෦ߏͷղઆ ݱࡏͷঢ়گ
໌͔Β·ͨ ͕ΜΔ͍ͧ