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

歴史に学ぶPHP

seike460 清家史郎

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

今回PHPカンファレンス関西が求めているトークの中に「PHPの現状や歴史を知ることができるトーク」があります
そこで私はPHP4から少しづつ進んできたPHPの変化を感覚として捉えていますが、
言語化出来るレベルでの理解が出来ていないと気付きました

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

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

  • お話すること
    • PHPとその周辺技術の歴史
    • PHPの機能追加とその選択の考察
  • お話しないこと
    • 何かを解決するようなトーク
14
レギュラートーク(40分)
初心者向け

PHPからはじめるコンピュータアーキテクチャ

tomzoh 長谷川智希

現代のコンピュータはハードウェアから私たちプログラマが書くプログラムの動作までの間が多くのレイヤーに分けられて動作しています。
レイヤーは自分より下を抽象化し、下のレイヤーを詳しく理解しなくても多くの場合プログラマはプログラムを書けます。
一方、プログラムが期待した様に動作しない時には下のレイヤーの動作の理解が問題の解決の助けになることもあります。

このトークでは私たちが愛するPHPをスタート地点にして、「CPUによる"プログラム実行"」「 PHPやJavaとC言語の根本的な違い」など、コンピュータプログラムがどの様に動作するのかを解説します。

コンピュータのレイヤー構造を理解すると、いままでは見えていなかった角度からプログラミングを楽しめるようになります。
このトークを通じて、低レイヤーが好きになったり、いろいろなレイヤーで面白いことをしたりする方が増えることを期待しています!

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

Symfony + API PlatformではじめるRestfulAPIの実装

藤崎 史郎

FOSRestBundleやライブラリを利用せずにAPIの実装をしていたがAPI Platformを試してみたいと思っている方向けの内容です。
Symfony6.3とAPI Platform3.2を利用したRestfulAPIの実装方法についてお話します。

今回お話する内容
・ Attribute1行追加するだけのAPIの実装
・ 独自ロジックでのAPIの実装
・ バージョニング
など

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

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

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

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

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

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

お話しないこと
・商用環境での運用の話(個人開発ベースです)

9
レギュラートーク(40分)

(拡大版)PHPをサーバレスコンテナ環境で動かしていこう! ~3大クラウドの比較を添えて~

みなさん、サーバレスで動かすPHPはお好きですか? 私は大好きです。
このコンテナを稼働させる仕組みは様々ありますが、1つのコンテナを動かして気楽にWEBアプリ開発をしたくありませんか?

そんなあなたにぴったりなのが フルマネージドでコンテナ型アプリを作成できる
・App Runner
・Cloud Run
・Container Apps
です。

これらのサービスの比較や解説をしっかり交えながら、当日はライブデモも交えてお話します!

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

お話すること
・各社のサーバレス コンテナサービスの比較(特徴や料金体系など)

お話しないこと
・商用環境での運用の話(個人開発ベースです)

6
レギュラートーク(40分)
初心者向け

実践から学ぶ妥当なLaravelアプリケーションの作り方・考え方

hanhan1978 富所 亮

Laravelをウェブアプリケーションフレームワークとして採用している会社はたくさんあるようです。これほどまでに人気のフレームワークですが、長期運用をしていくと、ちょっとずつツラミが現れてきます。

本トークでは、実際に行われている施策なども紹介しながら、どうしたら、それなりに運用・保守が可能なLaravelアプリケーションを作っていけるのか?を紹介します。

本トークで話す内容

  • Laravelとはそもそも何だったか?
  • Laravelを保守可能な状態でキープするにはどうしたらいいか?
  • 大きくなったらLaravelはどうすればいいのか?
  • 改善つらい
3
レギュラートーク(40分)
初心者向け 関西在住者

PHP初心者向けワークショップ

tanakahisateru 田中ひさてる

これからPHPを始めようとしている方向けのセッションです。

PHPの入門は、応用に興味があるならLaravelやWordPressから入っても良いのですが、フレームワークの使い方に振り回されて、基礎が疎かになるのが心配だと感じる方も(こんなカンファレンスに参加するタイプならきっと何人かは)おられることでしょう。まずは「PHPそのもの」をしっかり押さえてから、理解の枝を広げていく道順を、手を動かして実際にやってみませんか。

