レギュラートーク(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
レギュラートーク(15分)

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

todays_mitsui 今日の三井君

概要

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

トーク内容

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

想定視聴者

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

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

hanhan1978 富所 亮

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

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

本トークで話す内容

  • B+木の特徴
  • なぜ、データベースはB+木を採用しているのか
  • インデックスとは何か
6
レギュラートーク(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
レギュラートーク(15分)

閉域網下で動くServerless PHP(Bref)アプリを作った話

rittyan Rittyan

みなさんは Serverless アーキテクチャをお使いでしょうか。
PHP では、 Bref と呼ばれるサードパーティ製のランタイムを用いることで Serverless 、正確に言えば Function as a service 環境上でアプリケーションを動かすことが可能です。
しかしながら、このアーキテクチャは専ら CDN を組み合わせ、公開されたインターネット環境から アクセスしてくることを基本としており、それ以外のアクセスが制限されている環境 = 閉域網下において、このアーキテクチャが採用されたケースは、あまり見ることができません。
このセッションでは、 DirectConnect を用いた閉域網下の環境にて、 Serverless アーキテクチャを採用した Laravel アプリを実装し得られた知見についてお話ししたいと思います。

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

Ansibleによるお手軽PHPサーバー自動構築

picopico_dev 当田昇

皆さんはPHPサーバーのセットアップをどのように行っていますか?
手動で行う方法、構築済みサーバーを利用する方法、コンテナ技術を用いる方法など、様々な方法があります。
しかし、これらの方法は時間がかかったり、手順が複雑であったり、構成変更の柔軟性に欠けたりすることがあります。

今回紹介するのは、Ansibleという強力な構成管理ツールを用いた、PHPサーバーの構築・デプロイメントの自動化です。
AnsibleはSSH接続によってエージェントレスで動作し、軽量で学習コストも低いため、PHPサーバーの環境構築に最適なツールです。

このセッションでは、インフラ知識の無い初心者でも分かるように、柔軟な構成で効率的にPHPサーバーを自動構築する手法についてお伝えします。

主な対象

  • PHPサーバーの環境構築に興味のある方
  • インフラ・DevOpsに興味のある方
3
レギュラートーク(15分)
初心者向け

PHPプログラミング、どうやって学習していこう?〜入門・基礎レベルの書籍を添えて〜

o0h_ きんじょうひでき

一言で「PHPでのプログラミングを勉強する」と言っても、多くの要素が含まれます

  1. プログラミングの思考を知る
    • 変数、手続き、条件分岐、etc…
  2. PHPの文法や機能を知る
    • キーワード、関数、etc…
  3. ソフトウェア開発に必要な態度や技能を考える
    • 読み易さ、エラー、etc…
  4. 良いソフトウェアについて考える
    • 抽象、テスト、etc…
  5. 学び方について知る
    • 先輩に頼る、情報収集、コミュニティ、etc…

等々。

初心者・入門者から初級者への上昇には、
例えば「指示の内容(単語や言いたい事)が理解でき、実施できる」は1つの目安です
どう歩めば良いでしょうか?

5つの要素について、オススメ書籍の紹介を交えながらお話します

対象

  • プログラミングやPHPを勉強し始めた人
  • 新人教育を担う先輩・マネージャー
5
レギュラートーク(15分)
初登壇 関西在住者

リバーシを作って学ぶテスト駆動開発(短縮版)

aki_artisan 赤塚啓紀

テスト駆動開発(TDD)を使えば、安心感を持ってコードを変更できるようになったり、スモールステップで開発できるようになったりするという恩恵を得られます。
このセッションでは、ターミナル上で動作するリバーシを題材にしてTDDの基本を解説します。

セッションの内容 :

  • TDDの説明
    • TDDサイクルの説明(Red-Green-Refactor)
    • TDDのメリット・デメリット
  • PHPでテスト駆動開発を始めるための下準備
    • PHPUnitのインストールと設定
    • Gitの設定
  • 実装の流れ
    • ざっくり設計する
    • Todoリストに起こす
    • テストを書きながら一つひとつ実装する

主な対象者 :

  • テスト駆動開発に興味がある方
  • テスト駆動開発本を写経してみたが、次に何を作れば良いかわからない方
3
レギュラートーク(15分)

色んなコーディングスタイルチェッカーと付き合おう 〜PHP_CodeSniffer、PHP CS Fixer、ECS〜

o0h_ きんじょうひでき

PHPのコーディングスタイルの治安を守るツールには、強力なプレイヤーが複数居ます。

  • 老舗どころ! squizlabs/php_codesniffer
  • 強力な統治! friendsofphp/php-cs-fixer
  • 新進気鋭! symplify/easy-coding-standard

どれを選びますか?
「利用しているFWと親和性が高いもの」で選ぶのも良いですし、
「標準やコミュニティでどんなルールセットが存在するか」もポイントになります。

「似たツール、どれを好む?」が、新しい自転車置き場の屋根の色になってしまっては、本末転倒です。

機能的な比較は1つの基準になりそうです。

  • ルールセットや設定ファイルの作り方
  • 独自の(個別)ルールの実現方法
    に注目してみては如何でしょうか?

このトークで「設定の仕方」「ルールの作り方」で比較し、それぞれの思想も紐解きます!

4