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

PHPコンパイル・インストール入門

youkidearitai てきめん

PHPのインストールは皆さんどうやっているでしょうか?
最近ですとDockerイメージを使ったり、Linuxディストリビューションのパッケージを使ったり、Homebrew使ったり、XAMPP使ったりなど、
配布されたバイナリを使うことが多いでしょうか。

PHPはC言語でできています。そのため、C言語をコンパイルする、という作業が必要です。
上述したバイナリとは、コンパイルされた成果物を指します。

実は、PHPのコンパイルは、手元でも行えてしまいます。
色々なツールが必要ですが、一つ一つ解説します。

PHPのコンパイルができるようになると、PHPへの理解が一つ深まります。
そういうわけで、コンパイルをしてみませんか?

6
採択
2024/02/11 10:50〜
$room['C']
レギュラートーク(15分)
初心者向け 関西在住者

Laravelでミニマム開発からスタートして個人サービスを利益化するまでの経験談!

mukae9 mukae

世の中には数多くのシステムサービスがありますが、少額であっても利益化まで持っていけるサービスは本当に限られるかと思います。
そこで今回は自分がリリースしているサービスで、少しですが利益化できたサービスの技術構成やLaravelだからこそできるサーバー代節約術、どうやってユーザーを獲得したのか、どのような告知を打ったのか、その費用対効果はどうだったのかなど、「技術的な側面」と「ビジネス的な側面」両方から経験に基づいたお話をしたいと思います!

12
採択
2024/02/11 16:55〜
$room['A']
LT
初心者向け 初登壇 関西在住者

初心者だからこそ使って欲しい!Xdebugによるスマートデバッグ術

kaho

普段どういう風にlaravel開発を行なっていますか?
デバッグする時にddやlogなど使用していますか?
今回紹介するXdebugではより洗練され、便利で、直感的なデバッグが可能になります。
私自身、同僚にXdebugを教えてもらってからその利便性に驚かされました。
簡単なデモ動画でXdebgの初期設定、基本動作、共有できればと思っています。
皆さんの開発作業の効率が格段に向上するはずです。ぜひこの機会にXdebugの魅力を実感していただければ幸いです。

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

二郎系ラーメンのコールで学ぶ AST 解析

m3m0r7 めもり〜☆

アブストラクトマシマシ・シンタックス少し・ツリーマシマシ。このような呪文を見かけたことはありませんか。そう,二郎系ラーメンです。この呪文を「コール」と呼び,ラーメンの着丼前のトッピングとしてヒアリングされます。一見,二郎系ラーメンのコールは複雑そうに見えますが,ある一定の法則性があります。そしてスタッフは法則性に基づいて解釈し,ラーメンにトッピングをします。似たようなのを見たことがありますね。そう,お察しの通りプログラミング言語の構文解析器です。例えばramen(1, 2)という構文はramenという関数をコールし,1と2という引数を与えます。つまりトッピングです。このようにramenという関数の引数は 2つで…といった意味を与えるのが構文解析器です。
本トークでは,PHPで構文解析器で専らよく使われるAST解析を実装するにはどうしたらよいか,二郎系ラーメンのコールを題材として解説します。

9
LT
初心者向け 初登壇

Laravel標準バリデーションでできること 〜まだカスタムバリデーションを作るには早いかもしれない...〜

bj_oka

フォーム等の入力があるシステムでは、必ず実装しなければならないバリデーション処理。
Laravelでは、標準で便利なバリデーションルールが定義されています。しかし、シンプルなチェックであれば実装は容易ですが、フォームが少し複雑になると、どのように実装するか悩むことも多いのではないでしょうか?

カスタムルールを定義して一からバリデーション処理を実装するのも一つの方法ですが、標準のバリデーションルールだけでも、ある程度複雑なパターンにも対応可能です。
今回は相関バリデーション(他の入力欄の値によって入力のチェック内容が変わる)の実装について、標準のバリデーションルールを活用して実現した方法を紹介します。

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

「孫子の兵法」から見る"質とスピード"

effy_staffs 若葉 章

近年、急速に"(コードの)質と(それの高さからくる開発)スピード"が注目されるようになってきました。

一方で「何故、"質とスピード"を求めるのか」に対するお話はあまり見かけません。

このトークでは「孫子の兵法」から見た「"質とスピード"は何のために必要なのか」、「"質やスピード"は本当に必要なのか」についてお話します。