ウェブ開発環境の変化は日進月歩です。古い書籍の案内は、時代に合わなくなることもあります。今しかないからこそベストな、2024年版のPHP入門を。

(ご注意:PHPは初心者でも構いませんが、全くのプログラミング初心者、パソコン初心者でもわかるレベルの内容ではありません。プログラミング入門としてのPHPではない点をご了承ください)

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

LaravelでOpenTelemetryを導入し、本番でガチ運用始めてみた

suguru_ohki スー

OpenTelemetryといえば、最近インフラ界隈で話題のワードですよね。
ただOpenTelemetryにはたくさんの専門の用語が登場し、さらにOpenTelemetryの公式のドキュメントをそのまま実行しただけで導入ができず、つまづきポイントがとても多くなっています。
TechTrainにおいて実際に導入しました。このトークでは次のようなことについてお話しします。

  1. 事前にどういうことを検討したのか?
  2. 導入にあたって、つまづきやすいポイントはなんだったのか?
  3. 本番運用を始めてみてどうだったのか?
5
採択
2024/02/11 13:20〜
$room['C']
レギュラートーク(40分)

テストコードが書けるようになって「変更したけど壊してないかな」という不安を解消しませんか?〜テスト駆動開発の世界のクイックツアーも添えて〜

ftnext nikkie

どのプログラミング言語の初心者にもお伝えしたい知見「テストを書こう」のPHP版です。
これは私が考える「良いコードを書くための心得」です。

初心者時代の私は目指してはいても変更しやすい実装ができませんでした。
実はこれは達人ケント・ベックも同じようで、それを知って以降、少しずつ実装を改善する道を選びました。
テストコードがあると、変更前後で振る舞いが変わっていないかを何度でもすぐに確認できます

こんな方に向けて話します

  • PHPの文法を理解されている(特にクラスが書ける)
  • テストコードは書いたことがなくて全然OK
  • 変更するたびに実は祈っている(こっそりどうぞ)

こんなことを話します

  • テストコードが書けるメリット
  • PHPUnitでテストの書き方(FizzBuzzを例に)
  • テスト駆動開発(小さいサイクルをデモします)
  • 発展:モックを使う
レギュラートーク(40分)

設計の考え方 - インターフェースと腐敗防止層について

okashoi おかしょい/岡田 正平

PHP を含む、クラスベースのオブジェクト指向プログラミング機能を持つ言語(あるいはそれ以外の言語でも)インターフェースを利用できます。
アプリケーションの実装上の設計を考えたことがある人は、インターフェースが使えると何が嬉しいのか?どんな場面で使えばよいのか?と思ったことがあるのではないでしょうか。

本トークでは、また設計の文脈で聞いたことがあるかもしれない「腐敗防止層」というワードとともにインターフェースの使い方、ひいては設計全般に通用する考え方をお話します。

想定聴講者

以下を満たす方が聴講することを想定します。

  • PHP のコードは一通り書ける(フレームワーク上でも可)
  • 機能追加等によって、実装上の設計を考える必要がある(考えたことがある)
  • クラスベースのオブジェクト指向プログラミングにおける「継承」等の意味はわかる
10
レギュラートーク(40分)

Doctrineなら、PostgreSQLのあれもこれも安全に扱えちゃうんです!

77web 菱田裕美

ORMを使っているから、DBMSの便利な機能は使えない…と諦めていませんか?
DoctrineはDBAL(データベース抽象化レイヤー)を擁し、各DBMSに共通の使い方を提供してくれますが、それだけでなくカスタマイズ機構も備えていて、DBMS側の便利な機能を使うこともできます。
本トークではPostgreSQLの便利な機能をDoctrineORMで扱う方法を題材に、DoctrineORMのカスタマイズ手法についてご紹介します。

紹介予定の機能

  • enum
  • range
  • Row Level Security
9
レギュラートーク(40分)

LaravelアプリケーションをEC2からECSに載せ替えてサーバ管理から解放されよう

for__3 zoe

