ISUCON(イスコン)?Iikanjini Speed Up Contest(いい感じにスピードアップ コンテスト)?なんだか難しそう……!!私はよく分からないし、分かるようになったら出ようかな?
そんなことを考えていましたが、ISUCON夏祭りというイベントに参加した勢いで、2023年11月開催のISUCON13に初参加することを決めました。
ISUCONの練習って何やるの?どうやるの?当日はどうだった?てか、PHPでもできるの?という、ISUCONについてよく知らなかった1年前のワタシに向けた、ISUCON初心者への解説LTです!
もしかして、ISUCON次回は参加してみたいかも……!!という勇気の後押しが出来たら嬉しいです!
多くのPHPerは日常的にGitを使用していると思いますが、その機能や最適な使い方を十分に理解して使いこなせているでしょうか?
このトークは、新卒入社したばかりのPHPerやGit初級者に向けて、チーム開発におけるGitの"使いこなし方"に焦点を当て、実践的なノウハウを具体例を交えながらお届けします!
初歩から応用まで、チームでの開発をスムーズに進めるためのTipsをたくさん盛り込みます!
このトークを通じて、Gitを「ただ使う」レベルから「理解して使う」レベルへとステップアップし、今よりもっとチーム開発を楽しみましょう!
情報発信の種を育てるには、どうすればよいのでしょうか。そもそも、情報発信は何のためにするのでしょうか。
遡ること2019年、それまでGaroon開発チームは外部に向けた情報発信をほとんどおこなっていませんでした。
長年の開発による負債に悩まされ、自分たちの仕事を魅力的だと感じられなかったことが大きな要因のひとつでした。
しかし、とある会を皮切りに、開発者にとって魅力的なプロダクトを目指して活動することができ、徐々に状況は変わっていきました。
私は、長年Garoon開発チームに所属しつつ、技術広報を兼務してきました。
Garoon開発チームの変化と共に歩んだからこそ見えてきた、情報発信を続ける理由と技術広報としての関わり方、目指すものをお話しします。
情報発信について考えている方々に届き、情報発信と開発組織について考えるきっかけにしたいと考えています。
Composerを使うには、 require
・ install
・ update
の3つのコマンドを理解していれば大丈夫です!
Composerをもっと便利に使うには、役立つであろうコマンドがまだまだあります!
https://getcomposer.org/doc/03-cli.md が、標準コマンドの一覧です。
remove
・self-update
・dump-autoload
search
辺りは、初見でも名前から予測がつくでしょうか。
私は、 show
(info
)・why
(depends
) why-not
(prohibits
)などは日常的に利用しています。
browse
も便利ですし、 outdated
なんかも有り難いです。
このLTで、色々なコマンドを知ってもらいます。
そして豊かなPHPライフを手に入れましょう!
PHPでメールサーバからメールを取り込みたいと思ったことはありますか?
メールと言えばPOP3/IMAP4ですのでPOP3やIMAP4を使えば良さそうですが自分でPOP3/IMAP4を喋るのはややシンドイですね。
このトークではPHPでメールをメールを取り込むにはどうしたら良いか、そして最も広く使われているであろうメールサービスのGmailからメールを取り込む方法をお話します。
インターネット黎明期から存在するインターネットメールに放たれる自由奔放なメールは素手で立ち向かうにはやや手強い。
このトークがメールと戦うみなさんの力となることを祈っています。
Gmailからメールを取り込みたいと思ったことはありますか?
GmailはPOP3/IMAP4をサポートしているのでPOP3やIMAP4を使えば良さそうですがIDやパスワードは何を使えば良いでしょうか。
実はGmailはXOAUTH2という規格に対応しており、XOAUTH2を使ってWebベースの画面遷移でパスワードを取得することができます。
このトークではGmail + XOAUTH2を想定して以下の様なトピックをお話します。
なかなか情報が少ないIMAPやGmailのXOAUTH2対応ですので、このトークが同じ課題に立ち向かうみなさんの力になることを祈っています。
みなさんはシステム障害が起きた時、どのように調査を行いますか?
根拠となるデータを元に仮説を立てて検証するというのがセオリーですが、時に必要なデータが無くて行き詰まったり、経験則や自身の勘に頼ってしまいがち、という事もあると思います。
OpenTelemetry はシステムの状態を可視化するためのデータ(テレメトリーデータ)を収集するためのツールとして登場し、オブザーバビリティを高めることがやりやすくなっています。そして、OpenTelemetry PHPが最近GAされたことでPHPアプリケーションにもこの波がやってきました。
本セッションではオブザーバビリティ入門したい方向けに、以下のことをお話しします。
みなさんはシステム障害が起きた時、どのように調査を行いますか?
根拠となるデータを元に仮説を立てて検証するというのがセオリーですが、時に必要なデータが無くて行き詰まったり、経験則や自身の勘に頼ってしまいがち、という事もあると思います。
OpenTelemetry はシステムの状態を可視化するためのデータ(テレメトリーデータ)を収集するためのツールとして登場し、オブザーバビリティを高めることがやりやすくなっています。そして、OpenTelemetry PHPが最近GAされたことでPHPアプリケーションにもこの波がやってきました。
本セッションではオブザーバビリティ入門したい方向けに、以下のことをお話しします。
みなさんEnum(列挙型)使ってますかー?
PHP8.1にてついにPHPにもEnumが導入されました。
今まで外部ライブラリに頼っていた機能が言語レベルでサポートされ、IDEもこれに対応し始めています。
本セッションでは、Enumがもたらす変更への強さと、PHP 8.0で追加されたmatch式のシナジーを、具体的なコード例を用いて解説します。switch文の一般的な落とし穴、例えばフォールスルーの誤りや条件追加の漏れなどが、これらの新機能によりどのように解決されるのかを見ていきます。
Enumとmatch式を利用して変化に強いシステムを作っていきましょう!
想定視聴者
速いは正義、アプリケーションは速くあるべきです。
ではどうすれば良いのか
細かい理論などは気にしない、こうしたら早くなった
結果を貼り付けながら、何をしたのかひたすら話しますが、細かいことは話しません
OS、Webサーバー、PHP、RDBMS等の見直すべき要素に関して、情報を詰め込むだけ詰め込むことに挑戦します。
※注釈は付けますので細かな理論はそちらでご確認ください
想定する聴講者
お話しないこと
PHPは様々な技術要素を組み合わせて動いています
カスタマイズ性という観点では非常にポジティブな要素ではあるのですが、
初めてPHPを動かす為には「環境構築」という障壁が存在します
今回はサーバー上でPHPを動かす為に必要な要素を解説しながら、
yumやdnfなどのパッケージ管理ツール、configureやmakeにも触れ、
phpenvやasdfが行っている事も覗きながら、PHPの環境構築についてお話します
soファイルとは何なのか、Apache + mod_phpとphp-fpm + Nginxの仕組みの違いについても触れ、
php.iniでどのように制御しているか解説します
PHP動作の仕組みを知り、理解してPHPを動作させましょう
PHP8.0にて導入されたnullsafe演算子(null安全演算子)。
メソッドチェーンしたいけどnullableだからnullチェックしないといけない、そんなときに大活躍するのがこのnullsafe演算子です。
ご存じの方も多いかも知れませんが、改めてその有用性や使い方を「今まではこう書いていた」という事例であるif文での書き方やnullObjectパターンを添えてご紹介したいと思います。
nullsafe演算子を使いこなして、より効率的なコードを書く第一歩を踏み出しましょう。
想定視聴者
macOSのGatekeeperは、悪意のあるソフトウェアのダウンロードやインストールからユーザーを守るためのセキュリティテクノロジーです。macOSで開発しているとGatekeeperを意識する機会はあるものの、実際にソフトウェアを提出して公証(ノータリゼーション)を受ける手順まで経験したことのあるPHPerは少ないのではないでしょうか。このトークでは、Gatekeeperの概要や歴史、そしてPHP以外の言語を用いて作成したコマンドラインツールを実際に署名して公証を受ける手順について解説します。
ChatGPTの人気で、話題沸騰の生成AI。
Pythonではなく、PHPでOpenAIのAPIをつかう方法をやってみました。
Pythonが一般的に使用される中、PHPを活用してAI技術を取り入れる方法を実際のコード例を説明します。
2024年のPHPのカンファレンスがなんと前半6ヶ月毎月カンファレンスがあります。
2023年11月現在、もっと増えるかもしれませんよね…!
そんなに毎月カンファレンスがあるのなら、もう喋るしかない!ということで、会社の人も誘ってプロポーザルを書いてるという方もいるのではないでしょうか。ぼくもそのひとりです。
流石に本番の2024年2月になってしまうとプロポーザルを投稿できるカンファレンスは減ってしまうかもしれませんが、
コミュニティに顔を出し、沢山の人の前でトークをして、ご挨拶をして、名前を覚えてもらいましょう!
本トークは、コミュニティに顔を出して、名前を覚えてもらうことのメリットを精一杯喋ります。
Symfonyにはデバックに便利なSymfony Profilerというものがあります!
(にわかですがLaravelにもLaravel Telescopeというのがあるようですね、symfony/var-dumperが使われているんですね)
Symfony Profilerが超便利なので、個人的推しポイントを共有します!
開発をしているときにコメントがあると助かりますよね。
「なるほど、ここはそういう処理をしてるのか!」と、コードの中身を詳しく読まなくとも実装を進めることができます。
しかし、時としてコメントは嘘をつき、あなたを陥れます。
特に古いシステムではこれまでに蓄積され、忘れられ、熟成されたコメントが至るところに散りばめられています。
私が普段開発をしているメール共有サービス メールディーラーはリリースから20年以上が経つサービスであり、熟成されたコメントが多数存在します。
本LTでは私が実際に遭遇したレガシーコードに潜む奇妙なコメントをご紹介し、コメントを信じることが如何に危険なことであるかを知っていただきます。
コメントを信じるか信じないかはあなた次第です!
OSS活動は自分のためにも他の人のためにも非常に尊い行為です。
このトークでは、PHPを使用して初めてのComposerパッケージを公開する手順を解説します。
PHPerとしてOSSに貢献することはスキルアップとコミュニティへの貢献の両方を果たします。
パッケージの作成からテスト、文書化、そしてPackagistに登録するまでのステップを詳しく説明します。
またOSSプロジェクトでのコラボレーションの重要性と、オープンソースコミュニティへの貢献がいかにして個人の成長に繋がるかについてもお話します。
このトークを通じて、参加者は自身のPHPプロジェクトを公開し、OSSコミュニティに貢献を後押し出来れば幸いです。
Symfonyにはデバックに便利なSymfony Profilerというものがあります!
(にわかですがLaravelにもLaravel Telescopeというのがあるようですね、symfony/var-dumperが使われているんですね)
Symfony Profilerが超便利なので、個人的推しポイントを共有します!
私が開発を担当しているサービスでは Laravel をフレームワークとして採用しています。
Laravel が提供している認証機構は、通常ほとんどのニーズを満たせるほど充実しています。
しかし、現場では「独自の認証方法を追加したい!」というニーズが発生することも多々あると思います。
私はつい最近、そのようなニーズに合わせて Laravel の認証機能を探求し、独自の UserProvider を作成しました。
認証機能を探求して分かったことやカスタマイズのプロセス、全体を通しての気づきについて共有したいと思います。