コーチングセッションのクライアントを募集します

ふと思う所があり、私が提供するコーチングのクライアントを若干名募集します。

といっても「素人が練習相手を探しているよ!」という具合のものですので
軽い気持ちで、誰か付き合ってくれたら嬉しいな〜〜〜と思いながら書いています。

続きを読む

PHPUnitでテストケース個別の事前/事後処理をしたいんだけどなぁ

setUp/tearDownってクラス単位で生やしてテストケース実行時に処理が走りますけど、アレをテストケース(メソッド)単位で指定できたら良いのになぁ・・・って気持ちがあるんですね。何か設計が間違っているのかもだけど。
例えば「DBをいじくり回すケースの前に中身をキレイにしておきたいな」とか。同じクラスであっても、全部のケースの前で実行されると処理が無駄になりそうだなぁ的な

こういう感じのことですね。
デコレータでは無いが

<?php
    #[CaseDecorate(before: 'beforeNanika')]
    public function testFix()
    {
        $data = ['a', 'b', 'c'];

        $actual = ArrayUtil::fix($data);
        $this->assertSame($data, $actual->toArray());
    }

    #[CaseDecorate(after: 'afterNanika')]
    public function testFix2()
    {
        $data = ['a', 'b', 'c'];

        $actual = ArrayUtil::fix($data);
        $this->assertSame($data, $actual->toArray());
    }

    public static function beforeNanika()
    {
        var_dump(__METHOD__);
    }

    public static function afterNanika()
    {
        var_dump(__METHOD__);
    }

何か簡単な方法を用意できないものか??って願望があるのですが、本体や誰かのプラグインで用意されてても良さそうだよなーって思いつつあんまりちゃんと調べてないです。

Extension書いたら出来るんかな?
・・そう、私はPHPUnitのExtensionを作ることができるので!*1

fortee.jp

で、実際に動きはするやつを落書きしてみたのがコチラ (run in separationとかdata provider周りの、 TestSuite の挙動が変わる奴については動作確認取ってないです)

github.com

どう思います?

作ってみて感じたのは、

  • Emitter経由でEventを受け取る仕組みだと、TestCaseオブジェクトそのものを受け取るわけではないので、インスタンスメソッドを使えない
    • コレが使い勝手を悪くするなぁ。DB接続とか、インスタンス欲しいね
    • setUp()とかBefore attributesを使った標準の仕組みだと、TestRunnerが直に呼び出してくれるので使えるのだけども
    • 某FWのObjectPool+Facadeっぽいやつとは相性良さそう
  • 名前、「デコレータ」にしてるけど実現が難しそう
    • 実行前・後でラップしたり、実行結果自体を自分で直接観測できたら出来ることが増えそうなんだけどなぁ
      • とはいえテストケース(メソッド)は戻り値を持つわけではないから、あんまり要らないけど
      • テストの実行結果とかはEventの種類で分かるし、assertの実行結果とかも購読できる訳で
    • TestRunner自体を自分で書けば出来るんだけども、モチロンやりたくない

みたいな所ですかね〜

*1:このプロポーザルに対応する資料がアレばよかったのに、作ってないから思い出すのに少し時間がかかった

#phperkaigi で色々な発表を聞けてはっぴ〜記

セッションが色々あって、すごーい!!という感想でございます。

とてもおもしろいものが多かったので、さて聴講の感想ブログを・・・・と思ったは良いものの、ページ開くのが辛くなるくらい長くなりそうだったので、Notionに書きました✨

oo00hh.notion.site

そもそもこういう感じ(↓)になって → 何だかんだで軽く25本超えてきたことに気づいて → 「おっ、あぶないぞ、いったん引き返そう」となりまして、放流するものでございます。

たくさん書きましたよ〜〜〜〜〜

続きを読む

PHPerKaigi 2024に参加してめっちゃ楽しかった〜〜記

掲題のとおりです!!!

今回は色々と機会をいただきまして(スタッフの方にめっちゃ迷惑をかけつつ・・・ありがとうございました、本当に心から御礼申し上げます)、

  • レギュラーセッション登壇
  • LT登壇
  • パンフ記事(8ページ)
  • パンフ記事(4ページ)
  • パンフ記事(2ページ)

をコントリビュートしました。
こんなスペースもらって、掲載料金お支払いなしでいいの???って気持ちにマジでなりました。
どうしようもないのですが。
(その結果、何の辻褄もあっていないのですが、PHPカンファレンス香川の個人スポンサーに跳ね返っています)

登壇等に関する話も含め、しっかり書いていきたいと思うのですが、
それは別記事に譲りつつ今回は「速報的にライト目に書く」というエントリーになります。

(なので今回は「PHPerKaigiに参加しました!!」って投稿が、コレ含めて3本くらい生まれそうな気がするw)

何故そんなことを・・・?
単純に、他の参加者の #iwillblog を見ていて面白いし幸せな気持ちになったので、「自分の書きてぇな」ってなったからです。
欲求を供養するために書きます。

続きを読む

Miroを使えるようになると何が良いって、楽しい〜〜つってね!

わたくし、自分が考える前職での功績の1つとして「Miroを社内(の一部)で流行らせた」があると思っており、
使っている内にプライベートでも個人で課金する程度にはMiroが好きになったのですが、

突然↓のような事を言われて、

ふと思い浮かんだことがあったのでメモです

Miroを使えるようになるには?

好き〜〜!楽しい〜〜〜!って気持ちで触れていったら自然に育つのではないでしょうか!

fin

言いたいことはここまで、書きたかったことはこのあとです。

続きを読む

PHPカンファレンス関西2024 #phpkansai に登壇してきました

2024/02/11に開催された、PHPカンファレンス関西2024に参加しました。

【非公式!前夜祭】 PHPカンファレンス関西2024 - connpassから含めて参加し、またカンファレンス翌日に行われた PHP Lovers Meetup vol.4 + OSS Gate in 関西 - connpassにも途中まで参加して、2泊3日の大阪滞在でした。

参加記は、前回のエントリーに記録しています。 daisuki.nichiyoubi.land

「アプリケーションエンジニアこそ「監視」だよね!と私が考える訳」というタイトルで登壇の機会をいただいいたので、ふりかえってみようと思います

fortee.jp

↓これは、聴きに来てくれた人が投稿していた、雰囲気がやばくて好き過ぎる1枚。
(このスライドがどのくらい迫力出るかな〜・・・言ってもフォントは上品だし・・・とか気にしていたのですが、この写真に関しては想像以上だし良かった。)
でろさんありがとうございます。勝手に貼ります。

続きを読む

PHPカンファレンス関西2024 #phpkansai に参加してきました

2024/02/11に開催された、PHPカンファレンス関西2024に参加しました。

【非公式!前夜祭】 PHPカンファレンス関西2024 - connpassから含めて参加し、またカンファレンス翌日に行われた PHP Lovers Meetup vol.4 + OSS Gate in 関西 - connpassにも途中まで参加して、2泊3日の大阪滞在でした。
た〜〜〜〜〜のしかった!!!!という気持ちでいっぱいなのと、とても元気をもらえて勇気づけられて気合が入った時間になったと感じています。

めちゃくちゃ良い時間だったので、スタッフの皆さん、一緒に場を創ったり、個人的に交流させていただいた参加者の皆さんにも大変な感謝でございます。
ありがとうございました。

自宅に帰省して一休みしたこのタイミングで、ふりかえっていきます。

koyhogeさん作のスタンプラリーシステム、第2枠も無事に回収。

続きを読む