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

2022年にX68030を楽しむ

tomzoh 長谷川智希

最近、1993年発売のX68030というパソコンを買って動かして遊んでいます。
大学生当時に憧れだったけど高くてとても買えなかったX68030ですが大人になり財力が付いた今なら…と思ってフリマサイトを監視していたら良さそうな機体が出品されたのを発見してつい…。

X68030はHDDにSCSIを採用しHDD内蔵モデルであるX68030-HDには80MB(GBじゃないですよ)のHDDが内蔵されていました。

翻って現代、2022年。世の中には「Raspberry PiでSCSIデバイスをエミュレートする」とか「Compact Flashに格納したファイルをSCSI HDDとして見せる」とか「Raspberry Pi でFDDをエミュレートする」みたいな同人ハードウェアが生み出され、当時とはまったく異なる快適なX680x0環境を構築することができます。

このトークではX68030の紹介と、2022の今、X68030を楽しむにはどうすると良いかをお伝えします。
今でも十分通用するX680x0の魅力がみなさまに伝わり、X680x0ユーザが増えることを期待しています!(ねえよ)

採択
2023/03/24 13:30〜
Track A
レギュラートーク(20分)

防衛的 PHP: 多様性を生き抜くための PHP 入門

s6n_jp しけちあ

PHP は歴史の中で大きく進化し,PHP 7 からは本格的に型付けをサポートし,PHPStan や Psalm といった強固に型を静的解析するツールも生まれました.チームで PHP を用いて開発していると,型や静的解析の方針や方法に差異が生まれてしまうことがよくあります.しかし,安全に継続して開発をしていくためには,その手法を統一し体系立てて利用されるべきです.また,手法から外れて開発を行うプログラマからコードを防衛すべきです.

このセッションでは,そうした防衛的な手法を多く取り入れて,安全に,長く PHP を使って(バージョンアップに遅れを取ることなく)開発を続けていくための方法をご紹介します.

話すこと

  • PHP 8 時代の型・型検査
  • 静的解析・フォーマットと IDE

話さないこと

  • 静的解析や型を取り入れるべきかどうかの議論
  • きのこ派かたけのこ派かの議論
レギュラートーク(20分)

とあるサービスの開発初期からリリースまでのシステム構成変更の変遷

kaz_29 わたなべ

最近正式版をリリースしたとあるサービスの、開発初期からリリースまでの約1年半の間に発生した様々なシステム構成変更について、変更の原因なども交えてつらつらとお話しします。

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

ゼロから開発チームを立ち上げ継続的にインクリメントを生み出せるようにした話

notch_man8600 notch_man

私が所属する筑波大学融合知能デザイン研究室では学術向けクラウドソーシングプラットフォームを運用しています。現在の開発チームは主に4名で、システムの運用、保守や新機能開発を続けています。

ところで、今年の3月で前任だった開発者が全員卒業してしまいました。4月から新たな開発チームで開発・運用を始めましたがソフトウェア開発の経験がほとんどない、立て続けに障害が発生する、ドキュメントが無いなど数々のトラブルに見舞われました。

このトークではそういった状況でジョインした私が、チームを立て直し継続的にインクリメントを生み出すために行なった事についてお話します。同じようにチームで開発を行っておりこうした難しさに直面している方に、これらを克服するための気づきやヒントが得られるようなお話をします。さらに学業や進路選びと並行しないといけない大学の研究室という特異な環境でのチーム開発の知見を紹介します。

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

PHP with OpenBSD

yosatak たけうち よしたか

PHPerの皆さん!OpenBSD使ってますか?

FreeBSDのレンタルサーバーがあった時代はまだしも、世間の開発環境はLinuxのコンテナdocker一強、開発機でもdockerが利用できないと不便な時代となっています。
そのような情勢のなか、OSの選択肢が絞られてしまい他のOSを使った事が無いPHPerの方も多くいると思います。

OpenBSDプロジェクトはOpenSSHをはじめとし、LibreSSLなど普段から御世話になっているソフトウェアの開発も行なっており、殆どの人が利用したことあるプロジェクトでもあります。

セキュリティや利便性を重視するOpenBSDプロジェクトは他のOSには見られない魅力的な機能が多くあり、もちろんPHPから利用できる機能もあります。

このトークでは普段利用していない人も羨むOpenBSDならではの機能をPHPを交えながら紹介していきます

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

