fortee開発1年目

muno92
·

GitHubのforteeリポジトリに招待されたメールが来たのが2023/7/24 (月)なので、今日でちょうど1年。

これまでにマージされたプルリクエストの数を確認してみたら66で、思っていたより多くてびっくりした。

小分けに出したプルリクや、あるプルリクに関連した追加修正を除いていくとユニークなプルリク数は38くらいで、ざっくり内訳は

  • なにかしらの追加:9

    • 機能追加から細かい文言追加まで

  • バグ修正:23

    • typoの修正など細かい修正も含む

  • その他:6

    • 開発環境やCI、READMEの調整など

見返していて「あー、そういえばこんなのあったな」と懐かしくなったものもあったので印象に残っているものをピックアップしながら振り返る。

初手、開発環境構築の地雷踏み

初手地雷を踏んだのは覚えていたのだけど、リポジトリに招待してもらった直後の7/25 (火) 0:40、0:42に2本プルリク出してた。

カレンダー見てみたら前日は勉強会に参加していたので帰って来てから環境構築・修正してたみたい。

やる気に満ち溢れてるな、当時の自分。

スクリーンURLの一括登録

https://speakerdeck.com/muno92/hobby-programming-2023?slide=14

これ。(PHPerKaigiとiOSDC Japan専用に近い機能)

8/11にiOSDC Japanのスタッフ向けに配信システム講習会があり、メインは機材の使い方の説明だったのだけどスクリーン設定の登録についても軽く触れられていた。

で、聞きながら「DBから取ってこれば一括登録できるような」と思って夏休みの自由研究がてら実装していた。(と言っておきながら、実装始めたのは夏休み最終日ぽい)

fortee触り始めたばかりだったのにまあまあ大きめな変更を一週間でマージまで持って行っていて、今になって振り返るとすごいな。

ちなみに、この時にforteeのカバー画像設定画面(下図)の使い方を理解できていたので、ぺちこん小田原のアーカイブ動画をfortee使って作成した時にすんなり操作できた。

いつどこで何が役に立ってくるか分からない。

iOSDC Japan 2023の開催2日前に問題発生

(プルリクを出したのが2日前ってだけでその前の日位には問題発生していたのかも)

iOSDC Japan 2023からはiOSDCチャレンジでスコアを競うのではなく集めたポイントでガラガラを回して景品をゲットするスタイルになったのだけど、その景品設定画面を当日運用を回すコアスタッフ・当日スタッフが見れないというwww

forteeをメインで開発している長谷川さんは一番強い権限のユーザーで触っているので、他の人が触って初めて権限問題に気づくことが稀によくある。

Googleウォレット・Appleウォレット

GoogleウォレットはNode.jsのチュートリアルをやってからコードをいじってそれらしいチケットのデザインを組んでみて、PHP (fortee)に移植してみたら思ったよりすんなり動いた、位のノリで最初実装していた。

追記:PC内に残っていたチュートリアルのコードを見つけた。9/21に作成されていて、fortee側の最初のコミットが9/23。チケット購入時のウォレット生成のプルリクを出せたのが9/28

詳しくは来月のiOSDCで。(~~別に書くのが面倒になった訳では~~)

スタッフ参加リクエストのSlack通知を追加

forteeでスタッフを追加するルートはいくつかあるのだけど、ぺちこん小田原でスタッフ追加に使った参加リクエスト画面ではSlack通知が飛んでいなかったのでシュッと実装した。

プルリクを出した時間、平日の昼休みの時間だった。

朝にローカル環境でSlack通知を動かせるようになってテンション上がり、そのままの勢いで昼休み実装していた、ような記憶。

PHPerRoomで駄弁りながらバグ2つ直した

この時直したのはぺちこん小田原のメールをGmailからPOPではなくIMAPで取り込んだ時に発生したバグ。

長谷川さんがXOAUTH2を使ってGmailからIMAPでメールを取り込む機能を実装して下さっていたのだけど、PHPerKaigiではまだPOPインポートを使っていたのでここでも地雷踏みしたみたいな感覚になっていたw

PHPerKaigi 2024 会期中にバグを直す実績を解除

このバグ修正。

PHPerKaigi 2024のスタッフ自己紹介スライドに半分冗談で

forteeがバグったらソースを見る担当(?)

と書いていたのだけど、まさか本当にバグを直す事になるとは。

(当日使う機能は受付とかフィードバックとか位だし特に問題出ないでしょ、と思っていた)

CakePHP 5対応で壊れたティザーサイトを直す

forteeには各カンファレンスのティザーサイトを生成する機能があるのだけど(開催日までのカウントダウンとかが載っているアレ)、長谷川さんがforteeをCakePHP 5に上げた後エラーで落ちるようになってた。

Ya8の会場でPCの残充電に怯えながら直した記憶。

Discord連携

2023年の年末あたりから「Discord・・・」って声を聞いていて、PHPerKaigiが終わってからようやく手を付けていた。

Discord連携、長谷川さんが実装してくださったOAuth新基盤の上に載っかっているので長谷川さんとの合作。

それまでSlackとかOAuthを使った機能は全部のカラムをconferencesテーブルに持っていて「分けようと考えてる」的な事を伝えたら(ここの記憶は曖昧)ゴリゴリっと実装してくださった。感謝・・・!

完成までは

  • 設定画面、DiscordとOAuthで連携してメッセージを投稿できるようになるまでのコア部分を実装したプルリク

    • 実装が終わるまで(雑なベタ書きif文で)機能を閉じた状態

  • メール受信通知など、各通知処理をDiscord向けに移植したプルリク × 3

と、4回に分けてプルリクを出していた。

1回目のプルリクを見返したら、プルリクを出した時間が4/11 (木) 0:23ってぺちこん小田原の直前・・・!

確かにこんな呟きしてたな。

その後3回のプルリクは

  • 4/20 (土) 21:43

  • 4/25 (木) 0:09

  • 4/25 (木) 22:45

に出していたのだけど、実はラストのプルリクは「あと1回のプルリクで終わりそうだし週末にゆっくりやるかな〜」と考えてた。

そしたら大吉祥寺.pmがforteeでトークを募集すると見かけて「マジ!?fortee使うの!?Discord使ってる気がするなあ・・・」と思ってガッと実装した。

たぶんこれを見たんだと思う。

「実装したよ」ツイートをしたら思っていたより色んな人から喜んでもらえて嬉しかったのと、結構ニーズあったんだなあ、となった。

おわり

振り返ってみて結構色々やったなあとは思うけど、一方で「気が向いた時にやるか」と溜めているIssueもあり、別にいつもバリバリ開発していた訳では無かったり。

ここ2ヶ月ほどはコミット止まってたし。

「無理ない範囲で気が向いた時に開発する」スタンスで楽しく開発できたらなーと思う。

あとは、スクリーン一括登録の所で書いた「いつどこで何が役に立ってくるか分からない」で言うと、2019年にPHP系のカンファレンスが沢山開催された時にCakeFestは「Cake使ってない」「英語のカンファレンスはちょっとハードルが・・・」と参加していなかったのだけど、今だったら参加したなあと思った。

forteeでCakeを触るようになり、RubyKaigiに参加するようになって英語がメインで使われるカンファレンスに対するハードルもだいぶ下がったので。

と考えると、ちょっとでも興味が湧いたらカンファレンスなどのイベントには参加した方が良いな。

以上、とりとめもない振り返り。