採択
2024/02/11 15:10〜
$room['B']
レギュラートーク(15分)

nullsafe演算子を使おう〜if文地獄からの開放〜

NakMeKtt 仲見川勝人

PHP8.0にて導入されたnullsafe演算子(null安全演算子)。
メソッドチェーンしたいけどnullableだからnullチェックしないといけない、そんなときに大活躍するのがこのnullsafe演算子です。

ご存じの方も多いかも知れませんが、改めてその有用性や使い方を「今まではこう書いていた」という事例であるif文での書き方やnullObjectパターンを添えてご紹介したいと思います。

nullsafe演算子を使いこなして、より効率的なコードを書く第一歩を踏み出しましょう。

想定視聴者

  • nullsafe演算子聞き覚えがないな、という方
  • 聞いたことはあるけどいまいち使い道がわからないな、という方
  • nullチェックで苦労した方
  • 最近PHP8.xに触れて新しい書き方をキャッチアップ中な方
採択
2024/02/11 15:10〜
$room['C']
レギュラートーク(15分)

PHPの「歴史的な理由」ってなんだ!?

suguru_ohki スー

PHPは20年を超える歴史を持つ言語で、php.netでは度々「歴史的な理由」という単語を見かけます。
このトークでは、php.netの標準関数における説明において「歴史的な理由」がなぜ生まれたのかを追い、PHPの歴史とともにその理由について深掘ります。

採択
2024/02/11 15:30〜
$room['A']
レギュラートーク(15分)

PHPで生成AIのAPIをやってみた

ixcy 有本雅哉

ChatGPTの人気で、話題沸騰の生成AI。
Pythonではなく、PHPでOpenAIのAPIをつかう方法をやってみました。

Pythonが一般的に使用される中、PHPを活用してAI技術を取り入れる方法を実際のコード例を説明します。

  • OpenAIのAPIにアクセスするための基本的な手順の説明
  • APIキーの管理とセキュリティについてのベストプラクティス
  • PHPを使用して、生成AIを活用してテキスト生成を行う実際のコード例
  • 生成AIを使用することで解決できる問題やビジネスへの適用可能性について
    上記をご紹介したいと思います。
採択
2024/02/11 15:30〜
$room['B']
レギュラートーク(15分)

PHPで学ぶ、セッションの基本と応用

hanhan1978 富所 亮

ステートレスなHTTPをステートフルに変えてくれる仕組みがセッションです。ユーザのログイン、リダイレクト後のエラーメッセージの表示、CSRF対策等、現代のウェブアプリケーションで多用されているセッションですが、セッションがどのように動いているかと聞かれた時に正しく答えられますか?

本トークでは、ウェブアプリケーションにおけるセッションについて、その正体を分かりやすく解説します。セッションの正体を知ることで、初心者とベテランエンジニアの間に存在する知識と経験の差を少しでも埋めることが狙いです。

このトークでお話すること

  • セッションの仕組み
  • ウェブアプリケーションフレームワークにおいて利用されているセッションの例
  • セッションが本番アプリのアーキテクチャに与える影響
採択
2024/02/11 15:30〜
$room['C']
レギュラートーク(15分)

夢から現実へ: PHPエンジニアの私がスタートアップCTOとして直面した挑戦

kunikiya 原田裕介

内製開発チームを立ち上げて半年程度のスタートアップに昨年ジョインし、2023年の7月からCTOをやっております。
14名の開発チームに成長、サービスの展開を加速させていく中で、組織作りや開発基盤の整備を含め、取り組んできたことをPHPer目線でお話しします。
CTOに限らず似たような立ち位置の企業にジョインしたエンジニアの参考になればと考えています。

◆対象者
・スタートアップエンジニア
・新規の開発チーム立ち上げをしている人

◆話すこと
・エンジニア組織作り
・採用、技術広報、技術試験の導入
・経営層、他部署の知識向上
・開発環境、ルール作り
・うまくいった取り組み、うまくいかなかった取り組み

採択
2024/02/11 15:50〜
$room['A']
レギュラートーク(15分)
関西在住者

ほげ言語にあってPHPにない機能

tanakahisateru 田中ひさてる

いろいろな言語の言語機能のうち、PHPにまだないものを挙げます。
で、ないのはしょうがないので、どうするかと考えていきます。

21
採択
2024/02/11 15:50〜
$room['B']
レギュラートーク(15分)

