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

雰囲気オンラインバッチ処理から少し抜け出そう!アルゴリズムとデータ構造、インフラからPHPの実装まで

suguru_ohki スー

今までバッチ処理について雰囲気でやってきていませんか?僕は少なくとも雰囲気でやってきました。
もちろんバッチ処理なしで実装できるに越したことはありませんが、運用としてすでにそうなっているところも多いのではないでしょうか?
実際そんなに困ることねーし・・・!とそう思っていたそのとき!困る時がやってきます・・・。(震え声)
基本的にバッチ処理を避けた方が良いパターンについて言及しつつ、バッチ処理が必要な際にどのようなことを考えれば良いのか?どう見直す道筋を立てるのか?
TechTrainで実装するときに失敗したな・・・。と思った経験を踏まえてお話しします。

対象者

すでにバッチ処理があるが、どう見直したら良いのかわからない方
なんかバッチ処理でいけそう!と初手で考えてしまう方
バッチ処理書いてみたんだけど、良いのかわからない方

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

「なぜキャッシュメモリは速いのか」とキャッシュが引き起こすCPU脆弱性

tomzoh 長谷川智希

2024年1月、「なぜキャッシュメモリは速いのか」が話題になりました。
この質問に答えるのはなかなか難しいのですが近年のコンピュータの高速化はすべてキャッシュによるものと言っても過言ではないぐらいキャッシュは重要な技術です。

このトークでは「なぜキャッシュメモリは速いのか」の説明から、なぜキャッシュが必須の存在なのか、そしてキャッシュが引き起こすCPUの脆弱性について初心者の方にもわかりやすくご説明します。

コンピュータアーキテクチャの勉強、というよりはキャッシュを取り巻くハートウォーミングストーリーを聴きに来るつもりでいらしてください。きっと「CPU脆弱性って言っても思ったより難しくないな」「おもしろいな」と思って頂けると思います。

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

型がつくってどういうこと? 動的言語の型付けと真剣に向き合う

tadsan うさみけんた

近年、動的型のプログラミング言語(型なしとも呼ばれる)を実行せずに検査してソースコード上の問題を発見する試みが盛んです。
型なし言語に型をつけるとは撞着語法もいいところですが、TypeScriptをはじめとして、Ruby、Python、そしてPHPにおいてはPHPStanというツールが普及しつつあります。

今回のトークでは主にPHPStanが提供する型機能について、以下のような内容をお話しします。

  • なぜ動的言語の型付けはうまくいかないのか
  • PHPStanはどのように型をつけるのか
  • どうすればPHPStanを活用して型をつけられるのか
4
LT(5分)

iOSにおけるPHP環境のベストプラクティスはこれだ!

suguru_ohki スー

このセッションでは、iOSデバイス上でPHP開発環境を効率的に構築するためのベストプラクティスを紹介します。以下のポイントを中心に話します。

•主要ツールとアプリ: iOSで利用可能なPHP開発向けのエディタ、SSHクライアント、データベース管理ツールの紹介
•設定方法: PHP開発環境の基本設定手順と必要なアプリのインストール方法
•リモート開発環境: リモートサーバーに接続する方法、VPNやSSHを使った開発ワークフローの構築
•実践的なテクニック: 効率的な作業を支えるテクニックやトラブルシューティングの方法
•コンテナ技術: Dockerなどを利用した仮想的なPHP開発環境の構築方法

対象者

•WebアプリケーションやAPIを開発している
•ノートPCなしでiOSデバイスを使いたい
•オフィス外での開発環境を最適化したい

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

Laravelの認証からCognitoへの大移行!何を気をつけるべきか!?

suguru_ohki スー

このセッションでは、実際に運用されているTechTrainというサービスにおけるLaravelの認証システムをAWS Cognitoに移行する際に注意したポイントについて詳しく解説します。

•移行前の状態がどういう状態だったのか?
•LaravelからCognitoへの認証フローの変更点とその影響
•AWS Cognitoの設定で気をつけたこと
•既存のパスワードなどをどう移行するのか
•Auth0とどう使い分けるのか
•CognitoとGitHubの連携をどう実装するのか

対象者

