Lightning talk (4 mins)
Refactoring CI/CD

いざという時のためにPHPのリファクタリングツール「Rector」を手懐けておく

o0h_ きんじょうひでき

何らかの理由によって「既存のクラスやAPIの使い方が変更された、それに対応しないといけない!」という場面が、
しばしば開発の現場には発生します。
その時に、なるべく「人間の目と手で作業する」という負担は避けたい・・面倒くさいな・・と思うのが人の心情ではないでしょうか。

https://github.com/rectorphp/rector は、既存のPHPコードのリファクタリングやアップグレードを自動実行するツールです。
こいつを上手く使えれば、あの退屈で機械的な作業を真の意味で「機械の作業」にする夢が叶うかも知れません!!

本セッションでは、Rectorについて紹介し、具体的に活用するための方法を話したいと思います。

おしながき

  • Rectorってなに?
  • どういう仕組で動いてるの?
  • 独自ルールを作ってみる
2
Lightning talk (4 mins)
Test / Quality Performance

ステップ実行だけじゃないXdebug 〜ProfilingとTracing

o0h_ きんじょうひでき

Xdebugを活用していますか?ステップ実行の機能については、利用経験者も多いかと思います。
公式サイトを開き、トップページを見ると「Step Debugging」「Improvements to PHP's error reporting」「Tracing」「Profiling」「Code Coverage Analysis」と主要機能が列挙されています!

本LTでは、「知っているといざという時に便利!!」なTracing・Profilingの機能を紹介します。
Tracingを使いこなせば「この処理どう動いているんだ???」を効率的に理解するのに役立ちますし、Profilingを使いこなせば「どこの処理がボトルネックになっているんだ???」をパパパっと理解できるようになっちゃいます。

ぜひ、プログラマーの道具箱に入れておきたいですよね!

3
Lightning talk (4 mins)
Service Development Community / Communication

オンライン勉強会やイベントで盛り上がりを共有したい!

sizuhiko 岸田健一郎

オンライン勉強会やイベントが続くこと1年。
なかなか参加者の盛り上がりを登壇者や参加者間で共有することができずモヤモヤした日が続いてきました。
そこで効果音を共有することで課題を解決するサービス pong swoosh を公開しました。
開発の経緯、実際使ってみてどのような反応があったのかを紹介します。

1
Lightning talk (4 mins)
Service Development Laravel

Ruby + Rails使いが、PHP + Laravelで新規プロダクトMVPを開発してみた

kou0525 hayapee

■トーク対象
Ruby + RailsとLaravel + PHPの比較(新規事業開発)

■トークの概要
・業務経験2年のWebエンジニア
・Ruby + Railsでマーケティング支援ツールの開発、運用を行ってきた。
・新規事業開発室に異動となり、MVP開発を任された。(チームメンバー2名のリーダー)
・技術好奇心でPHP Laravelを採用
・Railsは自由に書ける分、チーム開発時のRVに工数がかかる。(直感的に書けるRubyの弱点)
・一方Laravelは、PHPの型が整っているのでレビューがしやすい。
・Rails(Ruby)とLaravel(PHP)のメリデメを実際の開発工数を比較して行う。

2
Lightning talk (4 mins)
Business

PHPが求人一位になった。全世界のWebの8割がPHPで動く時代に、君は何をするのか。

_yoshimasa 吉政忠志

コロナ過とDXの波でPHPの求人がプログラミング言語求人で1位になった。気が付けば、全世界のWebでPHPが動くようになった。これからPHPerになる人は何をするべきか?これからのPHPerは何をするべきかを、マーケッタ歴30年のスピーカーが独自の視点で市場動向を解説します。

2
Lightning talk (4 mins)
Laravel

Laravel Activity Logを使って簡単に変更履歴機能を実装しよう

kanbo0605 カンボ@沖縄

変更履歴の機能を実装するのって、考慮する事も多いし、大変ですよね?
Laravel Activity Logを使うと、簡単に変更履歴の機能を実装できます。
このセッションでは、laravel-activitylogをどのように導入するか説明します。

3
Lightning talk (4 mins)
Laravel

Laravelで始めるUuidTraitの使い方

kanbo0605 カンボ@沖縄

データベースのテーブル定義をしてて、こんな事ってないですか?
・まだ始めたばかりのサービスでユーザ数を知られたくない。
・ユーザIDが連番になっていて、ハックされそうで怖い。

このようにユーザIDを公開したくない場合に、推測されにくいIDがuuidです。
UuidTraitを作って、Modelクラスでuseするだけでuuidの生成ができます。
このセッションでは、UuidTraitの作成から使い方までを説明します。

1
Lightning talk (4 mins)
Test / Quality

本当にあった怖いPHPコード7選

kanbo0605 カンボ@沖縄

今まで仕事で携わってきたPHPでの開発において、可読性、保守性が明らかに低かったコードの例を話し、リファクタリングする場合はどうするかなどを説明します。
例えば、メソッドの引数が7個以上ある。変数名が解読不能。if文のネストが7つ以上あるなどです。

1
Lightning talk (4 mins)
IDE

PhpStorm使ってるんなら.ideaは共有していこうぜ!!

o0h_ きんじょうひでき

「より良くPhpStormを使うために、コーディング規約やテスト実行の設定をプロジェクトやチームで共通化しよう」

.idea/ ディレクトリを.gitignoreで無視するように設定しているレポジトリをよく見かけます。
もし”慣習的に”そうしているのであれば、勿体ないかも知れません!

普段の開発にPhpStormやInteliJ IDEAファミリーを利用している方も多いのではないかと思います。
高機能でありながら、「少しだけ」使う分にも充分に威力を発揮することには、ユーザーの皆さんも同意されるのではないかと思います。
他方で、「設定しなければいけない項目」も少なくないのも事実です。

Inspectionの設定、Interpreterの設定、テスト実行の設定・・・
これらを「PJメンバー全員で同期する」ことができれば、一気に効率が良くなります。
「生産効率」の水準が揃う、という手段となります。

そのための手段が「.ideaを共有する」なのです!!

どのように使えば良いのでしょうか?
また、それによってどこまで実現できるのでしょうか?

本トークを通じて紹介します!

11