s平面の左側

左側なので安定してます(制御工学の話は出てきません)

技術/PHP

PHP カンファレンス北海道 2024 (など)に参加しました #phpcondo

2024/01/13(土)に本編が開催された「PHP カンファレンス北海道 2024」および、非公式全然野菜(前々夜祭)と公式前夜祭に参加してきました。 昨日東京に帰る予定でしたが、悪天候に伴う欠航やチケットの振替手続きミスなど、いろいろが重なってまだ新千歳…

【PHP】PDO, Eloquent, Doctrine ORM で生 SQL で select した結果をオブジェクトにマッピングする方法それぞれ

この記事は PHP Advent Calendar 2023 の9 日目の記事です! qiita.com フレームワークに備わっているようなクエリビルダや ORMは便利なものです。 一方で「この SQL 文はクエリビルダの機能では表現できないな」「長年使われてきた秘伝の SQL 文があってな.…

PHP カンファレンス沖縄 2023 に参加 & ライブコーディングしてきました #phpcon_okinawa

9 月 16 日(土)に、琉球大学にて開催された「PHPカンファレンス沖縄2023」に参加および登壇してきました。 phpcon.okinawa.jp こちらも福岡と同様、物理的に参加するのは 2019 年以来 4 年ぶりでした。 聴講セッション 自身のライブコーディングについて …

3 年ぶりの "フルスペック"「PHPerKaigi 2023」に参加 & 登壇してきました #phperkaigi

前夜祭を含め、2023/03/23(木)〜 2023/03/25(土)に開催された PHPerKaigi 2023 に参加、および登壇してきました。 タイトルにある通り、2020 以来のオフラインをメインに据えた 3 年ぶりのフルスペックの PHPerKaigi でした。 phperkaigi.jp 当日の様子…

ISUCON 12 でも PHP 移植を担当しました #ISUCON

本戦開催から 1 ヶ月以上経っちゃいまいたが、改めまして、今年もやりました。 意図や所感などを箇条書きで雑多に書いていきます。 isucon.net 大きな方針は ISUCON 11 のときと大きく変わらないので、こちらの発表を参考にしてください。 www.youtube.com d…

PHP カンファレンス 2022 に参加しました #phpcon2022

9 月 24, 25 日に開催された PHP カンファレンス 2022 に参加して来ました。 phpcon.php.gr.jp 聴講セッション 17年続くWebサービスを改善する 〜新卒2年目からみるカラーミーショップ〜 なるべくJavaScriptを書かないでSymfonyのUIをリッチにする、『Symfon…

PHP の proc_open() でコマンド実行するときに標準出力と標準エラー出力を同一の変数(文字列)に格納する

両方とも同一の php://temp に出力させ、 process_close() したあとに rewind() でファイルポインタを先頭に戻して stream_get_contents() で読み込む。 &2']; // 実行したいコマンド $fp = fopen('php://temp', 'w+'); $descriptorSpec = [ 1 => $fp, // フ…

#PHPerKaigi 2022 参加レポート Day 2 & 全体感想

一週間経ってしまいましたが、Day 0(前夜祭)、Day 1 に続き PHPerKaigi の最終日 Day 2 の参加レポートと全体の感想です。 blog.okashoi.net blog.okashoi.net Day 2 参加レポート クロージングと全体感想 Day 2 参加レポート 最終日である Day 2 では、私…

#PHPerKaigi 2022 参加レポート Day 1

昨日の前夜祭に引き続き、本編にも参加しています。 blog.okashoi.net 本編かつ日曜日ということで参加人数が増加し、スポンサーブースを含む「廊下」も前夜祭以上に人が集まり賑わっていました。 私はセッションの聴講と、「廊下」にたむろするのとを半分く…

#PHPerKaigi 2022 参加レポート Day 0(前夜祭)

今年もやって参りました。 PHPerKaigi の季節です。 phperkaigi.jp 私は PHPerKaigi の大ファンで、今年は 2 年ぶりの現地会場あり(カンファレンス自体はオンラインとのハイブリッド)ということで、喜び勇んで参加申し込みをしました。 受付完了、会場 in#…

PHP Conference Japan 2021(オンライン)に参加しました

10 月 2, 3 日(土、日)に開催された PHP Conference Japan 2021 に参加しました。 phpcon.php.gr.jp 今年もオンライン開催で、YouTube Live + Discord のチャットという形式での参加でした。 それゆえ、特に写真や物が残る訳ではなく、ただ言葉で語るだけ…

Composer において Packagist 以外(GitHub リポジトリ、ローカルのファイル)からパッケージを取得する方法

先日、PHP カンファレンス沖縄 2021 にて「自分たちのコードを Composer パッケージに分割して開発する」というテーマで発表しました。 phpcon.okinawa.jp プロポーザル fortee.jp スライド 自分たちのコードを Composer パッケージに分割して開発する…

#PHPerKaigi 2020 参加レポート Day 2

少し日が空きましたが、最終日のレポートです。 phperkaigi.jp Day 0, Day 1 の参加レポートはこちら。 blog.okashoi.net blog.okashoi.net 聴講セッション ジェネレータで無限を手玉に取る術 マスターデータの管理運用と実装について PHPシステムをコンテナ…

#PHPerKaigi 2020 参加レポート Day 1

昨日に引き続き、PHPerKaigi 2020 の参加レポートです。 phperkaigi.jp Day 0 の参加レポートはこちら。 blog.okashoi.net 様子など 聴講セッション CakePHPの進化から読み解く、PHPフレームワークの"今"っぽさ PHPとEventSauceで始めるイベントソーシングア…

#PHPerKaigi 2020 参加レポート Day 0

