LT
初心者向け

ISUCONってなんだか難しそう……!!でも、初めてのISUCONにPHPで挑戦してきました!

kotomin_m ことみん

ISUCON(イスコン)?Iikanjini Speed Up Contest(いい感じにスピードアップ コンテスト)?なんだか難しそう……!!私はよく分からないし、分かるようになったら出ようかな?
そんなことを考えていましたが、ISUCON夏祭りというイベントに参加した勢いで、2023年11月開催のISUCON13に初参加することを決めました。

ISUCONの練習って何やるの?どうやるの?当日はどうだった?てか、PHPでもできるの?という、ISUCONについてよく知らなかった1年前のワタシに向けた、ISUCON初心者への解説LTです!
もしかして、ISUCON次回は参加してみたいかも……!!という勇気の後押しが出来たら嬉しいです!

10
レギュラートーク(40分)
初心者向け

Gitを「ただ使う」から「理解して使う」へ~チーム開発でGitを使いこなす方法~

kotomin_m ことみん

多くのPHPerは日常的にGitを使用していると思いますが、その機能や最適な使い方を十分に理解して使いこなせているでしょうか?
このトークは、新卒入社したばかりのPHPerやGit初級者に向けて、チーム開発におけるGitの"使いこなし方"に焦点を当て、実践的なノウハウを具体例を交えながらお届けします!

初歩から応用まで、チームでの開発をスムーズに進めるためのTipsをたくさん盛り込みます!
このトークを通じて、Gitを「ただ使う」レベルから「理解して使う」レベルへとステップアップし、今よりもっとチーム開発を楽しみましょう!

具体的なトーク内容

  • 具体的な実装を用いて、この修正に対してどうコミットすると良いかを解説!
  • レビューしてもらいやすいプルリクエストの書き方のポイント!
  • チーム開発でブランチはどう切ると良いか?
  • 便利なGitコマンド/オプションとその使い所!
9
採択
2024/02/11 13:20〜
$room['B']
レギュラートーク(40分)

20年の歴史を持つプロダクトの開発チームの変革:技術広報の本質と効果

sakay_y Yasuharu Sakai

情報発信の種を育てるには、どうすればよいのでしょうか。そもそも、情報発信は何のためにするのでしょうか。

遡ること2019年、それまでGaroon開発チームは外部に向けた情報発信をほとんどおこなっていませんでした。
長年の開発による負債に悩まされ、自分たちの仕事を魅力的だと感じられなかったことが大きな要因のひとつでした。
しかし、とある会を皮切りに、開発者にとって魅力的なプロダクトを目指して活動することができ、徐々に状況は変わっていきました。

私は、長年Garoon開発チームに所属しつつ、技術広報を兼務してきました。
Garoon開発チームの変化と共に歩んだからこそ見えてきた、情報発信を続ける理由と技術広報としての関わり方、目指すものをお話しします。
情報発信について考えている方々に届き、情報発信と開発組織について考えるきっかけにしたいと考えています。

LT

Composerの「require」「install」「update」以外のコマンド

o0h_ きんじょうひでき

Composerを使うには、 requireinstallupdate の3つのコマンドを理解していれば大丈夫です!
Composerをもっと便利に使うには、役立つであろうコマンドがまだまだあります!
https://getcomposer.org/doc/03-cli.md が、標準コマンドの一覧です。

removeself-updatedump-autoload search 辺りは、初見でも名前から予測がつくでしょうか。
私は、 show(info)・why(depends) why-not(prohibits)などは日常的に利用しています。
browse も便利ですし、 outdated なんかも有り難いです。

このLTで、色々なコマンドを知ってもらいます。
そして豊かなPHPライフを手に入れましょう!

3
レギュラートーク(40分)
初心者向け

PHPでメールを取り込む 2024

tomzoh 長谷川智希

PHPでメールサーバからメールを取り込みたいと思ったことはありますか?
メールと言えばPOP3/IMAP4ですのでPOP3やIMAP4を使えば良さそうですが自分でPOP3/IMAP4を喋るのはややシンドイですね。

