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
980
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
実践、マルチクラウド環境でのコスト管理の現状と未来
kenchan
0
120
エンジニアリング 💰Moneyジャー / Engineering Money-ger
kenchan
2
750
Lv1,2の開発生産性を経営と繋ぐ
kenchan
4
2k
「トップ10プランナー」からはじめる目標設定
kenchan
5
4.1k
負債と言わないことが負債と向き合うこと
kenchan
5
4.2k
可用性No.1へ!「カラーミーショップ」のリ・アーキテクティング
kenchan
0
150
カラーミーショップは私たちが作っています
kenchan
0
1.6k
カラーミーショップ 2022 / COLORME SHOP 2022
kenchan
0
690
Amazon RDS移行のための 性能検証でわかった2つのこと
kenchan
3
4.1k
Other Decks in Programming
See All in Programming
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
160
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
260
チームの境界をブチ抜いていけ
tokai235
0
150
Model Pollution
hschwentner
1
190
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
150
Serena MCPのすすめ
wadakatu
4
950
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
210
XP, Testing and ninja testing ZOZ5
m_seki
3
580
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
620
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
490
スマホから Youtube Shortsを見られないようにする
lemolatoon
14
12k
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
550
Featured
See All Featured
Building an army of robots
kneath
306
46k
Designing for Performance
lara
610
69k
Music & Morning Musume
bryan
46
6.8k
Visualization
eitanlees
148
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
860
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
Art, The Web, and Tiny UX
lynnandtonic
303
21k
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Ҏ֎Λ͠
͍ͯΔͷ͋Δ
ίʔυϦʔσΟϯͷ݁Ռ ಠࣗͷܾࡁαʔϏεΛՃ͢Δͷ ؆୯ ܾࡁํ๏Λ૿ͤͦ͏ ಠࣗͷػೳΛՃͯ͠Αͦ͞͏
ݱࡏͷঢ়گ
Γ͍ͨ͜ͱ ܾࡁαʔϏεΛͭՃ͢Δ ΫϨδοτΧʔυܾࡁͰ͖Δ ίϯϏχܾࡁͰ͖Δ ΤϥʔॲཧͳͲͷ࡞ΓࠐΈ
ຊ൪ڥͰςετ ຊ൪ೖ
Ͱ͖͍ͯΔ͜ͱ ܾࡁαʔϏεΛͭՃ͢Δ ΫϨδοτΧʔυܾࡁͰ͖Δ ίϯϏχܾࡁͰ͖Δ ΤϥʔॲཧͳͲͷ࡞ΓࠐΈ
ຊ൪ڥͰςετ ຊ൪ೖ
·ͱΊ
ࠓͷ͓ എܠ ෦ߏͷղઆ ݱࡏͷঢ়گ
໌͔Β·ͨ ͕ΜΔ͍ͧ