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
歴史を重ねたシステムの開発に趣味で関わり始めて
Search
muno92
PRO
December 18, 2023
1
430
歴史を重ねたシステムの開発に趣味で関わり始めて
muno92
PRO
December 18, 2023
Tweet
Share
More Decks by muno92
See All by muno92
Appleウォレット / Googleウォレットに チケットを保存する方法
muno92
PRO
1
2.5k
PHPでGoogle Walletにチケットを追加する
muno92
PRO
0
400
カンファレンススタッフはいいぞ
muno92
PRO
1
320
PHPerKaigi 2022をきっかけにPHPStanにコントリビュートした話 / PHPerKaigi makes me PHPStan's Contributor
muno92
PRO
0
720
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
45
7k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
510
The Language of Interfaces
destraynor
154
24k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Code Reviewing Like a Champion
maltzj
520
39k
Music & Morning Musume
bryan
46
6.2k
Producing Creativity
orderedlist
PRO
341
39k
Why Our Code Smells
bkeepers
PRO
335
57k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
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