このトークではPHPでメールをメールを取り込むにはどうしたら良いか、そして最も広く使われているであろうメールサービスのGmailからメールを取り込む方法をお話します。

  • PHPで使えるPOP3/IMAP4のライブラリ
  • メール受信に関わる多数の落とし穴
  • IMAP4で新着メールのみを取り込む方法
  • GmailのアプリパスワードとXOAUTH2対応

インターネット黎明期から存在するインターネットメールに放たれる自由奔放なメールは素手で立ち向かうにはやや手強い。
このトークがメールと戦うみなさんの力となることを祈っています。

5
レギュラートーク(15分)
初心者向け

XOAUTH2を使ってGmailからメールを取り込む

tomzoh 長谷川智希

Gmailからメールを取り込みたいと思ったことはありますか?
GmailはPOP3/IMAP4をサポートしているのでPOP3やIMAP4を使えば良さそうですがIDやパスワードは何を使えば良いでしょうか。
実はGmailはXOAUTH2という規格に対応しており、XOAUTH2を使ってWebベースの画面遷移でパスワードを取得することができます。
このトークではGmail + XOAUTH2を想定して以下の様なトピックをお話します。

  • PHPで使えるIMAP4のライブラリ
  • IMAP4で新着メールのみを取り込む方法
  • GmailのアプリパスワードとXOAUTH2対応

なかなか情報が少ないIMAPやGmailのXOAUTH2対応ですので、このトークが同じ課題に立ち向かうみなさんの力になることを祈っています。

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

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

atKoga_ 古賀 敦士

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

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

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

  • OpenTelemetryの概要
  • OpenTelemetry PHPを使ってテレメトリーデータを収集・分析する方法
LT

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

atKoga_ 古賀 敦士

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

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

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

  • OpenTelemetryの概要
2
レギュラートーク(15分)
初心者向け

Enumとmatch式を使おう〜取り得る値を表現してより変化に強いシステムを〜

NakMeKtt 仲見川勝人

みなさんEnum(列挙型)使ってますかー?

PHP8.1にてついにPHPにもEnumが導入されました。
今まで外部ライブラリに頼っていた機能が言語レベルでサポートされ、IDEもこれに対応し始めています。

本セッションでは、Enumがもたらす変更への強さと、PHP 8.0で追加されたmatch式のシナジーを、具体的なコード例を用いて解説します。switch文の一般的な落とし穴、例えばフォールスルーの誤りや条件追加の漏れなどが、これらの新機能によりどのように解決されるのかを見ていきます。

Enumとmatch式を利用して変化に強いシステムを作っていきましょう!

想定視聴者

  • Enumに聞き覚えがない方や、その使い方に不安がある方
  • 条件分岐で頻繁にif文やswitch文を使っている方
  • switch文のフォールスルーでつまずいた経験がある方
  • 条件の追加忘れで困ったことがある方
8
採択
2024/02/11 16:25〜
$room['A']
LT

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

seike460 清家史郎

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

ではどうすれば良いのか

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

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

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

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

  • 想定する聴講者

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

    • パフォーマンス以外の話
    • アプリケーションコードによる改善
    • 劇的なパフォーマンス改善策
4
レギュラートーク(40分)
初心者向け

よくわかるPHP環境構築 なぜPHPが動くのか

seike460 清家史郎

PHPは様々な技術要素を組み合わせて動いています

カスタマイズ性という観点では非常にポジティブな要素ではあるのですが、
初めてPHPを動かす為には「環境構築」という障壁が存在します

今回はサーバー上でPHPを動かす為に必要な要素を解説しながら、
yumやdnfなどのパッケージ管理ツール、configureやmakeにも触れ、
phpenvやasdfが行っている事も覗きながら、PHPの環境構築についてお話します

soファイルとは何なのか、Apache + mod_phpとphp-fpm + Nginxの仕組みの違いについても触れ、
php.iniでどのように制御しているか解説します

PHP動作の仕組みを知り、理解してPHPを動作させましょう

  • 想定する聴講者
    • なんとなくPHPの環境構築をしている方
    • configure、make、soファイルを知らない方
7
採択
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に触れて新しい書き方をキャッチアップ中な方
レギュラートーク(15分)

