LT(5分)
九州勢

コロナで54歳無職になったけど、技術コミュニティのおかげで何とかなった件

HIRANO FUMIO

40代半ばで技術コミュニティに初めて出会い、10年前からJAWS-UGおおいたの運営をやってきました。
地方で感じる「技術的に取り残されるのでは」というモヤモヤ感がきっかけでしたが、結局は、日本中の「個性豊かな人々」との出会いが楽しくて続けてきました。
そんな中、コロナの影響で前職のスタートアップのビジネスが頓挫し、早期退職することになりました。
普通50代半ばで職を失うと、悲壮感が漂うはずなのですが、「不安はあるが何とかなるだろう」と楽観的に落ち着くことができました。
これは、コミュニティを通じて、「外の物差し」で自分自身の強みと弱みを知り、強みをいかせば何とかなるだろうと思えたからです。結局はコミュニティの友達がFacebookで投稿した求人情報をもとに、現在のお仕事に就くことができました。
コミュニティ活動は老若男女全てのエンジニアにとって将来役に立つことを伝えたいと思っています。

1
採択
2024/06/22 17:20〜
Fusicホール
LT(5分)
初登壇

FuelPHPからLaravel移行が遂に終わった!最初にやっておきたかったこと5選

miiyu_NU 桝井裕哉

約4年の歳月を経て弊社プロダクトのFuelPHPからLaravelへのリプレースが完了しました(発表までには完了している予定!)。
完了までにリプレース失敗や負債・複雑性を生み出してしまいました。
本トークではそれらを回避するにはこうした方が良かったなーと思うことをサクッと5つご紹介します!

リプレースプロフェクトを直近で開始される予定の方、あるいは初期フェーズの方のお役に立てるかも?
あるいはリプレースあるあるとしても聞いて楽しんでいただけるかもれません!

3
LT(5分)
初登壇

20代後半から前知識無しでIT業界に飛び込んだ軌跡と心の変化

OInj8rpyoU29335 ミスターのっぽ

私はこれで何を伝えたいかというと、今でもレベルは高くないですが振り返るといろんなことを学んで年を経るごとに視野が広がって段々と学び方が増えてったこと、もう満足だろうと思ったら新しい世界が見えてきて考えてもみなかったことが増えていったこと、これからも楽しい経験が待っているだろうと言うのを伝えていきたいと思っています。
この業界に入ろうと思った最初の頃はIPアドレスですらなんのことか分かりませんでした。初めて入った現場でフレームワークも業務への入り方も分からず悔しい思いをしました。その時に思ったこと、何をしてどんな壁を乗り越えたのか、なんの勉強をしたのか、勉強や業務で面倒だったことはなにか、勉強する内容の変化、仕事の内容の変化、仕事で関わる仲間との交流での自分の変化を中心にお話ししたいと思います。

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

OSSから学ぶ方法入門~PHPStanに学ぶ並列処理~

inoco

このトークでは、OSSから学ぶ方法について話します。

学習のためにOSSに触れるとよいと聞きますが、言うは易し行うは難し、学ぶことにもハードルがあると感じたことはありませんか?

私は丸腰ではコードが読めません。環境を整え、道具を駆使して、少しばかり工夫しながら読み進めてゆきます。このトークでは、PHPStanの並列処理を題材に、一定複雑な処理がどのように実装されているのかを紐解いてゆく過程を見てゆきます。

チュートリアルの次のステップとして、既に稼働実績のある実用的なコードから学ぶことで実践力を高めようという試みです。

このトークではOSSから学ぶことのハードルを下げることを目指します。スキルアップへの引き出しが一つ増えれば幸いです。

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

いつどこで何が何バイト使うか分かりますか? PHP スクリプトのメモリ使用量入門

sji_ch sji

実行中の PHP スクリプト内の各要素は、それぞれがメモリ上に何らかの領域を占有しています。ローカル変数のための領域、配列の各要素やハッシュテーブルを収めるための領域、文字列のための領域、オブジェクトやそのプロパティを収めるための領域。実行中に様々な領域が確保され、そして不要になると解放されたり、意外とスクリプト終了まで解放されなかったりします。

PHP には標準の組み込み関数として memory_get_usage() や memory_get_peak_usage() といった関数があり、呼び出し時点でのメモリ使用量や実行開始からのピーク値を得ることができます。しかし、これらを呼んでも「どこで」「何が」「何バイト」メモリを使っているかまでは追えません。

このトークではスクリプト内の各要素について、処理系内で何がどうメモリを消費するかを時間の許す限り1つ1つ手当り次第に解説します。

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

PHPのバージョンアップ時にも役立つAST(抽象構文木)

matsuo_atsushi 松尾篤

プログラムの本質的構造を示すAST(抽象構文木)に変化がなければテストを省略できる場合があることに着目し、ASTのハッシュ値を比較することでPHP 8.1からPHP 8.2にバージョンアップする作業の一部をスムーズに進められることが分かりました。ASTを取得および比較する方法や、事前に行った対象箇所の特定およびファイル更新方法などに関する具体的な手順や使用したソフトウェアを紹介しつつ、ASTがPHPのバージョンアップ時にも役立つことを解説したいと思います。

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

