Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
JP_Stripes Connect 2019 登壇資料
Search
Yausufmi Nishiyama
March 21, 2019
2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JP_Stripes Connect 2019 登壇資料
昨年夏の「10年間使い続けているPayPalからStripeへ? 〜 あるウェブディレクターの軌跡 〜」には実は続編があった?
Yausufmi Nishiyama
March 21, 2019
More Decks by Yausufmi Nishiyama
See All by Yausufmi Nishiyama
デザインの自由を奪うのはCMSじゃない
nishi_yama
0
33
[2026年版]手軽さや自由度のメリットだけじゃない、SaaS型CMSで作る「クライアントから支持されるウェブサイト」
nishi_yama
0
47
“未完成”というもう1つの選択肢、MovableType.net 専用テーマシリーズ HalfMadeThemes
nishi_yama
0
36
"未完成"というもう1つの選択肢、MovableType.net専用テーマ「HalfMadeThemes」
nishi_yama
0
61
ウェブディレクターの傾聴力が引き上げる「企画力」
nishi_yama
0
93
手段と目的を間違えないための「Movable Typeを活用したウェブサイトエコシステム」
nishi_yama
0
390
ECサイト構築にもう1つの選択肢を
nishi_yama
0
2.3k
はじめてのMovable Type 〜ゼロからの始め方・選び方〜
nishi_yama
0
500
Movable Typeで理解する「CMS選びのポイント」
nishi_yama
1
290
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Making the Leap to Tech Lead
cromwellryan
135
10k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
Site-Speed That Sticks
csswizardry
13
1.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
RailsConf 2023
tenderlove
30
1.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
230
The Language of Interfaces
destraynor
162
27k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
Transcript
͍ؒଓ͚͍ͯΔ 1BZ1BM͔Β4USJQFʁ ʙ͋ΔΣϒσΟϨΫλʔͷيʙ +1@4USJQFT$POOFDU BUΤϜΦʔςοΫεגࣜձࣾ
ϋογϡλάɹ+14$ ࣗݾհ
ϋογϡλάɹ+14$ ࡾͷ൧ΑΓ৯Δ͜ͱɺҿΉ͜ͱ͕͖ ࢁɹହ࢙ʢʹ͠·ɹ͢;Έʣ גࣜձࣾδϟΫελϙδγϣϯɹදऔకʗσΟϨΫλʔ ݄ۀɺ݄๏ਓԽʢ๏ਓظʣ .PWBCMF5ZQFΛϓϥοτϑΥʔϜʹΣϒαΠτΛߏங ɹ1SP/FUʢγοΫεɾΞύʔτࣾύʔτφʔʣՃໍ ɹ.5՜ҔΛελʔτ ɹ.5%%$.FFUVQ)0,,"*%0։࠵ ɹΣϒσΟϨΫγϣϯݚڀձʢԾশʣΛελʔτ
ɹ.5%%$.FFUVQ)0,,"*%0։࠵
ϋογϡλάɹ+14$ ւಓࡳຈࢢ͔Βདྷ·ͨ͠
ϋογϡλάɹ+14$ ͓ؾʹೖΓͷॴ େऺञԶྲྀ ϏʔϧʢαοϙϩΫϥγοΫʣ ഋԁʢ੫ผʣ ݄ͷൢച ͓Αͦ ഋʢళฮʣ
ϋογϡλάɹ+14$ ͓ؾʹೖΓͷॴ େऺञԶྲྀ ݩβϯΪˍ৽βϯΪ
ϋογϡλάɹ+14$ δϟΫελϙδγϣϯ
ϋογϡλάɹ+14$ σΟϨΫλʔɹ໊ σβΠφʔʢ)5.-$44ΤϯδχΞʣ໊ .5ςϯϓϨʔτΤϯδχΞɹ໊ ओͳۀ ɾΣϒαΠτߏஙʗΣϒίϯαϧςΟϯά ɾࣗࣾ։ൃൢച ɾΣϒγεςϜ։ൃ ɾҹσβΠϯ΄͔ IUUQTXXXMBUODPN
ϋογϡλάɹ+14$ ຊΠϕϯτͷը૾ܥσβΠϯΛ୲
ϋογϡλάɹ+14$ ࣗࣾϓϩμΫτ4,&-&50/$"35ͷ։ൃɾൢച
ϋογϡλάɹ+14$ 4,&-&50/$"35 w ݄ϦϦʔε w )5.-ςϯϓϨʔτࣜͷγϣοϐϯάΧʔτ w ओʹΣϒσβΠφʔ͞ΜΣϒ੍࡞ձ͚ࣾ w ϓϥάΠϯػߏʹΑΔ֦ுੑ
w ൢച૯͓Αͦຊ
ϋογϡλάɹ+14$ %ZOBNJD1SFWJFX *NBHF6QMPBE6UJMJUZ .PWBCMF5ZQF༻ϓϥάΠϯͷ։ൃɾൢച
ϋογϡλάɹ+14$ *NBHF6QMPBE6UJMJUZ w ݄ϦϦʔε w .PWBCMF5ZQFͷը૾ΞοϓϩʔυػೳΛڧԽ w ݸਓແঈ൛ɺ௨ৗ൛ͱ1SP൛Λఏڙ w ൢച૯͓Αͦຊ
ϋογϡλάɹ+14$ %ZOBNJD1SFWJFX w ݄ϦϦʔε w .PWBCMF5ZQFͷϓϨϏϡʔػೳΛڧԽ w ௨ৗ൛ͱ1SP൛Λఏڙ w ൢച૯͓Αͦຊ
ϋογϡλάɹ+14$ ࠓɺօ͞Μʹ͓͢Δ͜ͱ
ϋογϡλάɹ+14$ 4USJQFΛར༻͢Δ͜ͱͰɺ ϊϯϓϩάϥϚʔͳϫλγͰ ࢥ͍ͬͯͨΑΓͣͬͱ؆୯ʹ Γ͔ͨͬͨ͜ͱ͕࣮ݱͰ͖ͨ
ϋογϡλάɹ+14$ ͜Ε·Ͱར༻͖ܾͯͨ͠ࡁαʔϏε
ϋογϡλάɹ+14$
ϋογϡλάɹ+14$ 1BZ1BM w ɺ·ͩݸਓࣄۀओ w &$αΠτߏஙͷґཔ͕૿͖͑ͯͨ w Ͱ͖Δ͚ͩܦඅ͔͚ͨ͘ͳ͍ w ςετڥʢ4BOECPYʣ͕ར༻Ͱ͖ͨ
w "1*Ͱ͍Ζ͍ΖͰ͖ͦ͏
ϋογϡλάɹ+14$
ϋογϡλάɹ+14$ Ϋϩωί8&#ίϨΫτ w ओʹΫϥΠΞϯτͷ&$αΠτͰಋೖ w ֹ݄ҡ࣋අ͕͔͔Βͳ͍ w ૹ·ͰҰ؏Ͱ͖Δ w Ҿ͖ͰΫϨδοτΧʔυܾࡁ͕ར༻Ͱ͖Δ
w Ϋϩωίͱ͍͏҆৺ײ
ϋογϡλάɹ+14$ 4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝
ϋογϡλάɹ+14$ 1BZ1BMޱ࠲ͷ 4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝ᶃ
ϋογϡλάɹ+14$ 1BZ1BMޱ࠲ʹೖۚ һି ๏ਓޱ࠲ৼସ
ϋογϡλάɹ+14$ 1BZ1BMձһొͷ 4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝ᶄ
ϋογϡλάɹ+14$ 1BZ1BMձһొ͕ඞཁ 1BZ1BMձһ͡Όͳ͍ ۜߦৼࠐͰࢧ͍͍ͨ
ϋογϡλάɹ+14$ 1BZ1BMखྉͷ 4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝ᶅ
ϋογϡλάɹ+14$ *NBHF6QMPBE6UJMJUZ1SP͕ചΕͨ߹ ച্ खྉ ʢ݄ؒച্ສԁະຬʣ Ҿग़खྉ ʢສԁະຬʣ ࠩҾऩೖ 1BZ1BM
ԁ ԁ ʢ ԁʣ ԁ ԁ 4USJQF ԁ ԁ ʢʣ ԁ ͋ͨΓͷֹࠩԁʂ
ϋογϡλάɹ+14$ ࠓ·ͰʹऔΓ͜΅ͯ͠͠·ͬͨ૯ֹ ԁҎ্ʂ
ϋογϡλάɹ+14$ େऺञԶྲྀͷ ੜϏʔϧʢΫϥγοΫʣ ഋҎ্
ϋογϡλάɹ+14$ Ϋϩωί8&#ίϨΫτͷॏେͳ 4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝ᶆ
ϋογϡλάɹ+14$ ͋ΔɺΫϥΠΞϯτ͔Βಧ͍ͨϝʔϧ 'BDFCPPL-*/&ʹషΓ͚ͨ ฐࣾ63-͔ΒϦϯΫ͢ΔͱΫϨδοτΧʔυ͍͕ ͓ࢧ͍खଓ͖Τϥʔͱදࣔ͞Ε·͢ɻ Ͳ͏ʹ͔ͳΓ·ͤΜͰ͠ΐ͏͔ʁ
ϋογϡλάɹ+14$
ϋογϡλάɹ+14$
ϋογϡλάɹ+14$ ϠϚτϑΟφϯγϟϧ͍߹Θͤͨ Ұ෦εϚʔτϑΥϯͷ༷ʹΑΓ (PPHMFΞϓϦʗ:BIPPΞϓϦʹͯ৽نΟϯυΛ։͘ߏஙʹ͓ͯ͠Γ·͢ͱ ඞཁใʢύϥϝʔλʣ͕ൈ͚མͪͯ͠·͏ࣄ͕֬ೝ͞Ε͓ͯΓ·͢ɻ ղܾࡦͱக͠·ͯ͠ɺ৽نΟϯυΛ্ཱͪ͛ͳ͍Α͏ͳߏஙʹ มߋ͍͖ͨͩ·͢ͱɺ্هࣄൃੜ͠ͳ͘ͳΔͱͷࢥΘΕ·͢ɻ
ϋογϡλάɹ+14$ ࣗࣾʮμϯϩʔυൢചʯͷઓ 4USJQFΛͬͯΈΑ͏ͱࢥͬͨཧ༝ᶇ
ϋογϡλάɹ+14$ w ೖۚ֬ೝޙʹσʔλΛૹ͢Δʁ ٳΈͷରԠʁ தରԠʁ ग़ுதରԠʁ w ͕ͦͦࣗར༻ऀଆͩͬͨΒʁ w ෆਖ਼ར༻ͷՄೳੑͱͷτϨʔυΦϑ
ϋογϡλάɹ+14$ 1BZ1BMͰઓʂ
// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-synch'; $tx_token = $_GET['tx']; $auth_token = "* αΠτͰൃߦ͞ΕΔIDτʔΫϯΛ͜͜ʹషΓ͚Δ *"; $req .= "&tx=$tx_token&at=$auth_token"; // post back to PayPal system to validate $header .= "POST /cgi-bin/webscr HTTP/1.0\r\n"; $header .= "Content-Type: application/x-www-form-urlencoded\r\n $header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; $fp = fsockopen ('www.sandbox.paypal.com', 80, $errno, $errstr, // $fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30); // $fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errst // Ͱ͖Ε HTTPS ʹͨ͠ํ͕ɺηΩϡϦςΟ͕ߴ·Δ. if (!$fp) { // HTTP ERROR echo "ERROR: HTTP error, [" . $errno . "] " . $errstr . "\n exit(1); } fputs ($fp, $header . $req); // read the body data $res = ''; $headerdone = false; while (!feof($fp)) { $line = fgets ($fp, 1024); if (strcmp($line, "\r\n") == 0) { // read the header $headerdone = true; } else if ($headerdone) { // header has been read. now read the contents $res .= $line; ϋογϡλάɹ+14$
ϋογϡλάɹ+14$ 1BZ1BMͰͷ࠳ં 1%5ʜ ɹ*1/ʜ ɹͳʹͦΕඒຯ͍͠ͷʁ
ϋογϡλάɹ+14$ 4USJQFͳΒͰ͖Δʁ ϚχϡΞϧӳޠ͚ͩͲɺʢ(PPHMFઌੜͷ͓͔͛ͰʣΘ͔Γ͍͢ײ৮Λಘͨ
ϋογϡλάɹ+14$ ॻ͍ͯΈͨɻ w DPOpHQIQΛಡΈࠐΉ w ໊ͱՁ֨Λ)5.-͔Β 1045Ͱड͚औΔ w ϥΠηϯε൪߸Λੜ w
ܾࡁྃޙɺϝʔϧΛૹ৴ w μϯϩʔυը໘ϔࣗಈసૹ ʢ50,&/ɺ*%Λ͢ʣ w μϯϩʔυը໘Ͱ*%Ͱ 63-Λදࣔʢ50,&/Ͱذʣ
ϋογϡλάɹ+14$ Ͱ͖ͨʂ IUUQTXXXKVYUBQPTJUJPOKQJNBHFVQMPBEVUJMJUZ
ϋογϡλάɹ+14$ ͱࢥͬͨΒʜ 4USJQFʹνϟʔδͰ͖͍ͯͳ͍͜ͱ͕໌ ʢςετڥͰͳ͘Ͱ͖͍ͯͨʣ
ϋογϡλάɹ+14$ αϙʔτʹ͍߹ΘͤͯΈΔ τʔΫϯ࡞͞Ε͍ͯ·͕͢ɺ νϟʔδ͕࡞͞Ε͍ͯͳ͍ͨΊɺࢧ͍͕͓ྃͯ͠Γ·ͤΜɻ "1*ʹͯऔಘ͞ΕͨτʔΫϯΛར༻͞Ε·͢ͱɺ νϟʔδ͢Δ͜ͱ͕Ͱ͖·͢ɻ νϟʔδΛ࡞͢Δύϥϝʔλʹ͖ͭ·ͯ͠ɺ ͪ͜ΒΛ͝ࢀর͍ͩ͘͞ IUUQTTUSJQFDPNEPDTBQJDSFBUF@DIBSHF
τʔΫϯ࡞͞Ε͍ͯ·͕͢ɺ νϟʔδ͕࡞͞Ε͍ͯͳ͍ͨΊɺࢧ͍͕͓ྃͯ͠Γ·ͤΜɻ "1*ʹͯऔಘ͞ΕͨτʔΫϯΛར༻͞Ε·͢ͱɺ νϟʔδ͢Δ͜ͱ͕Ͱ͖·͢ɻ νϟʔδΛ࡞͢Δύϥϝʔλʹ͖ͭ·ͯ͠ɺ ͪ͜ΒΛ͝ࢀর͍ͩ͘͞ IUUQTTUSJQFDPNEPDTBQJDSFBUF@DIBSHF ϋογϡλάɹ+14$ αϙʔτʹ͍߹ΘͤͯΈΔ ͪΐͬͱͳʹݴͬͯΔ͔Θ͔Μͳ͍
ϋογϡλάɹ+14$ Α͘ݟΔͱ ؊৺ͳ෦͕ ͬͦ͝Γൈ͚͍ͯͨ ʢͲͷλΠϛϯά͔ෆ໌ʣ ސ٬Λ࡞ DVTUPNFSa4USJQFa$VTUPNFSDSFBUF BSSBZ FNBJMFNBJM
TPVSDFUPLFO νϟʔδΛ࡞ DIBSHFa4USJQFa$IBSHFDSFBUF BSSBZ EFTDSJQUJPOQSPEVDU DVTUPNFSDVTUPNFSJE BNPVOUQSJDF DVSSFODZKQZ
ϋογϡλάɹ+14$ ࣮ࡍʹͬͨ͜ͱ μογϡϘʔυͷʮ։ൃऀʯϝχϡʔͷʮϩάʯ͔Β֘ͷUPLFOTΛ։͘ $IFDLPVUKT͔Βͷ1045ʹର͠Ԡͨ͠༰ʹ͋ΔʮJEUPL@IPHFIPHF ʯΛݟ͚ͭɺ UPL@IPHFIPHF෦Λίϐʔ DIBSHFQIQͷʮސ٬Λ࡞ʯʹ͋ΔTPVSDFʹͦΕΛهೖ
ʢ1045༰ʹ͋ΔϝʔϧΞυϨεFNBJMʹهೖʣ ʮνϟʔδΛ࡞ʯͷEFTDSJQUJPOͱBNPVOUʹهೖ ϝʔϧૹ৴ͳͲෆཁͳ෦আ DIBSHFQIQΛDIBSHF@GVHBQIQͳͲͱϦωʔϜͯ͠Ξοϓϩʔυ ϒϥβ͔ΒDIBSHF@GVHBQIQʹΞΫηε ʢࢲ͜͜Ͱྃը໘ϦμΠϨΫτ͢ΔΑ͏ʹ͠·ͨ͠ʣ
ϋογϡλάɹ+14$ ࣮ࡍʹͬͨ͜ͱ μογϡϘʔυͷʮ։ൃऀʯϝχϡʔͷʮϩάʯ͔Β֘ͷUPLFOTΛ։͘ $IFDLPVUKT͔Βͷ1045ʹର͠Ԡͨ͠༰ʹ͋ΔʮJEUPL@IPHFIPHF ʯΛݟ͚ͭɺ UPL@IPHFIPHF෦Λίϐʔ DIBSHFQIQͷʮސ٬Λ࡞ʯʹ͋ΔTPVSDFʹͦΕΛهೖ
ʢ1045༰ʹ͋ΔϝʔϧΞυϨεFNBJMʹهೖʣ ʮνϟʔδΛ࡞ʯͷEFTDSJQUJPOͱBNPVOUʹهೖ ϝʔϧૹ৴ͳͲෆཁͳ෦আ DIBSHFQIQΛDIBSHF@GVHBQIQͳͲͱϦωʔϜͯ͠Ξοϓϩʔυ ϒϥβ͔ΒDIBSHF@GVHBQIQʹΞΫηε ʢࢲ͜͜Ͱྃը໘ϦμΠϨΫτ͢ΔΑ͏ʹ͠·ͨ͠ʣ Θ͔Δ·Ͱαϙʔτʹ࿈བྷ ϚχϡΞϧΛ܁Γฦ͠ಡΉ ͱʹ͔͘ςετڥͰ֬ೝ
ϋογϡλάɹ+14$ ࣮ࡍɺͲ͏ͩͬͨͷ͔
ϋογϡλάɹ+14$ w ࢥ͍ͬͯͨΑΓ؆୯ɺ͔ࣗ͠༝ʹͰ͖ͨ w ͨͩɺ+BWB4DSJQUͰ؆୯ಋೖʂͳهࣄ͕ଟ͗͢ w DIBSHFQIQ͚ͩͰࢥ͍ͷ··ʹΧελϚΠζ w ςετϞʔυ͔ΒͷΓସ͑؆୯ͩͬͨ w
αϙʔτʢਗ਼͞Μʣʹͱ͓ͯੈʹͳͬͨ
ϋογϡλάɹ+14$ 4MBDLʹ௨͕དྷΔΑ͏ʹͯ͠Έͨ
ϋογϡλάɹ+14$ ͱʹָ͔͍͘͠ʂ
ϋογϡλάɹ+14$ ͍ؒଓ͚͍ͯΔ1BZ1BM͔Β4USJQFʁ ʙ͋ΔΣϒσΟϨΫλʔͷيʙ גࣜձࣾδϟΫελϙδγϣϯɹࢁɹହ࢙ Let’s TRY!