みなさん、技術イベント楽しんでますか?
関西は実に6年ぶりの開催ということで、PHPerやエンジニアだけではなく、多種多様な方が会場にいらっしゃるでしょう。
そんなみなさんに、PHPコミュニティの良さ...否、「技術イベント」に参加する良さをもっと布教したい!!
2024年はコロナ禍が落ち着き、多くのイベントが復活。
各地域に熱狂をもたらしています。
今日、PHPカンファレンス関西に勇気を出して参加してくれたあなたに!
技術イベントの尊さを、ギュっと15分に濃縮・還元します。
PHPカンファレンス関西から、技術イベントに”もうちょっとだけ”踏み込んでみませんか?
全体で学生インターンが常時100人程度働く組織で、エンジニアインターンが急増した中で、
新卒2年目のエンジニアが学生インターンを率いてどのように格闘したかをお話します。
今回お話する内容
・ なぜ学生インターンと働くのか
・ 成功の要素
・ 失敗からの学び
・ 未来への展望
誰もが最初は未経験のエンジニアです。
学生時代からエンジニアとしてのキャリアの1歩目を踏み出すインターン生の成長を見てみませんか?
仕様をコードで表現するとは?
PHPのコードを例に、よく聞くDDDの戦術設計や戦略設計、そのあり方の一つをお見せできればと思います。
例外はただのトラブルシューターじゃありません。コード内の誰が何を担当するのかを教えてくれる、責務の指針なんです。
『PHPの例外、多すぎてどれ使えばいいかわかんない!』『例外、いつキャッチすればいいの?』『エラー情報、どこに吐き出すのが正解?』こんな疑問を持ったことはありませんか?
PHPの組み込み例外クラスの選び方から、自分で独自例外を定義するノウハウまで、コードをもっと読みやすく、管理しやすくするための実践的なアプローチについて考察してみます。
例外をマスターして、エラーハンドリングをもっとスマートに。
いろいろな言語の言語機能のうち、PHPにまだないものを挙げます。
で、ないのはしょうがないので、どうするかと考えていきます。
私たちが働く IT の業界は変化が激しく、既存のスキルが数年ですぐに陳腐化してしまいます。
変化のなかで生産性の高いエンジニアであり続けるためには新たな事柄を戦略的に学んでいくことが重要です。
本セッションでは戦略的な学習習慣を身につけること「学び方の学び方」についてブレイクダウンして考察していきます。
Laravelをウェブアプリケーションフレームワークとして採用している会社はたくさんあるようです。これほどまでに人気のフレームワークですが、長期運用をしていくと、ちょっとずつツラミが現れてきます。
本トークでは、実際に行われている施策なども紹介しながら、どうしたら、それなりに運用・保守が可能なLaravelアプリケーションを作っていけるのか?を紹介します。
本トークで話す内容
B+木をご存知でしょうか?RDBMSのインデックス作成に採用されているデータ構造で、ディスクの効率的な利用や、検索を行いやすいなどの特徴があります。しかし、耳学問で聞いてもイマイチ特徴がピンと来ないのです。
本トークでは、PHPでB+木のデータ構造を実装して、RDBMSでB+木が採用される理由、インデックスの構造的な仕組み、何故検索が速くなるのか?などなど、データベースの仕組みの根幹を覗いてみましょう。
本トークで話す内容
ステートレスなHTTPをステートフルに変えてくれる仕組みがセッションです。ユーザのログイン、リダイレクト後のエラーメッセージの表示、CSRF対策等、現代のウェブアプリケーションで多用されているセッションですが、セッションがどのように動いているかと聞かれた時に正しく答えられますか?
本トークでは、ウェブアプリケーションにおけるセッションについて、その正体を分かりやすく解説します。セッションの正体を知ることで、初心者とベテランエンジニアの間に存在する知識と経験の差を少しでも埋めることが狙いです。
このトークでお話すること
プログラムを書くときに計算量を意識していますか?計算量の基本を理解することで、サービスが成長したときに問題を起こしにくいプログラムを作成することができます。簡単なプログラムを例にして、まず計算量という概念に慣れてみましょう。
熟練のエンジニアたちがプロジェクト参加時に何を考えているのか、知りたくありませんか?
もしかして、設計のことを考えている?利益?事業ドメインの理解?
いやいや違うんです、兎にも角にも真っ先に確認しておかないといけないことがたくさんあるんです。
このトークでは、シニアエンジニアがプロジェクトを成功させるために何を考えているのかをぶっちゃけてみます。
これからPHPを始めようとしている方向けのセッションです。
PHPの入門は、応用に興味があるならLaravelやWordPressから入っても良いのですが、フレームワークの使い方に振り回されて、基礎が疎かになるのが心配だと感じる方も(こんなカンファレンスに参加するタイプならきっと何人かは)おられることでしょう。まずは「PHPそのもの」をしっかり押さえてから、理解の枝を広げていく道順を、手を動かして実際にやってみませんか。
ウェブ開発環境の変化は日進月歩です。古い書籍の案内は、時代に合わなくなることもあります。今しかないからこそベストな、2024年版のPHP入門を。
(ご注意:PHPは初心者でも構いませんが、全くのプログラミング初心者、パソコン初心者でもわかるレベルの内容ではありません。プログラミング入門としてのPHPではない点をご了承ください)
みなさんは、PHP で正規表現を使っていますか?
ちょっとした条件判断や、文字列の整形などで使われていると思いますが、その正規表現は複数あることをご存知でしょうか?
Perl準拠の正規表現である preg 系関数、マルチバイト文字列の正規表現が使える mb_ereg 系関数 の2つです。
しかし、PHP プログラマーは一体どういう時にどっちを使えばよいのでしょうか?
このセッションでは、PHP の正規表現が今までどのように実装されていて、どう使われてきたのかを順を追って説明します。
用途に合わせて、どの正規表現関数を選択すればよいのかを自分で考えられるようになりましょう。
Xdebug は開発時に最も頼りになる相棒です。
一般的には、ウェブアプリケーションのステップ実行が有名ですが、コンソールコマンドや、PHPUnit のテストでもステップ実行させることが可能です。
しかし、慣れていない人には、Xdebug の設定はむずかしいです。あれもこれも色々試すけど、上手く行かないことも多いです。
本LTでは、ポイントを一つに絞り、PhpStorm と Xdebug の連携方式にのみフォーカスします。
仕組みさえ押さえれば、どう設定すればよいかは自ずと思い浮かんで来ます!
Xdebug の設定はこわくない!上手に Xdebug を設定して、スムーズなウェブアプリケーション開発を楽しみましょう!
コロナ禍を経て、働き方に多様性が生まれました。リモート勤務、ハイブリッド勤務、出社勤務と開発者を取り巻く勤務環境も様々です。
このトークでは、それぞれの状況を考慮しつつ、どのようなことを開発メンバーが理解していれば現場で活躍できるのか?という視点で開発メンバーが現代で備えるべき前提知識や振る舞いについて語ります。
SaaS全盛の昨今、マネージドなデータベースにロードバランサー、セッション用のKVSなどを含めるとPHPアプリケーションの運用費用は軽く月額数万円になってしまいます。ステージング環境や、CI後の確認環境を含めると運用費は掛け算で増えていきます。
本トークでは、なるべく安い値段でPHPアプリケーションを本番運用する可能性を探求します。
2018年に「Laravel Collection の計算量を調べてみた」というタイトルで PHP勉強会で発表を行いました。
https://speakerdeck.com/hanhan1978/laravel-collectionfalseji-suan-liang-wodiao-betemita
あれから、5年。月日が流れて、Collection にはメソッドが追加され、ロジックにも変更が入りました。
というわけで、今、計算量がどうなっているのか測り直してみました。
このセクションではリアルなLaravelのプロジェクトを例に、ドメインイベントを用いてどうやってコードをすっきりさせるかをナビゲートします。
テストも楽チンになるし、コードも再利用しやすくなるような、ちょっとした工夫を伝授します。
リファクタリングって難しそう?
いえいえ、このセッション後は、もう怖くないですよ。
Laravelとともに、もっとコードライフを楽しみましょう!
コミュニケーションにおける「パス」について、「コミュニケーションパス」がまず頭に浮かぶと思います。
いわゆる、1対1のコミュニケーションがどれだけ発生するか?というコミュニケーションパスとともに、チーム間を跨ぐ場合に誰を経由してコミュニケーションするか?という経路としてのパスもあります。
個人的に、直接のコミュニケーションにおけるやりとりも「パス」(pass)することだと考えていて、相手にいいパスを出せるか?というのもチームコミュニケーションにとって大切な要素ではないでしょうか。
本トークでは、1対1のコミュニケーションにおける対話(パス交換)に着目して、私が大切にしていることを共有したいと考えています。
PHPはWeb開発に適した言語とされ、筆者は主にWebバックエンドや簡易なCLIツールの実装に用いてきました。
しかしそれ以外の用途で私はPHPを使用したことがありません。
そんなPHPの可能性を探るべく、任意音階の波形を生成し、簡単なメロディを再生するプログラムをPHP(とC言語)で書きました。
本トークではPHPのFFIという機能を用いて簡単なメロディを再生する「なんちゃって」ソフトシンセを実装し「ドレミの歌」を演奏します。
※演目は変更される可能性があります。