LT(5分)

最速最強コードフォーマッターECS

tadsan うさみけんた

あなたのプロジェクトはどうやってコードを整形していますか?
PHP_CodeSniffer? それともPHP-CS-Fixer?

私は… 両方!

_人人人人_
> 両方 <
 ̄Y^Y^Y^Y^ ̄

そうなんです、EasyCodingStandardを使えば両方のいいとこどり、しかも爆速でコードを整形できちゃうんです。

このトークではこのツールの特徴とプロジェクトへの導入方法、設定方法などを爆速で紹介します。

8
LT(5分)

初心者でも分かる!ComposerでPHPライブラリを作る方法

hoku_FA 北斗

ComposerでPHPライブラリを作成する方法を解説します。

ライブラリの作成、Packagistへの公開までを5分以内で紹介します。
公開に必要なことに中心に紹介するため、すぐに実践することができます。

Composerは使うけど、案外なんとなく使っていたりしないでしょうか。
ライブラリ作成を通してComposerの理解を深めましょう!

1
LT(5分)

複数バージョンのPHPを asdf で一瞬だけ動かす

__yumechi Motoki Hirao

PHPerKaigiではPHPerチャレンジというイベントがあり、そこで複数バージョンのPHPを実行しなければトークンを得られない問題がありました。例えば下記です。
https://fortee.jp/phperkaigi-2023/proposal/07411094-2fc1-4abd-904f-9470454531e6

この問題、回答方針の一つとして複数バージョンのDockerを用意するという方法がありますが、Dockerを使いたくないときもありますよね?
発表者は asdf を利用してPHPの複数バージョンインストールを行い、検証しました。そして無事に問題を解き、トークンをゲットできました。

このLTでは次の3つについてお話しします。

  • asdf がプログラミング言語・ツールの複数バージョン管理の機能を有していること
  • asdf を使って複数バージョンの PHP をインストールまでの難しさ
  • 複数バージョンのPHPを実際に動かしてみて実際に問題を解いてみる

PHPだけでなく、複数のプログラミング言語・ツールのバージョン管理ができる asdf の利便性を感じていただき、複数バージョンのツールが使いたい…けどめんどくさいと…いう悩みを解消しましょう!

1
LT(5分)

意味あるカバレッジの上げ方

77web 菱田裕美

令和のPHPerの皆さんはテストを書いていますね?
テストを書くとき、カバレッジという数値を闇雲に上げようとしていませんか?
実は、カバレッジの数字を上げたところでコードの可読性も変更容易性も上がらないし、バグも減らすことができません。
意味あるカバレッジの上げ方についてお伝えします。

6
LT(5分)

PHPStanへの地味な貢献をすべて自慢する

tadsan うさみけんた

PHPStan使ってますか? ここ数年のPHP界隈で品質保証のために最も使われるようになったツールのひとつと言えます。
私はいままでカンファレンスなどでPHP静的解析の布教を試みてきましたが、同時に機能追加提案から些細な修正まで約20個のPRを提出しています。

このトークにおいては5分の制限時間内でPHPStanへの貢献方法を難易度別に紹介します。

5
LT(5分)

普通のヤツの下を行け!低価格PHPアプリ運用の世界

hanhan1978 富所 亮

SaaS全盛の昨今、マネージドなデータベースにロードバランサー、セッション用のKVSなどを含めるとPHPアプリケーションの運用費用は軽く月額数万円になってしまいます。ステージング環境や、CI後の確認環境を含めると運用費は掛け算で増えていきます。

本トークでは、なるべく安い値段でPHPアプリケーションを本番運用する可能性を探求します。

7
LT(5分)

PHPで競技プログラミングに挑戦!

Fendo181 Futoshi Endo

競技プログラミングは、アルゴリズムやデータ構造の理解を深め、プログラミングスキルを向上させるための素晴らしい方法です。
「AtCoder」や「LeetCod」などの多くの競技プログラミングサイトがありますが、競技プログラミングで問題を解く時の言語としてPythonやGo、Rustが人気でよく使われていますが、PHPでも十分競技プログラミングに挑戦する事は可能です!

このセッションでは、競技プログラミングにおいてPHPを活用するためのテクニックについて解説します。
いくつか例題を出しながら、PHPにおけるデータ構造やアルゴリズムの実装方法について他の言語と比較しながら説明します。

2
LT(5分)

テストがあるとコードレビューが圧倒的に捗る件について、その理由を追ってみた

yukinofu815 曽根友希

テストがあるとコードレビューが捗ると思いませんか?
・テストがコードの仕様書になる
・テストを通じてどのような入力値が想定されているのか、どのような振る舞いが期待されているのかがわかりやすくなる
・プログラムの構造が見やすくなりレビューの正確性と速度が上がる

