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
歴史を重ねたシステムの開発に趣味で関わり始めて
Search
muno92
PRO
December 18, 2023
630
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
歴史を重ねたシステムの開発に趣味で関わり始めて
muno92
PRO
December 18, 2023
More Decks by muno92
See All by muno92
PHPerにこそ勧めたいAppleウォレット / Google ウォレット開発
muno92
PRO
0
79
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
730
forteeの改修から振り返るPHPerKaigi 2026
muno92
PRO
3
530
Cloudflare Tunnelで開発環境をインターネットに公開する
muno92
PRO
0
140
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
370
PsySHから紐解くREPLの仕組み
muno92
PRO
1
920
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
770
Appleウォレット / Googleウォレットに チケットを保存する方法
muno92
PRO
2
5k
PHPでGoogle Walletにチケットを追加する
muno92
PRO
0
950
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
410
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
290
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
400
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
480
Code Review Best Practice
trishagee
74
20k
Building the Perfect Custom Keyboard
takai
2
890
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Navigating Weather and Climate Data
rabernat
0
550
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
300
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
860
Transcript
歴史を重ねたシステムの開発に趣味で 関わり始めて 2023/12/18 ゆく年くる年PHP 納〜今年の振り返りと来年の抱負〜 [PHPer Tea Night] @muno_92 1
自己紹介 X ( 旧Twitter): @muno_92 PHP 歴: 約7 年 カンファレンススタッフ
iOSDC Japan 2023 PHPerKaigi 2024 PHP カンファレンス小田 原 2024 2
( 宣伝 ) PHPerKaigi 2024 日程: 2024 年3 月7 日(
木) 〜9 日( 土) 会場: 中野セントラルパークカンファレンス & ニコニコ生放送 現在チケット販売中! https://phperkaigi.jp/2024/ 3
( 宣伝 ) PHP カンファレンス小田原 2024 日程: 2024 年4 月13
日( 土) 会場: おだわら市民交流センター「UMECO 」 12 月25 日( 月) 18:00 チケット販売開始(予定) https://phpcon-odawara.jp/ 4
今年から fortee の開発に関わり始めました 5
fortee とは https://fortee.jp/ カンファレンス支援システ ム PHPerKaigi / iOSDC Japan 主宰の長谷川さんが開発
初回コミットから約6 年 長谷川さんのこれまでの カンファレンス運営の知 見が詰まっている 6
きっかけ fortee にはカンファレンスに関するメールを送受信する機能がある 7 月下旬、fortee の受信メールインポート処理がバグる 直せるかもしれないと思ったので、長谷川さんにGitHub リポジトリ へのアクセス権を頂いた (該当バグは修正出来た)
7
今年やったこと 開発環境構築の地雷踏み 細々としたバグ修正 DB 構成を把握しやすいようにtbls を導入 受信メールインポート処理をローカルで確認しやすくする スクリーン(後述)の一括設定機能 Apple Wallet
/ Google Wallet 連携 8
DB 構成を把握しやすいように tbls を導入 https://github.com/k1LoW/tbls DB からMarkdown 形式のドキュメント・ER 図を自動生成してくれ るツール
「fortee なにも分からん」状態だったのでDB が絡む修正を入れる時 に初手で導入 マイグレーションファイルが更新されたらドキュメント自動更新の Pull Request を発行するワークフローをGitHub Actions で構築 setup-tbls が便利だった 9
10
受信メールインポート処理をローカルで確認し やすくする Docker でPOP3 サーバーを立てる https://github.com/inbucket/inbucket 後に長谷川さんによってIMAP もサポートしている greenmail/standalone に差し替えられた
inbucket コンテナに簡単にメールをセット出来るようにする https://github.com/jetmore/swaks swaks --server localhost --port 2500 -t
[email protected]
-f
[email protected]
--data /path/to/test.eml 11
スクリーンの一括設定機能 フレーム画像 このスライドの背景 タイトル画像 次のページ fortee がテンプレにトーク情報を埋め込んで生成 PHPerKaigi / iOSDC
Japan 専用機能 12
13
それまではスタッフが 1 つ 1 つ真心こめて設定 14
iOSDC Japan 2023 からは一括登録できるように 8/11 自動設定出来るのでは?と相談 8/14 Issue にまとめて方針すり合わせ 8/15
実装開始 8/21 マージ 9/1 〜のiOSDC Japan 2023 で概ね問題なく動作 15
Apple Wallet / Google Wallet 連携 16
17
https://speakerdeck.com/muno92/add-ticket-to-google-wallet-with- php 18
振り返ってみて、やって・意識して良かった事 システム構成を把握しやすくする(tbls の導入) できるだけテストコードを書く 開発効率を上げるツールを探す・導入する 無理しない 19
システム構成を把握 しやすくする tbls は各テーブル毎に Markdown ファイルを生成 し、それぞれをリンクして くれるのでテーブル構成の 把握に便利だった 右図:tbls
のサンプル 20
できるだけテストコードを書く TDD ・リグレッションテストの文脈ではなく、仕様理解の面で役立 った 手作業で動作確認するのと比べ、「このテーブルにこういったレコ ードが登録されていないとこの機能は動かない」と明確に理解しな ければいけない テストを走らす中でテストデータ不足に気づけたり 21
開発効率を上げるツールを探す・導入する inbucket cakephp/repl が入っていなかったので追加 Laravel Tinker と同じく、PsySH ベース 「Cake にもLaravel
Tinker 的なの無いかなー」と探した バグをテストコードで再現しづらい場合に必要最小限の再現コー ドを探るのに役立った 22
無理しない 仕事ではないので 時間・体力の許す範囲で開発する その時その時でモチベーションが湧く事をやる 23
fortee 開発の良い所 楽しい 普段カンファレンス運営で使うシステムなので、fortee が良くな ると自分たちが楽になる 趣味であれだけガッツリ作られたWeb サービスを触れる機会はな かなか無い fortee
を使っていて分からない所などがあった時にソースを見れる 24
来年も fortee 開発やってくぞい 25
ご清聴ありがとうございました 26