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
クレジットカードの通信プロトコル ISO8583 と戦う
Search
Hiroaki Sano
August 31, 2019
Programming
31
13k
クレジットカードの通信プロトコル ISO8583 と戦う
builderscon2019
Hiroaki Sano
August 31, 2019
Tweet
Share
More Decks by Hiroaki Sano
See All by Hiroaki Sano
バンドルカードの クレジットカード決済システムの 泥臭い運用
hiroakis
10
8.2k
Go の Timezone と Go 1.15 の tzdata 埋め込み
hiroakis
5
2.6k
トレタのインフラ運用
hiroakis
8
4.9k
Other Decks in Programming
See All in Programming
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
Contemporary Test Cases
maaretp
0
130
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
110
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
100
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
470
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
1k
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
6
1.8k
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
現場で役立つモデリング 超入門
masuda220
PRO
15
3.2k
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
1
110
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Agile that works and the tools we love
rasmusluckow
327
21k
A designer walks into a library…
pauljervisheath
203
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
A better future with KSS
kneath
238
17k
Become a Pro
speakerdeck
PRO
25
5k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Side Projects
sachag
452
42k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Transcript
ؙٖآحزؕ٦سך鸐⥋فٗز؝ٕ *40ה䨌ֲ CVJMEFSTDPO "VH ,BONV *OD )JSPBLJ4BOP
!2 ⡟ꅿ酔畍 #BDLFOE&OHJOFFSBU,BONV *OD !IJSPBLJT 荈䊹稱➜ IJSPBLJT !MB@MVOB@B[VM
!3 غٝسٕؕ٦سאֻגתׅ
!4 ؙٖآحزؕ٦س噟歲ךؒ؝ءأذي *40ך➬圫 *40ך1BSTF 㣐㢌הֿ תה ،آؑٝت
ؙٖآحزؕ٦س噟歲ך ؒ؝ءأذي
ؙٖآحزؕ٦س噟歲ךؒ؝ءأذي "DRVJSFS ،ؙٙ؎،ٓ *TTVFS ؎ءُ، !6 #SBOE ـٓٝس ˖
#SBOE 7JTB .BTUFS$BSE +$# ꋒ耠 "NFY ˖ فٓحزؿؓ٦يך䲿⣘ծ《䒷ٕ٦ٕך鋉㹀 ˖ "DRVJSFS ˖ ؕ٦س⸇湅䏄ך䬪遤ֲ ˖ *TTVFS ˖ ؕ٦س⠓㆞ ِ٦ؠ ך䬪遤ֲ ؕ٦س⠓㆞㤍秈 ؕ٦س⠓㆞ 䏄莧 ⸇湅䏄㤍秈 ،ٓ؎،ٝأ ،ٓ؎،ٝأ ぐ涫㜥➂暟ךꟼ⤘ ؕ٦سךⵃ欽㉀ㅷך「ֽ床׃
ؙٖآحزؕ٦س噟歲ךؒ؝ءأذي "DRVJSFS ،ؙٙ؎،ٓ *TTVFS ؎ءُ، !7 #SBOE ـٓٝس
ⵃ欽 ؕ٦س涪遤 ؕ٦س⠓㆞ 䏄莧 ⟎㡰♳ ⟎㡰♳ ⟎㡰♳ 锜実 㹋㡰♳ 㹋㡰♳ 㹋㡰♳ ؙٖآحزؕ٦س寸幥כؿؑ٦ؤ ⟎㡰♳ؔ٦أئ٦ءّٝ ♷⥋٥ؔ٦أ 㹋㡰♳ؙٔ،ؚٔٝ 㡰♳然㹀 ر٦ةֶꆃך崧
*40 ؙٖآحزؕ٦س噟歲ךؒ؝ءأذي "DRVJSFS ،ؙٙ؎،ٓ *TTVFS ؎ءُ، !8 #SBOE ـٓٝس
˖ أؾ٦ؕ٦ך䨽㾩ׅؕٝيכ؎ءُ،ח㾩ׅ ˖ ؔ٦أئ٦ءָّٝ*40ك٦أח׃فٗز؝ٕ ˖ 䎃剢⟃כ寸幥➿遤؟٦ؽأⵃ欽׃גְָ✲噟 䭁㣐ח⠵ג⟎㡰♳ה㹋㡰♳ךءأذيⰻ醡⻉׃ ⵃ欽 ؕ٦س涪遤 ؕ٦س⠓㆞ 䏄莧 锜実 *40 *40 ⟎㡰♳ ⟎㡰♳ ⟎㡰♳ 㹋㡰♳ 㹋㡰♳ 㹋㡰♳
*40ך➬圫
*40ך➬圫 !10 ˖ *40ծ⚅歲垥彊 ˖ IUUQTXXXJTPPSHPCQVJJTPTUEJTPFEWFO ˖ 鸐⥋כ5$1ד遤 ˖
傀ח1BSTFSֲָָ֮ծזְ ˖ ぐ爡杝荈ך䭁䓸⸇ִגְ&ODPEJOHָ殯ז׃גְ ˖ 劤涪邌ךⰻ㺁稢鿇ָ殯ז〳腉䚍֮ ˖ 1BSTFSכNPSJZPTIJׁח䩛⠗גְְ *40
*40ך➬圫 !11 YGF CGGGG GGGGGGGGFDEEDDGGDDEDDD DDEFEEDDEFDEDEEDED DDFFEDED FF
FGGGGG *40ךر٦ةך⼧Ⱈ鹌邌鎸
*40ך➬圫 !12 YGF CGGGG GGGGGGGGFDEEDDGGDDEDDD DDEFEEDDEFDEDEEDED DDFFEDED FF
FGGGGG *40ךر٦ةך⼧Ⱈ鹌邌鎸
*40ך➬圫 !13 YGF CGGGG GGGGGGGGFDEEDDGGDDEDDD DDEFEEDDEFDEDEEDED DDFFEDED FF
FGGGGG *40ךر٦ةך⼧Ⱈ鹌邌鎸 1"/ 剣⸬劍ꣲ 䎃剢 ؔٝٓ؎ٝ寸幥 ꆃ겘 ˟1"/1SJNBSZ"DDPVOU/VNCFSծؕ٦س殢〾ךֿה
!14 㣐תַז圓鸡כ.FTTBHF5ZQF #JUNBQ %BUB&MFNFOUךא 㛇劤圓鸡 *40ך➬圫 ˖ .FTTBHF5ZQFY ˖
#JUNBQYGF ˖ %BUB&MFNFOUYGGG
!15 .5 #JUNBQ %BUB #JUNBQ %BUBխ -FOHUI %BUB %BUB %BUB
%BUB %BUB %BUB 㛇劤圓鸡 ˖ .FTTBHF5ZQFכ䗳׆א㶷㖈ׅ ˖ #JUNBQכ䖓竲ך%BUB&MFNFOUך⳿植ػة٦ٝ邌植׃גְ ˖ %BUB&MFNFOUכ⳿植ׅ㜥䨽ח״גر٦ةⰻ㺁 1"/ 剣⸬劍 ꣲ ֶ״ן圓鸡 〳㢌ꞿծ㔿㹀ꞿծⰅ㶨 ָ✮寸תגְ %BUB -FOHUI %BUBխ *40ך➬圫
!16 .FTTBHF5ZQF ˖ )551ך⚅歲דְֲأذ٦ةأ؝٦سך״ֲזך ˖ Y⽃秪ח鹌侧ח㢌䳔ׅה ˖ ֿֿדכ#JUػحؙ鹌侧 1BDLFE#$% ה׃ג鍑ꅸ
˖ את ˖ ぐ呞ח䠐ָ֮ *40ך➬圫 *40ךغ٦آّٝ 湡涸կכؔ٦أծכؔ٦أך《嶊FUD 堣腉կכؙٔؒأزծכٖأهٝأFUD 涪⥋⯋կכ،ؙٙ؎،ٓծכ؎ءُ،FUD
!17 ؔ٦أ *TTVFS ؔ٦أח㼎ׅٖأهٝأ "DRVJSFS #SBOE ؔ٦أ *TTVFS ؔ٦أח㼎ׅٖأهٝأ "DRVJSFS
#SBOE 《嶊 《嶊ח㼎ׅٖأهٝأ 飑Ⰵ 飑Ⰵ 《嶊 飑Ⰵ 《嶊 *40ך➬圫 剣⸬劍ꣲثؑح ؙFUD 剣⸬劍ꣲثؑح ؙFUD 㼎䘔ׅؔ٦أ ךثؑحؙFUD .FTTBHF5ZQF
!18 GF #JUNBQ ⳿植ׅ%BUB&MFNFOU邌植ׅ#JU։ך#JUNBQ G ˟ 殢湡ך%BUB&MFNFOUָ㶷㖈
殢湡ך%BUB&MFNFOUָ㶷㖈 殢湡ך%BUB&MFNFOUָ㶷㖈 䠐ׅ ˟.4#JUכ如ח竲ֻ#JUNBQ ך㶷㖈䠐ׅ #JU #JU *40ך➬圫
!19 %BUB&MFNFOU ˖ 1"/ ꆃ겘 ؕ٦س剣⸬劍ꣲFUD寸幥ד䗳銲זر٦ةך劤⡤ ˖ 鶢ך#JUNBQד#JUָ甧ךָך갫殢דⰅגְ ˖ #JUך㜥䨽ח״גוזر٦ةָⰅַכ寸תגְ
˖ #JU1"/ ˖ #JU1SPDFTTJOH$PEF ˖ #JU"NPVOU 5SBOTBDUJPO ˖ #JU"NPVOU 4FUUMFNFOU ˖ #JU"NPVOU $BSEIPMEFS#JMMJOH ˖ #JU5SBOTNJTTJPO%BUFBOE5JNF ˖ #JU ָ甧גְ㜥さכ如ך״ֲזر٦ةחז *40ך➬圫 .5 #JUNBQ 1"/ 1$խ "./5 %BUF5JNF
!20 %BUB&MFNFOUךؿؓ٦وحز ˖ ر٦ةךⰻ㺁ח״גؿؓ٦وحزָ寸תגְ ˖ ꞿׁ〳㢌ꞿPS㔿㹀ꞿ ˖ 俑㶵珏ⴽ侧㶵ծ薉㶵ծ暴婊俑㶵ծתכֿך穈さׇ ˖ 邌植倯岀#$%
&#$%*$זו #JU ر٦ة ꞿׁ 俑㶵珏ⴽ 邌植 1"/ 〳㢌ꞿ 侧㶵 #$% ؕ٦س剣⸬ 劍ꣲ 㔿㹀ꞿ 侧㶵 #$% ⵃ欽䏄莧 ⡝䨽㕂 㔿㹀ꞿ 薉侧㶵暴婊俑㶵 &#$%*$ *40ך➬圫
*40ך1BSTF
*40ך1BSTF !22 NTH<>CZUF\ .FTTBHF5ZQF Y Y #JUNBQ YG
Y Y Y Y YF Y Y Y Y Y Y Y Y Y Y %BUB&MFNFOU Y Y Y Y Y Y Y Y Y Y Y Y^ غ؎ز⯓鶢ך➬圫ח䖞ג⯓걧ַⳢ椚ׅ ˟⟃꣬؟ٝفٕ؝٦س (P鎉铂 ָ竲ֹתָׅأل٦أךꟼ⤘♳ծ ؒٓ٦عٝسؚٔٝזוכ満ֹתׅ
*40ך1BSTF !23 .FTTBHF5ZQFכ#ZUF NFTTBHF5ZQFNTH<> Y Y NUSFBE"T#$% NFTTBHF5ZQF .FTTBHF5ZQF
.FTTBHF5ZQFכ#ZUF⽃秪ח铣ל״ְ
*40ך1BSTF !24 WBSCJUNBQ<>VJOU CJUNBQ<> NTHCJOBSZ#JH&OEJBO6JOU NTH<> NTH<> 锷椚琎ד.4#JUך㶷㖈然钠遤ֲ JG
YCJUNBQ<> \ CJUNBQ<> NTHCJOBSZ#JH&OEJBO6JOU NTH<> NTH<> ^ JG YCJUNBQ<> \ CJUNBQ<> NTHCJOBSZ#JH&OEJBO6JOU NTH<> NTH<> ^ #JUNBQ ˖ #JU #ZUF ׆א铣 ˖ .4# Y ָ㶷㖈ׅ㜥さכ ׁח#ZUFךCJUNBQָ竲ֻהזׅ
*40ך1BSTF !25 #JU1BSTF1"/JGCJUQSFTFOU 〳㢌ꞿծ#$%ծ⯓걧ח؟؎ؤ 呞侧 ָⰅגְػة٦ٝ JG YCJUNBQ<> \
MFOHUIJOU NTH<> 䗳銲זꞿֽׁ铣ד1"/《䖤 婍SFTU0G.THד《䖤 QBO SFTU0G.THSFBE"T#$% MFOHUI NTH<> ^ %BUB&MFNFOU ˖ ֿֿד锷椚琎崞欽 ˖ #JUNBQה#JUך⡘縧ך"/%怴皾ד㶷㖈ثؑحؙ׃ג1BSTF ˖ ♴鎸ך⢽כ#JU湡 Y ָ㶷㖈ַׅ锃ץגְ
*40ך1BSTF !26 #JU1BSTF1SPDFTTJOH$PEFJGCJUQSFTFOU 㔿㹀ꞿծ#$%ծ呞ךػة٦ٝ JG YCJUNBQ<> \ QD SFTU0G.THSFBE"T#$%
NTH ^ %BUB&MFNFOU ずׄ銲걄דמׅ㶷㖈ثؑحؙה1BSTF鹌גְֻ
*40ך1BSTF !27 #JU剣⸬劍ꣲ 㔿㹀ꞿծ#$%ծ呞 ::..ַUJNFTUBNQפך㢌䳔ָ䗳銲זػة٦ٝ JG YCJUNBQ<> \ ZZNN
SFTU0G.THSFBE"T#$% NTH FYQJSFT"UZZNN5P5JNFTUBNQ ZZNN ^ %BUB&MFNFOU 㛇劤כ㔿㹀ꞿPS〳㢌ꞿծ侧㶵 薉侧㶵PS薉侧㶵鎸〾דָ֮ծ 1BSTF鹌גְֻ麓玎ד圫ղזػة٦ٝח湫ׅ
*40ך1BSTF !28 #JU⸇湅䏄せ⡝䨽㕂 㔿㹀ꞿծ薉侧㶵鎸〾ծչغ؎زպךػة٦ٝ JG YCJUNBQ<> \ NFSDIBOU SFTU0G.THSFBE"MQIB/VNFSJD4ZNCPM/
NTH ^ %BUB&MFNFOU 㛇劤כ㔿㹀ꞿPS〳㢌ꞿծ侧㶵 薉侧㶵PS薉侧㶵鎸〾דָ֮ծ 1BSTF鹌גְֻ麓玎ד圫ղזػة٦ٝח湫ׅ
*40ך1BSTF !29 〳㢌ꞿծ薉侧㶵鎸〾ծ⯓걧חغ؎ز侧 ׁחꞿׁח״ג䠐ָ㢌ػة٦ٝ JG YCJUNBQ<> \ MNTH<> WBMVF
SFTU0G.THSFBE"MQIB/VNFSJD4ZNCPM/ M NTH<> TXJUDIMFO WBMVF \ DBTF DBTF ^ %BUB&MFNFOU
*40ך1BSTF !30 %BUB&MFNFOUך⚥חׁח#JUNBQָⰅגְػة٦ٝ JG YCJUNBQ<> \ TVCCJUNBQ TVCNTHNTH<> NTH<>
JG YTVCCJUNBQ \ ^ YYYYזػة٦ٝ JG YCJUNBQ<> \ ^ ZZZZZזػة٦ٝ JG YCJUNBQ<> \ %BUB&MFNFOU
㣐㢌הֿ
㣐㢌הֿ !32 䔲ⴱծוךر٦ةָꅾ銲ַ״ַֻזַ ˖ #JU1SPDFTTJOH$PEF ˖ #JU4ZTUFNT5SBDF"VEJU/VNCFS ˖ ꆃ겘ָⰅגְ%BUB&MFNFOUָֻׁ֮
˖ سًُؗٝزמׅ铣 ˖ ְ䨽דؕ٦س⢪ֲⰻ醡⻉⟃ךءأذيךؚٗ鋅ג וזر٦ةָ굲דַֻ岞荍ֻ锃叨 ˖ &$؟؎زծ؝ٝؽصծمذٕծ㕂ⰻ嵲㢩 ˖ 䏄莧ך噟䡾װ寸幥䩛媮ח״ג굲דֻر٦ةָ殯ז
㣐㢌הֿ !33 JG YCJUNBQ<> \ WBMVF SFTU0G.THSFBE#ZUFT/ 5IF-FOHUI0G5IJT%BUB NTH
EPOPUIJOH ^ %BUB&MFNFOUָהחַֻ㢳ְ ˖ ل٦آ鸐ծ噟ٗآحؙד䗳銲זך锃叨 ˖ 穠卓ծ噟ٗآحؙד♶銲זךכ铣굲לׅ倯ꆙה׃ ˖ %BUB&MFNFOUך؟؎ؤכ傀濼ד֮ ˖ ؟؎ؤⴓ铣ָ⡦׃זְ
!34 ꅾ銲ׄׯזְה䙼ג㹋כꅾ銲 ˖ 㕂ⰻⵃ欽儗ך⳿植ׅ〳腉䚍ָ֮%BUB&MFNFOUָ֮ ˖ ⼱錬ؕةؕشזו傈劤㔿剣ךر٦ةָⰅגְ ˖ ♶銲ךד铣굲ל׃גְ ˖
׃ַ׃㹋כٔن䩪ְ䠐ׅ'MBHⰅגְ ˖ ♧鿇ךֶ㹏圫ךٔن䩪ְ鏩〳׃ג׃תגְ ˖ ˟植儗挿דך䒦爡ך醡ㅷٓ؎ٝشحفדכٔن䩪ְכ♶鏩〳 ˖ سًُؗٝزך鋅衅ה׃荈ⴓָٔن䩪ְ׃זְַ㶷㖈 䘌גְ 㣐㢌הֿ
!35 噟歲ך鸐⢽ ˖ #JU"QQSPWBM$PEFכ呞ך薉侧㶵 ˖ 㼎ぢ鑐꿀ךꥷחչ薉㶵ָ幉ׄגְתׅ״պה䭷䶯ְֻ ˖ ؿؓ٦وحزדכ鏩〳ׁגְָ侧㶵ך⢪ֲךָ䢪统 ˖
鸐⢽ח䖞ג侧㶵ךה׃ 㣐㢌הֿ
!36 ֶתֽ #JU "QQSPWBM$PEF
תה
תה !38 תה ˖ فٗز؝ٕ余殛ׅךכ嚂׃ְ ˖ 噟濼陎㣐✲կ⹈䓼㹋꿀ׅל䨌ִկ ˖ 噟歲ך䢪统װ农럀濼ָ֮