採択
2024/01/12 16:50〜
クリエイティブスタジオ
セッション(15分)

リリースフラグとプログレッシブデリバリーを活用した安全なWEBアプリケーションデプロイ

pyama86 P山

全ての開発者が避けたいのが、デプロイ後に重大なエラーや問題が生じることです。そこで当セッションではリスクを抑制しながら、柔軟かつ効率的に変更を適用する手法として、リリースフラグとプログレッシブデリバリーの活用法をご紹介します。

まず、WEBアプリケーションのリリースフラグの導入と基本的な運用方法を解説します。その上で、リリースフラグを用いた段階的なリリース、未公開の新機能のテスト、使用者に対する新機能の公開調整等、安全で効果的なデプロイのためのタクティクスを実例を交えながら説明します。
次にプログレッシブデリバリーに焦点を当てます。ローリングデプロイ、BGデプロイ、カナリアリリースといった、リスクを分散して新機能を安全にリリースする手法の具体的な活用方法について解説します。
このセッションを通じて、参加者の皆様がデプロイに関連する課題に新しい解決策を見つけられることを目指します。

採択
2024/01/12 17:15〜
クリエイティブスタジオ
セッション(15分)

文字とはなにか - PHPの文字コード処理について

youkidearitai てきめん

最近ではほとんど意識することなく文字でやり取りができていると思いますが、
例えば、時々何故か🙇と♂♀が分割してたり、「私の推しマークは🩵です、時々違う方がいます。気をつけてください」などと啓発しているアイドルさんだったりが居たりします。新しいiPhoneと古いスマートフォンなんかでよく起こったりするみたいですね。

これにはUnicodeがもちろん関係しています。
PHPはちゃんとUnicodeを扱えるのでしょうか?探ってみたいですよね?

本トークでは、PHPとUnicodeとの扱いについて追求していきたいと思います。

採択
2024/01/12 17:40〜
クリエイティブスタジオ
セッション(15分)

メールアドレス vs 俺たち

tadsan うさみけんた

現代のWebではメールアドレスをIDとしてアカウント登録するサービスが多くあります。

メールアドレスをIDにすることの是非については現代では異論もありますが、なんだかんだといってまだ主流の方法といってよく、Webサービスの生命線と言ってもよいでしょう。

「そんなのフレームワーク使えばすぐ作れるでしょ」

……そう思って、素朴に作った私たちを待ち受ける運命をいっしょに追体験していきましょう。

話す内容

  • メールアドレスの仕様と注意点
  • DNS
採択
2024/01/12 18:10〜
クリエイティブスタジオ
セッション(15分)

PHPからはじめるコンピュータアーキテクチャ

tomzoh 長谷川智希

現代のコンピュータはハードウェアから私たちプログラマが書くプログラムの動作までの間が多くのレイヤーに分けられて動作しています。
レイヤーは自分より下を抽象化し、下のレイヤーを詳しく理解しなくても多くの場合プログラマはプログラムを書けます。
一方、プログラムが期待した様に動作しない時には下のレイヤーの動作の理解が問題の解決の助けになることもあります。

このトークでは私たちが愛するPHPをスタート地点にして、「CPUによる"プログラム実行"」「 PHPやJavaとC言語の根本的な違い」など、コンピュータプログラムがどの様に動作するのかを解説します。

コンピュータのレイヤー構造を理解すると、いままでは見えていなかった角度からプログラミングを楽しめるようになります。
このトークを通じて、低レイヤーが好きになったり、いろいろなレイヤーで面白いことをしたりする方が増えることを期待しています!

採択
2024/01/12 18:35〜
クリエイティブスタジオ
セッション(15分)

善しと悪し、正と邪の軸から【要はバランス】の正体を探りにいく

chatii ちゃちい

みなさん、バランスとってますか?

世の中にはベストプラクティスやパターン、フレームワークが存在しています。
しかし残念ながら、それに従うだけではお仕事が進みません。
わかっていながらも、アンチパターンを取らざるを得ない状況もあります。
今日もどこかで誰かが、苦渋の決断をしてバランスをとっていることでしょう。