また、レビューを受ける側にとってもテストによりコードの動作が保証される安心感があるので、レビュー中の修正もしやすくなります。
このように、テストの恩恵は保守フェーズを待たずにコードレビュー中から受けることができます。

トークではレビューを受ける側・行う側の双方の視点から、テストによりコードレビューが捗る理由とテストコードの書き方を並行して紹介します。
・テストの目的は何?〜テストメソッド名でコードの可読性を上げる
・データの入出力をわかりやすく表現する〜データの流れはレビュアーの想像力に頼らずテストに落としこむ
・テストパターンと仕様について

2
LT(5分)

「変化バジェット」

onk Takafumi ONAKA
onk

なんと世の中にまだこの言葉が無いので、トークで伝えたい!

※PHP とは関係ありませんが、開発チームとしての考え方が今日から変わるかも!?

2
LT(5分)

私がリモートワークで実践しているN個のこと

stefafafan すてにゃん

フルリモートで仕事をするようになりはや3年。どうしても対面での働き方とは変わってきた部分がいくつもありました。
このトークでは私が今の会社で日々意識していることや実践していることを共有していきます。主にテキストコミュニケーションやオンライン上の仕草について紹介します。

リモートワークでの働き方に不安を持っている方や検討している方にぜひ聞いてもらえたら嬉しいです。

4
LT(5分)

技術的負債・陳腐化がつらい。~ 機能追加・改善 vs 負債・陳腐化の解消 ~

Funako_sikao 船越

【概要】
プロダクト開発・運用において、顧客要望への対応や新規顧客獲得が優先されることが多い中、技術的負債や陳腐化の解消が後回しにされがちです。本セッションでは、継続的かつ効果的に技術的負債と陳腐化の解消を実現するための戦略やルールを、自社プロダクトでの実例とともに紹介します。

【内容】
・プロダクト開発における機能追加・改善・ 技術的負債・陳腐化の解消のバランス
・技術的負債と陳腐化の解消に向けた取り組み
・意思決定者に対してROIや緊急性を効果的に伝える方法

【対象者】
・プロダクト開発・運用に携わる方々(エンジニア、プロダクトマネージャー、営業担当者など)

1
LT(5分)

サービスの運用と向き合うことで得られた成長と面白さ

_da1kong daichi

皆さんはサービスを運用していますか?
運用は日々継続して行う必要があるため、とても大切な仕事の1つです。

私は新卒でエンジニアになる前は、新しい技術でサービスを立ち上げたり新しい機能を開発しユーザーに価値を提供する新規開発が、エンジニアの主な仕事だと思っていました。
しかし実際に経験した業務は、既存のサービスをメンテナンスやリファクタリング、ライブラリをアップデートするなどの運用の業務も多かったです。

そのような運用の仕事は、新規開発に比べると地道なものです。
日々の運用をこなす中で「運用の中にエンジニアとして成長できる要素や面白さがある」と気づきました。

本LTでは、新卒2年目のエンジニアがサービスを運用・改善を行う中で得られた成長と技術的な面白さについてお話しします。

話す予定の内容

  • サービス監視について
  • 運用を楽にする方法
  • 腕力(技術力)と怒り駆動開発
  • 安全にコードを削除するためには
  • サービス影響を小さくリリースする工夫

免責

※ 本LTの内容はPHPに関連しません。

4
LT(5分)

その四捨五入( round() )、本当に合っていますか?

ecworks_masap MASA-P

少数を整数にしたり、大きな数字を有効数字にしたりするために四捨五入(丸め)をすると思いますが、その時にPHPでは「round()」関数を用いると思います。
round関数には第三引数にオプション値がありますが、引数を省略した場合、文字通りの四捨五入(有効桁より一つ下の桁が5以上なら有効桁が1大きくなる : PHP_ROUND_HALF_UP)となります。

実はその丸め処理、安直に四捨五入を選ぶと計算や動作に問題が出ることがあります。
先日ちょっとした問題になり、良い機会なので発表したいと思います。
当方ン十年エンジニアをしていましたがずっと意識したことがなく、多分皆様もそうじゃないかと思いますので。

※今回の話はPHPに限らずどの言語でも当てはまると思います

LT(5分)

一つ覚えればOK! PhpStorm + Xdebug 設定マスターへの道

hanhan1978 富所 亮

Xdebug は開発時に最も頼りになる相棒です。
一般的には、ウェブアプリケーションのステップ実行が有名ですが、コンソールコマンドや、PHPUnit のテストでもステップ実行させることが可能です。

