PHP コードを実行するために必要なのが、PHP 実行環境です。
多くの Web アプリケーションでは、php-fpm や Apache httpd モジュールの mod_php を利用しているでしょう。こうした環境では、HTTP リクエストごとに独立したコンテクストで PHP コードが実行されます。個々のコンテクストは独立しているので、外部リソースを共有しない限り、お互いの干渉を気にせずにアプリケーションコードを実装できます。
本発表では、このような PHP の動作モデルをご存知無い方を対象に、どのように PHP コードが動作しているのかを図解を交えて解説します。
学生である私の視点を大きく広げてくれた、PHPカンファレンスという(シリーズ)イベントがあります。
このトークでは、 昨年カンファレンスに初参加し、現地の熱気にあてられた私が2年間で挑戦した事柄についてお話しします。
形はなんであれ、聞いてくれた方の行動を引き出すことができたら嬉しいです。
折角なら"参加するだけ"で終わらず、その後の行動にも繋げたいですよね?
是非、私発信の大きな熱量と刺激を受け取りに来てください!
香川と言ったら? Tyrellでしょ!
香川県が世界に誇る自転車ブランド、Tyrell。
Tyrell IVE Sports Complete 量産1号車を購入し、商業刊行されるカスタムムックにたびたび掲載されるほど、
TyrellだいすきなスピーカーがTryellの魅力・素晴らしさについて熱く語ります!
許される範囲で書籍などに無い話も出来たらいいなぁ。
ここ数年 Rust の人気が高まりを見せています。
話者は普段よく Python を使用していますが、Python 界隈でも Rust の存在感が増しており、Rust で書かれた Python のツールやライブラリが現れつつあります。
本トークでは PHP と比較しながら Rust について簡単に紹介をした後、ext-php-rs というライブラリを使用して PHP の拡張モジュールを Rust で作成する方法をデモを交えつつ紹介させて頂きます。
対象
・Rust に興味のある方
・PHP の拡張モジュール(エクステンション)に興味のある方
お話しすること
・Rust の言語仕様や特徴、PHP との比較
・PHP の拡張モジュール(エクステンション)について
・ext-php-rs の紹介とデモ
約3年間アプリケーションエンジニアを経験した後、私はSREになりました。
私にとって初めてのPHPバージョンアップであり、社内でも慣れている人が少なく、どのように進めれば良いか明確なイメージを持てないまま取り組みが始まりました。
このトークでは、大小様々な4つの自社プロダクトのPHPバージョンアップを、アプリケーションチームやインフラチームとどのように連携して進めたのか、技術的な挑戦や学び、失敗談を含め、実体験をリアルにお話します!
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人で開発しているときに比べて圧倒的にコミュニケーションが増えます。この経験から、様々な目線で開発方法をやってみたことで、うまくいくときとうまくいかないときがあることに気づきました。
このセッションでは、それぞれの状況を比較して、何に重きを置いたときにどの選択をすればいいのかを話していきます。
状況に応じて一長一短があるので、ペアプロ・モブプロをしたことがないが気になっている方の参考になればいいなと思います。
合計 30 分 : 30 分が来たら中締め
開始前にやりかたの説明を,終了後に実際に導入する際の注意点を説明します.
また,今回ははじめてやる人も多いと思うので,フェーズごとに簡単な説明を挟みます.
【参考資料】
ブログを見つけて読んで感想書いてそれを肴に交流する会を30分でやりきっています|Shota Nishihara
https://note.com/tomio2480/n/nf909bb77b4b7
PhpStormは使いこなせていますか?
マウス/トラックパッド操作を極力減らしたり、ファイル間を行き来したり、生産性を高める使いこなし技を40分に詰め込めてお届けします!
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 を活用している立場から、試行錯誤を通じて得た知見と経験を元に、アプリケーションの開発と運用をどのように改善できるかについて具体的な事例を共有します。
「地方こそサーバーレス」
話者は地方にてサーバーレスアーキテクチャを選択することは、非常に意義ある選択と考えます
ではなぜそう考えるのかを理論立ててご説明します
地方都市である福岡にてサーバーレスアーキテクチャを採用し続けた経験、
その中でAWS Lamaba x Bref x Laravelという選択を行った際のPHPerとのシナジー、
話者以外のエンジニアとチーム開発した経験も添えてお話します
その中で確信した「地方こそサーバーレス」という意義、
「PHPにてサーバーレスを選択する」という効果を惜しみなく共有します
話者は地方企業がサーバーレスPHPの選択を行い、一般化されていくことで、
地方企業だからこそ得られる価値が伝搬していくことを望んでいます
みなさん、サービスの監視はしていますか?
CPUやメモリ、ディスク使用率などのことではなく、「サービスがきちんと運用できているか?」という視点の監視です。
これはとあるサービスにて、適切な監視が行われていなかったことで起きた悲劇と
その悲劇を二度と起こさないためにも私が進めたサービス監視についてお話します。
コードを読み進め、「お前ここにいたのか〜〜!」となる瞬間が大好きな私です
Xdebug・PhpStormは、最強の相棒で究極のバフ。
仲良くなれば、コードリーディングの世界が変わります
私の実体験で言えば、OSSへの初PRはPhpStormを使い始めた頃でした
──「中身」に゙触れるハードルが下がった成果です
この喜びをもっと広めたい!
Composer/CakePHP/PHPUnitの何れかを読む様をライブ コ リーディングでお見せします
どれにするかは会場の挙手で決めましょう
ステップ実行あまり(全く)使えていないな、という人にレベルを上げて帰ってもらう