本トークでは、その「苦渋の決断」「バランスをとる」をするための考え方をお伝えします。
【要はバランス】と強い先輩たちは言いますが、その「要」にまとめられているのは一体なんでしょうか?
生活のなかから見いだした善・悪と正・邪を軸に、プロダクトの進化とバランスについて探りましょう。

対象は初心者・初学者の方や、どのようにクラスを分けたらよいのか決められないような脱初心者を目指す方を想定しています。

採択
2024/01/12 19:05〜
クリエイティブスタジオ
セッション(15分)

PHP で作られたゲテモノを色々紹介する(自作他作含めて)

sji_ch sji

PHP は Web を主戦場として発展してきた言語で、Web 以外はあまりおすすめしないというような紹介がよくされます。

果たして本当にそうでしょうか?

自作のもの、他作のもの含めて世の中には熱いパッションを感じる色々なゲテモノがあり、どれもみな愛すべき非常に面白いものたちなので、この機会にじゃんじゃん大紹介します。

採択
2024/01/12 19:30〜
クリエイティブスタジオ
セッション(15分)

闇のPHPに対する防衛術

突然ですが、皆さんの現場のPHPはバージョンはいくつでしょうか?

PHP8.0も(カンファレンス開催時には)EOLとなった今日。
CIで静的解析やユニットテストが回り、デプロイは自動化され、Rectorでライブラリは常に最新、エディタはPhpStorm一択!といった現場ばかりではないのがPHPの現場ですよね。

現実には様々なしがらみからレガシィ化してしまったコードベースは存在していて、そんな現場で奮闘するPHPerもいるはずです。
このトークでは3年前、現場に配属された時に絶望していた自分に対して教えたいと思う明日から使える(かもしれない)取り組みを紹介します。

採択
2024/01/13 11:00〜
クリエイティブスタジオ
セッション(15分)

「DI」と仲良くなる

akai_inu やまゆ

こんにちは。やまゆです。

みなさん、 new してますか?私は、最近はあまりしていないです。なぜなら、インスタンス化はほとんど DI コンテナ に任せてしまうからです。お客様のプロダクトにも DI コンテナが含まれているのではないでしょうか?活用出来ていますでしょうか?

Dependency Inversion 、つまり 「依存性の逆転」 をすることで、より疎結合で柔軟性の高い設計を行うことが出来ます。
それを実現する Dependency Injection 、つまり 「依存関係の注入」 をするのが DI コンテナ です。

今回は以下の内容を話してみたいと思っています。

  • Dependency Inversion と Dependency Injection
  • DI コンテナ
  • DI コンテナを自作してみよう
採択
2024/01/13 11:25〜
クリエイティブスタジオ
セッション(15分)

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

koyhoge 小山哲志

2023年はコロナ禍から日常が戻り始め、様々なテックカンファレンスが開催されて、その楽しさや重要性を皆が再確認した年でした。それを受けて2024年は各地でPHPカンファレンスの開催が予定されています。

2018年と2019年に全国で開催されたPHPカンファレンスにおいて、紙の台紙を用いたスタンプラリー企画を私は実現しました。せっかくなので2024年もなにかやりたいのですが、台紙の用意やはんこの発注など面倒な作業が多いので、以前と同じ方法は取りたくありません。

そこでスタンプラリーをウェブサービスとして実装し、みなさんに使って頂くことにしました。PHPカンファレンス北海道2024はその初お披露目になる予定です。果たして快適に動作するのか、乞うご期待。発表ではその技術解説やインフラ構成についても話す予定です。

9
採択
2024/01/13 13:15〜
クリエイティブスタジオ
セッション(15分)

例外を投げるのをやめてみないか?あるいは受け入れてみないか?

uzulla uzulla

例外は投げるもの、そうおもっていませんか?

「PHPにおいて、例外は値である」

つまりは様々な事ができるはずである。先入観を捨てません?

ということで、禁書指定、あるいは私が糾弾されそうなトークをしてみたいと思います。

※ このトークは上級者・異端者向けです