しかし、慣れていない人には、Xdebug の設定はむずかしいです。あれもこれも色々試すけど、上手く行かないことも多いです。
本LTでは、ポイントを一つに絞り、PhpStorm と Xdebug の連携方式にのみフォーカスします。

仕組みさえ押さえれば、どう設定すればよいかは自ずと思い浮かんで来ます!
Xdebug の設定はこわくない!上手に Xdebug を設定して、スムーズなウェブアプリケーション開発を楽しみましょう!

4
LT(5分)

リモートワーク時代の Tips : 生産性向上 と 学習モチベーション維持術

hanhan1978 富所 亮

みなさん、毎日元気に仕事できていますか?
リモートワーク全盛になって、家に一人でいるとモチベーションの維持が難しい?

この LT では、中堅エンジニアの私が、日々安定したパフォーマンスを維持しつつ、エンジニアとして必須である「学習」を維持するためにやっていることを紹介します。
同じことをやれと押し付けるわけではありません。こんな工夫をしているのか?と参考になれば幸いです。

このトークで話す内容

  • ポモドーロ・テクニックの利用と運用
  • タスクとスケジュールの管理
  • 体調維持、健康管理
  • 振り返り
5
LT(5分)

メーリングリストで磨くPHP力:知識と経験の宝庫を楽しもう

hanhan1978 富所 亮

2022年の4月から、ふと思い立って PHP のメーリングリスト(Internals)と PHP のバグイシューを全部読む行動を始めました。最初はしんどかったのですが、段々と体が慣れてきて、ついには週1でまとめを発表するまでになりました。

当然ですが、メーリングリストの中身は PHP の話題で満載です。知らない機能、使ったことのない関数、初見の仕様などが盛りだくさんです。

本 LT では、PHP 情報にまみれた生活を送ることで得られる経験について解説します。

6
LT(5分)

PHP でも WebAssembly:基本解説と楽しい遊び方

hanhan1978 富所 亮

WebAssembly (WASM) とか WASI と呼ばれる単語が、ウェブエンジニア界隈で飛び交っています。PHPerKaigi 2023 では、ブラウザ上で動作する PHP についての登壇もありましたが、本 LT では、実際に動作するサンプルを見せつつ、WebAssembly の基本を解説します。ついでに、ちょっと WebAssembly で遊んで見ましょう!もちろん PHP で!

7
LT(5分)

PHP を使って本気で高速なウェブサーバーに挑戦

hanhan1978 富所 亮

高速化が進み、JITコンパイラも導入されたPHPですが、残念ながら高速なスループットを求められる現場においては他のコンパイル型言語が選ばれることが多いです。
最近では、ISUCONにPHPで挑戦するものも少なくなりました。しかし、だからこそ!PHPでウェブサーバーを書いて、色んな言語に速度で挑戦しましょう!

以前挑戦したときは、OpenSwoole に頼り切りでしたが、今回はさらに色んな方式を試します。

5
LT(5分)

Docker Compose秘伝のタレのレシピ解説

na_it_o くすのき

PHPをDockerコンテナで動かし始めるとき、ローカル環境はDocker Composeで実装している人が多いのではないでしょうか。
Webサーバ (nginx) で受けてアプリケーションサーバ (php-fpm) で処理してDBサーバ (mysql) に接続する、そんな流れは知っていても、最初のうちはどう記述すればいいかよくわからず困りますよね。
結果、代々プロジェクトでコピペされてきた、あるいはインフラの人に声をかけると出てくる"秘伝のタレ"をあまり理解しないまま使ってしまっていませんか?
秘伝のタレを継ぎ足してきた立場から、その中身を紹介・解説します。理解してより旨いタレを作りましょう。

話すこと

  • Docker Composeで起動する基本のサービス構成 (Web/App/DB)
  • リバースプロキシ (HTTPS-PORTAL, Traefik) を利用したTLS終端, サービス間のポート競合回避
1
LT(5分)

世界最強テキストエディタEmacsでPhpStormを超える方法

takeokunn たけてぃ

Emacsは世界最強のテキストエディタであり、PHPプログラミング単体を切り取ってもPhpStormを超える可能性を祕めています。

本LTはEmacsがPhpStormで出来ることと同様の操作が可能であることをお伝えします。
そしてもっと高度な操作やEmacsの機能を最大限に使いこなす方法を紹介していきます。

ぜひ本LTで「世界最強テキストエディタ」Emacsの可能性について感じていたきたいです。

話すこと

  • Emacsへの愛について
  • EmacsでPHPを書く際に便利なパッケージについて
  • LSPやDAPについて
  • org-modeの活用方法について
2