AWS CDK(TypeScript) で PHP アプリケーションをコンテナ化して Fargate にのせよう!

akai_inu やまゆ

今イチオシの技術スタック、それは IaC(Infrastructure as Code) です。要するにコードでインフラ構成を管理しようというアプローチです。
コードで管理すると何が嬉しいのでしょうか?

  • コンソールポチポチ、自前シェルスクリプトポチポチによる手動環境(属人性,手動性)からの解放
  • 環境の複製/削除が簡単
  • デプロイ後の監視の仕組みまでカバー

など、さまざまな利点がある IaC の中でも、 CDK というツールはとても便利です。
一番の特徴は 「いつも書いているスクリプト言語でコード化できること」 です。
CloudFormation や Terraform のような独自で宣言的に記述するよりも、エンジニア的にわかりやすくなります。
そんな CDK を使って PHP アプリケーションを Fargate 環境にデプロイしてみましょう!

3
採択
2023/03/25 13:30〜
Track A
レギュラートーク(20分)

PHPの配列の内部実装について学びたくなった。

app1e_s meihei

「PHP の配列は、実際には順番付けられたマップです。」

この愛おしい文章から始まるPHPの配列は、PHPerにとって切っても切れない関係です。そんな大事な配列のことを、私達はどれほど知っていますか?

配列の内部実装の話はPHP7がリリースされた頃に多く語られてきたかと思います。しかし、2015年に私はPHPを触ってもいません!

PHPでお仕事をして3年目、これを機に配列を学び、内部実装を読み解いていこうと思います。

想定する対象者

  • PHPの配列が好きな人
  • PHPの内部実装について興味がある人
  • PHP5.x ~ 7.xの人

話すこと

  • 配列・連想配列の話
  • PHP 5 → 7 の配列・連想配列の話
  • 他の言語との比較(出来たら)

話さないこと

  • 実用的な配列の使い方
  • キャッシュ周り
採択
2023/03/25 12:55〜
Track B
レギュラートーク(20分)

Attributeを極める

tadsan tadsan

PHP 8.0に鳴り物入りで導入された新機能「アトリビュート」みなさん使っていますか?

コードに構造データが埋め込める? PHPDocより良い? 互換性がちゃんとしてる?「機能の抽象的な実装と、アプリケーションでの具体的な利用を分離でき」て、インターフェイスより柔軟?デコレータと同じようなものらしい? PHP 8でよくわからんけど#[ReturnTypeWillChange]って書いたよ?

などなど、なんか #[] って感じで書くんでしょという以外は得体の知れないものとしてPHPer界隈に横たわっています。本トークではアトリビュートへのアクセス方法、文法から制約、作例まで20分に凝縮して説明します。Attributesで実現するPHP8時代のバリデータもご参照ください。

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

GitHub Actions ベストプラクティス

pinkumohikan ぴんくもひかん

Webシステム開発においてデファクトスタンダートとなってきた、GitHubが提供するCI/CDサービス GitHub Actions。
本発表ではGitHub Actionsで動くCI/CDジョブを20個以上作成してきた私 @pinkumohikan が、GitHub Actionsとはなんぞやという入口からハマりどころとその解決方法、ジョブ実行時間を縮めるためのテクニックなどをお話します。

話すこと

  • GitHub Actionsとはなんぞや
  • 自分はどういう使い方をしているか
  • ハマりどころと解決方法
  • ジョブ実行時間を縮めるためのテクニック
3
レギュラートーク(20分)

# 多忙を極める職業PHPerだけど、新しいPHPのバージョンをちゃんと触りたいッッ

stwile871 stwile

「エンジニア=自分でサービス作る」

いつからだろう。こんなレッテルを貼られるようになったのは。

現実はそれどころではない。仕事をする人。趣味に走る人。一族郎党と過ごす人。

その中に、「自分でサービスを作っちゃう人」がいる。

そんな人は新規プロダクトのために、ナウでヤングなPHPのフレームワークやサービスのSDKをPHPで書くことができるだろう。

「羨ましい」の一点に尽きる。

業務として触るPHPのバージョンアップは、血と汗と涙がどれだけあっても足りないくらい大変である。

じゃあ、 hoge.php で触ればいいじゃん!

そんな声が聞こえる。

違う。違うのよ。

