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

Gatekeeperの概要とmacOS用ソフトウェアの署名および公証手順

matsuo_atsushi 松尾篤

macOSのGatekeeperは、悪意のあるソフトウェアのダウンロードやインストールからユーザーを守るためのセキュリティテクノロジーです。macOSで開発しているとGatekeeperを意識する機会はあるものの、実際にソフトウェアを提出して公証(ノータリゼーション)を受ける手順まで経験したことのあるPHPerは少ないのではないでしょうか。このトークでは、Gatekeeperの概要や歴史、そしてPHP以外の言語を用いて作成したコマンドラインツールを実際に署名して公証を受ける手順について解説します。

1
LT

【メタい】カンファレンスたくさんあるからトークしよう!覚えてもらおう!

youkidearitai てきめん

2024年のPHPのカンファレンスがなんと前半6ヶ月毎月カンファレンスがあります。
2023年11月現在、もっと増えるかもしれませんよね…!

そんなに毎月カンファレンスがあるのなら、もう喋るしかない!ということで、会社の人も誘ってプロポーザルを書いてるという方もいるのではないでしょうか。ぼくもそのひとりです。

流石に本番の2024年2月になってしまうとプロポーザルを投稿できるカンファレンスは減ってしまうかもしれませんが、
コミュニティに顔を出し、沢山の人の前でトークをして、ご挨拶をして、名前を覚えてもらいましょう!

本トークは、コミュニティに顔を出して、名前を覚えてもらうことのメリットを精一杯喋ります。

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

Symfony Profilerはいいゾ!

kin29ma_n 志賀彩乃

Symfonyにはデバックに便利なSymfony Profilerというものがあります!
(にわかですがLaravelにもLaravel Telescopeというのがあるようですね、symfony/var-dumperが使われているんですね)

Symfony Profilerが超便利なので、個人的推しポイントを共有します!

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

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

seike460 清家史郎

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

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

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

  • お話すること
    • Packagistに公開するまでの手順
    • 考慮すべきこと
    • OSS活動の意義
    • OSSへのコントリビュートについて
10
LT

Symfony Profilerはいいゾ!

kin29ma_n 志賀彩乃

Symfonyにはデバックに便利なSymfony Profilerというものがあります!
(にわかですがLaravelにもLaravel Telescopeというのがあるようですね、symfony/var-dumperが使われているんですね)

Symfony Profilerが超便利なので、個人的推しポイントを共有します!

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

Laravelの認証機能をカスタマイズしてワンタイムトークン認証を実装したときの試行錯誤

KizuMiyagi BABY JOB ミヤギ

私が開発を担当しているサービスでは Laravel をフレームワークとして採用しています。
Laravel が提供している認証機構は、通常ほとんどのニーズを満たせるほど充実しています。
しかし、現場では「独自の認証方法を追加したい!」というニーズが発生することも多々あると思います。

私はつい最近、そのようなニーズに合わせて Laravel の認証機能を探求し、独自の UserProvider を作成しました。
認証機能を探求して分かったことやカスタマイズのプロセス、全体を通しての気づきについて共有したいと思います。

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

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

aki_artisan 赤塚啓紀

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

セッションの内容 :

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

主な対象者 :

  • テスト駆動開発に興味がある方
  • テスト駆動開発本を写経してみたが、次に何を作れば良いかわからない方
5
LT
初登壇

バッチ新規作成時に私が考慮していること

hisaku0111 hatsukki

業務でPHPを使ったバッチを設計することあり、先輩エンジニアから様々なQA指摘を受け、学んだバッチ作成時に考慮する自分的Tipsを紹介したいと思います。
具体的にはエラーハンドリング処理、テスタビリティを意識したメソッド分割、ロギング処理、トランザクション分割、などをPHPのコード例を用いて解説します。
対象は若手エンジニア向けとなっています。自分も3年目のエンジニアでバッチ作成で苦労したためそういった方の助けになればと思っています。

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

PHPでNotionのデータベースにCSVをインポートするフォームを作ってみる

ttskch たつきち

NotionにはデータベースにCSVでレコードを一括投入するための 「CSV取り込み」 という機能が標準で搭載されています。
が、少なくとも2023年11月現在においては正直だいぶ貧弱な機能で、本当に最低限のことしかできません。
(例えば、インポートできるプロパティの種類が限られている、ページ本文はインポートできない、「名前」カラムの値が重複している行があると正常にインポートできない、など)

