日本のインフラにはどの地域にも利用できる公民館,あるいはそれに準じた公営施設が存在します.イベント開催側として利用したことはあるでしょうか?
日本には 1,741 の市区町村があり,それぞれの地域毎に異なるルールで運用される公営施設があります.特にすばらしいポイントは住民に開かれた施設であり,利用料が同様の民営施設に比べて安価,あるいは無料であることが挙げられます.一方で民営施設と異なるルールがあったり,技術系勉強会の開催においては不利になる設備状況であったりと,開催に踏み切るには心配な点があることも拭えません.
そこで,過去私が開催してきた公営施設での勉強会で感じた,様々な嬉しポイントや悲しポイントをふんだんに紹介します.みなさんが住まわれている地域の公民館に興味を持っていただき,安価に勉強会やカンファレンスを開催する一つの選択肢として感じていただけることをめざします.
テストコードを書いたことがない人からすると、テストコードとは『コストをかけられる人が行う、高品質を目指すためのもの』という印象があるかもしれません。
しかしテストコードは全くもってバグを減らすためだけのものではなく、もっと手軽で日々の開発を楽に安全で効率的に進めるためのものでもあります。
「仕様がすごい変わるから付け足しのコードになるのは仕方ない」
「コードを変更するとバグが起きるリスクが高いし、コストもかかるので極力変更してはならない」
「できるだけコード追加で済むようにする」
「デッドコードなんじゃないかって?でも動かなくなったら嫌だしさ…」
――こうした“秘伝のタレ状態”のコードは、まさにテストコードがないことで生まれます。
本セッションでは、テストコードがないとチームやコードにどんな影響が出るのか、テストコードを導入したことで何が変わったのかを、実体験を交えて紹介します。
さらに、テスト文化のないチームでどのようにテストコードを広めていっているのかなどについても解説します。
テストコードを社内に広めたい方、チームでの導入に悩んでいる方、また既にテストを書いている方がその価値を改めて再確認する助けになれれば幸いです。
PHP-Parserを利用すると、PHPのコードを抽象構文木 (AST) に変換したり、逆にASTをソースコードとして出力したりすることができます。
ASTの一部を書き換えることもでき、たとえばRectorはこれを利用してソースコードの書き換えを行います。
この技術を利用すると、PHPコードをminifyすることも可能です。
minifyはソースコードの空白の除去や変数名の短縮などにより、ソースコード全体のサイズを圧縮することです。JavaScriptやHTML、CSSでは、ブラウザ↔サーバー間の転送量削減のためによく行われます。
WASMを使いブラウザ上でPHPを動かす事例も増えている昨今、PHPコードをminifyしながらASTの力を感じてみませんか?
自分の住む地域で技術系勉強会を開きたいと思ったことはありませんか? そして「でも勉強会は続けないといけないし,ネタも集めないといけないし,レベルも維持しないといけないし,責任もあるし......」と,思ったその瞬間に継続コストが頭によぎり,「やっぱりやめとこ」と動き出さなかったこともありませんか?
勉強会は技術系コミュニティにおける基礎体力に影響します.参加者のレベルアップや仲間づくりなど,即座にわかる効果もありますが,これを皮切りに全国的な技術系カンファレンスの行脚先に名乗りを上げたり,地域の技術カンファレンスを開いたりすることにもつながっていきます.
そうしたある種の呪縛を解くために,私が見てきた範囲で,"関係する人たちが苦しくなってしまった勉強会" が手軽でなくなったと思われる要素をひとつずつ噛み締めていく会を行い,最後に最大級の手軽な勉強会の実践を会場のみなさんで行います.
抽象化能力を身につけるのに役立つ、いくつかの切り口を手に入れよう というトークです。
設計に不慣れな人も、手軽に「抽象化に思いを馳せる」ようになることを目指します。
「優れた設計には、優れた抽象化が欠かせない!」
そんな声を聞いたことはありませんか?
プログラミングにおける抽象化は、
PHPコミュニティでも、これまでに何度も探求され、発信されてきたテーマです(末尾に一例を挙げます)。
「うまい抽象化を身に着けたい・・」そのためには、理解と鍛錬が求められるものと考えます。
体術のように反復や試行錯誤が欠かせませんが、当てずっぽうにやる訳にも行きませんよね。
◯◯アーキテクチャやパターンランゲージと呼ばれるものはどうでしょう?
それらも強力なヒントになりますが、どうしても「実装寄りの話」に閉ざしたものになってしまいます。
より一般的な = クラス設計より手前の「抽象化」も重要です。
このトークでは、頭の中の道具箱にしまっておけるような、
「こういう観点で思考実験をしてみると、抽象化が捗るかもよ」という複数の切り口を提供します。
うどん作りは大変で難しそうとのイメージが先行していませんか?
うどん作りに必要な原則を押さえ、実践に必要な情報を得ることで、ご家庭で「手軽に」「再現性を持った」「美味しいうどん」を作ることができます。
本トークでは登壇者の経験に基づいたうどん作りのための情報をお伝えします。
MCPの登場により、LLMは様々なツールと接続できるようになりました。オープンソースに限らず、自分たちのサービスや社内ツールも手軽に統合できるようになり、LLMの活用の幅が広がっています。
今回は、PHPとPostgresでRAG(Retrieval-Augmented Generation)を実装した経験をもとに、方法と精度向上の工夫についてお話しします。まず、ベクトルとは何か、そしてなぜ意味的に近い情報を検索できるのかを解説します。その上で、文章をベクトル化して意味的に近い情報を検索する仕組みや、検索結果の精度を高める拡張クエリとリランキングについても具体的に紹介します。
「カンファレンススタッフってどんなことをしているのだろう...」「当日スタッフに興味があるけど、私にもできるのだろうか...」
そのように感じている方もいらっしゃるのではないでしょうか?
私は2025年から約7回スタッフとしてカンファレンスに携わりました。
当日スタッフとしてカンファレンスに携わる中で、下記の2点を感じるようになりました。
・PHPカンファレンスにスタッフとして携わることも、PHPコミュニティに寄与する一つの方法である
・当日スタッフは「手軽に」コミュニティへ携わリ始めることができる
このLTでは、私のカンファレンスのスタッフ経験を通して、カンファレンスに当日スタッフとして携わることが、手軽にPHPコミュニティに寄与する手段の一つと考える理由をお伝えします。
⚪︎話すこと
・カンファレンスの当日スタッフとは何か
・私のカンファレンススタッフ経験
・当日スタッフが手軽にPHPコミュニティに寄与する手段の一つであると考える理由
このLTを通して、「カンファレンスに当日スタッフとして携わってみよう!」と思ってくださる方が一人でも増えてくださると嬉しいです!
※下記のLTをベースに内容を再構成、ブラッシュアップしたものを発表します。
https://speakerdeck.com/kousukeosanai/kanhuarensusutatuhuyatutemiyou
WordPress Playground は、WordPress を丸ごと WebAssembly 化し、ブラウザ上で実行できるようにした仕組みです。
サーバーやデータベースを構築することなく、WordPress の一連の動作をブラウザ上でエミュレートできます。管理画面で投稿や設定を保存し、それがフロントエンドに反映される──こうした体験を、サーバー構築の手間なく再現できることが学習・検証・プラグイン開発のハードルを大きく下げました。
PHPer の中でも Laravel や Symfony を日常的に使っている方には、WordPress エコシステムに馴染みがない方も多いかもしれません。
本セッションでは、WordPress コミュニティがどのように WASM を実用して Playground を生み出し、開発者体験を再構築したのかを紹介します。PHP vs WASM という対立構造ではなく、PHP アプリケーションでありながら補助的に WASM を活用することで体験を拡張できる可能性について、一緒に考えてみましょう。
※ WASM の基礎知識を前提としていないため「WASM なんもわからん」という方でも大丈夫です
Laravel には、非同期処理を手軽に扱えるジョブキューの仕組みが用意されています。私自身もこの仕組みを利用してメッセージ予約配信機能を実装しました。
本セッションでは、そこで直面した課題や悩みを出発点に、まずジョブキューの基盤となる メッセージキューの仕組み、選択できる キュードライバ、そして 同期処理と非同期処理それぞれのメリット・デメリット を整理し、どのような場面でジョブキューを導入すべきかを考えます。
さらに、Laravel が標準で提供する リトライ・タイムアウト・並列処理 などの機能を踏まえながら、非同期処理やバッチ処理で重要となる 冪等性・リトライ戦略・並列制御・タイムアウト設計 を掘り下げ、堅牢でスケーラブルなシステム設計のヒントを探っていきます。
積極的に管理したいわけではない、出来るだけ手軽に管理したいサイトやサービスはありませんか?
そんな時にオススメなのが、Amazon Lightsailです。
Lightsailを使えば、定額で仮想サーバーを立てられます。様々なブループリント(初期状態)があり、PHPが予めインストールされたサーバーもあります。
EC2では1から必要なプログラムをインストールするのが大変、Lambdaでは結局いくらかかるか分からなくて心配、という方には手軽で安心な良い選択肢になります。
個人開発はデプロイできるとより楽しいものです。Lightsailでお手軽デプロイを試してみませんか?
近年、カンファレンスや書籍を通じて多様なソフトウェア設計の手法が広まり、私たちの選択肢はますます多くなっています。
しかし、リソースは有限です。すべてを全力で完璧に作り込むことは難しい場合もあります。
「どこに力を注ぐか」を見極めることも重要です。
事業の競争優位を支える核心領域には積極的に投資し、それ以外はあえて“手軽に”抑える。
判断を誤れば、逆に設計に振り回されて事業価値に結びつかないコストばかりが膨らんでしまう危険もあります。
ドメイン駆動設計の著者であるEric Evansはかつて、「最も才能がある人をコアドメインに割り当てること」と述べています。
そして現在では、メンバーの技術力やドメイン知識、内製・外注という判断軸に加え、"AI"という選択肢も広がっています。
これらの判断はどのように見極めればよいのでしょうか。
さらに近年では、コードや機能の「捨てやすさ」も注目されています。
手軽に「作る」だけでなく、手軽に「捨てる」ことも重要となってきました。
本セッションでは事業理解を基盤に設計・コーディングの「力の入れどころ」や「捨てやすさのデザイン」をどう考えるかをお話しします。
Kent Beckが提唱する"Optionality"などに触れながら、設計投資にメリハリをつける視点を紹介します。
また、私自身も過去に設計に投資しすぎてかえって無駄な複雑性を増やしてしまった失敗を経験してきました。
こうした自身の過去の失敗例も交え、理論と実践の両面から学びをお届けできればと思います。
事業価値を見据えつつ、どこに投資し、そしてどう捨てるか。
このセッションを通じて、その判断を明日から少し“手軽に”行えるようになるヒントを持ち帰っていただければ幸いです。
“もっと実りあるふりかえりをしたい”と思ったことはありませんか?
「ふりかえりって何?」「初めてチームにふりかえり文化を根付かせたい」という方から、「いつもなんとなくKPTをしているけど効果が見えにくい」「色んな手法を試したい」という方まで、
幅広い参加者に向けて、ふりかえりの基本から現場ですぐに使える手法までをわかりやすくお話しします。
しっかりと原則や基本的な考え方を押さえつつ、現場ですぐに使える「手軽に試せる実践知」を盛り込み、
明日から一歩チームをカイゼンできるヒントをお届けしたいと思います!
【セッション内容】
【このセッションの価値】
チームで“ふりかえり”をちょっとアップデートしてみたい方、お話できるのを楽しみにしています!
Web を支える重要なプロトコルのひとつ、HTTP。言語やライブラリ、フレームワークの下に隠蔽され、通信プロトコルを直接意識する機会は少ないと思います。そこで、PHP のソケット API を使って HTTP を解する小さなサーバを実装し、HTTP の理解を目指しましょう。
実装を通して、初心者が抱きがちな次のような疑問を解消します。
本を読んでいますか?
良き本との出会いは一期一会であり、
もしかしたら次にあなたが読む本は、あなたの人生を強烈に変える1冊かもしれません。
本を読むためには、「買う」「借りる」「読み放題サービス等を使う」といった手段があります。
その前には、「探す」「出会う」といったステップがある訳です。
言い換えれば、必ず何かしらの「アンテナに引っ掛ける」アクションが必要です。それが、良書と出会う確率を高めるでしょう。
🌟LTのポイント①
では、どのように良さそうな本と出会うのでしょうか?
LTの話者自身が実践していること、周囲の人から聞いたことをベースにして
実践方法とポイントを共有します。
うまくアンテナを広げて引っ掛けられるようになると、「出会った本」「読みたい本」は増えていきます。
必然的に、「読みたい本と読めた本の比率」も変わるでしょう。
良き付き合い方を見つけてくいく必要があります。
大事なのは、「全ての本を、同じ濃度で読み切る必要はない」「途中で読み方を変えても良い」「将来また読み直しても良い」という点です。
これにより、「積読」を「不良在庫」化せずに、意味のある付き合い方を目指しやすくなるでしょう。
🌟LTのポイント②
その本を手にした動機があるはずです。
「じっくり読みたい」「ある事柄について知識を補いたい」「有名な言説の出自を抑えておきたい」など。
それに基づき、「読み方や使い方を変える」「読み出すタイミングを変える」といった戦術を実行します。
【対象】
【話さないこと】
開発者は毎日ターミナルを叩いています。その中で「ちょっとしたコマンドの短縮」が積み重なると、驚くほど作業が楽ちんになります。
このトークでは PHPer が日常的に使うコマンドを中心に、 .bashrc / .zshrc などに登録しておくと開発効率が高まるエイリアスやコマンドを紹介します。
具体的には、よくある artisan や composer の短縮だけでなく、Git, Docker, PHP の実行環境など、日々の細かなストレスを減らす工夫を取り上げます。
想定対象者:
このトークから得られるもの:
Setup PHP Actionは、テストに必要なPHP環境を手軽に設定できる、GitHub Actions用のアクションです。PHPの各バージョンに対応しているだけでなく、さまざまな拡張モジュールやツールを活用できます。さらに、マルチプラットフォームに対応しており、LinuxだけでなくWindowsやmacOS上でテストを実行させることも可能です。
本トークは、OSSに関心のある開発者やGitHub Actionsにおけるテストに興味のある方を主な対象としています。開発やテスト、OSSにコントリビュートする際に役立つ、Setup PHP Actionの使い方を紹介します。
最近のPHPではUnicodeを正しく扱え、使いやすいgrapheme関数の強化がなされています。
本トークでは、そのgrapheme関数の使い方と、これからPHP 8.5で採用された関数・機能をご紹介します。
Web APIの認証・認可の基盤技術として至るところで使われているOAuth 2.0ですが、
その難解さから「何度説明されてもやっぱりよく分からない・・・」という意見がよく聞かれます。
このトークでは、
という方に向けて、今度こそ絶対に腑に落ちる、本当に一番分かりやすい解説を試みます。
お話しする内容は以下のとおりです。
OAuth 2.0としばしば混同されるOpenID Connectについてもあわせて解説します。
このトークを聞いて、「雰囲気でOAuthを使っている」状態から脱却しましょう!
Doctrineは、Symfonyフレームワークの標準の構成でも採用されているPHP製のORMです。
Laravel全盛の現代、Doctrineにはまったく馴染みがないという方も多いと思いますが、
いつSymfony案件にアサインされるかもしれません。備えあれば憂いなしです。
それに、普段と異なるパラダイムに触れることは学びの面でもとても有意義だと思います。
この機会にDoctrineを完全にマスターしておきましょう!
このトークでは、
などについて30分で可能な限り詳しく、そして分かりやすく解説します。