LT(5分)

いまさらだけど、Raspberry Pi + PHP で "Get Wild" したい!

benzoh_w 和田ベンゾウ

「Raspberry Pi で L チカ」「PHP で L チカ」「Raspberry Pi で "Get Wild"」「PHP で "Get Wild"」のサンプルは良く見かけますが、みなさん「Raspberry Pi + PHP で "Get Wild" 」の実装例はまだ見たことがないのではないでしょうか。

というわけで、私がやります!

4
LT(5分)

SREを新設して1年の歩みとこれから

for__3 zoe

エンジニア20名規模で複数プロダクトの開発保守をしている自社で約3名の少数精鋭SREチームを立ち上げ、やろうとしてきたこと、それに対して実際できたこと出来なかったこと、そして今後の展望について話します。

2
LT(5分)

チームビルディングのススメ

for__3 zoe

チーム開発に欠かせないチームビルディング。
何となく雰囲気でやってませんか?
チームビルディングの目的や、よくある失敗例を混じえながら抑えるべきポイントについて説明していきます。

LT(5分)

毎月開催している社内LT会運営の裏側〜継続して運営するためにやっていること〜

kotomin_m ことみん

PHPerの皆さんが大好きなLT会。
このLTでは、毎月オンラインで開催している社内LT会をどのように運営しているかをお話します。

私たちは4〜5人でLT会を運営しています。
運営チームが毎月行っている「2週間前の準備・当日の運営・振り返り」の様子や、その時にどんなことを話しているのかなど、
LT会やイベントの運営をやったことがない方、これから開催してみたい方に参考にしていただけたらと思います。

1
LT(5分)

後輩教育でよく引用するものを紹介

for__3 zoe

後輩に教育する中でよく引用させていただく資料や名言をできるだけ活用例と合わせてざっと紹介します。

教育する際の観点の振り返りや、言語化しづらいときに辞書的に使ったり、自身の振り返りとしても活用できます。

1
LT(5分)

サービスを1から立ち上げて「やって良かったこと・悪かったこと」を5分で振り返る

kataokatsuki kataokatsuki 片岡克樹

サービスの立ち上げ、数年間の運用を通し
「試行錯誤を繰り返し、致命傷を負わない戦い方」
を少しずつ学んできました。

その経験を通し

  • やって良かった
  • もっとこうすれば良かった
  • どうしていいか未だにわからん

と感じた話をします。

具体例

  • テスト0の状態から、ユニットテストやE2Eテストを整備した話
  • EC2にsshで入ってgit pullする状態から、TerraformやECSを使っていい感じにした話
  • 「営業の方に頼まれたものをとりあえず作る」から、「本当に求めていそうなものを理解し、できるだけ無駄なものを作らないようにシフトした」話

望むこと

熟練のエンジニアの方にも、初心者の方にも「わかる、ウケる」と感じてもらえる話をして
「いいものを作ろうとしている仲間」
として交流のきっかけができればいいなと思います。

2
LT(5分)

PHPとラズパイでカメの餌やりを自動化する

hoku_FA 北斗

PHPで実際にモノを動かしてみたいと思ったことはありませんか?
ラズペリーパイ(ラズパイ)のGPIOをPHPで制御することで、アクチュエータ(電気シリンダなど)を動作させることができます。

ラズパイとはシングルボードコンピュータで、電子工作や、近年では産業用途・IoTなどでも使用されています。

普段PHPを扱っているとPC上で完結する仕事が多いと思いますが、たまには現実のモノを動化してみると面白いです。

1
LT(5分)

Slackカスタムレスポンスを活用してtimesをカオスにしよう!

for__3 zoe

Slackのtimes文化根付いてますか〜?
Slackにて個人チャンネルを作りtwitterのようにつぶやく分報チャンネルことtimesですが、油断すると業務の話ばっかりになったり、投稿ハードルがあり投稿されなかったり、、うまく運用していくのがなかなか難しいものです。
そこで私がtimesでやっている様々な工夫を一挙に公開したいと思います。

2
LT(5分)

その説明、コードコメントに書く?コミットメッセージに書く?プルリクエストに書く?

okashoi おかしょい/岡田 正平

先輩「この実装はどうしてこうなっているの?」
自分「ここは〇〇という理由でこうしています!」
先輩「了解です、その説明はコードコメントに書いておくとよいので追記お願いします~」
コードレビューを受けているとき、こんな経験はありませんか?

コードで表現できないことを説明したいとき、それを書く場所の候補はコードコメント、コミットメッセージ、プルリクエスト(説明欄やコメント)と多岐に渡ります。
「どこに書けばいいのかわからない!」そんなときの指針となるお話をします。

10
LT(5分)

え?!研修で学んだRepositoryパターンはLaravelでは使いにくいんですか?! ~新卒PHPerの悩み~

dainabook 寺西 帝乃

LaravelではRepositoryパターンは使いにくいんでしょうか。
「Repositoryパターンはデータアクセスロジックとビジネスロジックを分離し拡張性と保守性を高めた実装パターン」であると研修で理解しました。
しかしLaravel上でこの実装パターンを用いたところ、以下のような悩みに直面しました。

  • 肥大化するクラスがServiceからRepositoryに移っただけではないか?
  • 必要以上にファイルの数が増えてしまっているのではないか?
  • 一覧表示などではパフォーマンスが劣化するのではないか?

ここではこれらの悩みに直面した新卒PHPerが奮闘し、どのようにRepositoryパターンで実装したのかを紹介していきます。
もし「もっと良い方法があるよ!」と教えてくれる先輩PHPerがいらっしゃいましたら、ぜひ教えてください。。。

