セッション(15分)

コードレビューその目的と手順〜自動化のTipsを添えて〜

NakMeKtt 仲見川勝人

仕事としてPHPを書いていらっしゃる方はコードレビューに関わる事も多いかと思います。

コードレビューはバグを未然に防いだり、保守性を悪化させないためなど品質保証の基本的なプロセスですが、その「正しい」方法を見つけるのは難しいものです。特にPHPのようなダイナミックな言語では、レビューのアプローチはチームの成熟度やプロジェクトの特性によって大きく変わることがあります。

このセッションでは、コードレビューの目的とレビュー手順について私たちのチームの経験を基に紹介します。

さらに、自動化を取り入れることでレビュープロセスを少し手軽にするTipsも紹介します。

こんな人にお勧め

  • コードレビュープロセスの他チームでの実践方法に興味がある方
  • 新たにレビュー体制を構築したいが、具体的な始め方に不安がある方
5
LT(5分)

composer.jsonのpropertiesを一挙紹介

ryo23526217 高谷 遼

きょうびPHPの開発ではほぼ必須と言っていいPHPライブラリの依存を管理してくれるComposer。
とは言え普段の開発ではそこまで触らない方も多いのでは無いでしょうか?
そんな方の為にComposerの設定ファイルであるcomposer.jsonのpropertiesを公式ドキュメントを元に一挙に紹介していきます。

2
セッション(15分)

意識が高くない人なりの、技術への向き合い方への誘い

stwile871 スタヰル

意識が高くない。エンジニアだけど自分のサービス・プロダクトを持っていない。作りたいものがない。

だけど技術は好き。
まだ出会ったことのないキミ(技術)と出会うための熱量を大事にしたい。
PHPの新しいバージョンをナウでヤングな環境で試したい。

このプロポーザルのディスクリプションを読んでいるアナタは業務が忙しいにも関わらず、技術への飽くなき探求があるはずだ。

そんな、意識が高い訳では無いが、技術をキャッチアップしたい人に話したいことがある。

話すこと

  • 写経2.0
  • つまみ食い学習の優位性について
  • 自分CI・CD
2
LT(5分)

LaravelのEloquentモデルイベントってどんな時に使うの?

kanbo0605 カンボ@沖縄

LaravelのEloquentモデルイベントって何?という人も多いかもしれません。
このモデルイベントは、モデル内でcreate、save、delete,、updateなどの操作をした際のイベントを指しています。そして、これらのイベントを実行する際、合わせて何らかの処理を行わせたい場合に使用します。
例えば、モデルのデータを新規作成する際にはdateカラムに現在の日付を初期値として入れたい時などに使用します。

他にも実際にどのようなケースでモデルイベントを使用するケースがあるのか、モデルイベントの注意点などを話していきます。

2
LT(5分)

集中したい?よし!ポモドーロ・テクニックだ!

hanhan1978 富所 亮

はポモドーロ・テクニックをこよなく愛する者です。会社ではポモニキと呼ばれており、日々ポモドーロ・テクニックを使っています。
しかし、このテクニックには抑えておきたい大事なポイントがいくつかあります。そうしないと集中もできず、作業も進まず、無駄に終わってしまいます。

本トークでは、ポモドーロ・テクニックの要点とやり方、さらにはおすすめのタイマー紹介など、ポモドーロ・テクニックを始めるための知見を紹介します。

1
LT(5分)

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

hanhan1978 富所 亮

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

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

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

1
LT(5分)

シニアエンジニアは案件開始時に何を考えているのか?

hanhan1978 富所 亮

熟練のエンジニアたちがプロジェクト参加時に何を考えているのか、知りたくありませんか?

もしかして、設計のことを考えている?利益?事業ドメインの理解?
いやいや違うんです、兎にも角にも真っ先に確認しておかないといけないことがたくさんあるんです。

このトークでは、シニアエンジニアがプロジェクトを成功させるために何を考えているのかをぶっちゃけてみます。

5
セッション(15分)

PHPerのための計算量入門

hanhan1978 富所 亮

プログラムを書くときに計算量を意識していますか?計算量の基本を理解することで、サービスが成長したときに問題を起こしにくいプログラムを作成することができます。簡単なプログラムを例にして、まず計算量という概念に慣れてみましょう。

本トークで話す内容

  • 計算量とはなにか?
  • 時間計算量、空間計算量
  • 実装時に意識しておくこと