Laravelで出来たアプリケーションの本番環境まだEC2使ってませんか?
OSのEOL対応、PHPのバージョンアップ、サーバ障害対応などEC2で管理していると保守するだけでも色々やらないといけない事が多いです。
Laravelアプリケーションをコンテナ化してECSにデプロイすることで、辛いサーバ管理から解放されましょう。
このトークでは、EC2で管理していたLaravelアプリケーションをECSに移行するために考える必要があるポイントや移行のために必要な手順、デプロイの仕組み、ECSで運用する際に便利だったツール(ecspresso)などをお話します。

想定聴講者は、EC2でLaravelアプリケーションを運用、移行検討してる方はもちろん、インフラとかよく分からないけど分かるようになりたいという方にもおすすめです。

7
レギュラートーク(40分)
関西在住者

Lighthosue を使って GraphQL を学んでみよう

今や Web API の設計として広く利用されている REST API ですが、下記のような弱点が存在します。

  • API の返却値に取得対象でないデータも含まれることがある
  • 目的のデータを取得するために複数の API を呼び出さないといけないことがある
  • API のエンドポイントの数だけ実装が増える

上記の弱点を克服する手法として、 GraphQL があります。
GraphQL は従来の REST API とは異なり、クライアントが クエリ を用いてデータの取得や操作をします。

本トークでは、 GraphQL の基礎を説明し、 Lighthouse を利用して GraphQL サーバーを Laravel 上で実装する方法を紹介します。

GraphQL に興味があるけれど触ったことがない方々に、 GraphQL を始めるきっかけとなれば幸いです。

レギュラートーク(40分)

PDO / Eloquent / Doctrine ORM それぞれでの生 SQL の扱い方

okashoi おかしょい/岡田 正平

フレームワークに備わっているようなクエリビルダや ORM、便利ですね。

一方で「この SQL 文はクエリビルダの機能では表現できないな」「長年使われてきた秘伝の SQL 文があってな......」といったケースで生の SQL 文を使わざるを得ない、というケースがあるかもしれません。

そこで今回は以下の 3 つの手段で生 SQL を扱う方法を説明します。

  • PHP に組み込まれている PDO
  • Laravel で使われている Eloquent
  • Symfony で使われている Doctrine ORM

本トークで扱うもの

  • 各手段で生の SQL を実行し結果をオブジェクトにマッピングする方法
  • 具体的なコードやセットアップ
  • それぞれのメリット・デメリット

本トークで扱わないもの

  • 各 ORM の「王道」の使い方
  • 実アプリケーションにおける応用
4
レギュラートーク(40分)
初心者向け

Gitを「ただ使う」から「理解して使う」へ~チーム開発でGitを使いこなす方法~

kotomin_m ことみん

多くのPHPerは日常的にGitを使用していると思いますが、その機能や最適な使い方を十分に理解して使いこなせているでしょうか?
このトークは、新卒入社したばかりのPHPerやGit初級者に向けて、チーム開発におけるGitの"使いこなし方"に焦点を当て、実践的なノウハウを具体例を交えながらお届けします!

初歩から応用まで、チームでの開発をスムーズに進めるためのTipsをたくさん盛り込みます!
このトークを通じて、Gitを「ただ使う」レベルから「理解して使う」レベルへとステップアップし、今よりもっとチーム開発を楽しみましょう!

具体的なトーク内容

  • 具体的な実装を用いて、この修正に対してどうコミットすると良いかを解説!
  • レビューしてもらいやすいプルリクエストの書き方のポイント!
  • チーム開発でブランチはどう切ると良いか?
  • 便利なGitコマンド/オプションとその使い所!
9
採択
2024/02/11 13:20〜
$room['B']
レギュラートーク(40分)

20年の歴史を持つプロダクトの開発チームの変革:技術広報の本質と効果

sakay_y Yasuharu Sakai

情報発信の種を育てるには、どうすればよいのでしょうか。そもそも、情報発信は何のためにするのでしょうか。

遡ること2019年、それまでGaroon開発チームは外部に向けた情報発信をほとんどおこなっていませんでした。
長年の開発による負債に悩まされ、自分たちの仕事を魅力的だと感じられなかったことが大きな要因のひとつでした。
しかし、とある会を皮切りに、開発者にとって魅力的なプロダクトを目指して活動することができ、徐々に状況は変わっていきました。

