PHPerKaigi2022は事前録画方式でした。それら動画を全チェックするパーソンによる、独断と偏見と主観によってまとめられた全トークの感想についてつらつらと語る動画です。
全部のトークを見きれないよ…という人、ぜひこのトークで全トークをキャッチアップし、タイムシフト再生など後日視聴の参考にしてください!
※動画内でも語っていますが、深夜のホテルで疲れたそして謎のテンションで一気に作成していますので、一部不明瞭、読み上げのミスがあります。ご容赦ください :bow: :bow: :bow:
スタッフ uzulla がPHPerKaigi 2022のスポンサーブースにお邪魔します。
オフラインで来場できない皆様の代わりに、やたらとやかましい人間がお邪魔して転送いたします!!!
最近、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ユーザが増えることを期待しています!(ねえよ)
巨大なPHP製モノリスアプリケーションにおいて、マイクロサービス化というアプローチでは上手く解決できなかった問題を、アプローチを変えて解こうとしています。何をどのように進めているのか、具体例を交えてお話します。
Cybernetically enhanced web apps【Svelte】とは、一つのファイルにJavaScriptとかCSSとかHTMLをまとめて書いてエイッ!ってやるとWebアプリになるあのReactとかVue的存在です。
ではなぜここでSvelteの話をするのか? それは、何か使ってみたら便利で楽しかったしこれは内緒にしておこうとおもったけど、使う人が増えたほうがもっと便利になるので、ぜひ皆様もこの春PHPにSvelteをCyberneticallyにenhancedしてWebをappsしてみませんか?
今回は次の2つの事例を5分間でご紹介します。
・SvelteをPHPの非同期アーマーとしてREST装着したアプリケーション
・既存PHPアプリケーションへの追加UIとして、HTMLタグのデータ属性でSvelteコンポーネントを接続
※非同期アーマーという言葉はありません。
「OKグーグル」と声を掛けると家の電気やテレビをつけてくれるGoogleアシスタント、みなさんお使いでしょうか。私は毎日大声でGoogleに話しかけています。しかし声を出すのもダルいときってありますよね。そんなときはプログラムからGoogleに話しかければいいんです。
ところでプログラムからGoogleアシスタントにアクセスしようと思うとPythonかGoの事例が多いんですね。Googleアシスタントの裏側はgRPCなのでPythonやGoが多いのは自然っちゃ自然ですけど、PHPもgRPCの正式サポート言語(クライアントのみ)ですから、やればできるはずです。
そんなわけで、本トークではPHPからGoogle Assistant APIを使って「OKグーグル」してみましょう。他の言語より少し大変だったりしますが、PHPだってgRPCで遊べるんです!
QAエンジニア業務をやり始めて4年目になります。
大規模では、テストの自動化やQA業務の課題を可視化させてワークフローの最適化を経験し、小規模では、ワンオペによる俗人化やそもそもQA業務がマニュアル化されていないQA環境の整備するなど、様々なQAの現場でQA業務を経験してきました。
最近では、QAメンバーの採用で苦戦しており、とくにエンジニア採用で苦戦している以上にQAエンジニアやテストエンジニアがいない問題が深刻になっています。
本トークでは、QAエンジニア奮闘記と題してこれまでとこれからのフリーのQAエンジニアとして奮闘する話ができたら嬉しいです。
20分のレビュラートークでは以下のように主にOOUIモデリングをエンジニアとデザイナで行う過程の話になっています。
40分の本トークではそれに加えてOOUIのモデリングをどう実装に落とし込んで幸せになったのかを弊社BASEでの事例を元にお話させて頂きます。
CakePHP 2 系のサポート終了に伴い、関わっているプロジェクトを Laravel でリプレースしました。
当時、 Laravel は触ったことがない状態だったものの、PHP のイベントを聞いて興味を持ちました。
Laravel は器用なことができるフレームワークだと感じていますが、その反面、Laravel を導入したばかりの時にはチームで決めていくことがいくつかありました。
また、 Laravel 化に合わせ、CI の拡充やインフラの整備、 PHP 8 対応なども進めたため、本トークではこれらの知見の共有を行う予定です。
チームで会話している時にデザイナとエンジニアでは同じ名詞に対してでも頭に浮かべているものが異なります。
デザイナはユーザのメンタルモデルを元に、エンジニアはシステム設計や要件を元に会話していることがほとんどだったので常にお互いの話が理解しにくく、デザイナをチームの中でも孤立させてしまっていました。
そのような問題を解決すべく、私のチームではエンジニアとデザイナで定期的にプロダクトに対してOOUIでのモデリングを行ってきました。
本トークではこの取り組みから以下のことをまとめて発表する予定です。
PHPでも型を付ける事で不意なバグを減らしながら、快適にプログラミングする事ができる静的解析ツールが開発されています。
また、PHPのヴァージョンが上がるにつれて型に関するサポートも充実してきており、現代のPHPは、昔のPHPの印象で語られる世界とは別の世界と言っても過言ではないでしょう
他の言語でも型システムが強力なしくみが導入されたり、強力な言語が話題になったりしていますが、フロントエンドフレームワークと通信する時など、言語を跨いだ型情報の共有に便利な仕組みがquicktypeです
PHPはquicktypeでの対応が現時点では無いのですが、有効に利用するための工夫を纏め発表します。
コーディングの中でいわゆる「共通化」について考えるとき、プロダクトコードとテストコードではやや違う観点が必要になるようです。テストコードを書き始めて間もない現場には「プロダクトコードは書き慣れているがテストコードには不慣れ」なメンバーが多く、レビュー時などにこの勘所をうまく説明できず困ることが時折ありました。
最近、DRY (Don't Repeat Yourself) 原則と対になる DAMP (Descriptive and Meaningful Phrases) 原則という概念に触れたことで、この状況を腑分けし言語化できるようになってきました。DRY と DAMP について最近考えていることをお話ししたいと思います。
コードフォーマッターや静的解析ツールなどを使ってコードレビューの手間を減らすことの重要性はしばしば強調されます。しかし、ツールによるコードレビューの自動化には、単なる工数削減だけでなく「意見の衝突、およびそれによる対人ストレスの緩和」にもどうやら効果があるようです。
「デウス・エクス・マキナ」パターンは、この仮説にわたしが勝手に命名したものです。この仮説に至るきっかけになった現場でのエピソードや、関連して考えていることについてお話ししたいと思っています。
フルサーバーレスな構成を取る場合、必要な様々なクラウドサービスの知識に加え
実践的な利用方法が求められます。
フルサーバーレスの恩恵を受けたいが、その第一歩が難しい。
その悩みをAWS Amplifyは解消してくれます。
AWS Amplify で出来ることをご紹介しながらReact + GraphQLで作成するログイン付きの
サンプルWebアプリケーションを作成する流れについてご説明します。
具体的な手法をなぞることで、
どの様にフルサーバーレスなアプリケーションを作成するかを学びましょう!
このLTではFFIやANTLRによる言語実装など、あらゆる手段を使ってPHPからGoを呼び出す方法を紹介します。
実用性は皆無です。
PHPを通じて技術を楽しむLTとなっております。
推測するな、計測せよ
パフォーマンスチューニングの文脈でよく使われる格言です。
ではこの格言を実際に実行するにはどの様な手法をとるべきなのでしょうか。
一言に計測と言っても、Webアプリケーションには
Webサーバー、アプリケーション、データーベース、フロントエンドと様々なレイヤーが存在します。
今回はWebアプリケーションを計測する第一歩を進める為に必要な手法についてお話します。
アプリケーションを計測する手法を知ることで、アプリケーションが内包している問題を見つけ、さらなる改善を進める一手にしましょう。
フルサーバーレスな構成を取る場合、必要な様々なクラウドサービスの知識に加え
実践的な利用方法が求められます。
フルサーバーレスの恩恵を受けたいが、その第一歩が難しい。
そのような悩みを、定まったフレームワーク上でフルサーバーレスな構成を簡単に実現出来るAWS Amplifyを利用することで解決出来ます。
今回はその流れについてReact + GraphQLで作成するログイン付きの
Webアプリケーションをバックエンドアプリケーションを開発することなく爆速で構築する手法について、
フルサーバーレスにしたことで得られたメリット・デメリットも含めてお話します。
Webアプリケーションはどうして動くのでしょうか。
ブラウザ等のクライアントから送信されたHTTPリクエストを契機に、
Webアプリケーションでは様々なレイヤーでの情報処理が行われます。
今回はその情報処理の流れをLaravelを例に追うことで、
Webサーバー、Laravelアプリケーション、データーベースと
レイヤー毎で行われている処理とそのレイヤー毎のつなぎ込み部分に迫ります。
HTTPヘッダーを含むHTTPリクエストの流れを追って、真にWebアプリケーションがどうして動くのかを知り、
必要な処理をどこに組み込むことが効果的なのかを知る一助になれば幸いです。
初心者も楽しめる、視聴者参加型の高速 LT クイズと解説です。
易しいレベルから、殆ど知られていない難しいレベルまでを4択クイズで高速 LT します。
チャットや Twitter などでどんどんお答えください!
初心者はプログラミングを始めていくと、記号が意外とググりにくいということに気づくと思います。
また他の言語を習得している上級者は、突然聞かれると一瞬他言語と混ざっちゃってわからなくなることがあると思います。
高速で問題を出されると、初心者も上級者も楽しめると思った次第です。
気分転換の頭の体操にいかがですか?
以下、例題です。これを問題文を読むところも含めて10秒程度で次々解いていくイメージです。
問題:べき乗 (例:2の3乗など)を計算する記号はどれ?
A. ^
B. **
C. ^^
D. 記号はない(pow() 関数で対応)