1
LT(5分)

PHP構文エラークイズ!

kanbo0605 カンボ@沖縄

いくつかPHPのコード例を紹介しますので、その中でPHP構文エラーがある箇所を当ててもらいます!
下記のような観点でクイズを出す想定です。

  • セミコロンの忘れ物
  • 配列の誤用
  • クオーテーションのミスマッチ
  • インデックスの未定義
セッション(15分)
小田原っこ

モブワークの最初の一歩

GHEN_HANDYMEN GHENSAN

FIRST IN MOB WORK

PHPerのみなさんは、モブワークでの開発をされていますでしょうか。
「ペアプロならあるが・・・」「興味はあるけどまだ…」「我流で…」など色々な方がいると思います。
そんなみなさまのハックになれば嬉しいと思ってエントリーさせていただきます。

モブワークは様々な効能があって、
人とあまりコミュニケーションを取りたくない、1人で何でもやりたいという方には向かないですが、
チーム・組織という視点で見た時の成果物の質とスピードが上がりますし、チームでの制作そのものが面白くなって結果的にいいチームビルディングに繋がります。

ただ、このモブワークの威力を発揮するためには、多くの条件・コツがあります。
その概要の概要をお話させていただき、興味を持つキッカケにしていただけたら嬉しいです。

2
セッション(15分)

PHPStan に入門してみた

PHPStanコードを静的解析してバグとなりうる箇所を検出するツール です。
PHPStan ではコードを解析する際の厳密性をレベルで指定することができます。
そのため、レガシーなプロダクトに対してリファクタリングをする際に、段階的にエラーを検出できます。

私自身、 PHPStan の存在自体は知っていたものの、触る機会がなかったので、個人開発のプロジェクトに対して使ってみることにしました。

本トークでは、 PHPStan の基本的な使い方を、 PHPStan を初めて使った入門者の目線 から紹介します。
PHPStan に触れたことのないみなさんも、一緒に PHPStan に入門してみませんか?

3
LT(5分)

LaravelHerdでサクッと環境構築

9rokirishima くろきり

仕事で使ってはないけど試しにLaravelをさわってみたい。
異なるPHPのバージョンでLaravelを簡単に動かしたい。

0から色々環境作って試すのは面倒だけど軽く試してみたいという方にLaravel Herdをオススメします!

Laravel Herdは今年のLaraconUSでLaravelの環境構築ツールとして紹介されました。
環境構築ツールとしては既にLaravelValetが既に存在しますが、
Valetよりも簡単にすぐ導入できるところにメリットがあり、
瞬時にLravel環境を作ることができる上、動かすPHPのバージョンもツールから
簡単に切り替えられ、様々なバージョンで試すことも容易です!

このLTではLaravel Herdの紹介とValetとの比較、実際に使ってみての感想をお話しします!

セッション(30分)

Laravelで学ぶ、ウェブアプリケーションチューニングの基本2024

hanhan1978 富所 亮

本トークでは、Laravelで作られた基本的なウェブアプリケーションを例に上げて、ウェブアプリケーションのチューニングとはどのようなことをすればよいのか?どのような原因でウェブアプリケーションが遅くなるのかを説明し、その対処法について紹介します。

本トークで話す内容

  • ウェブアプリケーションが遅いとはどういうことか?
  • パフォーマンスの計測方法と評価
  • 実際のチューニング方法
2
LT(5分)

エラー発生時に冷静に対処している先輩は何を考えているのか

kotomin_m ことみん

不具合や障害発生時にSlackなどでエラー通知を受け取ることはありますよね。
そのとき、即座に何をすべきか具体的な対応方法をイメージ出来ますか?
エラー発生時の対応は、迅速かつ効率的でなければ、小さな問題が大きな障害に発展することも……!!

そこで、私がエラー通知を受け取ったときの初動〜対応完了までに「何を考えて」「どのように対応しているのか」をお伝えします!
このLTを聞けば、「エラー通知来ないでほしい」と願っている皆さんも、通知が来ても慌てることなく、冷静に対応できるようになっているはずです!

対象者

  • 「エラー通知が来たら何をしますか?」に即回答出来ない人
  • エラー通知は先輩がなんとかしてくれると思っている人
  • 新卒PHPer、新卒PHPerがチームに加わった先輩エンジニア