このトークで得られる知見

  1. あらためて考える「なぜ"質やスピード"が必要なのか」
  2. "質やスピード"を求める場合の基準
  3. 組織人として持続可能な組織を維持するために考える事

このトークで話さない事

  1. 孫子の兵法の詳解
8
レギュラートーク(40分)

"TacDDD"を使ってお気軽にDDDを始めてみないか

effy_staffs 若葉 章

DDDを始めるにあたってしんどい気持ちになるのが「事前に用意しておくべきドメイン層のコードが案外ある」こと。

また、DDDを中心に据えた場合「ドメイン層のコードがどうあるかは本質ではない」とされ、具体的な指標がなく座りの悪い状態になりがちです。

"TacDDD"(タックディー)はそんな「ドメインの話に集中したいので、極力コード側に注力したくない」をお助けするライブラリです。

このトークでは"TacDDD"を用いる事で何が省略できるのか、どんな所の「質」が向上するのかについてお話します。

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

「"品質"が高いコード」って何?

effy_staffs 若葉 章

なんとなく口にしがちな「"品質"が高いコード」。

定義があいまいで要領を得ないため、すり合わせはおろか万人が万人の「願望する"品質"」の話に終始してきました。

一方で「品質」は工業規格としての定義があります。

このトークでは工業規格の定める「品質」に基づいて、「"品質"が高いコード」の定め方と達成の仕方についてお話します。

このトークで得られる知見

  1. "品質"の定義
  2. "高品質"の達成の仕方
  3. ユニットテストにおける"「どこまでやるか?」の割り出し方"
  4. "品質"を高めるためのテストとは

このトークで話さない事

  1. 品質工学
レギュラートーク(40分)

PHP FFI 入門

m3m0r7 めもり〜☆

PHP に FFI が導入されてから、どういう用途で使えばよいか悩んでいる PHPer も多いかと思います。
また、PHP FFI のマニュアルも理解しやすいかというと、ハードルは若干高いと言えるのではないでしょうか。

そこで本トークでは、PHP FFI を介したモジュールの呼び出し方の解説、自作 の C/C++ のモジュールの作成からの呼び出し方、 そして libusb と呼ばれるモジュールで USB で接続された機器の一覧を取得する実践的な方法など、どのように FFI を活用していけばよいのかを解説します。

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

アプリケーションエンジニアこそ「監視」だよね!と私が考える訳

o0h_ きんじょうひでき

開発と運用が分かれていた時代、「コードを書く人」から見て「本番システムの監視」は遠い存在だったと聞きます
──「アプリ側」の自分から見て、「それって本当に勿体ないぜ」と強く感じるのです!

頑張って作ったWebアプリケーション、ユーザーに気持ちよく使ってもらいたいですよね
そのために、少しだけ視野を広げてみませんか?

ねらい

開発者としてサービスに関わる人に、少しでも「良いものを届ける」ために「監視もやるぞ!!」という想いを持ち帰ってもらう

こんな人に伝えたい

  • コードを書くの楽しい、もっと楽しみたい!人
  • (とりわけ)自社サービスに関わっている人

こんな事を話します

  • そもそも監視ってどんなこと?なんで?
  • アプリケーション開発者でも出来ることあるの?
  • 実は「アプリ側」こそ大事な存在!

関連キーワード

  • サービス運用
  • オブザーバビリティ
レギュラートーク(15分)

PHPのエラーハンドラーを深ぼる

o0h_ きんじょうひでき

set_error_handler()していますか!
フレームワークを利用して開発をしている場合、あまり馴染みが無いかも知れません。
直接的に意識したり内容を把握していないケースも多そうです。

PHPを正しく安全に使う場合、重要な機構の1つだと考えます。
エラー発生時の挙動の理解がおろそかになると、開発効率が落ちるだけでなく、セキュリティ面でも問題に繋がることすらあります。

このトークを通じて、「普段見ているエラーの画面」がどの様に作られているかを理解しましょう!

こんなことを話します

  • 入門!set_error_handler()してみよう〜使い方、書き方〜
  • 実践!色々なFWやライブラリにおけるerror handlerの例
  • 発展!PHPでエラーが起きた時、何が起きているのか? 〜php-srcを読んで理解する〜
4
採択
2024/02/11 16:40〜
$room['A']
LT
初心者向け

