ランサーズは10年以上利用されているクラウドソーシングサービスになります。
PHP7.3 + CakePHP2.10 までバージョンアップが完了し、引き続き、CakePHP2→CakePHP4へのジャンプアップを実践中です。
本LTではその内容についてお話いたします。
Discord Channel: #track1-slt5-lancers
AWS Fargateを利用した大規模サービス開発におけるインフラ設計のポイントや工夫していること、デプロイフローなどについてお話しします。
[想定する聴衆]現在Fargateを利用されている方、オンプレミスやEC2からコンテナサービスへの移行を考えている方
Discord Channel: track1-slt2-dip
株式会社M&AクラウドではPHP、LaravelとAWSを使ってM&Aのマッチングプラットフォーム「M&Aクラウド」を開発しています。サービスリリースから徐々にアプリケーションとして成長していく過程でどの様な技術を組み合わせて課題を解決してきたかを、短い時間ですがご紹介させていただきます。
Discord Channel: #track1-slt4-macloud
ローンチ当初は少人数で依存や実装に関するルールを整備せず、都度コミュニケーションを取りながらスピード重視の開発をしてきました。結果サービスは急成長し、開発人数も増えてきたため、アーキテクチャの導入を進めることとなりました。
アーキテクチャ導入前にはどういった問題があり、導入後はどのように変わってきたのかをお話します!
技術レベルは初心者〜となっております。同じような状況に置かれている皆様のご参考となれば幸いです。
Discord Channel: #track1-slt3-カカクコム
5Gは色々なトピックで話題になっています。皆様も5Gに繋がっていますでしょうか。
5Gは無線、コアネットワーク共に4Gから大きな技術的進歩を遂げています。
モバイルネットワークの技術はWi-Fiにもその技術が応用されるようになりました。
本セッションでは、5Gの無線、コアネットワークの進歩とそれによって私達がどう幸せになるのかをお話します。
トラーナのビジョンである幸せな親子時間を増やすことに絡めてお伝えできればと思います。
Discord Channel: #track1-slt1-トラーナ
2021年8月に開催された「ISUCON11予選」に参加してきました。
GopherやRubyistが巣食う予選で、PHPerはどれだけ成績を残せたのでしょうか...!
本トークでは、予選に参加する過程で生まれたエピソードや成果をご紹介します。
例えば、以下のような話題を扱う予定です。
PHP-FPM(FastCGI Process Manager)の設定項目を「なんとなく」「デフォルトのまま」にしていませんか?
不適切な設定は充分なパフォーマンスが発揮できないばかりか、障害の原因にもなりかねません。
本発表では PHP-FPM の子プロセス制御方法と設定項目の意味、適切な設定値の判断方法について説明します。
スタッフに興味あるけど「スタッフってつよつよエンジニアばかりなんじゃないの?」とか「自分なんかにできるのか?」なんて不安を感じて応募を躊躇ってしまっていませんか?
いつもお世話になるばかりだった私が、当日スタッフに応募しようと思った動機と、実際にやってみてどうだったかという話をしたいと思います。
そして「次回は応募してみようかな」と思った方が一人でもいたら嬉しいです。
【トーク対象】
・LaravelのSessionについて知りたい
・障害発生時の原因特定から対策までの流れが聞きたい
【分野】
運用、データベース
【トークの概要】
webアプリケーションでCookieを利用したSession管理を行うことが多いと思います。
最近のフレームワークはSessionをとても簡単に活用できるためその維持管理について特に考えないことが多いです。
Laravelで構築したwebアプリケーションで、急激な性能劣化が発生して原因の特定と対策をすぐに行わなければいけない状況が発生しました。結果的にLaravelのSession設定を変更することで劇的にパフォーマンスが改善しました。
本セッションでは、なぜSessionが原因で性能が劣化したのか、また改善した理由について、経緯を踏まえてお話します。PHP/Laravelでのセッションの大まかな仕組み、性能劣化の要因、対策方法について説明します。
開発したプロダクト、その価値を届けるにはいわゆるDeployを行わなければなりません。
このLTでは、デプロイ先の環境でアプリケーションがDocker上で稼働することを前提として、
デプロイ時に利用できる便利なCLIツールをいくつか紹介します。
現場によって様々な事情やユースケースがそれぞれあると予想されるので、「こういうときに使うのが適切」という観点での事例や見解を交えてお話しします。
プロダクトに関わる皆さんの今後の運用・成長に有益となる情報を提供できれば幸いです。
2021/8/7 時点では、ecspresso・copilot・jsonnet・direnv 等を紹介する候補として想定しています。
2021/10/3 追記: Reveal.js 版スライド -> https://kutt.it/53AoU3 (シークレットウィンドウで開くのを推奨。履歴が増殖するので)
みなさんのアプリケーションのデプロイは高速ですか?
昨今のWebアプリケーション開発では、UIはVue.jsやReactなどを使ったSPAとして提供し、PHPはAPIとしてデータを提供してSPAと連携する構成がよく見られます。
ただ、この構成で長く提供されているWebアプリケーションであればあるほど、UIの変更や更新が頻繁に行われるSPAのコードの中身は複雑になり、ビルドが少なくない時間を取ってしまってデプロイフローの開始から完了までの時間が長くなってしまう問題が発生してきます。
今回は、そういった課題が発生したWebアプリケーションのデプロイを高速化するために、PHP側の改善はもちろんのこと、フロントエンド目線でnode_modules周りやフロントエンドビルドツールまで手を加えた際のTipsをお話できればと思います。
このトークをお聞きいただき、高速なデプロイを手に入れて、高い開発体験とWebアプリケーションを使ってくださるユーザーさんに対して価値提供の高速化を実現する一助になれば幸いです!
PHP Conferenceの参加は初で、大きいカンファレンスでの登壇経験は浅いので、なにとぞお手柔らかにお願いします!
PHPといえば、Web開発。
Web開発と切っては切り離せないのが「データベース」と「SQL」です。
このトークは、オライリー・ジャパン出版の名著「SQLアンチパターン」で紹介されている25のアンチパターンを「超特急」で学ぶものです。
わずか4分のLTで、25個のアンチパターンをおさらいします。
東京2020オリンピックのピクトグラムパフォーマンスのようなスピード感のある超特急LTをお楽しみください。
大事なところだけをギュッとして、明日からすぐ使える知識としてお届けできたら幸いです。
PHPerKaigi2021でベストフィードバッカー賞をいただきました。
これは「フィードバックの数 x 愛」が1番だったという賞ということでした。
カンファレンス中に合計21個のフィードバックを送っていました。
正直見たセッション全てには送れていないです。
実際みんなあんまりフィードバック送ってないのかな?と思ったのでこのLTの時間を使って
・フィードバックって大事だよね
・フィードバック送ってみようかな?
って少しでも多くの人に思ってもらおうと思いプロポーザルを投げました。
大きなカンファレンスでプロポーザル採択による登壇はしたことがありません。
よろしくおねがいします!
昨今のE2Eレベルのテストではその自動化テストのツールとしてSeleniumに代表されるようなブラウザ操作ライブラリが使われます。
Seleniumなどを使ったことがある人は多いでしょう?ではその裏側で行われている仕様については知ってますでしょうか?
本トークでは、PHPで実際にSeleniumのようにブラウザを動かすツールを自作するプロセスでそれらの仕様を理解する場を提供します。本トークで得られることは以下です。
本トークを経て、WebDriverについての理解が深まることで、ブラウザ操作の自動化についての技術的理解が一段深まるお得な4分間にいたします。
皆さんリリースの頻度はどれくらいでしょうか?
毎日、毎週、もしかして毎秒だったりしますでしょうか。
一般的に我々開発者が顧客に望まれるプロダクトを作るためには高頻度のリリースは必要不可欠です。
しかし、それを実現するためには完全に作り込んだ機能が実現できてないといけないのでしょうか。
今回は未完成の機能をプロダクション環境に混ぜ込むための、フィーチャートグルの概念、効能をご紹介します。加えてlaravelに組み込んだ例もご紹介します。
今年リリースされるPHPの最新バージョン8.1における機能強化・変更点を中心にPHPの開発に関する最新の情報,PHPコミュニティに関する話題について紹介します.PHPの最新動向に興味がある方向けに,初心者の方にもわかりやすい解説にしたいと思います.
Discord Channel: #track1-k-php2021
こちらでは初心者向けのPHPプログラマを対象にPHPのコーディング規約(PSR)と自動整形についてお話したいと思います。
自動整形ツール
php-cs-fixerとphp_codesnifferの挙動を一緒に見ていきたいと思います。
■アジェンダ
・そもそもコーディング規約はなぜ必要なのか
・PHPにおけるコーディング規約
・自動整形
・php-cs-fixerとphp_codesnifferの違いについて
少しでも皆さんの手助けになればと思います。
※サンプルはLaravelを使用したものになります
Discord Channel: #track1-sp-gmo
ユーザからのお問い合わせに対して適切な回答を行うことは、様々なサービスを提供する上でとても重要です。弊社ではその中でも技術的なお問い合わせについて、Slack上で問い合わせ担当エンジニアへ調査を依頼する業務フローが存在します。現在、問い合わせ担当エンジニアは当番性であり、担当領域以外の問い合わせについても対応しています。この業務フローに関して、新しいお問い合せのうち、一部は過去に対応したお問い合わせと類似したものや一致するものが存在し、回答の参考になることがあります。
本セッションでは、新しいお問い合わせについて、過去のお問い合わせから類似するものをAmazon Elasticsearch Serviceを使用して自動で抽出し、同時にKibela Web APIを使用して関連するドキュメントを検索した上で、Slackのスレッドに投稿するシステムについて導入した話を紹介します。
Discord Channel: #track1-a-base
自作フレームワークの話になります.
趣味で開発をする際にLaravelを多用していますが,Laravelの内部構造について「よくわからない」という感情を持ちながら利用しており,その内部構造を理解するために実際に自分でフレームワークを作りながらLaravelのようなフレームワークを作ってみるというお話をさせていただきたいと思っております.
他にも,オブジェクト指向や自作フレームワークについて,まだまだ勉強することはたくさんありますが,自分なりに実装をしてみたり,たくさんのかたに相談をして実装を進めており,その中で,これまでに得た知見を発表したいと思っております.
オブジェクト指向,フレームワークなどの初学者がメインとなりますが,ベテランの方からのフィードバックもいただきたいと思っているため,対象や分野は広く取りたいと考えております.
大きなカンファレンスなどに登壇するのは初めてです.
Discord Channel: #track2-1-a-build-framework
PHPのメジャーバージョンアップは変更点が多く、歴史が長くコードベースの大きなサービスでは対応に手間が掛かることが度々発生します。
弊社ではPHPのEOLを避けつつサービスの品質を担保するために、PHPのメジャーバージョンアップを2年に1回は必ず行っています。
そのため、今年EOLを迎えるPHP7.3からPHP8.0へのバージョンアップを行いました。
今回、対象となったサービスは2008年から続いてるレガシーシステムであることと、PHP8.0の変更点が多いことが重なり過去にないレベルの修正が必要となりました。
PHP8に対応するあたり発生する、次のような課題と、それに対する解決事例をご紹介します。
・影響範囲の調査と対応範囲の検討
・後方互換性の無い変更に対する対応
・静的チェックが難しい変更点に対する対応
・品質担保
息の長いサービスがPHP8対応する際に注意すべき点、大きな課題を発見した際にどのように解決したのかを具体的に紹介します。
これからPHP8対応を行う方々の一助となれば幸いです。
Discord Channel: #track3-a-php8-up