そこで最近、必要に迫られてPHPでNotionのデータベースにCSVをおインポートするフォームを自作しました。
このトークでは、このフォームの具体的な実装手順を、デモを交えつつサクッと解説します。

2
LT

要件ヒアリングに自信ニキは顧客との対話中に何を考えているのか

ttskch たつきち

どうも、要件ヒアリングに自信ニキです。
私はフリーランスエンジニアとして受託開発のお仕事をよく頂くのですが、お客さんとの対話・ヒアリングを割と得意としています。

お客さんはシステム開発のプロではないので、説明が的を射ないことも多く、複雑なシステム要件のヒアリングには根気と体力を要しますよね。
そればかりか、なかなか合意や結論に辿り着けずいたずらに時間が奪われた挙句、結局失注して悲しみ、といった経験はないでしょうか。

私はよくお客さんから「1しか言ってないのに100のアウトプット出てくるんやが」「話が早すぎてもはや笑える」などと言われます。
一体私はお客さんとの対話中に何を考え、どんな手順でヒアリングを進めているのでしょうか。

このLTでは、お客さんとの対話中の私の頭の中身をまるっと皆さんにシェアします。
明日からのお客さんとの対話・ヒアリングに少しでも役立てていただけると嬉しいです!

16
LT

PHPでCLIツールを作ってHomebrewで公開しよう!

ttskch たつきち

Macユーザーの皆さんにはお馴染みのHomebrew。
Macの初期設定時のみならず、日々新たに便利なコマンドを見つけてはbrew installしていることと思います。
そんなお馴染みのHomebrewですが、裏側はどんな仕組みになっていて、コマンド自体はどこからダウンロードされているのかはご存知でしょうか?

実はこれ、とても簡単な仕組みになっていて、誰でも自分のGitHubリポジトリを通して自作のコマンドをHomebrewで配布することができます。

このLTでは、実際にPHPでCLIツールを作ってHomebrewで公開するまでの流れをお話しします。
自作のコマンドをHomebrewで公開して、世界に羽ばたきましょう!

3
LT

Macで複数バージョンのPHPを楽に使い分ける

ttskch たつきち

Macで複数バージョンのPHPを使い分けるのって意外と難しくないですか?
Docker経由でしかPHPを使わないみたいな猛者スタイルで行ければいいのかもしれませんが、
パフォーマンスや開発体験の問題からローカルのPHPを使いたい事情もあると思います。
phpenvと.php-versionファイルを併用すればディレクトリごとに使用するPHPバージョンを指定することもできますが、
このソリューションはいざ導入しようとするとYak Shavingの嵐が待っていて(実体験)非常に面倒だったりします。

というわけで、このLTでは私がMacのローカル環境で複数バージョンのPHPを楽に使い分けるために実際にやっていることを5分でサクッとお伝えします。
実際に運用していてまったくストレスを感じていない方法なので、ちょっとでも困っている人には明日からすぐにお役立ていただける内容だと思います!

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

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

ttskch たつきち

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

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

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

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

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

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

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

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

PHPとAPI Platformで作る本格的なWeb APIアプリケーション 〜入門編〜

ttskch たつきち

API Platformは、SymfonyをベースとするPHP製のオープンソースAPIフレームワークです。
Symfonyアプリケーションにアトリビュートを1行追加するだけで一瞬でREST APIとOpenAPIドキュメントを生成できてしまう優れもので、
Symfonyのエコシステムにおいてはすでに決定版と言える存在となっています。

このトークでは、API Platformの導入方法から、State Provider・カスタムコントローラ・State Processorといった重要な基本機能の概要までを、
実際に動作するデモをお見せしながら丁寧にご紹介します。

皆さんにAPI Platformの概要を知っていただき、少しでも興味を持っていただければ幸いです!

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

PHPとAPI Platformで作る本格的なWeb APIアプリケーション

ttskch たつきち

API Platformは、SymfonyをベースとするPHP製のオープンソースAPIフレームワークです。
Symfonyアプリケーションにアトリビュートを1行追加するだけで一瞬でREST APIを作れてしまう優れもので、
Symfonyのエコシステムにおいては既に決定版となっています。

しかし、ある程度複雑なことをしようとすると途端にフレームワークについての深い理解が求められたり、
痒いところに手が届かず強引なワークアラウンドが必要になったりするという面もあり、入門と実戦の間には大きな隔たりがあります。