テストコード実装を唱え、導入フローを検討の末テストコードの研修実施に行き着く物語

zosokh チャン

テストコードを書いていますか?
テストを書いた方が良いと誰しもが思いテストを整備していると思いますが、中にはテストコードを書く時間が作れない、意味を理解してくれない、テストコード実装の優先度が下がる、様々な理由でテストコード実装が出来ていない現場もあるかと思います。
今までテストコードを書かなかった開発現場が、テストコードを整備し開発・運用面・リリースの状況が変わった話や、効果を数値化した話、社内でテストコード導入を広めていくために沢山の手段の中からテストコード研修を実施するに至った話をします。

  • テストコードが無かったアプリケーションの実態と現場状況
  • 多くの時間を割いていたQAテストをテストコードでカバーできるか網羅率や整備コストを出し、効果を数値化した話
  • テストコード整備後のリリース数や開発工数変化
  • テストコード必須とした導入フローを検討の末、研修実施へ至った話
2
採択
2024/06/22 15:55〜
Fusicホール
レギュラートーク(15分)

アプリケーションをリプレイスしたら、チームとサービス運用に向き合えた

zosokh チャン

8年運用しているPHPアプリケーションをリプレイスするのにあたって、目的整理とチームに向き合い、奮闘と決断した話をします。

  • リプレイスの目的とやりたい事を整理できた話
  • 運営を続けなからリプレイスへのリソースを割く話
  • 事業決済者へのリプレイス打診の話
  • 解消したかった技術負債へ取り組みと決断。やる決断、やらない決断。
  • リプレイス実行とその後

長年運用しているサービスの技術負債を解消しきれず、リプレイスを検討している方へサポートになれれば幸いです。

レギュラートーク(15分)
U25(25歳以下) 初登壇 九州勢

【VSML/VSS】動画を編集できる言語を作った話

PigeonsHouse 鳩屋敷

みなさんは動画編集をやったことはありますか?
動画編集とは元来めんどくさく手間がかかるものではあるのですが,普段からWebアプリの開発をしている私は,以下のようなことを考えていました.
HTML/CSSのように複数オブジェクトを一つのコンテナのように扱えたら,CSSのように統括して装飾を指定できたら,HTMLレンダラーが相対値から計算して値を指定するように,動画のオブジェクトの時間長も編集アプリが計算して指定してくれたら,もっと楽に動画編集できるのになぁ,と.
そこで私は,HTML/CSSをベースとした,動画の構成を記述する言語を記述することで動画編集を行えるという技術を開発しました.

↓以下の記事でも紹介しておりますが,ここからの進捗についても発表したいと考えております.
https://qiita.com/PigeonsHouse/items/7e3a3c4ed8473a61f4ac

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

ちょっとした自動化のためにパッと書くスクリプトをどこまで作り込むか

okashoi おかしょい/岡田 正平

プログラマーとして生きていると、仕事をする中であるいは日々の生活の中で、ちょっとした自動化のためにスクリプトを書くことがあるでしょう。
そういったスクリプトはすぐに使い捨てるつもりだったり、あとで修正することもなかったりするかもしれません。

このとき、みなさんは「最低限の品質」をどこに置きますか?
いざ、ぱっと聞かれると返答に困るような質問かもしれません。

私のなかではある程度の基準があります。
本トークでは「ちょっとした自動化のためにパッと書いたスクリプト」をいくつかのレベルに分けて、どこまで作り込むかの観点と判断基準の一例をお見せします。

7
レギュラートーク(15分)
U25(25歳以下)

PHPer向けゲーム、「PHP8.3秒チャレンジ」 開発秘話

shunsock shunsock

PHPerKaigi 2024で一千を風靡したPHPer向けゲーム、「PHP8.3秒チャレンジ」の企画や開発の裏話をします!

PHP 8.3秒チャレンジとは、PHPの最新版である8.3をみんなで目指そうというコンセプトのストップウォッチゲームです
8.3秒ぴったりに止めるという至ってシンプルなゲームですが、通常のストップウォッチと異なり、途中から数字が消えてしまうので目押しはできません

このゲームをPR TIMES企業ブースで展開したところ、現地でXでも大変盛り上がりました!
本セッションでは以下の観点から裏話をお話しする予定です!

  • 企画: ゲーム形式・コンセプトの誕生秘話
  • 開発: API・インフラの工数削減話・Leaf PHPによるPHP APIの実装をした話など

このトークは、イベントで何かブラウザを使った出し物をしたい方の参考になることを目標としています✨

5
採択
2024/06/22 15:40〜
Fusicホール
レギュラートーク(15分)

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

okashoi おかしょい/岡田 正平

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

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

想定聴講者

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

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

パスワードのハッシュ、ソルトってなに?

okashoi おかしょい/岡田 正平

少し前にパスワードにまつわる「ハッシュ」と「ソルト」という言葉が話題になりました。
また「平文で保存していたパスワードが流出する」といった事件もたびたび耳にします。