Gatekeeperの概要とmacOS用ソフトウェアの署名および公証手順

matsuo_atsushi 松尾篤

macOSのGatekeeperは、悪意のあるソフトウェアのダウンロードやインストールからユーザーを守るためのセキュリティテクノロジーです。macOSで開発しているとGatekeeperを意識する機会はあるものの、実際にソフトウェアを提出して公証(ノータリゼーション)を受ける手順まで経験したことのあるPHPerは少ないのではないでしょうか。このトークでは、Gatekeeperの概要や歴史、そしてPHP以外の言語を用いて作成したコマンドラインツールを実際に署名して公証を受ける手順について解説します。

1
採択
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を使用することで解決できる問題やビジネスへの適用可能性について
    上記をご紹介したいと思います。
LT

【メタい】カンファレンスたくさんあるからトークしよう!覚えてもらおう!

youkidearitai てきめん

2024年のPHPのカンファレンスがなんと前半6ヶ月毎月カンファレンスがあります。
2023年11月現在、もっと増えるかもしれませんよね…!

そんなに毎月カンファレンスがあるのなら、もう喋るしかない!ということで、会社の人も誘ってプロポーザルを書いてるという方もいるのではないでしょうか。ぼくもそのひとりです。

流石に本番の2024年2月になってしまうとプロポーザルを投稿できるカンファレンスは減ってしまうかもしれませんが、
コミュニティに顔を出し、沢山の人の前でトークをして、ご挨拶をして、名前を覚えてもらいましょう!

本トークは、コミュニティに顔を出して、名前を覚えてもらうことのメリットを精一杯喋ります。

レギュラートーク(15分)

Symfony Profilerはいいゾ!

kin29ma_n 志賀彩乃

Symfonyにはデバックに便利なSymfony Profilerというものがあります!
(にわかですがLaravelにもLaravel Telescopeというのがあるようですね、symfony/var-dumperが使われているんですね)

Symfony Profilerが超便利なので、個人的推しポイントを共有します!

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

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

yamamu096454848 山村光平

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

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

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

レギュラートーク(15分)
初心者向け

PHPで始めるOSS活動 ~ 初めてのComposerパッケージ公開~

seike460 清家史郎

OSS活動は自分のためにも他の人のためにも非常に尊い行為です。
このトークでは、PHPを使用して初めてのComposerパッケージを公開する手順を解説します。

PHPerとしてOSSに貢献することはスキルアップとコミュニティへの貢献の両方を果たします。
パッケージの作成からテスト、文書化、そしてPackagistに登録するまでのステップを詳しく説明します。
またOSSプロジェクトでのコラボレーションの重要性と、オープンソースコミュニティへの貢献がいかにして個人の成長に繋がるかについてもお話します。

このトークを通じて、参加者は自身のPHPプロジェクトを公開し、OSSコミュニティに貢献を後押し出来れば幸いです。

  • お話すること
    • Packagistに公開するまでの手順
    • 考慮すべきこと
    • OSS活動の意義
    • OSSへのコントリビュートについて
10
LT

Symfony Profilerはいいゾ!

kin29ma_n 志賀彩乃

Symfonyにはデバックに便利なSymfony Profilerというものがあります!
(にわかですがLaravelにもLaravel Telescopeというのがあるようですね、symfony/var-dumperが使われているんですね)

Symfony Profilerが超便利なので、個人的推しポイントを共有します!

4
レギュラートーク(15分)

Laravelの認証機能をカスタマイズしてワンタイムトークン認証を実装したときの試行錯誤

KizuMiyagi BABY JOB ミヤギ

私が開発を担当しているサービスでは Laravel をフレームワークとして採用しています。
Laravel が提供している認証機構は、通常ほとんどのニーズを満たせるほど充実しています。
しかし、現場では「独自の認証方法を追加したい!」というニーズが発生することも多々あると思います。

私はつい最近、そのようなニーズに合わせて Laravel の認証機能を探求し、独自の UserProvider を作成しました。
認証機能を探求して分かったことやカスタマイズのプロセス、全体を通しての気づきについて共有したいと思います。

7