• Laravelで認証システムを構築している方
• JWTやOIDCについて知ってるけど、どうやって実装するんだっけ?と思っている方
• Cognitoを利用を検討している方

Laravel認証からAWS Cognitoへの移行を成功させるための実践的な知見としくじりを提供します

2
レギュラートーク(15分)
初登壇(これまでカンファレンスで登壇経験なし)

ゼロからの画面制作を卒業し、開発効率アップ!7年経ったプロダクトへのデザインシステム導入でチームをハッピーに

halmin51g はるみん

画面開発で、こんなお悩みを抱えていませんか?

  • デザインに統一感がない
  • デザインレビューの観点が曖昧
  • ゼロからデザイン制作とコーディングが必要
  • CSSの保守が難しい

これらの課題が原因で開発効率が低下しモチベーションも低下してしまいました。その解決策の一手として、デザインシステムの導入を進めました。
今回は、すでに存在していたデザインリニューアルのデザイン案をベースに、プロダクトにデザインシステムをうまく反映できていなかった状況から、仕組みを整備して導入を進めるまでの一連の取り組みをお話します。

話すこと

  • デザインシステムとは
  • 導入に向けての取り組み
  • 導入前の課題、導入後の効果
  • 導入が進まなかった要因・進んだ要因

対象者

  • 画面開発にお疲れぎみの人
  • フロントエンドのレガシーな構成にお悩みの人
  • デザインシステムに興味がある人
3
レギュラートーク(30分)
東海勢(出身or在住)

これからのトラブルシューティングの話をしよう

y_taka_23 チェシャ猫

せっかく作ったアプリがデプロイしても動かない、許可しているはずの通信がなぜか通らない、逆に許可していないはずの通信がなぜか通ってしまう、インターネットに出られない、そしてこの種のデバッグはかなり辛い…!

多数のコンポーネントが組み合わさって動作するクラウドの世界において、設定不備を発見したり修正したりする作業は、どうしてもエンジニア個人の経験と勘に依存しがちです。では、誰でも手軽に扱えて、かつ「マネジメントコンソールを目 grep」以上に体系的なトラブルシューティングは不可能なのでしょうか?

本講演では「正確だが柔軟性の低い数理論理学ベースの検査」と「柔軟だが正確性の低い生成 AI」の両方を利用することで、より確実で効率的なトラブルシューティングを実現する方法をお話しします。背景となる数学的な理論や論文にも触れながら、AWS 環境におけるデモを交えて解説したいと思います。

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

詳解 アクターモデル導入によるSagaパターン

ex_takezawa ytake

このセッションではPHPのマイクロサービスアーキテクチャにおける分散トランザクション管理の新たな方法として、
アクターモデル/Phluxorを使ったSagaパターンの実装を紹介します。

データ整合性の維持やレジリエンス向上に役立つ、実践的なアプローチを実装コードを交えて解説します。
アクターモデルによるメッセージングや、アクターによる振る舞いの変更、
ステート管理やSupervisionの活用、永続化などを用いて詳しく解説します。
複雑なワークフローをシンプルにし、スケーラビリティとフォールトトレランスを向上させる具体的な手法を習得しましょう!

5
LT(5分)
東海勢(出身or在住)

無理せず障害予防のために開発プロセスを改善しよう

AkitoTsukahara AkitoTsukahara

背景
あるプロジェクトでたくさんの障害を発生させてしまった。。。
障害はユーザーに迷惑をかけてしまうし、エンジニアのメンタルが削られるし、進行中のスケジュールを圧迫する。全然いいことがない。障害はこの世から無くなって欲しい。せめて減らしたい。。。
そんな思いから開発プロセスを見直す動きが社内で生まれました。

本LTでは障害予防のために実際にチームで実施している取り組みやどんなテスト観点表を利用しているのか紹介します。

障害を少しでも減らしたい、自分のチームに見合ったプロセスをカスタマイズしたいと同じ悩みを抱えているPHPerの皆さんにお伝えできれば幸いです!

1
LT(5分)
東海勢(出身or在住)

チームの納得感を引き出す!ファシリテーションでの心がけ

AkitoTsukahara AkitoTsukahara

