セッション(15分)

ITコミュニティにおける正統的周辺参加を考える

tomio2480 西原翔太

みなさんはITコミュニティに関わっていますか?
そのITコミュニティにはどのように参加しましたか?
 
今,ITコミュニティに所属していると認識している方なら,自分自身がどのようにしてITコミュニティに溶け込んで行ったのか,ご自身の歴史を語るように話せるでしょう.こうした言い伝えのように語り継がれたITコミュニティへの参加,ITコミュニティへの貢献の話は,ITコミュニティに入ってきていない方や,ITの業界の外にいる方には伝わりにくいものです.その上,受け入れる側もどうすればよいか,経験で知るしかありません.そこで本セッションでは,ITコミュニティに受け入れる側としてどのような点に注意して振る舞えばよいか,整理整頓を試みます.

7
セッション(15分)

こんなPHPUnitのレビューはいやだと言われぬために

shimabox しまぶ

テストコードのプルリクが来て意気揚々と見てみると、こんなコードが書かれていたりしませんか?

  • 何を表明するテストなのか分かりづらい
  • なんでもかんでもデータプロバイダーだ
  • 条件分岐が入っている
  • やたらDRYだ
  • 準備、実行、確認が無秩序に書かれている
  • etc

こういったテストがレビューで飛んできたとき、見るのがしんどそう...と、自分はまず別タブに移動してしまいます。
レビューはすぐにしたいんです。それなのになぜネガティブな感じから始まるのでしょう?もちろん理由はあるのです。

そこで本トークでは、上記テストコードに対する問題点と解決策についてコード例を交えつつ説明し、
こんなPHPUnitのレビューはいやだと言われぬために僕らが今日からできることをお話したいと思います。
レビュアーが嫌がるテストコードを知ることで、レビュアーに優しいテストコードを書いていきましょう!

セッション(15分)

実務レベルSQLテンプレートエンジン

app1e_s meihei

私が開発しているプロダクトでは、DBへのデータアクセスでPDOを利用しています。しかし、そのまま使わずに、SQLのテンプレートエンジンであるTetoSQLを通して利用しています。TetoSQLでは、防衛的な型チェックや、ループ処理などのPDOの表現力を高める事ができます。
このトークでは、SQLテンプレートエンジンであるTetoSQLの紹介、PDOやORMとの比較、実際に使用した結果等についてお話しします。

対象者

  • PHP中級者
  • SQLが書きたい人

話さないこと

  • TetoSQL以外のSQLテンプレートエンジンについて
  • SQLを実行する事以外のPHPの話し
セッション(15分)

SymfonyでDIを楽しく学ぶ:初心者向けの実践的なガイド

kuni__94 くに

PHPフレームワークであるSymfonyのSymfonyDI(Dependency Injection)はSymfonyを使う上でコードの保守性や拡張性を向上させるための不可欠なツールです。
その強力で柔軟な機能を初心者の方々にわかりやすく紹介します。
今回はyamlファイルに定義する方法を具体的な例を交えながらご紹介します。

2
セッション(15分)

PHPerのための生成系AI比較 OpenAIとAmazon Bedrock

seike460 清家史郎

生成系AIの勢いは止まりません
OpenAI のGPT-4 TurboやAssistants API の衝撃により、更に生成系AIは利用が広がることだと思います
またAWS re:Invent 2023にてAmazon Bedrockのアップデートも期待されています

利用するのと利用しないのでは、差を感じずにはいられず
私達PHPerも生成系AIの知識を追う必要があることは語る必要もないと思います

今回PHPerは生成系AIとどう付き合うべきなのかを、
2つの生成系AIサービスを比較しながら考えます

生成系AIの比較を行いながら理解することで、
現状PHPerがどのように向き合っていくべきなのかを振り返るセッションになれば幸いです

  • 想定する聴講者
    • 生成系AIを利用していないPHPer
    • 生成系AIを使っているが、使いこなせていないと感じるPHPer
1
セッション(15分)

mod_php? PHP-FPM? それともBref? PHPの実行環境を考える

seike460 清家史郎

先日「PHPを動かす技術バトル~PHPer Tea Night~」という非常に興味深いイベントがあったので参加しました

その中でPHPの実行環境は「mod_php」を利用しているのか「PHP-FPM」を利用しているのかの議論がありました
インターネットでみた記事以上の情報のやり取りも行われ、様々な議論が起こり知見が深まった中で、
その違いの解像度を上げたいと考えました
もう一つの選択肢としてOSSであるBrefの話も添えてPHPの実行環境についての比較をします

なんとなくPHPの実行環境を決めるのではなくて、あなたの推しのPHP実行環境を見つけましょう

  • 想定する聴講者
    • なんとなく Nginx + PHP-FPMを利用している方
    • mod_php や PHP-FPMの比較について知りたい方
    • Brefってどう動いているかしらない方(これはオマケです)
セッション(15分)

Laravelのコードとわたしたちのコードとの距離を保ち、プロダクトと向き合う

blue_goheimochi 大橋 佑太

Laravelには便利な機能がたくさんあり、Eloquent、Facede、サービスコンテナ、認証、ミドルウェア、Blade、artisanコマンドなどの機能を活用することで、スピード感のある開発ができることは間違いありません。

ただ、それらに依存しすぎることによる弊害も少なくないでしょう。ビジネスの変化への対応による作り直し、各機能のバージョンアップの際に思わぬ量のコード修正になってしまうことがあります。

