takaram PHP-Parserを利用すると、PHPのコードを抽象構文木 (AST) に変換したり、逆にASTをソースコードとして出力したりすることができます。
ASTの一部を書き換えることもでき、たとえばRectorはこれを利用してソースコードの書き換えを行います。
この技術を利用すると、PHPコードをminifyすることも可能です。
minifyはソースコードの空白の除去や変数名の短縮などにより、ソースコード全体のサイズを圧縮することです。JavaScriptやHTML、CSSでは、ブラウザ↔サーバー間の転送量削減のためによく行われます。
WASMを使いブラウザ上でPHPを動かす事例も増えている昨今、PHPコードをminifyしながらASTの力を感じてみませんか?
西原 翔太 自分の住む地域で技術系勉強会を開きたいと思ったことはありませんか? そして「でも勉強会は続けないといけないし,ネタも集めないといけないし,レベルも維持しないといけないし,責任もあるし......」と,思ったその瞬間に継続コストが頭によぎり,「やっぱりやめとこ」と動き出さなかったこともありませんか?
勉強会は技術系コミュニティにおける基礎体力に影響します.参加者のレベルアップや仲間づくりなど,即座にわかる効果もありますが,これを皮切りに全国的な技術系カンファレンスの行脚先に名乗りを上げたり,地域の技術カンファレンスを開いたりすることにもつながっていきます.
そうしたある種の呪縛を解くために,私が見てきた範囲で,"関係する人たちが苦しくなってしまった勉強会" が手軽でなくなったと思われる要素をひとつずつ噛み締めていく会を行い,最後に最大級の手軽な勉強会の実践を会場のみなさんで行います.
きんじょうひでき 抽象化能力を身につけるのに役立つ、いくつかの切り口を手に入れよう というトークです。
設計に不慣れな人も、手軽に「抽象化に思いを馳せる」ようになることを目指します。
「優れた設計には、優れた抽象化が欠かせない!」
そんな声を聞いたことはありませんか?
プログラミングにおける抽象化は、
PHPコミュニティでも、これまでに何度も探求され、発信されてきたテーマです(末尾に一例を挙げます)。
「うまい抽象化を身に着けたい・・」そのためには、理解と鍛錬が求められるものと考えます。
体術のように反復や試行錯誤が欠かせませんが、当てずっぽうにやる訳にも行きませんよね。
◯◯アーキテクチャやパターンランゲージと呼ばれるものはどうでしょう?
それらも強力なヒントになりますが、どうしても「実装寄りの話」に閉ざしたものになってしまいます。
より一般的な = クラス設計より手前の「抽象化」も重要です。
このトークでは、頭の中の道具箱にしまっておけるような、
「こういう観点で思考実験をしてみると、抽象化が捗るかもよ」という複数の切り口を提供します。
uiui MCPの登場により、LLMは様々なツールと接続できるようになりました。オープンソースに限らず、自分たちのサービスや社内ツールも手軽に統合できるようになり、LLMの活用の幅が広がっています。
今回は、PHPとPostgresでRAG(Retrieval-Augmented Generation)を実装した経験をもとに、方法と精度向上の工夫についてお話しします。まず、ベクトルとは何か、そしてなぜ意味的に近い情報を検索できるのかを解説します。その上で、文章をベクトル化して意味的に近い情報を検索する仕組みや、検索結果の精度を高める拡張クエリとリランキングについても具体的に紹介します。
今日の三井君 WordPress Playground は、WordPress を丸ごと WebAssembly 化し、ブラウザ上で実行できるようにした仕組みです。
サーバーやデータベースを構築することなく、WordPress の一連の動作をブラウザ上でエミュレートできます。管理画面で投稿や設定を保存し、それがフロントエンドに反映される──こうした体験を、サーバー構築の手間なく再現できることが学習・検証・プラグイン開発のハードルを大きく下げました。
PHPer の中でも Laravel や Symfony を日常的に使っている方には、WordPress エコシステムに馴染みがない方も多いかもしれません。
本セッションでは、WordPress コミュニティがどのように WASM を実用して Playground を生み出し、開発者体験を再構築したのかを紹介します。PHP vs WASM という対立構造ではなく、PHP アプリケーションでありながら補助的に WASM を活用することで体験を拡張できる可能性について、一緒に考えてみましょう。
※ WASM の基礎知識を前提としていないため「WASM なんもわからん」という方でも大丈夫です
uiui Laravel には、非同期処理を手軽に扱えるジョブキューの仕組みが用意されています。私自身もこの仕組みを利用してメッセージ予約配信機能を実装しました。
本セッションでは、そこで直面した課題や悩みを出発点に、まずジョブキューの基盤となる メッセージキューの仕組み、選択できる キュードライバ、そして 同期処理と非同期処理それぞれのメリット・デメリット を整理し、どのような場面でジョブキューを導入すべきかを考えます。
さらに、Laravel が標準で提供する リトライ・タイムアウト・並列処理 などの機能を踏まえながら、非同期処理やバッチ処理で重要となる 冪等性・リトライ戦略・並列制御・タイムアウト設計 を掘り下げ、堅牢でスケーラブルなシステム設計のヒントを探っていきます。
akshimo “もっと実りあるふりかえりをしたい”と思ったことはありませんか?
「ふりかえりって何?」「初めてチームにふりかえり文化を根付かせたい」という方から、「いつもなんとなくKPTをしているけど効果が見えにくい」「色んな手法を試したい」という方まで、
幅広い参加者に向けて、ふりかえりの基本から現場ですぐに使える手法までをわかりやすくお話しします。
しっかりと原則や基本的な考え方を押さえつつ、現場ですぐに使える「手軽に試せる実践知」を盛り込み、
明日から一歩チームをカイゼンできるヒントをお届けしたいと思います!
【セッション内容】
【このセッションの価値】
チームで“ふりかえり”をちょっとアップデートしてみたい方、お話できるのを楽しみにしています!
てきめん 最近のPHPではUnicodeを正しく扱え、使いやすいgrapheme関数の強化をしています。
本トークでは、そのgrapheme関数の使い方と、これからPHP 8.5で採用された関数・機能をご紹介します。
たつきち Web APIの認証・認可の基盤技術として至るところで使われているOAuth 2.0ですが、
その難解さから「何度説明されてもやっぱりよく分からない・・・」という意見がよく聞かれます。
このトークでは、
という方に向けて、今度こそ絶対に腑に落ちる、本当に一番分かりやすい解説を試みます。
お話しする内容は以下のとおりです。
OAuth 2.0としばしば混同されるOpenID Connectについてもあわせて解説します。
このトークを聞いて、「雰囲気でOAuthを使っている」状態から脱却しましょう!
mp 「協働」とは、複数の主体が目標を共有し、共に力を合わせて活動することを指します。
単なる「分業」や「協力」ではなく、立場や役割が異なる人たちが一緒に価値をつくりあげていく営みです。
エンジニアリングはコードを書いて終わりではありません。
サービスを設計する人、営業やサポートを担う人、エンドユーザの声を聞く人、──様々な立場の人たちが関わって初めて、プロダクトは価値を発揮できます。
しかし現実には、部署や部門の壁に阻まれ、うまく連携できないことも少なくありません。
実際の現場では、こんなことが起こりがちです。
でも、本来エンジニアリングは「他部署とともに価値をつくる営み」であり、協働がうまくいくとチームもプロダクトもぐんと強くなります。
私はこの「協働」のあり方こそ、これからのエンジニアにとって大切なテーマだと感じています。
今回のトークでは、私自身が他部署と一緒にプロジェクトを進めるなかで学んだことをベースに、
また、PHPカンファレンス香川2025のテーマ「手軽さ」にちなみ、“美味しいうどんを手軽に作るプロセス”をメタファーにしながら語ります。
協働は大げさに構えるものではなく、ちょっとした工夫や自然体のやり取りから始められる。
まるで「手軽に作れるのに驚くほど美味しい一杯のうどん」のように。
このトークでは、少しでも他部署とのコミュニケーションに悩むエンジニアが減ることを願い、他部署と働いているエンジニアがもっと「手軽に」協働できる方法をお話しします。
きんじょうひでき phperの皆さんは、アルファベットや数字に記号などなどをファイル上に並べていきますよね。
私達が直接的に生産するのは、ただの「文字の羅列」に過ぎません。
これを文法の枠組みに則って解釈することで、文や句と行った構造が手に入るのです。
例えば class Hoge{} と書かれていれば、「1つのクラスが定義されていて、そのクラスはHogeという名を持つ」といった具合です。
ASTの主な利用者はコンパイラでしょう。
人間が読み書きしやすい文字の羅列を、機械のための表現に変換する過程で現れます。
そして、「字句レベルではない、構造化されたレベルでコードを扱える」ことが、
コンパイラ以外にも色々な可能性をもたらします。
より抽象的な理解や操作が容易になり、色々な作業やコード品質の担保をお手軽なものにしてくれるのです。
そんなASTについて、「確かに面白いね!」と感じる人を増やしたいトークです
wakaba Symfonyは“フレームワークを作るためのフレームワーク”と呼ばれ、Laravelのコアにも採用されています。
そのため、初心者向けの導入説明や上級者向けの抽象概念を獲得するための解説などの知見を聞く機会が多くあります。
また、PHP 5.4で導入されたtrait(特性)も便利な仕組みである一方で、「知ってはいるが、どう活用していいか分からない」という人が多いのではないでしょうか。
本トークでは、Symfonyの拡張しやすい仕組みとtraitの相性に注目し、ストレージアクセスモデル、フォームバリデーション、ページ描画といった領域で、少ないコードで手軽に拡張・調整する実践例を紹介します。
また、trait導入によるインターフェース統一による不具合防止、Doctrineエンティティ、フォームバリデーションや描画の定義の一貫性や安全かつ手軽な変更を実現する方法についても解説します。
そして、これらの事例を足がかりに、traitパターンをアプリ全体に横展開することでチーム開発における安心感と長期運用に耐える拡張性を手軽に実現できることをお伝えします。
このトークで得られる知見
このトークの対象者
このトークで扱わない内容