どさんこ: 小学生の頃、週末は馬に人参スティックをあげたり乗馬して遊んでました

7
セッション(15分)

Laravelで始めるサーバーレスアーキテクチャ

seike460 清家史郎

AWS Lambdaはうまくアーキテクチャに組み込む事で大きなメリットをもたらします。
今回はAWS Lambdaを利用した動的サイトをLaravelを使って構築する手法についてお話します。

皆さんに馴染み深いLaravelを利用して、サーバーレスの世界へ第一歩を踏み出しましょう!

  • お話すること

    • LaravelとAWSの親和性
    • AWS Lambda PHPの構築方法
    • 選択できるデータストアの選択肢
  • 想定する聴講者

    • AWSを利用している方
    • AWS Lambdaを利用したPHPに興味がある方
    • サーバーレスアーキテクチャに興味がある方
セッション(30分)

歴史に学ぶPHP

seike460 清家史郎

「愚者は経験に学び、賢者は歴史に学ぶ」
オットー・フォン・ビスマルクの格言です

私はPHP4から少しづつ進んできたPHPの変化を感覚として捉えていますが、
言語化出来るレベルでの理解が出来ていないと気付きました

今回はオンラインリソースを駆使することでPHPの歴史を振り返ることで、
PHP、ひいてはPHPコミュニティの選択を振り返ってみようと思います

私と一緒にPHPの歴史を振り返りながら、この日本でPHPのカンファレンスが生まれるまで成長してきたのかを学べればと思います

  • お話すること
    • PHPとその周辺技術の歴史
    • PHPの機能追加とその選択の考察
  • お話しないこと
    • 何かを解決するようなトーク
3
セッション(15分)

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

seike460 清家史郎

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

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

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

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

PHPer 2年生が、何も分からんけど各種オフイベに乗り込んでみた結果

22kerokero22 kerokero

新型コロナウイルス感染症が5類に移行したことで世の中的には3年ぶりの平穏を取り戻しつつある今日この頃、これまで開催が難しかったオフライン勉強会も少しずつ増えてきています。
言い換えると、これまでオフラインイベントに参加してこなかった人でも2023~24年はコミュニティに簡単に溶け込める年であるということです。
古参も新参も大歓迎のこのチャンス、逃す手はないと思いませんか?

このトークでは実体験をもとに、新卒2年目の新米PHPerがオフラインイベントに実際に参加して感じたことについてお話ししようと思います。

具体的な内容

  • オフイベは怖くないよ!
    • 「とはいえ実は怖いんでしょ?」が実は怖くないという話
  • 各種phpcon(東京・沖縄・北海道・関西)にそれぞれRT・LT登壇した際に新米の視点で感じたこと・魅力などについて
3
セッション(15分)

PHPで知る「凝集度と結合度」

22kerokero22 kerokero

コードで扱われる関数の分け方の基準として凝集度結合度というものがあります。
これらは構造化プログラミングの文脈において提唱されている概念であり、オブジェクト指向プログラミングにおける様々なデザインパターンSOLID原則を理解する上でも重要なものです。

このトークではPHPで書かれた具体例をもとに、凝集度と結合度についてお話します。

具体的な内容

  • 品質の良いコードって何?
  • 凝集度と結合度について
  • SOLIDのSである単一責任の原則(SRP)について

対象者

  • 時と場合による良いコードの具体的な根拠について知りたい人
    • 少しでも多くの判断基準を持ちたいと思ってる人
  • 凝集度と結合度っていうワードを初めて聞いた人
  • SOLIDの原則という言葉はなんとなく聞いたことがある人
7
セッション(30分)

PHPで学ぶGitの仕組み

22kerokero22 kerokero

現場で働くうえでよく分からん&ほぼ必須な要素としてGitが存在します。
とはいえ、gitについて調べても「 commit や push みたいな基本操作は分かるけど、深いところが何も分からん……」となりがちではないでしょうか?

このトークでは、ベテランエンジニアはなぜか知っている git 知識についてお話ししようと思います。

具体的な内容

  • git init した際に構成される.gitディレクトリの中身について
  • 実際にgit addgit commitをPHPで実装してみる

対象者

  • 簡単なgitコマンドは扱える初心者(add, commitなど)
  • 複雑な操作になると不安になってしまう初心者
  • あの日破壊したブランチのことをまだ忘れられない人
4