ディレクトリ構成も新しいフレームワークも新しい開発環境で触りたい。

そのワガママを叶えられる、数ある一つの方法を体験談を混ぜて話したい。

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

効率よく振り返って爆速成長しよう

for__3 zoe

皆さん振り返りしてますか?改善のために振り返りは欠かせないですよね。
そんな振り返りの質をあげる考え方、やり方について話します。

トーク内容

振り返りの効能について
振り返りの目的
おすすめの振り返り術
適切な振り返りサイクルと振り返りの仕方
大事な振り返りのその後
振り返りの黄金サイクル

想定視聴者

振り返りの習慣がまだない
何となく振り返りしてるだけの人

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

スキルレベルを問わず効率的に開発するための『自由』と『約束』

akai_inu やまゆ

業務開発において、複数人でチーム開発を行うことはほぼ当たり前となっています。その中では、どれくらい PHP が書けるか、設計ができるか、といったスキルレベルにばらつきが出ることでしょう。
アプリケーションの開発を効率的に行うということは、各メンバーの開発が効率的に実装できるということになります。

このトークで話すこと

このトークでは、スキルレベルの差を吸収し、全員が効率よく実装できる二つの『決め事』を紹介します。

  • スキルを成長させ、発揮させることができる『自由』
  • スキルレベルを底上げし、品質を保証することができる『約束』

ターゲット

チーム開発において、どのような方向でメンバーに開発してもらえばいいか考えているリードエンジニアの方々

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

ある日PHPerがベンチャー企業のデータ基盤を作ることになったら

820zacky つざき

2022年夏。とあるベンチャー企業で3年間PHPerをやっていた男が、データ基盤を新規に構築するプロジェクトにアサインされた──

「データ基盤とは一体……?」
「BigQuery, Redshift, Sknowflake 一体どれを選んだらいいのか」
「データソース層、データウェアハウス層、データマート層の3層。ふむ、なるほど」
「え!?この3層をDWHの中に配置するのが流行ってるって?」
「 SQLでデータ加工。話題のツールdbtとは…」
データエンジニアリングの世界に異世界転生したPHPerが、ベンチャー企業におけるデータ基盤構築についてお話します。

11
レギュラートーク(20分)

OAuth2.0 を振り返る 〜柔軟で堅牢なシステムを目指して〜

seike460 清家史郎

OAuth 2.0は柔軟な認可フレームワークです
Facebook、Twitter、Googleなどのエンタープライズ企業も利用しており、実装頻度も必然的に多くなって来ます
またHTTPでの利用を想定して設計されており、PHPerにとっても抑えておくべき技術になります

一方で「柔軟で拡張可能なフレームワーク」で有ることから実装者が考慮すべき点は多いです
実装を見誤るとセキュリティ事故が起こってしまいかねません

今回はそんなOAuth2.0の仕様についてお話します
OAuth2.0を適切に扱い、柔軟で堅牢なシステムを構築しましょう

  • お話すること
    • OAuth2.0の仕様
    • OAuth2.0のアンチパターン
    • OAuth2.1の状況
4
レギュラートーク(20分)

AWSにおけるPHP実行環境の選択肢

seike460 清家史郎

PHPの実行環境は日々選択肢が増えてきています
先日はAWS App Runner PHP8.1がサポートされました

喜ばしいことだと思うのですが、私達は一体どの実行環境を選べば良いのでしょうか

今回はAWSにおけるPHPの実行環境の比較を行い、PHP実行環境の選択肢についてお話します
各環境のユースケースを自分たちの環境へ当てはめ、より良い選択肢を取りましょう

  • お話すること

    • PHPの実行に必要なもののおさらい
    • AWSにおけるPHP実行環境の比較
    • それぞれのPHP実行環境のユースケースについて
  • お話しないこと

    • 利用方法の具体的な設定方法
    • AWS以外の環境について
3
レギュラートーク(20分)

Laravel プロジェクトで PostgreSQL の jsonb 型と付き合うことを決心した話

fuwasegu ふわせぐ

PostgreSQL には json 型 / jsonb 型からなる JSON データ型 という型があります.
「RDB での採用は慎重に行うべし」とよく耳にする JSON 型ですが,PostgreSQL のjsonb 型においては正しく使うことで大きな力を発揮してくれます.
しかし, jsonb 型を本格的に採用している事例はあまり見られないのに加え, Laravel アプリケーションで jsonb 型を扱う事例は更に少なかったため,社内のLaravel アプリに jsonb 型を採用する際,jsonb 型との安全で快適な付き合い方を研究しました.