このトークでは、API Platformの導入方法から基本機能の概要、さらには実践投入に向けた各種ワークアラウンドや実装テクニックを、
実際に動作するデモをお見せしながら丁寧にご紹介します。

API Platformの実戦投入、あるいはその検討の一助になれば幸いです!

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

「学ぶ」「知る」「気付く」の違いを理解して、力強い成長を手に入れる

o0h_ きんじょうひでき

このトークを通じて、業務等における成長の加速のヒントを提供します。

私はお仕事として「マネジメント」を任された場面がありました。
その一環として、メンバーの成長支援や目標設定、日々の伴走も扱ったりします。
評価の場面では、「何を学んだか」「どんな変化があったか」に興味をもって聞こうとします。
・・が、うまく「学び」を得られている人と、ただ単に「経験した」との区別が進んでいない人も多いと感じました。

「学ぶ」「知る」「気付く」の間には、何があるでしょう?
どれも重要ですが、能力を引き出すのに強く関与するのは「学ぶ」だと考えています。
この違いの認識は、学習や上達の違いをもたらします。
経験を分析し、次に活かせるか?を支えるのが、学びです。

EMの立場から見た際の、「どうして(他の近接概念と比べて)特に重要なのか」「どんな人が、普段の行動を学びに結び付けられているか」をお話します。

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

今あるコードを読みやすく書き直してみよう!〜初めてのリファクタリング〜

o0h_ きんじょうひでき

良いコード、読みやすいコード…欲しいですよね
経験を積むほどに、コードを書くのは上手くなることでしょう

ですが!!
「1発で綺麗に書ける」とはならないのです
それどころか、「書き直す」のが当たり前になっていきます

つまり、リファクタリングです。長く付き合えるコードを生むには、コイツが欠かせません
みんな、色んな所で、昼夜を問わず、当たり前にリファクタリングに手を出しているのです
1回味わったら、きっと忘れられなくなりますよ

このトークでは、「初めてのリファクタリング」をテーマに、最初の1歩を踏み出すための武器を提供します
一緒に「めちゃ長ぇメソッド」を飼い慣らしていきましょう!

お話すること

  • リファクタリングって何?
  • なぜ、ソフトウェア開発にはリファクタリングがつきものなの?
  • リファクタリングしたくなるコード、見ぃ〜つけた
  • どうやって、始めるの?進めていくの?
1
LT
初登壇 関西在住者

SI業界に20年もいたのにSaaS業界に転生したらどうなった?SaaS業界転生記

井上良太

SI業界で小規模から大規模開発まで一通り経験し、管理職もこなしてきて、経験値だけは十分に積んだと思っていた私が、SaaS業界ではその経験値を生かすことができたのでしょうか。
SaaS会社でテックリードとして転生した私が、開発視点からマネージメント視点等いろいろな気づきをお話します。

・開発フローやシステム開発の考え方は同じなようで何が違う?
・プロジェクトマネジメントではなくてプロダクトマネジメント
・SI業界の経験値は結局生かすことができたのか?

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

PHP5上級認定技術者がPHP8で躓いたこと

井上良太

しばらくPHP界隈から離れていたPHP5上級認定技術者資格者が、久しぶりにPHPの世界に戻ってくると、浦島太郎になっていました。
浦島太郎になって改めて学びなおしたポイントは、これからPHPを学ぼうとしている人や、他の言語からPHPを触ることになった人にもきっと活かせるはず。
PHP5の時代の苦労話も織り交ぜながらお話したいと思います。

・変わっていて驚いた言語仕様の変化
・PSRって何?
・外部ライブラリの使い方
・他の言語とごっちゃになってしまったポイント

22
LT
初登壇

全文検索エンジンの移行(SolrからElasticsearch)での学び

ky6yk 山下清史

業務でサポートの切れた全文検索エンジンSolrが使われていた社内ツールをElasticsearchにリプレースしました。
また、Solrへのインデックス追加は5分おきにバッチで行っていましたがその処理が2か月終わらない問題もありました。
このLTでは既存ツールで使われているライブラリをリプレースするときに考えるべきこと、どのようにバッチ処理を早くしたかを紹介したいと思います。

想定する聴講者

  • リプレースは既存のコードを新しい技術でそっくりそのまま書き換えればいいかなぁと思っている若手エンジニア
4