私は、長年Garoon開発チームに所属しつつ、技術広報を兼務してきました。
Garoon開発チームの変化と共に歩んだからこそ見えてきた、情報発信を続ける理由と技術広報としての関わり方、目指すものをお話しします。
情報発信について考えている方々に届き、情報発信と開発組織について考えるきっかけにしたいと考えています。

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

PHPでメールを取り込む 2024

tomzoh 長谷川智希

PHPでメールサーバからメールを取り込みたいと思ったことはありますか?
メールと言えばPOP3/IMAP4ですのでPOP3やIMAP4を使えば良さそうですが自分でPOP3/IMAP4を喋るのはややシンドイですね。

このトークではPHPでメールをメールを取り込むにはどうしたら良いか、そして最も広く使われているであろうメールサービスのGmailからメールを取り込む方法をお話します。

  • PHPで使えるPOP3/IMAP4のライブラリ
  • メール受信に関わる多数の落とし穴
  • IMAP4で新着メールのみを取り込む方法
  • GmailのアプリパスワードとXOAUTH2対応

インターネット黎明期から存在するインターネットメールに放たれる自由奔放なメールは素手で立ち向かうにはやや手強い。
このトークがメールと戦うみなさんの力となることを祈っています。

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

よくわかるPHP環境構築 なぜPHPが動くのか

seike460 清家史郎

PHPは様々な技術要素を組み合わせて動いています

カスタマイズ性という観点では非常にポジティブな要素ではあるのですが、
初めてPHPを動かす為には「環境構築」という障壁が存在します

今回はサーバー上でPHPを動かす為に必要な要素を解説しながら、
yumやdnfなどのパッケージ管理ツール、configureやmakeにも触れ、
phpenvやasdfが行っている事も覗きながら、PHPの環境構築についてお話します

soファイルとは何なのか、Apache + mod_phpとphp-fpm + Nginxの仕組みの違いについても触れ、
php.iniでどのように制御しているか解説します

PHP動作の仕組みを知り、理解してPHPを動作させましょう

  • 想定する聴講者
    • なんとなくPHPの環境構築をしている方
    • configure、make、soファイルを知らない方
7
レギュラートーク(40分)
初登壇 関西在住者

リバーシを作って学ぶテスト駆動開発

aki_artisan 赤塚啓紀

このセッションでは、ターミナル上で動作するリバーシを作成しつつ、テスト駆動開発(TDD)の基本を解説します。
一部、ライブコーディングを取り入れ、PHPを使用してリバーシを開発するプロセスを実際に見ていく予定です。

セッションの内容 :

  • TDDの説明
    • TDDサイクルの説明(Red-Green-Refactor)
  • PHPでテスト駆動開発を始めるための下準備
    • PHPUnitのインストールと設定
  • ライブコーディング
    • Todoリストの作成
    • 入力の受け取りと出力
    • ルールの実装(石を置ける場所の判定や石を裏返す処理など)
    • 終了判定と勝敗判定の実装

主な対象者 :

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

FigmaとPHPで作る、1ミリたりとも表示崩れしない最強の帳票印刷ソリューション

ttskch たつきち

令和になっても相変わらず紙の書類の需要は大きく、Webアプリ開発においても帳票印刷機能は多くの案件で要求されます。
しかし、これがとにかく面倒くさい。

  • 複雑なレイアウトの帳票をHTML/CSSでデザインするのが地獄
  • かといって超微細Excel方眼紙でデザインするのはもっと地獄
  • しかもPDFに変換するときに微妙に見た目が崩れてどうにもできない

帳票印刷機能を実装したことのある方には強く共感していただけると思います。

そんな面倒で難しい帳票印刷ですが、実は私は既に数年前に最強無敵のソリューションを編み出し済みです。

  • ピクセル単位で細かく帳票をデザインできる(しかも簡単に)
  • 帳票デザインの保守性が高い(修正が容易)
  • 印刷時に見た目が一切崩れない

という条件を満たせる唯一(当社調べ)の方法です。

このトークでは、この至高のソリューションを具体的に解説します!

6