そんなことを想定し、Laravelのコードからドメインのコードが独立するよう、主にInterfaceを利用してドメインロジック(=わたしたちのコード)を切り出すことを心がけています。

まずLaravelで素早く開発するための例を紹介し、どのようにしてLaravelのコードとドメインのコードの距離を保っているか、どんなメリットがあるのかを事例を交えて紹介させていただきます!

1
セッション(15分)

PHPでサーバレスにジョブ実行がしたい! ~3大クラウド 定期ジョブ実行の旅~

みなさん、サーバレスで動かすPHPはお好きですか? 私は大好きです。
よくサーバレスなマネージドコンテナサービスでWEBアプリを実行しますが、定期実行するジョブもマネージドなサーバレス環境で実行したくありませんか?

そんなあなたのために、3大クラウドそれぞれで定期ジョブ実行するためのポイントやそれぞれのサービスの比較を行い、実際にPHPを動かす際のポイントなどをお話します!

対象
・Dockerなどコンテナについてなんとなく聞いたことがあり、ちょっと動かしてみたい人
・サーバレスでコンテナを使った定期ジョブをしたい方
・サーバレスという言葉に惹かれる人

お話すること
・各社のサーバレス コンテナサービスの比較(特徴や料金体系など)
・実際にトライしてみての気づき

2
セッション(15分)

自社サービス会社のエンジニアってどんな仕事してるの?

77web 菱田裕美

令和では受託開発はオワコンで内製化の時代?駆け出しエンジニアに人気なのは受託開発より自社サービス開発?
世間では「自社サービスのエンジニアになりたい!」という声が大きく聞こえるようになりました。
私は受託開発フリーランスから自社サービス開発の社員エンジニアになり、エンジニア人生の中で自社サービス開発に携わっている期間の方が長くなりました。
キラキラした仕事のイメージで語られがちな自社サービス開発ですが、日々どんな仕事をしているかは意外と知られていないようです。
自社サービス開発のエンジニアとしてどんな仕事をしてきたか、見てきたかについて話します。

1
セッション(15分)

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

NakMeKtt 仲見川勝人

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

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

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

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

こんな人にお勧め

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

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

stwile871 スタヰル

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

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

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

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

話すこと

  • 写経2.0
  • つまみ食い学習の優位性について
  • 自分CI・CD
2
セッション(15分)

PHPerのための計算量入門

hanhan1978 富所 亮

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

本トークで話す内容

  • 計算量とはなにか?
  • 時間計算量、空間計算量
  • 実装時に意識しておくこと
1
セッション(15分)
小田原っこ

モブワークの最初の一歩

GHEN_HANDYMEN GHENSAN

FIRST IN MOB WORK

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

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

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

2
セッション(15分)

PHPStan に入門してみた

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

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

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

3
セッション(15分)

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

seike460 清家史郎

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

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

  • お話すること

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

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

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

seike460 清家史郎

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

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

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

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

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

22kerokero22 kerokero

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

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

具体的な内容

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

対象者

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

(15分版)OSSコントリビュートで開発経験を積んでいこう

samurai_se Kanon

OSSのコントリビュートは誰でも可能です。
開発経験を積みたい人や、所属組織外の人からコードレビューを受けたい!という人にとって
OSSコントリビュートは副業に比べて低いリスクで開発経験を積むことができます。

本トークでは貢献の仕方・手法をご説明したうえで、Laravelを使ったOSS/ECパッケージ「Laracom」を動かしながら、コードを一緒に読んでみようと思います。

初心者でもやっていけることをやることでオープンソースに貢献をすることで知見が得られ、
エキスパートへの道を一歩踏み出すきっかけになれば幸いです。

セッション(15分)

障害対応”避難訓練”をお薦めする、その理由と実施の方法

o0h_ きんじょうひでき

Webサービス開発をやっていると、障害はいつかやってきます。
──本当にそうでしょうか?

実は、「障害対応をしている人」は偏っていませんか。
つまり、「いつか来る」は「人による」とも言える状況がある現実がありませんか?

意図して(例えば組織設計上の都合で)そうなっているのでないなら、
「もっと幅広く、対応できる人がいて欲しい」という悩みもあるでしょう。

なぜ増えないのか?
その原因には、「恐ろしい」「恐れ多い」「分からない」なんて背景もあると考えています。
性質上、障害対応の経験値は、組織に広まって行きにくいものです。

壁を乗り越え、皆で対応できる生活を送るための、安全な生活と生命を守る学習・・・「避難訓練」を実施してみませんか!

このトークで話すこと

  • 組織の「障害対応偏りがち」の原因と弱点を構造で捉える
  • ”避難訓練”が何を解決するか・しないか?
  • 実施の例と提案
セッション(15分)

Laravelの罠!?Eloquentとクエリビルダの共存に学ぶ実践的失敗談

kotomin_m ことみん

このトークでは、LaravelのORMシステムであるEloquentのアクセサ・ミューテタが何か、またクエリビルダとの違いは何かについて、PHP初心者に向けてわかりやすく解説します!!
その後、Eloquentとクエリビルダを組み合わせて使用する際の注意点について、実際に起こった失敗談を紹介します。
そして、この失敗から得た教訓をもとに、同様の問題を避けるためにはどうしたら良いのかについても掘り下げます。

このトークを聞くことで、Laravelを利用しているけれどもEloquentとクエリビルダの違いが分かっていない方も、明日からその2つの違いを理解し、安全なデータベース操作ができるようになるでしょう!乞うご期待!

どさんこ: 生まれ育った北海道が大好きです。

3