採択
2024/02/11 14:35〜
$room['A']
レギュラートーク(15分)

実践、Interface

このトークでは架空サイトのログインをInterfaceを利用して差し替えることでInterfaceへの理解を深めます。

「Interfaceってなんだか抽象的で分かりにくい」
「解説しているブログ記事や映像を見てもいまいちピンと来ていない」
「ライブラリのInterfaceの使い方見てもいまいち嬉しさが分からない」

そんな方は是非このプロポーザルに☆をつけてください!
Interface、コワクナイ!

採択
2024/02/11 15:30〜
$room['C']
レギュラートーク(15分)

夢から現実へ: PHPエンジニアの私がスタートアップCTOとして直面した挑戦

kunikiya 原田裕介

内製開発チームを立ち上げて半年程度のスタートアップに昨年ジョインし、2023年の7月からCTOをやっております。
14名の開発チームに成長、サービスの展開を加速させていく中で、組織作りや開発基盤の整備を含め、取り組んできたことをPHPer目線でお話しします。
CTOに限らず似たような立ち位置の企業にジョインしたエンジニアの参考になればと考えています。

◆対象者
・スタートアップエンジニア
・新規の開発チーム立ち上げをしている人

◆話すこと
・エンジニア組織作り
・採用、技術広報、技術試験の導入
・経営層、他部署の知識向上
・開発環境、ルール作り
・うまくいった取り組み、うまくいかなかった取り組み

採択
2024/02/11 15:50〜
$room['B']
レギュラートーク(15分)

擬人化で完全に理解するクリーンアーキテクチャ

shimabox しまぶ

クリーンアーキテクチャって難しいですよね?
ドメインモデル, ユースケース, アダプタ, インフラストラクチャ, etc, はい、私は全くわかりませんでした。

ただ少し視点を変えて、それぞれのレイヤーを擬人化して会話させてみると、なぜ依存関係や依存の向きについて口酸っぱく言われるのか、なんとなくわかった様な気になることができました。(例えば、ユースケースとインフラストラクチャを直接会話させると何が起きるのかなど)

そこで本トークでは、

  • 各レイヤーの説明と擬人化
  • 各レイヤー間での会話方法
  • 依存関係管理(DI, DIP)

を中心に、クリーンアーキテクチャを少しでも理解してもらえることを目標としてお話ししたいと思います。
深い話はせず、あくまでも擬人化を用いてレイヤー間のやり取りを説明します。
このトークを聞けば、あなたはきっとそれぞれのレイヤーで思い出す顔が増えるでしょう。

レギュラートーク(15分)
初登壇

SymfonyをAmazon ECSで稼働・運用する

橋本幹基

SymfonyをAmazon ECSで稼働・運用することに関して話します。
特に運用面で気をつけていることなどについてお話しします

話すこと
・SymfonyをECS上で稼働させる際の注意点と構成図
・GitHub ActionsやCodePipelineなどを用いたデプロイの自動化

1
レギュラートーク(15分)

完了の定義をしろ、話はそれからだ

皆さんはチームで「完了の定義」は運用していますか?
また、それはちゃんと運用できていますか?

このトークではITエンジニア/ソフトウェアエンジニアである以前に、
一人のビジネスパーソンとして仕事をする上で大事な概念である

「完了の定義」

の運用について

  • 上手くいったこと
  • 上手くいかなかったこと
  • 今実践していること

についてお話させて頂きます。
当たり前のことではあるけど実践しようとすると意外と難しい、完了の定義について一緒に考えましょう!

4
レギュラートーク(15分)

息子が大学生になったので今までのキャリアで考えてきたことを話してみる

hiro_y 山岡広幸

キャリアについて考えたことはありますか?

自分の場合、結婚して子供が生まれてから今まで、本当にいろいろなことを考えてきました。
その間、転職をしたり、会社が買収されたり、スタートアップに飛び込んだり。
今では自分の会社を経営しており、メンバーの雇用を始めたりもしています。
そしてずっと、Webエンジニアであり続けてきました。

ふりかえってみると、何が自分と家族にとって最善なのか考え続けてきた結果だったりします。
今まで考えてきたことについて、ちょっと話してみようと思うのです。

