YAPC::Hiroshima 2024
ねむい
YAPC::Hiroshima 2024
SmartBank
プリペイドカード
VisaNet
イシュアー カード発行会社
アクワイアラー 加盟店契約会社
CAFIS CARDNET
VisaNet BankNet
デュアルメッセージ方式
オーソリゼーション 仮売上
拒否できる
クリアリング 実売上
オーソリの3日以内に送信される
テキストファイル
MCC
オーソリゼーションでは加盟店名は英字
クリアリングでは加盟店名カナ漢字もいける
イシュアーの役割
カード会社側で残高の管理方法を変えられる
オーソリゼーションとクリアリングの突合
差額を解消する
マッチングロジックが曲者
オーソリゼーションでは
トランザクションID VisaNet側で採番
承認番号 イシュアー側で採番
クリアリングでは
トランザクションIDと承認番号
承認番号やトランザクションIDは必須情報になっていない
ざっくりマッチング
優先度に基づくマッチング
手がかかるポイント
自由奔放な承認番号フォーマット
ない場合は空白で来ると思ったがいろいろ来る
承認番号の引き継ぎ
決済キャンセル
返却した承認番号が使われない
売上取消のときは承認番号を引き継ぐ
複雑な送信順序
クリアリングが送られなかったらオーソリを解放
数万〜数百万件に1件程度
決済システムの「お好み」
曖昧さへの挑戦
自分たちがどうにかしていくしかない
決済の神は細部に宿る
VISA側のエラーコードがある
オーソリとクリアリングの順序はイシュアー側から制御できない
awkでつくってわかるWebアプリケーション
awkでブログシステム
1977年
テキスト処理
pattern { action }
複数の処理系
gawk TCP/IPなどの拡張
いろいろ頑張ればWebアプリケーションが作れる
HTTPレスポンス
|& 双方向パイプ
/inet/tcp/8080/0/0
HTTPリクエスト
行ごとにヘッダを読み込む
空行でヘッダおわり
RS = “\r\n”
ボディ
Content-Lengthぶん読み込む
awkにそんな機能はないがgawkなら頑張ればいける
gawkではRSを正規表現にできる
区切り文字がRTに記録される
“.{41}”
まだ動かない
2文字ぐらい読み込まれない
無駄な文字をappendしておいてなんとかする
nginx proxy_set
PostgreSQLとの通信
gawkextlib
GitHubログイン
セッション管理
ユニットテスト
テンプレートエンジン
画像アップロード
awkのMarkdownパーサー
Webアプリケーション全体を俯瞰
マルチプロセス対応
Raku
変数宣言に型を書ける
Humming::Bird
Rakudo
MoarVM
MQP
JVMで動くバージョンがあるがバグが多め
rakudo-star
RakuNavigator
モジュールシステム
zef
RubyVM
プロセスVM
YARV
鉄則
いきなり頑張らない
無理をしない
インクリメンタルに開発する
スタックマシン・レジスタマシン
今回はバイト列はノータッチ
RubyVM::InstructionSequence.disasm
Hello, World!
ヒアドキュメントでdisasmした結果をコピペ
プログラムカウンタ
WebAuthn/パスキー認証
RTA
コードゴルフのサイトが対応している
WebAuthn
公開鍵認証
秘密鍵がデバイスに閉じている
CTAP2
Passkey
Discoverable Credentialを用いるWebAuthn
Registration
AttestationObject
CBOR形式でエンコードされている
Login
平成のエンジニアから令和のエンジニアへの遺言 〜技術情報を伝達する手段の変遷〜
本・雑誌・Web・SNS
情報収集の手段
人を追いかける
ライバルプロダクトの動向
自己紹介
コロナ禍
廊下が大事
観客の絵がない
登壇者がスライドの作りに無頓着になっている
35歳定年説
2008年頃
若いうちはがむしゃらに働く
マネジメント、上流
コードを書かなくていい誘惑が生まれる
「コード書かないCTOは嘘」
DevRel
年上のロールモデルがいなかった
視力の悪化・老眼
生成AI
Copilot
自分が作っているソフトウェアの書き心地がどうなのか分からない
時短
ChatGPTは壁打ち相手
答えを聞きにいこうとすると失敗する
確定申告
懇親会でnaoyaさんのところで
コニュニティ
ISUCON
コントロールしようとしない
ぼっち
登壇
アウトプットする
若い頃・最近の若者
マサカリが飛び交っていた
いきなりPull Request
個人開発の元祖
個人開発という言葉がファッションになっている
昔はネットサービスがない
SNSがない
「怯えないでください」
距離感
Q&A
アメリカンドリーム
資金調達
使ってるエディタ・きのこたけのこ
Emacsで経費清算
おわりに
とりあえず言ってみる
コミュニティは帰ってこれる場所
使い捨てAPIテスト
The Perl Foundation
TPF 理事
AI WebCam
プログラムを書いて楽しむ自作キーボードの世界
git-theseus
commitの歴史を引き継ぎたい
RDBアンチパターン
ゴッドテーブル
UI
PerlかRakuか
キーノート
TCP/IP移植プロジェクト
SNMP疑似エージェント
ポップ君
日本最古のスレッドフロート型掲示板
広まりやすい仕様
OSSフレームワークのサポート期間が短い
「入門」の型
好きだから続けられている