擬人化で完全に理解するクリーンアーキテクチャ

shimabox しまぶ

クリーンアーキテクチャって難しいですよね?
ドメインモデル, ユースケース, アダプタ, インフラストラクチャ, etc, はい、私は全くわかりませんでした。

ただ少し視点を変えて、それぞれのレイヤーを擬人化して会話させてみると、なぜ依存関係や依存の向きについて口酸っぱく言われるのか、なんとなくわかった様な気になることができました。(例えば、ユースケースとインフラストラクチャを直接会話させると何が起きるのかなど)

そこで本トークでは、

  • 各レイヤーの説明と擬人化
  • 各レイヤー間での会話方法
  • 依存関係管理(DI, DIP)

を中心に、クリーンアーキテクチャを少しでも理解してもらえることを目標としてお話ししたいと思います。
深い話はせず、あくまでも擬人化を用いてレイヤー間のやり取りを説明します。
このトークを聞けば、あなたはきっとそれぞれのレイヤーで思い出す顔が増えるでしょう。

採択
2024/02/11 15:50〜
$room['C']
レギュラートーク(15分)

OpenTelemetry PHPで始める!オブザーバビリティ入門

atKoga_ 古賀 敦士

みなさんはシステム障害が起きた時、どのように調査を行いますか?
根拠となるデータを元に仮説を立てて検証するというのがセオリーですが、時に必要なデータが無くて行き詰まったり、経験則や自身の勘に頼ってしまいがち、という事もあると思います。

OpenTelemetry はシステムの状態を可視化するためのデータ(テレメトリーデータ)を収集するためのツールとして登場し、オブザーバビリティを高めることがやりやすくなっています。そして、OpenTelemetry PHPが最近GAされたことでPHPアプリケーションにもこの波がやってきました。

本セッションではオブザーバビリティ入門したい方向けに、以下のことをお話しします。

  • OpenTelemetryの概要
  • OpenTelemetry PHPを使ってテレメトリーデータを収集・分析する方法
採択
2024/02/11 16:20〜
$room['A']
LT

レガシーコードに潜む奇妙なコメント ~信じるか信じないかはあなた次第~

yamamu096454848 山村光平

開発をしているときにコメントがあると助かりますよね。
「なるほど、ここはそういう処理をしてるのか!」と、コードの中身を詳しく読まなくとも実装を進めることができます。
しかし、時としてコメントは嘘をつき、あなたを陥れます。
特に古いシステムではこれまでに蓄積され、忘れられ、熟成されたコメントが至るところに散りばめられています。

私が普段開発をしているメール共有サービス メールディーラーはリリースから20年以上が経つサービスであり、熟成されたコメントが多数存在します。
本LTでは私が実際に遭遇したレガシーコードに潜む奇妙なコメントをご紹介し、コメントを信じることが如何に危険なことであるかを知っていただきます。

コメントを信じるか信じないかはあなた次第です!

採択
2024/02/11 16:25〜
$room['A']
LT

こまけぇこたぁいいんだよ!! PHPWebアプリケーションを早くする、それだけだ

seike460 清家史郎

速いは正義、アプリケーションは速くあるべきです。

ではどうすれば良いのか

細かい理論などは気にしない、こうしたら早くなった

結果を貼り付けながら、何をしたのかひたすら話しますが、細かいことは話しません

OS、Webサーバー、PHP、RDBMS等の見直すべき要素に関して、情報を詰め込むだけ詰め込むことに挑戦します。

※注釈は付けますので細かな理論はそちらでご確認ください

  • 想定する聴講者

    • PHPWebアプリケーションのパフォーマンスに興味がある方
    • PHPのインフラを整備するエンジニア
    • PHPでISUCONに挑戦する方
  • お話しないこと

    • パフォーマンス以外の話
    • アプリケーションコードによる改善
    • 劇的なパフォーマンス改善策
4
採択
2024/02/11 16:30〜
$room['A']
LT

ここが変だよPHP(褒め言葉) 入門編

KizuMiyagi BABY JOB ミヤギ

みなさん、PHPを初めて学んだ時に感じた「?」を覚えていますか?

私の所属する開発チームでは、PHPマニュアルの精読を始めました。
精読してみて改めて感じたPHP独自の魅力について、皆さんに共有したいと思います。
このセッションでは、PHPの特殊な機能、他のプログラミング言語との比較、その機能ができた背景について、私なりに調べた結果や考察を発表します。