皆さんがキャリアについて考える上で、何か参考になることがあればうれしいです。

8
レギュラートーク(15分)
初登壇

Symfonyの複雑なフォームの作成と独自バリデーションの実装

藤崎 史郎

Symfonyで複雑なフォームの実装についてお話します。

お話する内容
・EntityTypeを利用したFormTypeの実装
・ネスト構造のFormType
・ConstraintValidatorを利用した独自バリデーションの実装方法

4
レギュラートーク(15分)

PHP で読む楽しいコアダンプ

sji_ch sji

皆さん、コア吐いてますか?

コアダンプファイルは実行中のプログラムのある時点でのメモリ内容を、丸っとファイルへ吐き出したものです。Linux や Unix 系 OS では、プログラムがクラッシュした際など、設定によってその原因究明のためのコアダンプファイルを吐き出させることができます。

我々 PHPer にはコアダンプファイルは馴染みの薄いものです。PHP スクリプトの実行でコアが吐かれるのは、ふつう処理系や C 言語拡張部分の不具合を踏んだ場合です。PHP は仕事で使われることの多いビジネスマンの言語で、仕事でそのような不具合を踏みやすい環境を常用することは珍しいでしょう。

しかしこのコアダンプ、プログラムのクラッシュ時以外でも取れば取れるもので、気合で読めばけっこう楽しいものでもあります。みなさんもこのトークを聞いて、毎日じゃんじゃんコアを吐いていきましょう!

8
レギュラートーク(15分)

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

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

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

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

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

お話しないこと
・商用環境での運用の話(個人開発ベースです)
・ライブデモはありません(あくまでスライドのお話ベース)

7
レギュラートーク(15分)

ここからはじめる、技術イベントと「もうちょっとだけ」関わる生活

BkNkbot びきニキ

みなさん、技術イベント楽しんでますか?

関西は実に6年ぶりの開催ということで、PHPerやエンジニアだけではなく、多種多様な方が会場にいらっしゃるでしょう。
そんなみなさんに、PHPコミュニティの良さ...否、「技術イベント」に参加する良さをもっと布教したい!!

2024年はコロナ禍が落ち着き、多くのイベントが復活。
各地域に熱狂をもたらしています。

今日、PHPカンファレンス関西に勇気を出して参加してくれたあなたに!
技術イベントの尊さを、ギュっと15分に濃縮・還元します。
PHPカンファレンス関西から、技術イベントに”もうちょっとだけ”踏み込んでみませんか?

話すこと

  • 他のコミュニティでも輸入したい、PHPコミュニティの最高なところ
  • 参加者、スタッフ、実行委員長として関わるそれぞれの楽しさ
  • PHPコミュニティが与えた、他の技術イベントへの大きな影響
7
レギュラートーク(15分)
初心者向け 初登壇

ドメインロジックを閉じ込める手法

coco_typing ロキ

仕様をコードで表現するとは?
PHPのコードを例に、よく聞くDDDの戦術設計や戦略設計、そのあり方の一つをお見せできればと思います。

1
レギュラートーク(15分)
初心者向け 初登壇

コードの責務を例外で表現しよう

kajitack 梶川 琢馬

例外はただのトラブルシューターじゃありません。コード内の誰が何を担当するのかを教えてくれる、責務の指針なんです。

『PHPの例外、多すぎてどれ使えばいいかわかんない!』『例外、いつキャッチすればいいの?』『エラー情報、どこに吐き出すのが正解?』こんな疑問を持ったことはありませんか?

PHPの組み込み例外クラスの選び方から、自分で独自例外を定義するノウハウまで、コードをもっと読みやすく、管理しやすくするための実践的なアプローチについて考察してみます。

例外をマスターして、エラーハンドリングをもっとスマートに。

9
採択
2024/02/11 15:50〜
$room['A']
レギュラートーク(15分)
関西在住者

ほげ言語にあってPHPにない機能

tanakahisateru 田中ひさてる

いろいろな言語の言語機能のうち、PHPにまだないものを挙げます。
で、ないのはしょうがないので、どうするかと考えていきます。

21
レギュラートーク(15分)

生産性を高め続けるための「学び方の学び方」

todays_mitsui 今日の三井君

概要