【本セッションで話すこと】
・jsonb 型の概要 / パフォーマンス
・JSON Schema の概要
・migration 時に JSON Schema による Check 制約を付与する
・カスタムキャストで JSON に型を付ける

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

マイクロサービスとモノリス、2つのLaravelプロダクトのアーキテクチャ、開発体験について

takaaki_w tattaka

対象:実務経験開始~2年目位の方
内容:マイクロサービス(BFF)で10名以上のチームで開発していたプロダクトと、モノリスでほぼ1人で保守運用開発するプロダクトどちらも携わった経験から、アーキテクチャについてのメリット・デメリットと、開発体験についてお話します(どちらもVue.jsとLaravelを使用しています)。一方は大企業のC向けプロダクト、一方はベンチャーのB向けプロダクトになるので、大きく異なる点もお楽しみいただけるかと存じます。モノリスの方で採用されているクリーンアーキテクチャやドメイン駆動開発についても絶賛勉強中のため、(ミドル層以上の方に取っては今更な内容かもしれませんが、)ジュニアの方に分かりやすくご説明できればと存じます。
熱意:社外での登壇経験は無く初めてになりますが、少しでも参考になることがあるように精一杯磨き上げるのでよろしくお願いいたします!

3
採択
2023/03/24 14:05〜
Track A
レギュラートーク(20分)

Composerを「なんとなく使う」から「理解して使う」になる

asumikam あすみ

「composer install打ったらいい感じになるよね」「なんかDockerfileに書いてあるよね」
かつて私のComposerとの向き合い方はこのレベルでした。
しかし自サービスをコンテナ化するにあたり、Composerときちんと向き合い彼らとの絆を得ました。
本セッションでは「Composerってなんだっけ?」から入り、Dockerコンテナにおける取扱いまで触れていきます。

◆ 話すこと
基本的な役割
主なコマンド
composer.json?composer.lock?
いろいろな実行方法(コマンド・composer.phar・Docker Image)
Docker(コンテナ)とComposer(マルチステージビルド)
自サービスで最終的に採用した方法とその理由

◆ 想定する観客
Composerをなんとな〜くで使っている方
Docker環境でComposer使いたい人

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

長年放置されてたライブラリをアップデートするためにやったこと

notch_man8600 notch_man

「なんてこった!このライブラリはこの先のPHPでは動かない!」
サービス開発の現場では新機能の追加やクリティカルなバグ修正が優先されて中々ライブラリのメンテナンスまで手が回りませんよね?
そしてある日に「このライブラリはPHPのバージョンアップ動かない」なんてことが起こってしまいます!

このトークではそんなライブラリの中でも「影響範囲がサービスの画面ほぼ全部」という超ド級の物体のリファクタリングまでの道のりを紹介しつつ、広大な影響範囲のライブラリを置き換えるまでの戦略立てから実装までのノウハウをお話します。

サービス全体が影響範囲のリファクタリングなんてやりたくないですよね?でも、本トークを聞けば「どれだけ大きなレガシーコードでも向かい続ければ必ず直せる」という可能性を感じて貰えると思います。

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

若手エンジニアが担う大規模サイトのお問合せ対応

ただ。

サイトにくるお問合せの約80%を若手エンジニアチームで対応奮闘中!!

"お問合せ対応はレスポンスの速さが大切"だと思っています。
そんな中、メールでお問合せを集めていると調査に必要な情報が記載されておらず、
まず認識のすり合わせからと調査開始までにかなりの時間を要していました。
また、メールの通知に気づかなかったり気づいてもらえなかったり。
同じお問合せ内容を何度ももらったりと、お問合せ側も対応する側もハッピーに慣れない日々...

そこで、メールのテンプレートで欲しい情報を記載し、送ってもらうことに!
しかし、テンプレートが普及せず結果変わらず。
次こそはと、slackのワークフロー機能を用いてお問合せを貰うように!対応開始までの時間や、やりとりもスムーズに変わりました。
ナレッジの貯め方、若手同士のサポートや先輩方との関わり、両者がハッピーになるように行った工夫などなどお話します!

2