採択
2024/01/13 14:35〜
クリエイティブスタジオ
セッション(15分)

ベテランのバグ調査の秘訣、こっそり教えちゃいます

77web 菱田裕美

みなさん、バグ調査は好きですか?新人の頃にバグ調査がなかなか上手にできなくて手間取っている間に、ベテランの先輩が鮮やかにやりとげるのを見て、落ち込んだ経験のある人も多いと思います。
このトークではPHPer歴そろそろ18年の私の、バグ調査の時の目の付け所・思考過程を解説することで、バグ調査が苦手な方向けにやり方とコツをお伝えします。

採択
2024/01/13 15:00〜
クリエイティブスタジオ
セッション(15分)

失敗例から学ぶSOLID原則

asumikam asumikam

オブジェクト指向プログラミングにおいて重要な概念となる「SOLID原則」 。
本セッションでは、自分が違反して書いてしまったコードを例に、SOLID原則を紹介していきます。

  • どのSOLID原則に違反しているか
  • 違反がもたらす具体的な問題
  • 正しい実装

多くの書籍でSOLID原則に関する具体例が示されていますが、このセッションでは「実際の失敗例」を通じてSOLID原則を理解していただこうと考えています。
自分がミスってしまった実装例を、時間の許す限り赤裸々に公開します!!

採択
2024/01/13 16:05〜
クリエイティブスタジオ
セッション(15分)

測って見直す開発習慣 可視化を進めて私たちに起きた変化

inoco

このトークではシステム開発用スマートウォッチ的なものの話をしたいと思います。

健康を求め、私たちはジムに通うなどします。そして、体重、心拍数や消費カロリー等を測って成果あるいは体調を確かめます。そう、私たちは自身ことを思いの外わかっていないのです。だから私たちは測ります、私たち自身を。そして、メニュー、頻度、強度を変えるなど、習慣を見直すことでなりたい自分を目指します。

システム開発も似ています。「事業を成長させたい!ガシガシ開発を進めたい!」私たちは願い、勉強したり、開発プラクティスや技術を導入するなど工夫します。でも実際のところうまくやれているのか、私たちにはわかりにくいものです。だから私たちは測ります、私たちの活動やシステムを。

このトークでは、Four Keys等を用いてどのように可視化を進めたか、何が分かり、習慣をどう見直し、開発における体験がどう変化したかを共有します。

採択
2024/01/13 16:30〜
クリエイティブスタジオ
セッション(15分)

リーダブルSQL[より良いSQLを書くためのシンプルで実践的なテクニック]

820zacky つざき

リーダブルコードでは、このような定理が紹介されています。
「コードは他の人が最短時間で理解できるように書かなければいけない。」(Dustin Boswell リーダブルコード P.3 より引用)

皆さん、めちゃめちゃに長いSQLや、サブクエリのネストが深すぎて眩暈がするような難解なSQLを読んだことがありますね? 書いたことがありますね? 僕は、あります。

そこで、本トークではどうしたらリーダブルなSQLが書けるかというアイデアを紹介します。

採択
2024/01/13 16:55〜
クリエイティブスタジオ
セッション(15分)

コードを計測することで捉える問題点

blue_goheimochi 大橋 佑太

コードの問題点は見た目には分かりにくいことがあります。

知らず知らずのうちに悪いコードが増え、気付いた時には『レガシーコード』と呼ばれるような状態になっているかもしれません。

そこで、問題点に気付くための1つの方法として、コードを計測する方法があると考えています。コードの計測によって得られる情報は多岐にわたり、コードのサイズ、重複コードの有無、コーディング規約の遵守状況、循環的複雑度、エラーの有無などが含まれます。これらの情報を分析することで、コードの状態を知ることができます。

ただし、計測した数値は必ずしもそれ単体で問題点を示す訳ではありません。そのため、他の数値と組み合わせたり、実際にコードと対比して判断・行動することが重要です。

本トークでは、特にコードをツールで計測することによって得られる結果に着目し、コードの改善にどのようにアプローチするかをお話しします。