PHP コードを実行するために必要なのが、PHP 実行環境です。
多くの Web アプリケーションでは、php-fpm や Apache httpd モジュールの mod_php を利用しているでしょう。こうした環境では、HTTP リクエストごとに独立したコンテクストで PHP コードが実行されます。個々のコンテクストは独立しているので、外部リソースを共有しない限り、お互いの干渉を気にせずにアプリケーションコードを実装できます。
本発表では、このような PHP の動作モデルをご存知無い方を対象に、どのように PHP コードが動作しているのかを図解を交えて解説します。
学生である私の視点を大きく広げてくれた、PHPカンファレンスという(シリーズ)イベントがあります。
このトークでは、 昨年カンファレンスに初参加し、現地の熱気にあてられた私が2年間で挑戦した事柄についてお話しします。
形はなんであれ、聞いてくれた方の行動を引き出すことができたら嬉しいです。
折角なら"参加するだけ"で終わらず、その後の行動にも繋げたいですよね?
是非、私発信の大きな熱量と刺激を受け取りに来てください!
香川と言ったら? Tyrellでしょ!
香川県が世界に誇る自転車ブランド、Tyrell。
Tyrell IVE Sports Complete 量産1号車を購入し、商業刊行されるカスタムムックにたびたび掲載されるほど、
TyrellだいすきなスピーカーがTryellの魅力・素晴らしさについて熱く語ります!
許される範囲で書籍などに無い話も出来たらいいなぁ。
2024年4月13日に「PHPカンファレンス小田原2024」を開催しました。このカンファレンスは初開催、かつ、私史の中でも1番大きなイベントで、学んだことがたくさんあります。
最高のスタッフたちと共に作り上げた「PHPカンファレンス小田原2024」の「ふりかえり」をみっちり濃厚にしていきます!!!
話すこと
・PHPカンファレンス小田原を開催したきっかけ
・「タイムライン」をみながら「良かった点」「改善点」などをふりかえる
・PHPカンファレンス小田原で大事にしていたこと
・今だから話せる「こだわった」とこ
・なんか裏話があれば話します
オープンソースソフトウェア(OSS)は、世界中の多様な人々によって日々進化し、改善されています。多くの方がOSSへの貢献に興味を持ちながらも、コーディングスキルの不安や言語の壁により、躊躇してしまうことは珍しくありません。
しかし、コードを書くこと以外にも、OSSへ貢献する方法は数多く存在します。
今回は、特に貢献しやすい環境が整っていると私が考える『WordPressコミュニティ』を例に、自身の体験も交えながら他のOSSプロジェクトにも応用可能な貢献の方法を紹介します。
このセッションで、不安が払拭されOSSに貢献したくなります!
未経験からエンジニアとして入社し、初めてのチーム開発を経験しました。
1年間の学びで重要だと感じたのはプルリクエスト(PR)の作成方法です。
PRはマージされて終わりのものではなく、後続のメンバーや開発段階のメンバーが参照することへの考慮が必要です。
PRはプロジェクトの重要な履歴であり、その質はチームの健全性に影響します。
美しく、有用で分かりやすいPRを作成することで、
・コミュニケーションエラー減少
・誤った仕様理解に基づく実装ミス削減
・レビュワーのレビュー効率向上が期待でき、チームメンバーの幸福に繋がる
といった効果が期待できます。
このトークでは、経験をもとに学んだ良いPRの具体的な要素やTipsに焦点を当て、良いPRがチームの生産性や雰囲気に与える良い影響についてもお話できればと思っています。
みなさんは技術情報をどのように仕入れていますか?
SNS、Zenn、Qiita、etc...
ソフトウェアエンジニアリングに関する情報プラットフォームは多岐に渡っています。
その中で自分の関心がある情報のみを取捨選択するのは、なかなか骨が折れるものです。
このセッションでは新卒〜5年目に至る今日までで確立した、自分がソフトウェアエンジニアリングに関わる情報を収集する手段や情報収集先についてお話しできればと思います。
PHP 8.2 からはクラスで未定義のプロパティに値を生やす、動的なプロパティの生成が非推奨となりました。
さらに PHP 9 からは例外が投げられるようになると RFC で予告されています。
この影響は大きく、特にレガシーなプロダクトでは予期せぬところで踏んでしまうことが容易に予想されます。
このトークでは、20年以上の歴史を持つサイボウズのGaroonを PHP 8.2 にアップデートする際に、動的プロパティにどう立ち向かっていたのか。
また PHP 9 に向けてどういったことに取り組む予定なのか、ということをお話しします。
■ 話す内容
※話す内容は変更になる可能性があります
バックログの仕様を読み、ソースコードを書き、プルリクエストを作り、レビューされ、マージされる。
そういったソフトウェア開発を皆さん毎日行っていると思います。
ソフトウェアの品質を高めるために、コードレビューという行為は当たり前になりました。
しかし、実際問題として、レビューを依頼しても、なかなか結果が返ってこなかったり、レビューの指摘が不完全で何度も再レビュー再修正を繰り返して、うまく開発のスピードが出ないこともあると思います。
このセッションでは、コードレビューを効率的に迅速に行うために、コードレビューの限界や、認知負荷、年間400リリースを達成したソースコードの管理手法についてお話します。
アジェンダ予定
私は10年以上QAエンジニアとして、過去は外資系のマイクロソフトなど、現在ではプレスリリース配信サイトとしては業界No1のPR TIMESでQAチームの立ち上げをおこない、今現在も現場でQAを行っています。
今回は私がサービスの品質担保に重要と考える「テスト分析」と「テスト設計」を、簡易的ではありますが、架空のサービスで実際に行ってみたいと思います。
エンジニアの皆さんが普段業務で行っているUnit TestやE2E Testがどのように選択されるべきなのか。また、余り馴染みはないかもしれない探索的テストもどのように取り入れられるのかなどをリアルにご紹介したいと思います。
このトークで、皆さんがより高いレベルでテストを無駄なく行うことができ、結果プロダクトの品質がアガリ、リリースサイクルも向上するようになればと考えております。
私は約1年間でチームの目的や状況に合わせて、1人プロ・ペアプロ・モブプロで動き方を変化させました。
・ 期限・要件が決まっているチーム開発
・1人プロ
・ペアプロ
・ 自分たちで期限・要件を決めていくチーム開発
・ペアプロ
・モブプロ
ペアプロ・モブプロだと1人で開発しているときに比べて圧倒的にコミュニケーションが増えます。この経験から、様々な目線で開発方法をやってみたことで、うまくいくときとうまくいかないときがあることに気づきました。
このセッションでは、それぞれの状況を比較して、何に重きを置いたときにどの選択をすればいいのかを話していきます。
状況に応じて一長一短があるので、ペアプロ・モブプロをしたことがないが気になっている方の参考になればいいなと思います。
PHPのリポジトリ、php-srcに、長らく「マルチバイト対応のtrim関数を作ってくれないか」というFeature Requestがありました。
これをぼくが拾い、RFCでmb_trim関数の設計を行い、PoCを作成し、RFCが可決されてPoCが改善されていくところのプロセスを喋ろうと思います。
新しい関数を作ってみたい、RFCが必要なほどの変更を行いたい方におすすめしたいです。
とはいえ、それではハードルが高いので、mb_trim関数の説明も行い、PHP 8.4(相当)での使い方もお話しますので、
mb_trim関数のユースケースについてもご紹介します。
PHP ウェブアプリケーションに Cloudflare を組み合わせることにより、パフォーマンスの改善、セキュリティの強化、コストの削減など様々な恩恵を受けることができます。
このセッションではコンテンツの配信を効率化する基本的な CDN 機能の活用から始め、Cloudflare Workers を用いてエッジでの動的処理を実装することにより、世界中のエンドユーザーへ質の高い体験を提供するアプローチを掘り下げます。
本番環境で Cloudflare を活用している立場から、試行錯誤を通じて得た知見と経験を元に、アプリケーションの開発と運用をどのように改善できるかについて具体的な事例を共有します。