私たちが働く IT の業界は変化が激しく、既存のスキルが数年ですぐに陳腐化してしまいます。
変化のなかで生産性の高いエンジニアであり続けるためには新たな事柄を戦略的に学んでいくことが重要です。
本セッションでは戦略的な学習習慣を身につけること「学び方の学び方」についてブレイクダウンして考察していきます。

トーク内容

  • 学ぶ人と教わる人
    • 未開の地を開拓するには自ら学ぶしかない
    • 自ら学ぶ人は常に教わるだけの人の先を行く
  • 何を学ぶべきか?
    • あなたの欲は模倣である
    • 真に欲しているもののために学ぼう
  • どのように学ぶか
    • 学習最適化組織を作る
    • ギバーとテイカーの組織的学習論

想定視聴者

  • エンジニアとして成長し続けるヒントを見つけたい人
  • メンバーが自ら学ぶ組織を作りたい人
5
レギュラートーク(15分)

B+木入門:PHPで理解するデータベースインデックスの仕組み

hanhan1978 富所 亮

B+木をご存知でしょうか?RDBMSのインデックス作成に採用されているデータ構造で、ディスクの効率的な利用や、検索を行いやすいなどの特徴があります。しかし、耳学問で聞いてもイマイチ特徴がピンと来ないのです。

本トークでは、PHPでB+木のデータ構造を実装して、RDBMSでB+木が採用される理由、インデックスの構造的な仕組み、何故検索が速くなるのか?などなど、データベースの仕組みの根幹を覗いてみましょう。

本トークで話す内容

  • B+木の特徴
  • なぜ、データベースはB+木を採用しているのか
  • インデックスとは何か
6
採択
2024/02/11 15:30〜
$room['B']
レギュラートーク(15分)

PHPで学ぶ、セッションの基本と応用

hanhan1978 富所 亮

ステートレスなHTTPをステートフルに変えてくれる仕組みがセッションです。ユーザのログイン、リダイレクト後のエラーメッセージの表示、CSRF対策等、現代のウェブアプリケーションで多用されているセッションですが、セッションがどのように動いているかと聞かれた時に正しく答えられますか?

本トークでは、ウェブアプリケーションにおけるセッションについて、その正体を分かりやすく解説します。セッションの正体を知ることで、初心者とベテランエンジニアの間に存在する知識と経験の差を少しでも埋めることが狙いです。

このトークでお話すること

  • セッションの仕組み
  • ウェブアプリケーションフレームワークにおいて利用されているセッションの例
  • セッションが本番アプリのアーキテクチャに与える影響
レギュラートーク(15分)
初心者向け

PHPerのための計算量入門

hanhan1978 富所 亮

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

3
レギュラートーク(15分)
初登壇

ドメインイベントを駆使したLaravelでのコードリファクタリング

kajitack 梶川 琢馬

このセクションではリアルなLaravelのプロジェクトを例に、ドメインイベントを用いてどうやってコードをすっきりさせるかをナビゲートします。
テストも楽チンになるし、コードも再利用しやすくなるような、ちょっとした工夫を伝授します。
リファクタリングって難しそう?
いえいえ、このセッション後は、もう怖くないですよ。
Laravelとともに、もっとコードライフを楽しみましょう!

5
レギュラートーク(15分)
初心者向け

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

blue_goheimochi 大橋 佑太

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

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

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

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

6
レギュラートーク(15分)
初心者向け 初登壇 関西在住者

password_hash()とpassword_verify()に詳しくなりたい

aki_artisan 赤塚啓紀

PHPドキュメンテーション
「password_hash() は、 アルゴリズムやコスト、ソルトといった情報もハッシュに含めて返すことに注意しましょう。 」
ぼく
「え、ソルトも同じところにあったら意味ないんじゃ?」

このセッションでは、そんな疑問に答えるべく、password_hash関数について掘り下げて解説します。
そもそもパスワードをハッシュ化する目的や、パスワードにまつわる攻撃手段とその対応を見ていきましょう。

話すこと
・ハッシュ化とは何か
・なぜパスワードはハッシュ化するのが良いのか
・ソルトは何を解決するか
・ブルートフォース攻撃やタイミング攻撃への対応

3