あるアプリケーションをコンテナ化することになりました。
Composerの使い方を試行錯誤していく中で「ど、DockerfileでのComposerの記述は、色んなパターンがある・・・!」という学びと、彼らとの絆を得ました。
そして自分の中でなんとな〜く使っていたComposerのことがほんの少しわかるようになりました!
「なんとなくcomposer install打ったらいい感じになるよね」「なんかDockerfileに書いてあるよね」という方が、このセッションを聞いてComposer、そしてDockerfileともうちょっと仲良くできるような発表をします!
話そうと思っていること
■ Composerってなんだっけ?
■ Dockerfileにどうやって書こう?
■ 最終的に採用した方法とその理由
「オブザーバビリティ」や「可観測性」という言葉は、耳にしたことがある人は増えてきていると思います。
あるいは、「全く知らない、想像もつかないよ」「また新しい "ナンチャラlity" が出たんですか?」なんて人も多そうです。
PHPを趣味や仕事で使っている人は、Webサービスやモバイル等のバックエンドを提供しているケースが中心でしょうか。
「今もどこかの姿が見えない誰かが使っているかも知れない」「その人たちが、自分たちが提供しているサーバーにアクセスしている!!」
というのが、Webサービスの難しさであると同時に単純・嬉しいところでもありますよね。
すなわち、「何が起きているか」は「自分たちの目の届く所に集約されている」と。
オブザーバビリティとは、「いかに状態( = 上手くいっていること・問題が起きていること)が把握可能になっているか」という性質です。
放っておいても実現されるものではありません。
意識して、設計して、運用して・・・初めて手にすることができるものです。
これは単なる「ツール」「技術」の話ではないのです。
チームないし文化まで含めて、「どう向き合っていくか」を突き詰めた先にオブザーバビリティがあると考えています。
本セッションでは、「継続的に、かつ自信を持ってサービスを提供し続ける」ために大事なことを、
書籍「Observability Engineering」の内容をベースにしながら紹介していきます。
「SRE」「インフラ」「運用」 ではない 人達に向けた 、どうしてアプリケーション開発者が向き合っていくべきなのだろう・・?という話です。
こんにちは。やまゆです。
みなさん、 new
してますか?私は、最近はあまりしていないです。なぜなら、インスタンス化はほとんど DI コンテナ に任せてしまうからです。お客様のプロダクトにも DI コンテナが含まれているのではないでしょうか?活用出来ていますか?
昨今の PHP は今や素晴らしい言語になっていると感じています。その一つが private readonly SomeRepositoryInterface $someRepo
とコンストラクタに書けるという話です。
今回は以下の内容を話してみたいと思っています。
こんにちは。やまゆです。
そこの方もあちらの方も、一度は 「PHP でフレームワーク作りたい」 と思った、または 実際に作ってみた のではないでしょうか?
私も例に漏れずフレームワークを作っていました。それも 二つ 。
メンテナンスはしていないですし、そもそもプロダクトに採用していません。 完全に趣味 です。
では、何故作ったのか?使わないものを作るのは一見無駄に見えますが、実はとても重要な作業だと私は考えています。
今回はこの三点を共有したいと思います。
みなさんPHP書いてますか?
書いているということは皆さんVimmerなんですね、わかります。
今回VimでPHPを書いている僕が、皆様にVimのPHP コーディングで使っているプラグインをただただ紹介したりします
それ、Vimで出来るよ
免責事項:みんなが自分の好きなエディターでコーディングをするのがいいと思います。
世の中には様々なふりかえり手法がありますが、
みなさんは「象、死んだ魚、嘔吐」というふりかえり手法を知っていますか?
めちゃくちゃキャッチーなタイトルで聞いた時からやってみたかったふりかえり・・・。
ついに機会を作ることができて、実施してみました!
このふりかえりのオススメタイミング・やる際に工夫したポイントなどを、実体験をもとにご紹介します!
HTTPとPHPは切っても切れ離せない関係があります。
PHPもその周辺のミドルウェアもHTTPを正しく理解することで、さらにその力を発揮する事が出来ます。
そんなHTTPに関するRFCが2022年6月に新たに公開されました。
HTTPは実際にどのようなメッセージを送信、受信していてそのメッセージにはどのような意味が込められているのか、
PHPerにとって知っておくべきHTTP仕様をこのタイミングでRFC911*から振り返ってみましょう。
フレームワークの利用方法がわからない…
そんな時にドキュメントを見に行くことになると思います。
フレームワークが内部で何をしているかは理解できないけど利用方法はわかる。
今回はそこから一歩踏み込む為にソースコードリーディングをオススメします。
利用方法がわかることはもちろん、
PHPのフレームワークの内部で行われている処理の理解や
Webアプリケーションが行うべき振る舞いについて学ぶ事が出来るので
より確実にフレームワークを利用することが出来る様になります。
今回はLaravelに関してのソースコードリーディングを例に、
フレームワーク作者の追体験をしてみましょう。
Webアプリケーションを運用する上で、監視の仕組みは欠かせません。
それはWebアプリケーションとして動作する事が多いPHPでも変わりません。
SREの文脈で特に重要性が高まるアプリケーション監視ですが、世の中には様々な監視サービスが存在します。
今回は特にAmazon CloudWatchをコアに据え、どの様にWebアプリケーションを監視する事が出来るのかを考察します。
PHP利用したアプリケーションに対してAWS以外のオンプレミスも対象とした、
コストメリットも含めた監視サービスについてお話します。
フルサーバーレスな構成を取る場合、様々なクラウドサービスの知識に加え
実践的な利用方法が求められます
またAWS上でフルサーバーレスなアプリケーションを作成しようとしても、
AWS LambdaのネイティブランタイムにPHPはありません
フルサーバーレスの恩恵を受けたいが、その第一歩が難しい
その悩みをAWS Amplifyは解消してくれます
普段はPHPで実装するバックエンドをAWS Amplifyに任せることで、
React + GraphQLで作成するログイン付きのサンプルWebアプリケーションを作成する流れについてご説明します
具体的な手法をなぞることでフルサーバーレスなアプリケーションを作成手法を学びましょう
過去に数回、PHP系のカンファレンスで非同期処理について解説しました...が!「中身なんてどーでもいいんだよ!明日から使えるコピペできそうなやつくれよ!」って言われたので、すぐ使えそうな非同期テクニックを何個か紹介します!
日本でも大人気のウェブアプリケーションフレームワーク「Laravel」
ある程度のデータ量までは、割と速い速度で動いてくれる Laravel をあの手この手で低速化させてみようという試みです。どのようなコードが Laravel を低速化させるのかを学ぶことで、逆説的に Laravel の速度劣化を防ぐソースコードの考え方が身につきます。
このトークでお話すること
B+木というデータ構造をご存知でしょうか?RDBMSでよく採用されているデータ構造で、ディスクの効率的な利用や、検索を行いやすいなどの特徴があります。しかし、耳学問で聞いてみてもイマイチ特徴がピンと来ないのです。
本トークでは、PHPでB+木のデータ構造を実装して、RDBMSでB+木が採用される理由、インデックスの構造的な仕組み、何故検索が速くなるのか?などなど、データベースの仕組みの根幹を覗いてみましょう。
このトークでお話すること
PHP 7.4 から FFI がサポートされるようになりました。これまで、Cのライブラリを経由して何がしかの処理を行う場合は、PHP拡張を作るしかありませんでしたが、FFIを使うことで、直接PHPからCのライブラリをコールすることが出来るようになりました。
このLTでは、Webカメラの操作を題材にしてPHP-FFIが開くPHPの新しい可能性について紹介します。
2022年の4月から、ふと思い立って PHP のメーリングリスト(Internals)と PHP のバグイシューを全部読むという行動を初めました。最初はしんどかったのですが、段々と体が慣れてきて、ついには週1で Youtube Live でまとめを発表できるようになりました。
本 LT では、一体なぜそんなことをしているのか?そして、これをやるとどうなるのか?をお伝えします。
phpは毎年新機能が数多く追加されています。
新しい構文や式が追加されることによってphp開発者の開発体験が上がっている一方、
誰かがその開発体験を支える対応をしているはずです。
具体的にどういう対応が必要なのか、LSP、Emacs、package managerの対応等を例に話していこうと思います。
LaravelのデフォルトビルドツールがViteになることはみなさんご存知でしょうか?
webpackよりも速くなると言われていますが、実際にどのくらい良くなるのか気になりませんか?
この発表ではLaravel Mix とViteの性能比較した結果を分かりやすくご紹介させていただきます!
はたしてViteは私たちの開発体験をどのくらい快適にしてくれるのでしょうか!?
▼こんな方におすすめ
・Laravelで開発経験のある方
・Viteがどんなツールのなのか知りたい方、気になる方
現在、正規化という手法はDB設計においてよく知られている手法となっています。
しかし、現場では以下のようなテーブルを見かけることは珍しくありません。
・1 つのカラムに複数の値が入ったテーブル
・カラム数が多いまたは、1 つの情報変更で更新処理が多く必要なテーブル
・JOINすると期待通りの結果が得られないテーブル
これらは低次の正規化により一定解決できます。もちろん闇雲に分割すればいい訳ではなく、
正規化の概念を正しく理解した上で分割を行う必要があります。
そこで本セッションでは、リレーショナルデータモデルが集合論に立脚していることから、数学的背景に着目して第1〜第2正規化について紹介します。
具体的には、RDBの用語(候補キー・関数従属性・情報無損失分解・正規形)を適宜厳密に解説しつつ
実際の正規化の例を通して、PHPer が向かうべきテーブル分割の手法を持ち帰っていただきます。
今回参加されている皆様は、普段のお仕事でPHPでWebアプリケーションを書いている方が多いと思います。
しかし、どのような仕組みでサーバ内でPHPが動作してブラウザに返却されているか正確にイメージできている方はいますでしょうか?
この仕組みについて、実際のコードを交えながら時間の許す限り解説をしていきたいと思います。
背景色と文字色の見やすさについて、なんとなく経験や見た目だけで判断していませんか?
デザイナーではないエンジニアだからデザインについて敬遠していませんか?
この LT では、W3C の Web Content Accessibility Guidelines Working Group のガイドラインを参考に、計算した数値を基に背景色に対して見やすさの指標を算出し判断する方法をご紹介します。
計算方法さえわかってしまえば、なぜ「赤 RGB(255,0,0)」は「白 RGB(255,255,255)」や「黒 RGB(0,0,0)」どちらとも相性が悪いのか?数値を基に分かるようになります。
最後に、この LT を通じて WCAG ガイドラインを参考に、エンジニアもより良いデザインを体系的に学ぶきっかけになれば幸いです。