対象者:

  • 他のプログラミング言語からPHPに転向を考えているエンジニア
  • PHPの良さを知りたいエンジニア
採択
2024/02/11 16:35〜
$room['A']
LT

PHP8.1で、リソースがオブジェクトに!? ~マイナーリリースの変更がレガシープロダクトに与えた影響~

tomoki2135 廣部 知生

PHP8.1では、いくつかのリソースがobjectに移行しました。
例えば
pgsql result リソース → PgSql\Result オブジェクト
pgsql link リソース → PgSql\Connection オブジェクト
などです。

私が開発しているMaildealerは、すでに開発から20年以上経過しているレガシープロダクトです。
その中に存在する PgSQL 用の独自ライブラリは、すべてがリソースで扱うことが前提のコードになっていました。

マイナーリリースで気軽に入れられた変更が、レガシープロダクトに与えた影響と、その解決方法をお話します!

採択
2024/02/11 16:40〜
$room['A']
LT
初心者向け

完全未経験のIT初心者に、2か月ほど夜な夜な PHP を教えてみた結果

22kerokero22 kerokero

先日、製造業で働いている友人からIT業界に転職したいという話をいただいたのですが、その際にある疑問が湧きました。
それは、完全な初心者が2か月間訓練したら、どれくらいPHPが書けるようになるのだろうか……?というものです。
お互いに平日はお仕事があるので、夜中や休日にひっそりとお勉強するしかありません。

IT未経験の若者が苦労の末 2か月間でPHPを習得する 話、 聞いてみたくない ?

具体的な内容

  • PHPやバックエンドについて教えた2か月間の記録
  • 教わる側の新人目線でどういうところがキツイと感じたかについてのぶっちゃけ裏話
  • 実際に教えた技術実践で作ったもらった成果物の紹介
    対象者
  • 未経験エンジニアの可能性に興味がある方
  • 新人教育でPHPを教える際に難しさを感じている方
7
採択
2024/02/11 16:45〜
$room['A']
LT

PHPを勉強してからプログラミングが好きになった話

uutan1108 うーたん

私が最初に出会ったプログラミング言語は大学の授業で勉強したC言語でした。授業や試験で問題を解くためにC言語を勉強していました。

ですが、授業外でHTMLやCSS, JavaScriptでWEBサイトを制作し、そこでPHPに出会いプログラミングが好きになりました。ここで初めて「プログラミング = 授業で勉強するもの」の考え方がなくなりました。プログラミングでWEBアプリケーションを作成し、エラーに苦しんで、実際に動かす体験は嬉しさと楽しさでワクワクしていました。
最初はノンフレームワークのペライチのコードを書き、次はフレームワークで開発、一周回ってノンフレームワークで開発しました。

本セッションでは、PHPで「作ることが楽しい」体験から「コードが書ける、読める楽しさ」に変化していった経験についてお話しします。

採択
2024/02/11 16:50〜
$room['A']
LT
初心者向け 初登壇 関西在住者

Laravel の開発時、メールのデバッグってどうやってますか?

benzoh_w benzoh

メールを送る処理の実装時うっかり誰かに送ってしまうことはないでしょうか?
開発時のメールの誤送信事故を防止するために、ダミーのメールサーバに送るようにするということが多いかと思います。
Mailcatcher や Mailhog、Mailpit などの便利なツールが公開されていますが何か使われていますか?

弊プロダクトでは、ツールは利用せずにログにメールの送信内容を出力しています。

このアプローチでの Laravel を利用した開発時のメリットとデメリット、ログの可読性を上げるための工夫など私たちが行っていることを紹介します。

14
採択
2024/02/11 16:55〜
$room['A']
LT
初心者向け 初登壇 関西在住者

初心者だからこそ使って欲しい!Xdebugによるスマートデバッグ術

kaho

普段どういう風にlaravel開発を行なっていますか?
デバッグする時にddやlogなど使用していますか?
今回紹介するXdebugではより洗練され、便利で、直感的なデバッグが可能になります。
私自身、同僚にXdebugを教えてもらってからその利便性に驚かされました。
簡単なデモ動画でXdebgの初期設定、基本動作、共有できればと思っています。
皆さんの開発作業の効率が格段に向上するはずです。ぜひこの機会にXdebugの魅力を実感していただければ幸いです。

12