チームが納得感を持つことで、自然にモチベーションが上がり、協力が深まります。
本LTでは、ファシリテーションを通してチームの合意形成をスムーズにし、全員が納得して前に進めるためのコツや心がけていることを紹介します。
意見を引き出すタイミングや、雰囲気作りの工夫など、誰でもすぐに実践できる方法をお伝えします。

こんな人におすすめ
・チームでファシリする機会が多い人
・ファシリに苦手意識がある人

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

Symfonyのアトリビュートによる設定の実践

ippey_s 角田 一平

Symfonyでは、設定にアトリビュートを利用することが増え、コードがよりシンプルでわかりやすく管理できるようになってきています。
このセッションでは、アトリビュートを使った設定の種類を紹介し、従来の設定方法と比較しながらSymfonyでのモダンな開発や利便性の向上について解説します。

2
LT(5分)
東海勢(出身or在住)

己のタスクの見積もり精度をあげるための素振りステップ

mizzsugar0425 mizzsugar

「いや〜、思ってた以上に時間かかっちゃいました...」
こんな報告、したことありませんか? 私は何度もあります。でも、これって「見積もりが下手」なんじゃなくて、「自分の実力の解像度が低い」だけかもしれません。
このセッションでは、野球選手が素振りで体の動きを意識するように、タスクと自分の実力の解像度を上げるための反復練習法を紹介します。

おしながき

  • タスクを細かく分解して実力との距離を「見える化」する方法
  • 実際にかかった時間を計測・記録するコツ、記録表テンプレート例
  • 見積もりとの時間のギャップが生まれた理由を掘り下げる視点
  • その気づきを次のタスク分解に活かすサイクル

「見積もりが外れる→反省する」で終わらせず、「なぜ外れたか」を深掘りして次に活かす具体的な方法をお伝えします。地道だけど、確実に成長できる練習方法を一緒に考えましょう!

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

爆速でプロダクト開発をするために意識していること

gennei げんえい

我々はのチームはつい最近結成されたら新チームです。チームも未熟でありながら何を作るかも決まっていませんでした。
そんなチームが顧客の要望に応えたい気持ちはあるものの人手も多いわけではないのでできることは限られます。

しかしこのチームが爆速にプロダクト開発をしています。
どんどん動くものができており、スプリントを進めるたびに機能は増えていき、スプリントレビューで改善のフィードバックをもらっています。

どのように開発を進めているのか、意識していること、テクニック、秘訣を教えます!

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

バージョン管理リファクタリング -セマンティックからの脱却-

ippey_s 角田 一平

プロダクトにバージョン番号ってつけていますか?
どのバージョンで不具合が起きたかなど、バージョン番号をつけておくと運用や開発管理がしやすくなります。

もちろん、われわれもバージョン管理を行なっています。
しかし、セマンティックバージョニングを導入したために、思ってもいない困難が待ち受けていました。

このセッションでは、セマンティックバージョニングから脱却するために行った、『バージョン管理のリファクタリング』について、行なったことやビフォーアフターについてご紹介していきます。

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

DIってなんだか難しい? 依存という概念を「使う・使われる」という言葉で整理しよう

aki_artisan あかつか

DIを理解するのは難しいです。

経験の少ない開発者にとっては、コードが読みづらく感じて開発を遅くする原因となり、ベテランにとっても、メンバへの伝え方が難しいために導入を見送らざるを得ないということもあるかもしれません。

このトークでは、依存という概念を「使う・使われる」という、簡単な言葉で整理して、理解しやすくすることを目標とします。

話すこと

  • 「依存している」とは「使っている」ということ
  • 依存すると何が困るのか
  • 依存を外から与える(注入する)メリット
1
LT(5分)
東海勢(出身or在住)

コンフォートゾーンと向き合うために意識していること

blue_goheimochi 大橋 佑太

???「わかりました!頑張ります!!」
???「頑張らなくて良いんで結果出してもろて」

こんなやりとりがあった際にふと気がつくとわたしの心の中には「逃げ」の気持ちがあるなぁということに気付きました。

「頑張ります」って答える時って、なんとなくコンフォートゾーンから出るような、自分の中でパッと想像できないような類のなにかをお願いされた場合が多いです。

