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.6k
Go の Timezone と Go 1.15 の tzdata 埋め込み
hiroakis
5
2.9k
トレタのインフラ運用
hiroakis
8
5.1k
Other Decks in Programming
See All in Programming
Portapad紹介プレゼンテーション
gotoumakakeru
1
130
実践!App Intents対応
yuukiw00w
1
350
CSC305 Summer Lecture 05
javiergs
PRO
0
110
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.8k
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
700
kiroでゲームを作ってみた
iriikeita
0
180
TDD 実践ミニトーク
contour_gara
0
150
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
23
9k
MLH State of the League: 2026 Season
theycallmeswift
0
160
The State of Fluid (2025)
s2b
0
200
AIエージェント開発、DevOps and LLMOps
ymd65536
1
340
MCPで実現するAIエージェント駆動のNext.jsアプリデバッグ手法
nyatinte
6
850
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.9k
Building Adaptive Systems
keathley
43
2.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
RailsConf 2023
tenderlove
30
1.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Gamification - CAS2011
davidbonilla
81
5.4k
Making Projects Easy
brettharned
117
6.3k
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 תה ˖ فٗز؝ٕ余殛ׅךכ嚂׃ְ ˖ 噟濼陎㣐✲կ⹈䓼㹋꿀ׅל䨌ִկ ˖ 噟歲ך䢪统װ农럀濼ָ֮