並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 157件

新着順 人気順

"PHP 8.1"の検索結果1 - 40 件 / 157件

  • 社内で実施している「10分勉強会」のご紹介

    マナリンクCTOの名人です。 2022年3月頃から社内で実施している「10分勉強会」という取り組みと、実際の内容についてざっくり紹介していきます。 10分勉強会の目的 10分勉強会の目的は以下のとおりです。 すぐに実務で使えるかは分からないけど、知っておいて損はないことを先に学ぶ機会を作る 実務にて学んだことで、他のメンバーにも知ってほしいと思ったことを共有する機会を作る 前者については、たとえば「新しいバージョンのPHPについて調べてみた」といった、すぐには役立たないがいずれ使うであろう知識が挙げられます。後者については、たとえば「ある施策の実装をきっかけにCSSの◯◯プロパティについて学びなおした」といった例が挙げられます。 (ちょっとあまり上手な図解ではない気がしますが)学習機会の必要性について図解してみました。 エンジニアがある施策Aを実装するには、最低限これさえ分かっていたら実装

      社内で実施している「10分勉強会」のご紹介
    • PHPの脆弱性(CVE-2024-4577)を狙う攻撃について | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構

      注釈:追記すべき情報がある場合には、その都度このページを更新する予定です。 概要 近年、インターネット境界に設置された装置の脆弱性の悪用を伴うネットワーク貫通型攻撃が脅威となっています。IPA は、昨年8月に公開した「インターネット境界に設置された装置に対するサイバー攻撃について ~ネットワーク貫通型攻撃に注意しましょう~」脚注1、今年4月に公開した「アタックサーフェスの Operational Relay Box 化を伴うネットワーク貫通型攻撃について ~Adobe ColdFusion の脆弱性(CVE-2023-29300)を狙う攻撃~」脚注2 で注意を呼び掛けています。 そのような中、IPA では、The PHP Group が提供する PHP の脆弱性 (CVE-2024-4577) を悪用した攻撃による被害を確認しています。具体的には、国内の複数組織においてこの脆弱性が悪用され

        PHPの脆弱性(CVE-2024-4577)を狙う攻撃について | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構
      • Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です

        2022-09-09改訂: gcc バージョンが古すぎたのと、C が内部計測でなかった点を改め計測しなおしました。結果、Rust は C より速くはなくなりました。紛らわしいことで、ごめんなさい。また、gcc のバージョンアップに伴い、Python および Ruby についてはビルドと計測をしなおしたので、これらも少し速い値に変わっています。この点もどうぞあしからず。 2022-09-10追記:ご要望のあった Python numba.njit 使用時と Go の結果を追加しました。PHP は JIT 有効化が面倒だったので断念しました^^; 2022-09-10追記2:C の計測で clock() を使うのはフェアではないという指摘がありましたので、念のため clock_gettime() を使用したコードに差し替えました。結果に大きな差はありません。 2022-09-10追記3:PHP

          Pythonが速度改善に本気出すと聞いたので恒例のたらい回しベンチをとってみたら、RubyがYJITですごく速くなっていて驚いた話 - Smalltalkのtは小文字です
        • 【PHP8.1】PHPで簡単に非同期処理を書けるようになる - Qiita

          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? PHPは長きにわたり同期的、すなわち、あらゆる処理を上から順に実行していくというスタイルを取ってきました。 しかしたとえば、複数のURLからデータを取ってきて結果をまとめたいといった場合、時間のかかるHTTPリクエストは同時に投げたいですよね。 この用途にはGuzzleというライブラリが存在し、これを使えば同時にリクエストを投げられます。 しかし、ではHTTPアクセスとDBアクセスを同時にやりたい場合は? 時間のかかる計算を裏でやりたい場合は? などと考え始めると、こういった個別のライブラリでは対処しきれません。 ということで汎用的な非

            【PHP8.1】PHPで簡単に非同期処理を書けるようになる - Qiita
          • ハッカーがPHPの開発者になりすましてソースコードにバックドアを仕込んでいたことが判明

            オープンソースのプログラミング言語であるPHPの開発者らが使用していたGitサーバーに何者かが侵入し、PHPのソースコードにバックドアをしかけていたことが判明しました。ハッカーは悪意のあるコミットをプッシュする際、PHPの開発者であるラスマス・ラードフ氏らになりすましていました。 php.internals: Changes to Git commit workflow https://news-web.php.net/php.internals/113838 PHP's Git server hacked to add backdoors to PHP source code https://www.bleepingcomputer.com/news/security/phps-git-server-hacked-to-add-backdoors-to-php-source-code/

              ハッカーがPHPの開発者になりすましてソースコードにバックドアを仕込んでいたことが判明
            • PHPの改善 !== PHPのバージョンアップ | PR TIMES 開発者ブログ

              <? include("abc.php"); include("def.php"); include("conf.php"); include("db.php"); include("some.php"); include("what.php"); Define("NUM", 100); class super_calc extends great_calc { /* * * * コンストラクタ * * * * */ public function super_calc($initial_num){ $this->db = DB::getDb(DSN); $this->initial_num = $initial_num; } /* * * * チェック * * * * */ public add_ok($add_num){ $res = $this->addable($add_num);

                PHPの改善 !== PHPのバージョンアップ | PR TIMES 開発者ブログ
              • 【PHP8.1】PHP8.1の新機能 - Qiita

                PHP8.2 / PHP8.1 / PHP8.0 / PHP7.4 2021/11/26にリリースされました 2021/07/20、PHP8.1がフィーチャーフリーズしました。 言語機能に関わるような機能の追加・変更が締め切られたということです。 今後はデバッグを繰り返しながら完成度を高めていき、2021/11/25にPHP8.1.0がリリースされる予定です。 というわけでPHP8.1で実装されるRFCを見てみましょう。 RFC Fibers 賛成50反対14で受理。 Fiberです。 PHPで非同期コードを書けるようになります。 $fiber = new Fiber(function (): void { $value = Fiber::suspend('fiber'); echo "レジュームした。$value: ", $value, "\n"; }); $value = $fiber

                  【PHP8.1】PHP8.1の新機能 - Qiita
                • PHPからJavaScriptにデータを受け渡すときに考えること - Qiita

                  PHPのstringは任意のバイト列を扱えますが、JavaScript/JSONはUnicodeで扱える文字しか扱えません PHPのint / floatはプラットフォーム依存ですが、JavaScriptのnumberは整数と小数を型レベルで区別しません JSONのarrayに対応する型はPHPのarrayのうちリストであるものです PHPは配列(リスト)と連想配列を型レベルで区別せず、どちらもarrayです リストはキーが0からの抜けがない連番になっている要素が0個以上の配列です array_is_list()関数で連想配列とリストを判別できます array_values()で連想配列をリストに変換できます array_filter()の結果はフィルタされたキーがスキップされるのでリストではありませんが、結果をarray_values()に通すことでリストにできます JsonSerial

                    PHPからJavaScriptにデータを受け渡すときに考えること - Qiita
                  • OSSは決して遠い世界じゃない。2年前までコントリビューション未経験だった、PHPコア開発者からのメッセージ - Findy Engineer Lab

                    高町咲衣さんは、PHPコア開発者でありPHP8.4にて日本人として歴史上初めてのリリースマネージャーを務めた人物です。ほんの2年前まで、高町さんはOSSへのコントリビューション経験がゼロでした。「OSS開発は超人たちがするもので、自分とは遠い世界の出来事」だと、ハードルの高さを感じていたといいます。しかし、一歩を踏み出す勇気と日々の小さな積み重ねが、キャリアを大きく変えたのです。高町さんのこれまでの歩みには、エンジニアがOSSに挑戦する意義や成長のヒントが詰まっています。 BC Break修正から始まったOSSへの挑戦 ――まず、PHPのコア開発者やリリースマネージャーとして、どのような活動をされているのかを教えていただけますか? PHPコア開発者としては、主にPDO*1やBCMath*2を担当しています。PDOはコア開発者になる前からIssueを見ており、その延長でデータベース系の他の拡

                      OSSは決して遠い世界じゃない。2年前までコントリビューション未経験だった、PHPコア開発者からのメッセージ - Findy Engineer Lab
                    • Slim Framework と Docker を使って本格的にアプリを作ってみよう|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                      Slim Framework と Docker を使って本格的にアプリを作ってみよう はじめに Web アプリケーションの開発をするにあたっては勉強しなければならないことは多く、どう勉強すれば良いかはなかなか難しい問題です。初心者向けの解説は比較的たくさんあるのでとりあえずやってみるくらいは何とかなるものの、実戦的な開発がどうなっているかという総合的な話は実務を経験しないとわからないことが多いことでしょう。 ということで、本記事では最近流行の Docker と、そこそこ名前は見かける PHP のマイクロフレームワークの Slim Framework を使って実戦的な Web アプリの開発をしてみる(開発環境を作ってみる)こととします。実装的には、ドメイン実装としてユーザー登録、ログイン、ユーザー情報取得の3つのAPIを実装するところまでを取り扱います。また、静的解析を最大限活用してユニット

                        Slim Framework と Docker を使って本格的にアプリを作ってみよう|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                      • PHPの重大脆弱性を悪用した暗号通貨マイニング攻撃が急増中 – 日本の組織も標的に - イノベトピア

                        Last Updated on 2025-03-20 11:23 by admin サイバーセキュリティ企業Bitdefenderの報告によると、脅威アクターがPHPの重大な脆弱性(CVE-2024-4577)を悪用して、暗号通貨マイナーやリモートアクセストロイの木馬(RAT)を配布する攻撃が急増している。 この脆弱性は、Windows系システム上でCGIモードで実行されているPHPに影響し、リモート攻撃者が任意のコードを実行することを可能にする。 この脆弱性は2024年6月7日に公開され、CVSS v3スコアは当初9.8(最大10点)と評価されたが、後に6.9に下方修正された。影響を受けるのはPHP 8.3.8未満、PHP 8.2.20未満、PHP 8.1.29未満のバージョンである。 攻撃は主に台湾(54.65%)、香港(27.06%)、ブラジル(16.39%)に集中しており、日本も1

                        • 非公式 PHP 8.1のmbstringアップグレードガイド - てきとうなさいと。べぇたばん

                          PHP 8.1へのアップグレードにまつわるまとめ PHP 8.1へのアップグレードには、mbstringにまつわるマニュアルに記述されない後方互換性のない変更が含まれることがあります。そのことを周知するべく、この記事を書くことにしました。 私てきめんは、PHPカンファレンス 2022にて、「治っていくmbstring 令和時代の文字化け」というタイトルでトークしています。以下スライドも参考にしてください。 Major overhaul of mbstringについて PHP 8.1から、Major overhaul of mbstringと呼ばれる、mbstringの大規模改修の内容が反映されるようになりました。困ったことに、RFC(Request For Comments)やChangelog、マニュアルにない内容で、mbstringを多用するPHPユーザーにとてつもない困惑をもたらすこ

                            非公式 PHP 8.1のmbstringアップグレードガイド - てきとうなさいと。べぇたばん
                          • 【PHP8.0】PHP8.0の新機能 - Qiita

                            PHP8.2 / PHP8.1 / PHP8.0 / PHP7.4 2020/11/26に リリースされました 。 2020/08/04にPHP8.0がフィーチャーフリーズしました。 言語機能に関わるような機能の追加・変更が締め切られたということです。 今後はデバッグを繰り返しながら完成度を高めていき、2020/11/26にPHP8.0がリリースされる予定です。 というわけでPHP8.0で対応することが決まったRFCを見てみましょう。 RFC JIT 賛成50反対2で受理。 PHP8の目玉、JITです。 PHPをネイティブコードにコンパイルし、さらにコンパイルした結果を次のリクエストに使い回すことができます。 速度はOpcacheがオンの状態から平均的に1.3-1.5倍程度、さらにCPUバウンドな処理なら3倍以上という劇的な高速化が見込めます。 Opcache無しからだと、1分かかっていた

                              【PHP8.0】PHP8.0の新機能 - Qiita
                            • PHP: PHP 8.1.0 Release Announcement

                              Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

                                PHP: PHP 8.1.0 Release Announcement
                              • モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―

                                2021/12/21 PHPerKaigi petit - PHP8.1リリース祝賀会 でのトーク「モダンPHPテクニック 12選 ―PsalmとPHP 8.1で今はこんなこともできる!―」のスライドです。発表時点からごくわずかに加筆修正した部分があります。 https://phperkaigi.connpass.com/event/233022/Read less

                                  モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
                                • 誰でも囲碁の試合が楽しく観戦できるようになるカリキュラム

                                  つらつらと書いているが棋士と評価値観るだけなら1-7を飛ばして8からだけでOK。 1. ルールを覚える無料やさしい囲碁入門でルールを覚える https://yasashiigo.com/ 有料囲碁入門書籍を買って読む 2. とりあえずコンピューターと打ってみるぷよ碁(純碁ルール) https://puyogo.app/?size=7 囲碁道場(勝つ度にAIがレベルアップ、純碁ルール) https://www.simplego.net/ Go-Up(レベル選択あり。ガチャや称号などのコレクション要素があってソシャゲ好きに最適) https://go-up.online/ 碁色(危ない石は△、もうほぼ死んでる石は☓が表示されるので、初心者でも非常にわかりやすい) https://goiro.net/ 弱さぷよ碁>>>道場=Go-UP 3. 入門者から初心者へステップアップ囲碁道場やGO-UPで

                                    誰でも囲碁の試合が楽しく観戦できるようになるカリキュラム
                                  • AWS App RunnerがPHP/Go/.Net/Rubyのマネージドランタイムをサポート、コードを簡単にWebアプリ化してスケーラブルに実行可能

                                    Amazon Web Services(AWS)は、コンテナ化したWebアプリケーションのスケーラブルな実行を簡単に行える「AWS App Runner」で、PHP/Go/.Net/Rubyのマネージドランタイムをサポートしたことを発表しました。 App Runnerはコンテナ化したWebアプリケーションを簡単にデプロイし実行できるサービスです。オートスケール、ロードバランスなどの管理は全てクラウド側に任せることができるため、ユーザーはアプリケーションの開発に集中できます。 利用するには、コンテナイメージをApp Runnerにプッシュする方法に加えて、GitHubでソースコードをプッシュするとApp Runnerがそれを検知して自動的にコンテナ化し、実行してくれる機能も備えています。 ただしこれまではPython3もしくはNode.jsで実行可能なコードにしか対応しておらず、それ以外の言

                                      AWS App RunnerがPHP/Go/.Net/Rubyのマネージドランタイムをサポート、コードを簡単にWebアプリ化してスケーラブルに実行可能
                                    • ニコニコ動画のコメントサーバーを引っ越した時の話 - dwango on GitHub

                                      こんにちは。ニコニコ動画開発の多胡です。 今回は PHPerKaigi2023 向けの記事として、2021年に実施したニコニコ動画のコメントサーバーをお引越しした時のことを書いてみたいと思います。 文中の 5 つのフレーズをチャレンジトークンとしてみました。ぜひ探してみてください! (※ 記事の見出しにの横についている「#」はチャレンジトークンではありません。チャレンジトークンは文中に配置されています。紛らわしくてすみません!) 背景 実はニコニコ動画の #コメントサーバーを引っ越した のはこの時が二度目でした。 一度目は2014年から2016年にかけてのプロジェクトでファイルベースのシステムからの引っ越しでした。このファイルベースのシステムは、ニコニコ動画生誕当時から利用されており、当時のコメント参照や投稿にはすでに耐えられない状態になっていました。 そこで、このファイルベースのシステム

                                        ニコニコ動画のコメントサーバーを引っ越した時の話 - dwango on GitHub
                                      • 徳丸本2版の実習環境をDockerに移植した話 - Qiita

                                        PHPのバージョン 主なコンテンツ(脆弱なスクリプト)はPHP 5.3.3(CGIモード)で動いています。これは、古いPHPでないと発現しない脆弱性に対応するためで、代表的なものとしてNULLバイト攻撃があります。PHPは5.3.4以降でNULLバイト攻撃に対応したため、NULLバイト攻撃を体験するにはPHP 5.3.3以前のものを使う必要があります。一方、新しいバージョンのPHPが必要な箇所もあり、その場合はPHP7.0.27(Debian9標準パッケージのもの)を使い分けています。 メール関連の脆弱性対応 メールヘッダ・インジェクションを体験するにはメールの送受信の仕組みが必要なため、Postfix、Dovecot、RoundCubeがインストールされています。徳丸本初版は「お手元のメールクライアントソフトをお使いください」という体でしたが、今どきメールクライアントを使っている人も少な

                                          徳丸本2版の実習環境をDockerに移植した話 - Qiita
                                        • PHPerKaigi 2022: 予防に勝る防御なし - 堅牢なコードを導く様々… / 和田卓人

                                          PHPerKaigi 2022 のセッション動画です。 2022/04/10(40分) スピーカー: 和田卓人 ( @t_wada ) タイトル: 予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント PHP はバージョンを追う毎に型宣言、例外、表明、列挙型などの機能が大幅に強化され、堅牢なコードを書くための機能が充実してきました。それらの機能はどう使うと効果的なのでしょうか。 本講演では PHP 8.1 をベースにして、誤りを想定してチェックするのではなく、そもそも誤りにくい設計とはどのようなものか、つまり「予防」の観点を軸足に、堅牢なコードを導くための様々な設計のヒントをご紹介します。 https://fortee.jp/phperkaigi-2022/proposal/ef8cf4ed-63fe-42f8-8145-b3e70054458b

                                            PHPerKaigi 2022: 予防に勝る防御なし - 堅牢なコードを導く様々… / 和田卓人
                                          • PHPコア開発者になって半年経ったので、php-srcでの活動を振り返る - Qiita

                                            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは!PHPとCを主に書いています、Sakiです。日中はBASE株式会社さんでお仕事させていただいています。早朝と夜間にphp-srcでの活動をしています。PHP8.4のリリースマネージャーもやってます。 2024年からありがたいことにPHPコア開発者として採用していただき、半年とちょっとになりました。ちょうど一区切りということで、これまでの活動を簡単にまとめたいと思います。細かいものや、最終的に成果が出なかった(議論がまとまらなかったなど)ものは除外しています。 2023年、コア開発者になる前 実は私はphp-srcどころかOS

                                              PHPコア開発者になって半年経ったので、php-srcでの活動を振り返る - Qiita
                                            • PHP の各種キャッシュ機構でメモリが枯渇した場合の挙動を調べてみた|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                                              PHP の各種キャッシュ機構でメモリが枯渇した場合の挙動を調べてみた こんにちは。やまゆです。 弊社の主軸であるソーシャルゲーム開発においては、マスターデータの存在は欠かせません。 マスターデータとは、例えば下記のようなものがあります。 武器の名称・アイコン画像名・攻撃力・スキルIDガチャでどのカードが何%の確率で排出されるのか敵を倒した時の報酬ゲーム内イベントの開始日時と終了日時 このように、全ユーザーで共有される設定データのことをマスターと呼びます。 これらのデータは膨大で、運営を続けていくとアイテムの追加やイベントの追加により、だんだんサイズが肥大化していきます。また、頻繁にアクセスされることが予測されるため、処理上のボトルネックになる可能性が高いです。 そのため、サーバサイドでマスターデータを処理する際は毎回データベースへアクセスすることはせず、別の場所にキャッシュしておいて、基本

                                                PHP の各種キャッシュ機構でメモリが枯渇した場合の挙動を調べてみた|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                                              • Amazon Linux 2をAmazon Linux 2023に移行したくて...夏

                                                ※本記事は、2023年7月時点の情報を元にしています。実際に移行を検討される際は、その時点でのAWS等の最新ドキュメントを参照下さい。 最近、 「Amazon Linux 2をAmazon Linux 2023に移行した事例はありますか?」 「Amazon Linux 2023を実際に使ってみてハマった事象があったら教えて下さい」 という問い合わせを目にする機会が増えました。 約1年前に、[Amazon Linux 2(以下、AL2)のEOL(End Of Life)は2025年6月30日に延期されました(https://aws.amazon.com/amazon-linux-2/faqs/?nc1=h_ls)。 AL2のEOLまであと2年ということで、ウォーターフォール型の足の長いプロジェクトであったり、 既存環境でAL2ベースのEC2を大量に運用しているユーザーさんの中では、 もうEO

                                                  Amazon Linux 2をAmazon Linux 2023に移行したくて...夏
                                                • Amazon Linux 2023がGAされました | DevelopersIO

                                                  抜粋 : Release cadence - Amazon Linux 2023 メジャーリリースとマイナーリリースの内容は以下AWS公式ドキュメントに記載されています。メジャーリリース時には互換性があるか十分に検証した上でアップデートしましょう。 Major version release— Includes new features and improvements in security and performance across the stack. The improvements might include major changes to the kernel, toolchain, Glib C, OpenSSL, and any other system libraries and utilities. Major releases of Amazon Linux ar

                                                    Amazon Linux 2023がGAされました | DevelopersIO
                                                  • DDDのアーキテクチャを含むTechTrainバックエンド開発環境などを紹介していく!

                                                    はじめに TechTrainでエンジニアをしているスーです。 Twitterはこちらで、DMなど気軽にしてもらって大丈夫です! 今回はTechTrainバックエンドの開発環境を紹介します。 開発全体について気になるのであれば、TechTrain技術スタック紹介と作り手としての市場に思うことを見ていただけますと嬉しいです! バックエンドの開発環境前提 以前紹介した際からバージョンをしっかり上げました。 現在は、Laravel:9.x (PHP:8.1.x)を利用しています。 現状はDocker, Docker Compose, ECSを利用しています。 環境構築 Makefileを使いながら、M1 MacもIntelMacもコマンド一発で環境構築が終わるようにしています。 ここが結構メンテナンスが難しいところではありますが、常に更新を行なっています。 一発で立ち上がるところはこだわりの一つで

                                                      DDDのアーキテクチャを含むTechTrainバックエンド開発環境などを紹介していく!
                                                    • Attacking PHP - PHP

                                                      2008年にまつもとゆきひろ氏によって書かれたエッセイ。 Attacking PHP - Matzにっき(2008-01-26) PHPがいかに駄目な言語か、という話。 2024年にはどうか 以下の見解は@tadsanによる私見である。 いろんなものがfalseだったりするせいで、新たな比較演算子「===」が必要 その通り hashやlistがobjectが区別できない objectは当時から区別できるので、事実誤認では。 hash(PHPでは連想配列)とlistはPHP 8.1でarray_is_list()関数が追加されて標準関数で識別できるようになった それまでもユーザーランドの静的解析でlist型として慣習的に扱われていた PHP 8でも型宣言として扱えるわけではない オブジェクト指向機能が壊れている PHP 4時代のOOPは「壊れていた」かはともかく、一般的なOOP言語の振る舞い

                                                        Attacking PHP - PHP
                                                      • 条件付き戻り値型とPHPStan 1.6.0の新機能 - 超PHPerになろう

                                                        この記事はPHPStan開発者のOndřej Mirtesによって2022年4月26日にPHPStan Blogに書かれた記事を翻訳したものです。 phpstan.org 条件付き戻り値型 (Conditional return types) この機能の大部分はRichard van Velzenが開発しました。 PHPStanは初リリース以来、関数呼び出しで渡された引数によって様々な型を返す方法を提供してきました。いわゆる動的戻り値型拡張(dynamic return type extensions)は非常に柔軟です。実装できる任意のロジックによって型を解決できます。しかし、PHPStan拡張の核心となるコンセプトには学習コストがかかります。 PHPStan 0.12ではジェネリクスが導入されました。これはPHPDocの特別な記法によって動的戻り値型拡張が必要だったケースの一部をカバーし

                                                          条件付き戻り値型とPHPStan 1.6.0の新機能 - 超PHPerになろう
                                                        • 【PHP8.1】PHPで交差型が使えるようになる - Qiita

                                                          交差型は何かって一言で言うと型のANDです。 PHP8.0で型のORことUNION型が導入されましたが、これに続いてPHP8.1で交差型が導入されることになりました。 これでPHPでも型パズルマウント取れるようになりますね。 ということで以下はPure intersection typesの紹介です。 PHP RFC: Pure intersection types Introduction 交差型とは、型がひとつの制約ではなく、複数の制約を同時に満たすことを必要とする型です。 交差型は、現在のところ言語ネイティブには対応していません。 かわりにphpdocアノテーションを使用したり、型付きプロパティを濫用したりしています。 class Test { private ?Traversable $traversable = null; private ?Countable $countabl

                                                            【PHP8.1】PHPで交差型が使えるようになる - Qiita
                                                          • Windows OSにインストールされている全てのPHPに影響 緊急度「Critical」の脆弱性が発覚

                                                            台湾でサイバーセキュリティのコンサルティングサービスを提供しているDEVCOREは2024年6月6日(現地時間)、PHPに緊急度が「緊急」(Critical)に分類される重大なセキュリティ脆弱(ぜいじゃく)性が存在すると伝えた。 PHPに発覚した新たなセキュリティリスク この脆弱性はWindows OSにインストールされている全てのバージョンのPHPに影響を及ぼし、認証されていない攻撃者がリモートから任意のPHPコードを実行する可能性がある。Windowsの文字エンコード変換を処理するベストフィット機能に問題があり、攻撃者はベストフィット機能を悪用することでPHPのコマンドライン引数に任意の文字列を挿入し、悪意のあるPHPコードを実行できる。 特に影響を受けるのはPHP 8.3.8、PHP 8.2.20、PHP 8.1.29より前のバージョンだ。ユーザーは修正済みのバージョンにアップグレー

                                                              Windows OSにインストールされている全てのPHPに影響 緊急度「Critical」の脆弱性が発覚
                                                            • 社内のZabbixを4.0系から6.0系にアップグレードした - 仮想化通信

                                                              CentOS 7上で動かしていたZabbix 4.0を、Ubuntu 22.04に移行しつつZabbix 6.0系にアップグレードしました。Zabbixのインストール自体はなんてことはないのですが、データベースのアップグレードですこし難儀したため、その記録です。 移行元のLAMP環境 OS: CentOS 7.9.2009 Webサーバー: 2.4.6 DB: MariaDB 5.5.68 PHP: 5.4.16 Zabbix: 4.0.42 CentOS 7自体はまだサポート中ですが、新しいZabbixでは新しめのPHPを要求されるため、Ubuntu 22.04で再構築してDBを移行することとしました。 DBは、文字コードがlatin1で作られていたため、今回を期にUTF-8に移行します。これが今回の罠ポイントです。 移行先のLAMP環境 OS: Ubuntu 22.04 Webサーバー

                                                                社内のZabbixを4.0系から6.0系にアップグレードした - 仮想化通信
                                                              • 技術的負債解消に向けたWordPressの一元管理とShifter移行で実現した運用最適化 - Findy Tech Blog

                                                                はじめに 皆さんこんにちは。ファインディに転職してまもなく1年を迎える、CTO室/SREチームの安達(@adachin0817)です。今回は複数のWordPressサイトをShifterへ移行しましたので、その取り組みについてご紹介します。 Shifterとは ja.getshifter.io Shifterは、WordPressサイトを静的に変換・ホスティングできるマネージドサービスです。動的に動作するWordPressをShifterがビルドし、生成されたHTML/CSS/JavaScriptの静的ファイルをCDN経由で配信する構成となっています。主なメリットは次のとおりです。 セキュリティ強化:PHP実行環境を持たないため、WordPress本体やプラグインの脆弱性リスクが激減。 運用負荷の軽減:インフラやWordPressのバージョンアップ管理が不要。 表示速度の高速化:静的ファイ

                                                                  技術的負債解消に向けたWordPressの一元管理とShifter移行で実現した運用最適化 - Findy Tech Blog
                                                                • 【PHP8.4】PHP8.4の新機能 - Qiita

                                                                  PHP8.4 / PHP8.3 / PHP8.2 / PHP8.1 / PHP8.0 2024/08/13、PHP8.4がフィーチャーフリーズしました。 言語機能に関わるような機能の追加・変更が締め切られたということです。 今後はデバッグを繰り返しながら完成度を高めていき、2024/11/21にPHP8.4.0がリリースされる予定です。 というわけでPHP8.4で実装されるRFCを見てみましょう。 RFC Property access hooks 賛成42反対2で受理。 プロパティフックです。 class HOGE{ public string $tel{ set{ if(!ctype_digit($value)){ throw new ValueError("電話番号は数値のみ"); } if(strlen($value) < 10){ throw new ValueError("電話

                                                                    【PHP8.4】PHP8.4の新機能 - Qiita
                                                                  • 税理士ドットコム流のCI/CDを設計する考え方と実践 - 弁護士ドットコム株式会社 Creators’ blog

                                                                    今年の頭から税理士ドットコム事業部に異動した @komtaki です。3 月末から 7 月まで育休を頂いていたのですが、無事復帰しました。 部署異動してすぐに、ジョブ追加の際にコンテナや CI/CD の最適化がされず開発体験を損なっていると感じました。そこで、異動直後の 2 月末に、フルスクラッチでコンテナと CI/CD を作り直しました。 約半年運用し GitLab CI でのデプロイ運用のデータが溜まり、定量的にデプロイを分析できるようになりました。 そこで税理士ドットコムのデプロイフローにどのような問題があったのか、CI/CD の設計の考え方と改善後の効果についてお話しします。 CI/CDとは CI: Continuous Integration CD: Continuous Delivery / Continuous Deployment CI/CDを設計するポイント 税理士ドット

                                                                      税理士ドットコム流のCI/CDを設計する考え方と実践 - 弁護士ドットコム株式会社 Creators’ blog
                                                                    • PHPとSDLで始めるコンピューターグラフィックス|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ

                                                                      PHPとSDLで始めるコンピューターグラフィックス こんにちはサーバーインフラや社内の情報システムを担当しています nobuh です。 子供の頃から美術館や展覧会に行ったりするのが趣味の一つで、コンピューターでもゲーム同様グラフィクス関係についても興味があり、 ジェネレティブ・アート や デモシーン を鑑賞するのを楽しみにしています。 今回は鑑賞から一方踏み出して、ライブラリやフレームワーク、エンジンの支援をあまり受けずに、原始的な要素を直接使って根源的なところから自分でグラフィクスを作ってみようと思い立ちました。 ということで、PHP と SDL を使ってグラフィクスについて「作ってみた」ところを紹介したいと思います! なぜ PHP? グラフィクスを扱うプログラミングというと、 Processing や openFrameworks、 3D なら Unity や Unreal Engin

                                                                        PHPとSDLで始めるコンピューターグラフィックス|技術ブログ|北海道札幌市・宮城県仙台市のVR・ゲーム・システム開発 インフィニットループ
                                                                      • 【PHP8.2】PHP8.2がリリースされたので新機能全部やる - Qiita

                                                                        PHP8.3 / PHP8.2 / PHP8.1 / PHP8.0 2022/12/08にPHP8.2.0がリリースされました。 大きな新機能については、PHP8.0以降公開されるようになったランディングページで見ることができます。 ここでは、概要だけではなくUPGRADINGに載っている変更点を全部見て回ることにします。 Backward Incompatible Changes 下位互換性のない変更点。 Date DateTime::createFromImmutable() now has a tentative return type of static DateTime::createFromImmutable()の返り値の型がstatic型になりました。 以前はDateTime型でした。 これはphpstanのバグへの対応です。 class CustomDateTimeImmu

                                                                          【PHP8.2】PHP8.2がリリースされたので新機能全部やる - Qiita
                                                                        • PHP 7.4->8.0にバージョンアップしました~Swoole 4.8.2を添えて~ - TORANA TECH BLOG

                                                                          クラシマです。 社内向け管理画面のMadrasのPHPバージョンを7.4から8.0へメジャーバージョンアップしました。 苦労話を共有させてください。 PHP7.4->8.0移行計画 まず、ドキュメントを書きました。 これにより、なんでこれをやってるんだっけ、ということを明確にします。 esa 公式ドキュメントを熟読します。 下位互換性のない変更点 ↓こんな移行作戦を立てました。 ローカル開発用のDocker環境がPHP8.0で動くようにする ローカルでのテストが全部通るようにする CI用のDockerイメージをPHP8.0でも作って、手動でCIを回してテストが全部通るようにする 通常のCIはPHP7.4で動作させておき、本番deploy後にPHP8.0イメージでCIを回す stg環境にPHP8.0を導入して動作検証する 本番移行手順を作る 本番移行する ポイント PHP7.4とPHP8.0

                                                                            PHP 7.4->8.0にバージョンアップしました~Swoole 4.8.2を添えて~ - TORANA TECH BLOG
                                                                          • Amazon Linux 2022 (プレビュー)の RC 版がリリースされました | DevelopersIO

                                                                            本記事の執筆時点 (2022年7月) では Amazon Linux 2022 はプレビュー版です。 (2022年12月13日追記) Amazon Linux 2 のサポート期限が延長されました。 (2023年3月16日追記) ついに、Amazon Linux 2023 が GA されました! はじめに Amazon Linux 2 が 2024 2025 年 6 月 30 日にサポート期限を迎えるということで、OS 移行の検討や準備をされている方も多いかと思います。筆者自身の Amazon Linux 2 との関わりは、ふだん意識する機会はないものの、チームのツールで使っているので移行は他人事ではない、といったところです。今回は心の準備がてら、移行先候補の 1 つであろう Amazon Linux 2022 について調べたことを書いていきたいと思います。 GA はいつ? AWS 公式に以

                                                                              Amazon Linux 2022 (プレビュー)の RC 版がリリースされました | DevelopersIO
                                                                            • 「PHP 8.1」がリリース ~PHPの持続的発展を支援する非営利団体「PHP Foundation」も設立/列挙型、交差型、Fibers、読み取り専用プロパティなど新しい言語機能が多数実装

                                                                                「PHP 8.1」がリリース ~PHPの持続的発展を支援する非営利団体「PHP Foundation」も設立/列挙型、交差型、Fibers、読み取り専用プロパティなど新しい言語機能が多数実装
                                                                              • PHP is Legacy, in 2024

                                                                                We travel in our jobs a lot at Vonage. I speak to plenty of developers from all walks of life, and I can confidently say one of the most asked questions I get is: Why do you still do PHP? Variations of this question can be "Isn't PHP supposed to be bad?" On several occasions, the person I was speaking to had done some PHP back in 2012. Or 2010. I forget. For reasons I do not understand, we're goin

                                                                                  PHP is Legacy, in 2024
                                                                                • Laravel10時代のプロジェクトの始め方

                                                                                  はじめに 以前、『私的Laravelプロジェクトの始め方』という記事を書いたのですが、あれから2年ほど経過し、いろいろ変わった点があるのでまとめ直しました。 考え方 最近は、MacにPHPがセットアップされていないこともあり、ローカルにPHPをインストールしていなくても始められる手順を実践しています。 セットアップ環境 macOS Monterey Docker Desktop v4.9.0 Laravel v10.0.3 手順 Laravelインストール & Sailセットアップ laravel.buildを使ってインストールを行います。これは内部的に、laravelsailのdcockerイメージを呼び出してインストールを行います。使用できるphpのruntimeは7.4、8.0、8.1、8.2です。Laravel10はPHP8.1以上に対応しているので、ここは最新のPHP8.2のru

                                                                                    Laravel10時代のプロジェクトの始め方