15
LT(5分)

実演!!ホワイトボードツールを使ってPHPのコードリーディングを捗らせる

o0h_ きんじょうひでき

見知らぬコード、深いスタック、多様なクラスやメソッド・・・・
それらに立ち向かうのは、楽しくもあり大変でもあることですね!頭がパンクしちゃうこともしばしば!

どうしたら、少しでも効率よく・安心しながらコードリーディングを進められるでしょう。
ポイントは、「要点を掴む(=肝心でない所は脳みそからflushする)」「振り回されない(=コードを行ったり来たりしやすくする)」事だと思います。
それを実践するためのツールや技法を用意できると良いですよね。

脳内で補いきれない所は、「道具」で補って賢くやりましょう。
Xdebugのステップ実行と、ホワイトボードツール(Miro)の付箋とメモを活用することで、とっても効果的にコードの理解を進めることができます!

ある程度複雑なライブラリを例に、実際に「どうやったのか」をお見せします。

6
LT(5分)

if文を辞めるためにmatch式を「完全に理解した」しよう

yu_mashirou 柚口 ましろう

PHP8がリリースされ、追加された関数の1つにあるmatch式。
多くの場合、大体比較されるのはswitch文ですが、if文も代替できることをご存知、または知っているでしょうか?

今回の発表ではmatch式の基本と応用、発展形や本題のif文代替ケースをご紹介しながらどれだけif文とさようならができるか挑戦します。

発表内容

  • 改めてmatch式を理解する
  • 基本形とよくある使い方
  • 良くない使い方
  • 応用な使い方
  • 個人的にやる使い方
  • (ひらめく限りの)本当に使う?とんでもmatch式

対象者

  • ~中級者
  • PHP8.0以上
LT(5分)

Laravel Collection の計算量を調べてみた 2023

hanhan1978 富所 亮

2018年に「Laravel Collection の計算量を調べてみた」というタイトルで PHP勉強会で発表を行いました。
https://speakerdeck.com/hanhan1978/laravel-collectionfalseji-suan-liang-wodiao-betemita

あれから、5年。月日が流れて、Collection にはメソッドが追加され、ロジックにも変更が入りました。
というわけで、今、計算量がどうなっているのか測り直してみました。

7
LT(5分)

1人Advent Calendarを支える技術(よりも大事なもの)

o0h_ きんじょうひでき

メリークリスマス!
クリスマスといえば、Advent Calendarですね。
世の中には、クリスマス当日まで待ちきれなすぎて1人でカレンダーを埋めていく人も居ます。
私も、2018年に1人adventに初めて挑戦し、2021年には3枚の1人adventに挑んでみました。

このLTでは、自身の経験を通じて感じた「助かったこと」「苦しかったこと」やノウハウを共有し、「今年の12月は私もやってみようかな!!」と 道を踏み外す 奮い立つ人を1人でも増やすことを目的にお話をします。

[ネタバレ]このトークにおいて、タイトルにある「1人Advent Calendarを支える技術(よりも大事なもの) 」は「根性」です。

3
LT(5分)

自動リファクタリングツール「Rector」の自作ルールを作るよ!

o0h_ きんじょうひでき

Rectorを使っているととても便利で、「フレームワークのバージョンを上げたら今までのメソッドがdeprecatedになって書き変えなきゃだぜ!!」といった場面をコマンド1発で乗り切ることが出来ます。

主要なFWやライブラリなどのマイグレーションには公式に対応していますが、自分たちのPJに適したルールは自分たちで作っていく必要があります。
「どういう風に、自動での書き換えを行わせるか・・」は知っておいて損はないはずです!
LTの中で伝えられる範囲で、Rectorを拡張するためのルールの作り方を紹介します。

6
LT(5分)

わたしたちのふりかえり術

HiroyaYamamoto1 やまもとひろや

皆さんふりかえり行ってますか?
何か物事を進めるうえでふりかえりというのはとても重要です。
自分たちが今どこにいて、どこを目指しているのか、ふりかえりを通して見つめ直すことができます。
わたしたちが行っているふりかえり術(ノウハウ・知見)を共有したいと思います。

4
LT(5分)

デキる!1on1術

HiroyaYamamoto1 やまもとひろや

リモートワークが当たり前になった昨今、心理的安全性の確保というのはどの組織でも重要な要素となっています。
その手法の1つに1on1というものがあります。
恐らく皆さんやられてると思います。
1on1というのは文字通り1対1の対話のため、そのやり方や手法が暗黙知になりやすいです。
社内で多くの人と1on1を行ってきましたのでノウハウや知見を共有したいと思います!

5
LT(5分)

NRQLにて任意の直線を引く方法

HiroyaYamamoto1 やまもとひろや

皆さんNRQL書いてますか!?
NRQLとはNew Relicで使うクエリ言語です。
監視やデータ集約にNew Relicを使っている人も多いと思います。
「目標線」「基準線」「進捗線」などのために任意の直線を引く小技を教えます。

1
LT(5分)

DAP(Debug Adapter Protocol)のススメ

takeokunn たけてぃ

DAPとはDebug Adapter Protocolの略で、LSP(Language Server Protocol)と同様Microsoftが作成したプロトコルです。
LSPについての解説は世の中にごまんとあるが、DAPについて触れている記事は全くといって無いのが現状です。

DAPの仕組みについてや、実際にemacsのdap-modeを用いてxdebugと繋ぎこむデモなどをしてDAPの魅力について語りたいと思います。

8