今年も PHPerKaigi の季節がやってきた! phperkaigi.jp というわけで、Day 0(前夜祭)の参加レポートです。 今年は「ジョーカー」チケットで参加! トレーディングカード Day 0 聴講セッション Deep Module in PHP マルチパラダイムモデリング 〜異なるモ…

PHP + Swoole で論理回路シミュレータを作ってみた

こちらはウィルゲート Advent Calendar 2019 の 18 日目の記事です。 昨日は @msm_2 さんによる「SwiftUIについて調べたこと」でした。 sinnderu.hatenablog.com 背景 JK-FF についての解説 実際の動作 実装解説 懇親会 LT での反響 感想と今後の展望 これは…

PHPUnit を 8 系にアップグレードしたときのメモ

基底クラス PHPUnit\Framework\TestCase の一部メソッドの型が変わっている expectedException 系アノテーションが deprecated に 基底クラス PHPUnit\Framework\TestCase の一部メソッドの型が変わっている テストを実行すると以下のエラーが発生した。 Fat…

Laravel.shibuya #3 の IRT の司会を務めました & セルフ振り返り

こちらのイベントです。 laravel-shibuya.connpass.com Laravel.shibuya がどのような想いのもとに立ち上げられたかはこちらを参照。 www.fendo181.me IRT (interactive Round Table) という形式の会(?)の司会をやりました。 感想 セルフ振り返り 次回は …

Python-PHP 辞書

(学生時代 Python を書いていた)私が PHP の会社に新卒入社してすぐの頃(4 年前!)のメモがでてきたのでブログに上げてみる。 Pythonista な私が PHP で戦うための辞書。 「Python でこう書くやつ、PHP だとどうなるの?」ってやつを積み重ねていこうと…

PHP カンファレンス福岡 2019 に参加 & 登壇してきました #phpconfuk

6月29日(土)に開催された PHP カンファレンス福岡 2019 に参加してきました。 phpcon.fukuoka.jp 前夜祭と After Hack 含めた 3 日間、福岡に滞在しました。 会場の福岡ファッションビル 開会式前の会場の様子 今は、カンファレンスのプラチナスポンサー、…

PHP において抽象クラスのテストを書く

抽象クラスが存在し、そこに具象メソッドが実装されている場合を考えます。 name = $name; } public function introduce(): string { return 'I\'m ' . $this->name . '.'; } } この場合 introduce() メソッドは場合は次のようにして書けます*1。

PHPerKaigi 2019 参加レポート/2 日目 ~PHPer のための「大人の文化祭」~

前日に引き続き、 PHPerKaigi 2019 の参加レポートです。 公式サイトはこちら。 phperkaigi.jp 前日の参加レポートはこちら。 blog.okashoi.net 参加中の様子など 【準備中】 (あとでモーメントを作成してここにリンクを設置します) 所感など 2 日目は DDD…

PHPerKaigi 2019 参加レポート/0 日目(前夜祭)〜 1 日目

3/29(金)の前夜祭から PHPerKaigi 2019 に参加しています。 PHPerKaigi は昨年の様子を見てとても楽しそうだったので、今年は参加しようとずっと思っていました。 phperkaigi.jp 1 日目が終了したところで PHPer トークンを目当てにいったんの感想などを。…

Laravel JP Conference に当日スタッフとして参加してきました

昨日は、最初で最後の開催言われている Laravel JP Conference に参加してきました。 conference2019.laravel.jp 今回は当日スタッフとして、会場での誘導係などをやっていました。 名札かっこいい!スタッフ頑張るぞい #laraveljpcon pic.twitter.com/An4bL…

PHP Conference 2018 で Laravel × レイヤードアーキテクチャの話をしてきた

先週の土曜日 12月15日に大田区産業プラザ Pio で開催された PHP Conference 2017 に参加し、発表もしてきた。 来場者はおよそ 1000 人にも及び、大変な盛り上がりを見せた。 今回はイベントの盛り上げに少しでも力添えするため、メモや感想はすべてハッシュ…

Laravel で API サーバを実現する際の構成案

背景 SPA (Single Page Application)を作るにあたって、サーバサイドは純粋に JSON API だけを提供するということもある。 これを Laravel で実現する際の構成について考え・検証したものを GitHub にあげた。 github.com この記事ではその内容を(ほぼ)…

【資料あり】「Laravel/Vue.js 勉強会 #4」に参加して LT もしてきた

一昨日の4/25開催された Laravel/Vue.js 勉強会に参加してきた。 laravue.connpass.com Laravel/Vue.js 勉強会は第1回に登壇枠で参加させていただいたこともある。 blog.okashoi.net 以下、参加しながら取ったメモ。 [登壇枠1] Laravel と Nuxt.js を業務で…

続・Laravel 5.4 におけるユーザ権限管理の実装に関する考察

このエントリーの続き。 blog.okashoi.net このエントリーを書いた後早々に「Laravel のドキュメントを全部読め」という旨のツッコミを頂いた。 そして、Laravel の機能でやりたいことが実現できることを学んだ。 laravel.com 日本語訳はこちら→ 認可 5.4 La…

Laravel 5.4 におけるユーザ権限管理の実装に関する考察(途中まで)

追記:2018/01/27 続きのエントリ。 Laravel が提供している機能で実現できることが分かったので、結論だけ知りたい人はこちらを読めば OK。 blog.okashoi.net -- 追記ここまで -- 背景 業務において、同じチームのメンバーがプルリクエストを WIP で出し「…

PHP カンファレンス 2017 に参加してきた

9月は業務が忙しかったのでブログの更新が滞っていた(言い訳)ので、久々の更新。 昨日 10月8日、大田区産業プラザ Pio で開催された PHP カンファレンス 2017 に参加してきた。 スピーカーのみなさんがスライド自体分かりやすくまとめてくださっているのと…