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
420
歴史を重ねたシステムの開発に趣味で関わり始めて
muno92
PRO
December 18, 2023
Tweet
Share
More Decks by muno92
See All by muno92
Appleウォレット / Googleウォレットに チケットを保存する方法
muno92
PRO
1
1.6k
PHPでGoogle Walletにチケットを追加する
muno92
PRO
0
290
カンファレンススタッフはいいぞ
muno92
PRO
1
310
PHPerKaigi 2022をきっかけにPHPStanにコントリビュートした話 / PHPerKaigi makes me PHPStan's Contributor
muno92
PRO
0
700
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
65
9.9k
Ruby is Unlike a Banana
tanoku
96
11k
Side Projects
sachag
452
42k
Bash Introduction
62gerente
608
210k
Designing on Purpose - Digital PM Summit 2013
jponch
114
6.9k
What's in a price? How to price your products and services
michaelherold
243
11k
For a Future-Friendly Web
brad_frost
174
9.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
227
52k
How to train your dragon (web standard)
notwaldorf
87
5.6k
How to name files
jennybc
76
98k
Docker and Python
trallard
40
3k
The Pragmatic Product Professional
lauravandoore
31
6.2k
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