Composer使っていますか?使ってそうですよね!
パッケージマネージャーの魅力は、
「色々な環境や操作者に対して、画一的な成果物(依存解決)を提供できること」はもちろん、
「継続的なメンテナンスやアップデートを実現容易にすること」にもあると考えています!
前者はcomposer.lockによって自動的に実現され、後者は「良いcomposer.jsonを作ること」が肝です。
そして、composer.jsonの美しさが、Composer中級者としての実力を語るのではないでしょうか!?
このトークでは、私が「実際にComposerを使っているプロジェクトに関わる際に、意識していること・使っているツールや操作」を紹介します
AST, ASTというがASTって何かね?
恐らく今や多くの現場でPHPStan, Psalm, Rectorなどの静的解析ツールが利用されているのではないでしょうか。その縁の下にはPHP ParserがいてASTをせっせとつくっています(なんならPHP自体もですがそれはさておき)。PHPの開発現場においてそれは謂わば空気。欠かせないものですが、私たちがそれのことを気に留めることはほとんどありません。
ところで、概念を理解したい時、具体例を確認するという方法があります。そこで、PHPのコードを分析して生成したASTを図示して見える化したいと思います。PHP Parserを用いてAST可視化ツールを実装してみます。せっかくなのでこの9月にpre-releaseなBeta版として公開されたversion 5.xを使ってみます。
PHP Parserから見たPHPの世界をあなたものぞいてみませんか?
このトークでは、ASTを見ます。見ることで理解に迫ります。年に1度、5分だけ、1年分の感謝を込めてASTだけを見つめPHP Parserに想いを馳せる。そんな時間にしたいと思います。
2023年10月16日のChromeアップデートによりHTTPSファーストモードがデフォルトで有効になり、httpでアクセスするとhttpsに自動的に誘導されるようになりました。
このモードによってHSTS(Hypertext Strict Transport Security)ではないサイトでもhttpでアクセスするとChromeが勝手にhttpsにリダイレクトします。(特定条件で)
リダイレクトもWebサーバにリクエストを飛ばさずにChrome内部で307リダイレクトのレスポンスを擬似的に返します。
このようなChromeの独自世界観がインターネットに溢れ出すようになった令和の時代を生き抜くため、今回のChromeの動作の条件、動きの詳細を解説します。
参考ツイート
https://twitter.com/cakephper/status/1719275453943525571
参考ブログ
https://blog.ichikaway.com/entry/chrome-307-https-first
テストコードの品質は、開発プロセスにおいてとても大事です。
その中でも、適切なAssertionメソッドの使用は、テストコードが読みやすく理解しやすいものにする一歩と言えます。
私は読みやすいテストの一歩は「適切なAssertionを使うこと」だと思っています。
いつも「assertSame」にしちゃっていませんか?Assertionメソッドはたくさんあります!このトークで学んでいきましょう!!
みなさんは、PHPでOfficeファイルを取り扱いと思ったことはありますか?
もちろん、ありますよね?
このLTでは、PHPでOfficeファイルを取り扱う方法と、実際にどのようにプロダクトに使用しているかをお伝えします!
このLTで話すこと
・PHPOfficeライブラリの基本的な使い方
・読み込んだOfficeファイルをどのように利用したか
・PHPOfficeライブラリの難点
話さないこと
・Officeファイルの仕様
・PHPOfficeの細かい使い方
このLTを聞いて、みなさんもPHPでOfficeファイルを扱えるようになりましょう!
ユーザー数も1万人越えのモバイルアプリ(Flutter)のバックエンドにLaravelを採用して早や4年。
振り返れば
「ああしておけばよかった、、、。」
「ここが考慮できていれば、、、。」
といった悲しい「業」を残して来たと思います。
そんな「業」を新しく羽ばたく皆様が背負わないように、「技術的な側面」と、「上流的な側面」の両方の視点でここに失敗談を記し、皆さんの糧にしてもらいたいと思います。
アプリケーションのパフォーマンス改善目的で、データベースのカラムにインデックスを作成することはよくあるでしょう。
でも、インデックスにはいくつかの種類があることをご存知でしたか?
本トークでは MySQL の公式リファレンスをベースに、インデックスの種類とその使い方をおさらいしていきます。
知っているインデックスの種類が増えると、データベースのパフォーマンスをより引き出せるようになる、かもしれません。
話者はPHP Conference Japan 2022にてHTTP3について調べた結果「スゲー!」ってなりました。
この体験を皆さまにスピーディーに体験していただくために、
HTTP3のいいところを仕組みにちょっと触れながらライトニングに話します。
細かいことは良いんです、HTTP3スゲー!ってなって欲しいんです。
その結果、HTTP3やってみるか〜!というモチベーションに繋がる事を望んでいます。
HTTPとPHPは切っても切れ離せない関係があります、その世界に酔いしれましょう!
当時、自分の所属する組織では品質チェックのツールが何も入っていなかったため、
PHPStanやPHP CodeSnifferを導入しようと考えました。
ただ、受託開発の場合はとにかく作って終わりのシーンも少なくなく、
中々継続的な改善やチェックツールの導入にメリットを感じてもらえないシーンが多々あります。
それでもメリットを伝え、導入自体はできましたが失敗したことも多く、反省点が色々と見えてきました。
このLTでは導入しようとして失敗したこと、反省して改善したことや現在の状況等をお話しします。
皆さんAPIテストを行っていますか?
E2EでAPIテストを行う際に、カバレッジをどう測定すれば良いか?悩まれる方が多いかと感じています。
APIテストにおいてのカバレッジは2つの意味を持ちます。
2つのカバレッジについて、それぞれ意味とその取得方法について紹介いたします。
APIテストで効率的にカバレッジを上げる方法と、トレーサビリティーの確保を行うのに大変強力なツールにも触れてお話させて頂きます。
アプリケーション開発を行う際、OSS(オープンソースソフトウェア)はなくてはならない存在となっています。
そんなOSSにも脆弱性はあり、日々攻撃の脅威に晒されています。
私のチームでは、Garoon(ガルーン)という20年ものの製品をより安全に、そして継続的に提供するために、セキュリティの観点からOSSのアップデートを行っています。
このLTでは、私のチームでOSSのアップデートをどのような基準で行っているのか、ということについて共有します。
話すこと
ISUCON(イスコン)?Iikanjini Speed Up Contest(いい感じにスピードアップ コンテスト)?なんだか難しそう……!!私はよく分からないし、すごい人ばっかり出てるし、いつか分かるようになったら出ようかな?
そんなことを考えていましたが、2023年11月開催のISUCON13に初参加してきました!
1人のPHPerとして、1人のエンジニアとしてISUCONに参加して人生の楽しみが増えました。
このLTは、ISUCONって何?練習はどうやるの?当日はどうだった?てか、PHPでもできるの?という、1年前のワタシに向けたISUCON初心者向けの解説LTです!
もしかして、ISUCON次回は参加してみたいかも……!!という勇気の後押しが出来たら嬉しいです!!