タグ

importantとphpに関するSeitekisyoujyoのブックマーク (5)

  • PHP8の機能を使って堅牢にコードを書く

    PHPerKaigi2024で登壇したときの資料です。 https://fortee.jp/phperkaigi-2024/proposal/ae2ded4d-8e7e-47a0-85d1-26a8c92308ac

    PHP8の機能を使って堅牢にコードを書く
  • 物流エンジニアが本気出して考えた Laravel のアーキテクチャ:リポジトリパターン - 1

    ゼロイチの開発で、Laravel 使うことになったプロダクトのソースが CHAOS-☆ な感じだったので、何とかしよう。 と思って、アーキテクチャを真剣に考えてみた。 その経緯や思想とか。 なお、完成版ではなく、以降も試行錯誤して改善していく予定なのであしからず。 (ちょこちょこ更新しています) 環境 PHP 7.4.11 Laravel Framework 8.15.0 Laravel の特徴(主観) フレームワークとしての枠組はありながらも、その枠組みは比較的緩く、開発初期にアーキテクチャを決めておかないと、あっという間にやゔぇぇえ事になってしまう。 が、「こういうアーキテクチャにしてみようかな」と思ったら、必要なパーツは既に揃ってたり、比較的簡単に実現できたりする。 「ガチガチの枠組みは用意しないが、どんなアーキテクチャを考えたとしても、それを構築できるようにしてあるぜ!」 という思

  • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

    PHPPythonRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 稿では3言語の連想配列の従来実

    PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
  • 分岐アンチパターン - Qiita

    「秩序のない分岐なんてほろんじまえ!!!!」 レガシーなシステムを触った時に、こう思ったことはあるのではないでしょうか。 私にもよくそう思うときがあります。 そんな絶望を生み出さないように分岐に関するアンチパターンと対策を考えてみました。 まず、なぜ生み出されるのかを書き出してみましょう。 秩序のない分岐 たくさんの分岐 →迷子になる ネストが多い →インデントが見づらい。 分岐ごとに条件が複雑 →覚えるのがつらい。 気づいたらスパゲッティコード →処理を追っている間にお腹が空き、スパゲッティをべちゃうので太る。 テストがしづらい。テストケースが作りづらい。 →テストをするためのテストが必要とか言い出してしまう。 ifだけに畏怖 →書きたかった。 分岐処理に出会った時、これだけの問題があることに気づきました。 私はもう絶望したくないし、私のように絶望する人を作りたくない。(そして太りたく

    分岐アンチパターン - Qiita
  • PHP - The Wrong Way

    概要 PHPプログラミングの世界では、ある一定のトレンドが「モダンPHP」として、一部の人によって (彼らの書籍やウェブサイト上で) 強烈に広められ、他のアプローチは、遅れていたり、愚かだったり、あるいは単に間違いだとみなされて、眉をひそめられています。 それらの人々は、彼らの物事のやり方を他人に追従させようと、飽くなき努力を続けているように見えます。 このウェブサイトは、PHP プログラミングに関する現実的な見解を示すために作られました。流行りのトレンド、理論、学問的な教示ではなく、経験と実践の帰着を書き記した視点です。 ウェブサイト PHP - The Wrong Way は生きたドキュメントですので、より多くの情報が明らかになるにしたがって更新され続けます。 お気軽にコントリビュートしてください。 翻訳 ドイツ語 英語 フランス語 日語 インドネシア語 トルコ語 ペルシャ語 ポルト

  • 1