完全未経験のIT初心者に、2か月ほど夜な夜な PHP を教えてみた結果

22kerokero22 kerokero

先日、製造業で働いている友人からIT業界に転職したいという話をいただいたのですが、その際にある疑問が湧きました。
それは、完全な初心者が2か月間訓練したら、どれくらいPHPが書けるようになるのだろうか……?というものです。
お互いに平日はお仕事があるので、夜中や休日にひっそりとお勉強するしかありません。

IT未経験の若者が苦労の末 2か月間でPHPを習得する 話、 聞いてみたくない ?

具体的な内容

  • PHPやバックエンドについて教えた2か月間の記録
  • 教わる側の新人目線でどういうところがキツイと感じたかについてのぶっちゃけ裏話
  • 実際に教えた技術実践で作ったもらった成果物の紹介
    対象者
  • 未経験エンジニアの可能性に興味がある方
  • 新人教育でPHPを教える際に難しさを感じている方
7
レギュラートーク(15分)
初心者向け

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

seike460 清家史郎

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

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

  • お話すること

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

    • AWSを利用している方
    • AWS Lambdaを利用したPHPに興味がある方
    • サーバーレスアーキテクチャに興味がある方
3
レギュラートーク(15分)
初心者向け

PHPで学ぶGitの仕組み

22kerokero22 kerokero

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

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

具体的な内容
git init した際に構成される.gitディレクトリの中身について軽く見ていく
実際にgit addとgit commitをPHPで実装してみる

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

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

PHPで学ぶGitの仕組み

22kerokero22 kerokero

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

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

具体的な内容
git init した際に構成される.gitディレクトリの中身について
GitHub上にあるgit/gitのソースコードを覗いてみる
実際にgit addgit commitをPHPで実装してみる

対象者

  • 簡単なgitコマンドは扱える初心者(add, commitなど)
  • 複雑な操作になると不安になってしまう初心者
  • あの日破壊したブランチのことをまだ忘れられない人
13
レギュラートーク(15分)
関西在住者

レガシーシステムへのComposer導入における課題と効果

don3_jp don

ライブラリの管理やクラスのオートローディングはどのようにされていますでしょうか?
多くの現場ではComposerを使ってライブラリの管理やクラスのオートローディングを行っていると思います。
しかし、レガシーシステムではComposerを使っていないという現場も存在するのではないでしょうか?
レガシーシステムにComposerを導入した際の課題と効果について紹介します。

・Composerを導入するメリット
・Composerのオートロード機能の紹介
・レガシーシステムにComposerを導入するためのTips
・独特な開発環境による課題
・導入後から半年の効果と課題

すでにComposerを導入している方も、Composerの仕様をより知ることでより効率的にComposerを使えるようになるかと思います。

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

レガシーシステムへのPHPStan導入から半年での課題と効果

don3_jp don

静的解析ツールは使っていますでしょうか?
昨今のPHPのバージョンアップでは型定義が厳しくなってきており、静的解析ツールを導入することの優位性が高まってきています。
15年以上続いているレガシーシステムにPHPStanを導入した際の課題と効果について紹介します。

・既存の静的解析ツールからPHPStanへの移行
・PHPStanの導入時の課題
・導入から半年での効果と課題

既存の静的管理ツールに課題を感じている方や、静的解析ツールを導入したいと考えている方にとって参考になる内容となっています。

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

その条件分岐って本当に必要?

mako5656_i 伊神 誠人

弊社では文化として受け継がれている「条件分岐禁止」というのがあります。
条件分岐禁止バンドをつくっちゃうほどに

条件分岐があることでコードが複雑化してしまったり見にくくなってしてしてしまいます。

そのアンチパターンやどうしたら良いコードになるのかを話します。

対象者: PHPのコードを綺麗に書きたい人

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

ここが変だよPHP(褒め言葉) 入門編

KizuMiyagi BABY JOB ミヤギ

みなさん、PHPを初めて学んだ時に感じた「?」を覚えていますか?

私の所属する開発チームでは、PHPマニュアルの精読を始めました。
精読してみて改めて感じたPHP独自の魅力について、皆さんに共有したいと思います。
このセッションでは、PHPの特殊な機能、他のプログラミング言語との比較、その機能ができた背景について、私なりに調べた結果や考察を発表します。

対象者:

  • 他のプログラミング言語からPHPに転向を考えているエンジニア
  • PHPの良さを知りたいエンジニア
14