パスワードの扱いについては、Web アプリケーションフレームワークを使っていればあまり意識することは無いかもしれません。
実際、意識しなくてもフレームワークがよしなにしてくれます。

でも、いったい「ハッシュ」や「ソルト」とは何なのか?
上述のような事件を起こさないよう、アプリケーション開発者としてしっかり押さえておくべきポイントをお話します。

7
LT(5分)

同僚をカンファレンスに連れてくるためのあの手この手

aki_artisan あかつか

カンファレンスは役に立って、刺激を貰えて、楽しくて…最高ですよね!?

そんなカンファレンスですが、職場の同僚を誘えると、共通の話題ができたり、技術力の底上げになったりと、もっともっと価値あるものにできます。

私は実際に、PHPカンファレンス関西で職場の同僚を5人カンファレンスに連れてくることに成功しました。
その経験を元に、同僚をカンファレンスに連れてくるためのあの手この手を伝授します!

想定する聴衆
・会社からソロでカンファレンスに参戦している猛者(昔の自分)
・同僚にもっとカンファレンスに興味を持って欲しい方
・裾野を広げてカンファレンス全体を盛り上げたい方

2
LT(5分)
U25(25歳以下)

あなたはそのテストコードを信じられますか?テストコードという命綱を持ってリファクタリングの世界にダイブしよう!

sucalul すか

「いいコードを書けるようになりたい?3回リファクタリングしてやっとかけるようになるよ」的なことを言われたことがあります。
いいコードを書くには多くの場合リファクタリングが不可欠ですが、そのコードが本番で動いていると、修正するには当然リスクが伴います。

今回は過去の自分が書いたコードをリファクタリングする際に、テストコードがどのように役立ったのか・どのようなテストがあると(あって)よかったのかを事例をもとに解説します。

ターゲット:

  • テストコードをまだ書いていない方
  • とりあえずテストコードを書いているが、テストの恩恵をそこまで感じていない方(私もそうでした)

あなたは、そのテストコードを信じ、リファクタリングの世界にダイブできますか?

5
LT(5分)

カンファレンスに参加した!!明日から何ができるか??

blue_goheimochi 大橋 佑太

カンファレンスに参加した!
参加するまではドキドキでも終わってみたら楽しかったな!と感じるのではないでしょうか??

ただ、みなさんからいただいた熱量をもって明日以降に活かすぞ!と意気込むのですが、何からやっていけばいいのかな…と悩んでしまうこともあると思います。(カンファレンスなどに参加したてのわたしもそう思っていました…)

でも、ほんの少しのアクションをするだけでも明日以降のモチベーションや次回以降の参加につながる!と最近は思っています。(本当にささいなアクションでよいのです!)

本トークではわたしが実践しているささいなアクションを紹介しつつ、「今日は楽しかった!」と感じていただいた方が明日から先にも続いていくカンファレンス人生をより楽しんでいただくためのヒント(になって欲しいこと)をお伝えしたいと思っています!

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

バリエーションに立ち向かって強くなろう

77web 菱田裕美

開発時に厄介なのはバリエーション。
PHPerは日々フレームワークごとの違い・バージョンごとの違い・データベースの違い・クラウドインフラの違いといった純粋に技術的なバリエーションに悩むこともあれば、複数の異なる配送業者・複数の異なるAPI接続先・複数の異なる計算方式といった要求・要件のバリエーションにも悩んでいることでしょう。
このバリエーションへの対処法を整えることでエンジニアとして強くなる方法をお話します。

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

依存パッケージの更新してますか??おさらいcomposer update

blue_goheimochi 大橋 佑太

依存パッケージの更新はしていますか??

小さくコツコツ手をつけておけばよかった…そんな気持ちになることもあるかもしれません。。
日々降ってくる、マイナーバージョン・パッチバージョンの更新を適応するのは大事です。

メジャーバージョンがあった場合はどうでしょう??
依存パッケージ間の依存関係があるなど、マイナーバージョン・パッチバージョンの更新と比較して、複数のパッケージの同時更新が必要だったりもします。Renovateがプルリクエストを出してきたが、エラーになってそのままマージにならない…なんてこともあったりします。

本トークではパッケージを更新するコマンドであるcomposer updateをおさらいしつつ、何ができるか?何が起こるか?を確認しながら、今一度パッケージのバージョンアップについての手順やはまりポイントについてお話ししたいと思っています。

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

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

suguru_ohki スー

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

対象者

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

日本PHPカンファレンススタンプラリー2024のその後

koyhoge 小山哲志

みなさんご存知のように、2024年は毎月PHPイベントが開催されるほどPHPコミュニティが活況を呈しています。私はそれに合わせて、2019年以来久々に「日本PHPカンファレンススタンプラリー2024」を実施しています。今年は台紙とスタンプという物理媒体ではなく、ウェブサービスとして電子的なスタンプラリーを実装し、それに関する発表もPHPカンファレンス北海道2024で行いました。その際の実装はPoC的なものでしたが、福岡ではおそらく本サービス実装になっていると思われます。本LTではその本番実装についてと、それまでのスタンプラリーの利用具合について発表します。

2