そしてもう、みなさん頑張ってます!!間違いなく!!!

なのであえての「頑張る」の宣言は不要で、求められた結果やアウトプットに対してどう考えるか?をより意識するようになりました。

当然、ある時点で不安なことに対して対処するのは重い気持ちにもなりますが、そのような事象に対する意識の向け方、コンフォートゾーンと向き合うための考え方のひとつとしてわたしの体験をお伝えできたらと考えています。

2
レギュラートーク(30分)
東海勢(出身or在住)

toB SaaSでサービス管理者が企業ユーザーとしてあれこれしたい時の認証認可アプローチ

mizzsugar0425 mizzsugar

「toB SaaSでお客様企業のアカウントでいろいろ確認したいけど、企業ごとにサービス管理者用アカウント作るの面倒くさい...」

こういうことで困ったことってありませんか? サービス管理者として複数の企業アカウントを行き来する必要があるとき、企業ごとにアカウントを作成して管理するのは本当に大変です。
このセッションでは、サービス管理者が1つのアカウントで複数企業のデータにアクセスできる仕組みを、実際のテーブル設計とコード例を交えて紹介します。

おしながき

  • サービス管理者が企業ユーザー代理アクセスを実現する「代理セッション」テーブルの設計
    • 管理者が特定企業のユーザーとして活動する際のセッションを、通常のユーザーセッションと分けて管理します
  • 「管理者操作ログ」テーブルの実装
    • いつ、どの管理者が、どの企業アカウントで何をしたのかを記録します
3
レギュラートーク(15分)
東海勢(出身or在住)

要求工学入門:ソフトウェア開発における要求定義の失敗を避ける

__tortoise hkws

苦労してソフトウェアを開発したのに使ってもらえなかったことや、リリースしてから致命的な問題に気づき作り直しが必要になったことはありませんか?

ソフトウェア開発プロジェクトの失敗のうち、要件定義における失敗が原因である場合は4割にも上るという報告もあります。アジャイル開発のような適応を重視する開発アプローチを採用していても、要求を獲得し分析することの重要性は変わりません。

そこで本トークでは、「要求工学」と呼ばれる分野から、ソフトウェアに求める振る舞いを定義し記述するための以下の知見を紹介します。
・要求工学を実践するプロセス
・利害関係者を明らかにする分析法
・現状を分析し課題を明らかにする手法
・要求を抽出するための手法
加えて、発表者が実際の開発案件にそれら手法を適用して得た学びを共有します。

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

【できるだけ手抜きでコンテナ運用】LaravelアプリケーションをECS(Fargate)にしてサーバ管理を楽に!【インフラ未経験でもOK】

for__3 zoe

Laravelで出来たアプリケーションの本番環境まだEC2使ってませんか?

OSのEOL対応、PHPのバージョンアップ、サーバ障害対応などEC2で管理していると保守するだけでも色々やらないといけない事が多いです。

Laravelアプリケーションをコンテナ化してECSにデプロイすることで、辛いサーバ管理から解放されましょう。
このトークでは、EC2で管理していたLaravelアプリケーションをECSに移行するために考える必要があるポイントや移行のために必要な手順、デプロイの仕組み、ECSで運用する際に便利だったツール(ecspresso)などをお話します。

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

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

PHPプロダクトのフルサイクルエンジニアリングで広げる「じぶん領域」

sogaoh sogaoh

ご自身の「真ん中」にあるものって、なんですか?

PHPカンファレンス名古屋の中心に据えられている価値観を見て、ふと考えました。
https://phpcon.nagoya/2025/#about

自分は5年前から個人事業を始めたのですが、「真ん中」にあったのは、とある事業会社でのPHPプロダクト運用を回してきた、という経験だけでした。
でも、それを頼りに、新規プロダクト開発に業務委託で参画し、そこから自動テストや自動デプロイの導入や IaC化、さらに複業で幅を少しずつ広げ、「じぶん領域」はフルサイクルと言って良いかなと思えるくらいのなかなかの大きさになっていると思います。

このトークでは、類い稀な広がり方をした「じぶん領域」に関して、参考にしてほしい面と反面教師にしてほしい面をご紹介します。

4