タグ

phpに関するfukkenのブックマーク (420)

  • グーペのPHPバージョンを5.2から7.1にアップグレードしました - Pepabo Tech Portal

    こんにちは、グーペグループエンジニア @hypermkt と技術部インフラグループ・シニアエンジニア @hfm です。半年に及ぶグーペのPHPアップグレード作業が2017年5月中旬に全て完了し、PHPバージョンは5.2から7.1になりました。今回の記事ではアップグレードの過程と効果について、ご紹介させていただきます。 はじめに 8年目のホームページ作成サービス「グーペ」 なぜ8年目のタイミングでアップグレードをしたのか アップグレード基方針 PHP5.2との後方互換性を維持する deprecatedの対応は優先度低め 事前準備 新旧両バージョンで継続的テスト より広範囲をカバーできるE2Eテストを重視 リアルタイムエラー検知 下位互換性のない変更点の修正 php7ccによる互換性の自動検知 MySQL関数の削除 preg_replaceへの置き換え PHP7.1用php.iniの作成 リ

    グーペのPHPバージョンを5.2から7.1にアップグレードしました - Pepabo Tech Portal
    fukken
    fukken 2017/06/22
    「めじゃーばーじょんを2つもいっきにあげたのか、たいへんだなぁ」とかアホな感想を抱いてしまった。PHP6はスキップされているのだった
  • PHP でどのように Exception/RuntimeException/LogicException を使い分けるか - Qiita

    PHP は各種プログラム言語の中でも比較的高級な (表現力が豊かで最適な記述を選ぶのに知識を必要とする) 例外モデルを持っていると言えます。そんな PHP の例外の各区分とその使い分けを整理し、PHP の例外モデルの設計意図を考察したいと思います。 PHP例外の分類 PHP の例外は Java とは異なり、(Error を合わせると) 合計 4 つの区分に分類されます。Java には 2 区分しかありません。(PHP では JavaError に相当するものは発生しません。PHPError は Java では RuntimeException の一種に分類されています) PHP Java

    PHP でどのように Exception/RuntimeException/LogicException を使い分けるか - Qiita
    fukken
    fukken 2016/12/05
  • PHPにおけるシンボリックリンクを使ったデプロイの危険性について(「realpath_cache」和訳)

    2016/10/31 PHPにおけるシンボリックリンクを使ったデプロイの危険性について(「realpath_cache」和訳) PHP サーバーサイド この文書は@julienPauliさんによる記事「realpath_cache」の日語翻訳です。元々は@gilbiteさんがKLab社内向けに翻訳したものでしたが、日語では見たことがない指摘を含んでおり今でも有用だと考えたため、@julienPauliさんの了解を取った上で@hnwが修正・追記して公開するものです。 はじめに PHP に realpath_cache_get(), realpath_cache_size() という関数があることをご存じでしょうか? また、php.ini に realpath_cache から始まる設定項目があることは? realpath cache は知っておきたい極めて重要な概念です。 特に、コードの

    PHPにおけるシンボリックリンクを使ったデプロイの危険性について(「realpath_cache」和訳)
    fukken
    fukken 2016/11/01
    Rasmus「私なら10リクエストごとにhttpdを再起動しますね」
  • PHPからScalaに乗り換えたチャットワークさん、その後どうですか?(前編) | HRナビ by リクルート

    当にScala化できるんですか? 増井:今日は、チャットワークをPHPからScalaに切り替えるお話を伺うためにやって来ました。 山:はい。 増井:僕がこの話を知ったのは、ちょうど2年ぐらい前に読んだブログのエントリだったんです。いきなり失礼なんですが、僕はこの話を知って、ぶっちゃけアホじゃないかと思ったんですよ。 山:あはは(笑) 増井:基的に開発言語やフレームワーク、方法論を同時に変えるって結構大きな変更ですよね? 山:そう思います。 増井:それなのに、この決断を発表された当時、御社にはScalaエンジニアがいなかったそうじゃないですか。「当に大丈夫なのかな?」と思って、気になってたんです。昨年春には「Scala採用を決めて一年たった、CTOの雑感」というエントリをポストされていましたが、さらに1年経った今はどんな状況なんですか? 山:ひと言で申し上げると「絶賛移行中」と

    PHPからScalaに乗り換えたチャットワークさん、その後どうですか?(前編) | HRナビ by リクルート
  • PHPUnitを便利にするライブラリ幾つかつくった - gong023の日記

    年末年始+αの時間で PHPUnit をちょっと便利にするライブラリを幾つか作ったのでそれぞれ書いておく。 assert_chain https://github.com/gong023/assert_chain PHPUnit で一つの変数について詳しくアサーションをかけたい場合、以下のように書くことがあると思う。 <?php $arr = [ 'intKey' => 1, 'stringKey' => 'foo', 'boolKey' => true, ]; $this->assertNotEmpty($arr); $this->assertArrayHasKey('intKey', $arr); $this->assertSame(1, $arr['intKey']); $this->assertArrayHasKey('stringKey', $arr); $this->asser

    PHPUnitを便利にするライブラリ幾つかつくった - gong023の日記
  • PHP 5分でわかる静的解析入門 by 黒點 さん - niconare

    PHP BLT #5で発表しました http://phpblt.connpass.com/event/35070/

    PHP 5分でわかる静的解析入門 by 黒點 さん - niconare
    fukken
    fukken 2016/07/21
  • PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp

    PHPの生みの親⁠⁠、ラスマス⁠⁠・ラードフ氏インタビュー 2015年12月に無事公開されたPHP7。その公開に先立ってPHPの生みの親であるラスマス・ラードフ氏に話を伺う機会がありました。英語で行われた一時間のインタビューは長大ですがラスマス氏の思想がよく分かる話題が多く、可能な限りそのままの形でお伝えすべく、その模様すべてをお届けします。 なお、インタビューは10月に開催されたPHPカンファレンス2015の講演終了後に行われ、リリースに関する話題などはその時点でのものです。 現在の仕事と生い立ち ―――― まずは、PHPを作ってくださってありがとうございます。今日の基調講演もすばらしかったです。 ラスマス:ありがとうございます。 ―――― いきなりですが、個人的な質問から始めてもいいでしょうか。 ラスマス:どうぞ。 ―――― Etsyではどのようなお仕事をなさっているんですか? ラスマ

    PHPの生みの親、ラスマス・ラードフ氏インタビュー | gihyo.jp
    fukken
    fukken 2015/12/16
  • 【PHP】たった1行コマンドを入力するだけでComposerを劇的に速くする方法【アジア圏限定】 - $yuzu->log();

    PHPerで使っていない人はいないというぐらい、メジャーなPHPの依存管理ツールComposer。 ですが、動作が遅いという欠点があります。 Composerが遅い原因は主に下記だそうです。 packagist.orgが日から遠い composerのアーキテクチャ的に、小さなjsonファイルを少しずつダウンロードするため、ネットワークの遅延がもろに影響する composerがfile_get_contentsでjsonをダウンロードしていて、どうやらKeep-Aliveを使っていないし、並列ダウンロードもしていない Qiita またある日@cakephperさんがこんなことを呟いていました。 アメリカでcomposer installしたら高速すぎてビックリした— cakephper (@cakephper) 2015, 11月 17 そしたら、packagistのミラーサイト作ればいい

    【PHP】たった1行コマンドを入力するだけでComposerを劇的に速くする方法【アジア圏限定】 - $yuzu->log();
    fukken
    fukken 2015/11/30
  • PHP7で変わること - hnwの日記

    次の土曜日5/30のPHPカンファレンス関西2015で基調講演(10:30-11:15)をさせて頂くことになりました。タイトルは「PHP7で変わること——言語仕様とエンジンの改善ポイント」です。チケットは既に売り切れているそうですが、参加者の方は早起きして来て頂けると幸いです。 このところQiitaに「PHP7調査」というシリーズを連投していたのも発表を意識してのことです。PHP7の新機能を一つずつ実際に試してみて、その結果を簡単にまとめていました。 今回は発表前の区切りとして、私の書いたPHP7関連の記事・プレゼン資料を一覧形式でまとめなおしてみます。PHPカンファレンス関西2015ではこれらの内容を踏まえつつ、気になる点を重点的にお伝えしたいと考えています。 内部実装のリファクタリング PHP7の目玉と言える、速度改善に関わる内容がほとんどです。 PHP7はなぜ速いのか - Slide

    PHP7で変わること - hnwの日記
    fukken
    fukken 2015/05/26
  • PHP - 憂鬱な希望としての PSR-7 - Feelin' Kinda Strange

    tl;dr PSR-7は普段PHPにてHTTPメッセージを扱うインターフェイスとしてそこそこ十分に機能する。メインユースケースの8割は満たすだろうが、PHPのポテンシャルの5割にも満たないかもしれない。だがそれで良い。 「今年は PSR-7 が来る」 つい先日、PHP-FIGのHTTPメッセージ用インターフェイスに関するPSR(PHP Standard Recommendations)のステータスがレビュー段階に入った。 https://github.com/php-fig/fig-standards/blob/master/index.md そこでこのエントリではPSR-7のインターフェイスが実際のフレームワークとアプリケーション間での利用の際に上手く機能するかについて考察する。なお、OOPとしての正しさについては深く言及しない(ヘッダーについてのデメテルの法則や、イミュータブル性などだ

    fukken
    fukken 2015/03/09
  • Stack — HttpKernelInterface based middlewares

    A common layer What do we want? Re-use at the web layer! Superglobals and side-effecting output mechanisms of PHP make this challenging and force every framework to re-invent. But Symfony's HttpKernelInterface provides a solid interface, which makes creating and sharing framework-agnostic HTTP filters a breeze!

    fukken
    fukken 2015/02/13
  • レガシーPHP改善日記 シーズン2 エピソード1 - komagataのブログ

    初日、行ってまいりました。 流行りの環境うんぬんは単なる手段であり、"経営陣を含めたマインドセットの更新が大事"ってのはありますが、そんな話みんな読みたくないでしょ? 僕が調べた現状と、こういう風に持って行きたいという理想の環境を書き出してみました。 現状 番環境 さくらのマネージドサーバー(FreeBSD) ステージング環境 共有開発サーバー(社内に古めのCentOS) 開発環境 共有開発サーバー(社内に古めのCentOS) ソースコード管理 svn 共有開発サーバーのコードを担当者一人が全員を代表してsvnにコミットする。バックアップ的な役割 タスク管理 社内の独自タスク管理システム デプロイ 共有開発サーバーのソースをFTPでアップする 開発マシン Windows7 コーディング規約 PEAR標準コーディング規約をカスタマイズしたもの コードレビュー なし チャット IP-Mess

    fukken
    fukken 2015/02/12
  • いかにしてウィキペディアを編集する際の速度を二倍にしたか - Qiita

    How we made editing Wikipedia twice as fastという記事を翻訳しました。ライセンスはCreative Commons Attribution 3.0 unported licenseです。画像も、注意点がない限り、同じか、画像のリンク先のライセンスを確認してください。間違いだらけだろうから、何かあったら、ぜひコメントください。 "ウィキ"とは速いという意味だった... ウィキを開発したWard Cunninghamは、素早く簡単に編集できるウェブページを作りたかった。Cunninghamは自身のソフトウェアにハワイ語の「速い」という言葉をつけた。それがウィキメディア財団がウィキペディアの編集のソフトが二倍になったことを広く知らせる理由だ。過去6ヶ月間、PHPのコードを使ったウィキペディアの裏方であるメディアウィキの速度をあげる新しい技術に取り組んでい

    いかにしてウィキペディアを編集する際の速度を二倍にしたか - Qiita
    fukken
    fukken 2015/01/08
  • PHPの最強プロファイルサービス、blackfire.ioを試す

    タグ: PHP Linux Ubuntu Laravel Laravel Forgeから、ワンタッチでインストール可能になったとツイートされていたので、調べてみましたら、すごいPHPのプロファイルサービスでした。 つまり、各メソッドが何回呼び出され、どの程度の実行時間を費やしているかをグラフ表示してくれます。実効効率を改善する場合に使用します。 まずは、https://blackfire.ioへアクセスし、ログインしてデモを見てみることをおすすめします。Symfonyのハローワールドのテストが確認できます。アカウントを作成せずとも、GitHubかG+のアカウントでログイン可能です。 Ubuntu系にインストールする Ubuntu/DebianとRedHat/Fedora/CentOS、MaxOSには、パッケージが用意されており、簡単にインストールできます。私の普段使いのディレクトリビューシ

    fukken
    fukken 2015/01/07
  • 『例えば、PHPを避ける』以降PHPはどれだけ安全になったか

    この記事はPHPアドベントカレンダー2014の22日目の記事です 。 2002年3月に公開されたIPAの人気コンテンツ「セキュアプログラミング講座」が2007年6月に大幅に更新されました。そして、その一節がPHPerたちを激しく刺激することになります。 (1) プログラミング言語の選択 1) 例えば、PHPを避ける 短時日で素早くサイトを立ち上げることのみに着目するのであれば、PHPは悪い処理系ではない。しかし、これまで多くの脆弱性を生んできた経緯があり、改善が進んでいるとはいえまだ十分堅固とは言えない。 セキュアプログラミング講座(アーカイブ)より引用 「PHPを避ける」とまで言われてしまったわけで、当然ながらネット界隈では炎上を起こし、現在はもう少しマイルドな表現に変わっています(参照)。 稿では、当時のPHPの状況を振り返る手段として、この後PHPセキュリティ機能がどのように変化

    fukken
    fukken 2014/12/23
    セキュリティに限らず機能面も5.3以降はどんどん現代的になってる感ある
  • Composer を倍速にした、たった 1 行のコード

    まだ 12 月早々ですが、PHP ユーザに素敵なクリスマスプレゼントが届きました。 いまや使うのが当たり前となった Composer ですが、複雑な依存解決に実行時間がかかるのがネックでした。 これは日国内だけでなく、海外のユーザも同じで、皆がしょうがないと思いつつも、小さな不満を持ちながら使っていました。 そんな、ある�日、わずか 1 行のコードが追加されたことで、実行時間が、わずか半分になるという現象が起こりました。 Composer を倍速にするには? composer self-update を実行して、最新版にするだけです。 $ composer self-update 実際の効果 このコードの効果を見てみましょう。composer コマンドの --profile オプションを使って、実行時間と使用メモリ量を出力します。 $ composer update --dry-run

    fukken
    fukken 2014/12/04
    どうしてこうなったか全く分からんのでディスカッション読むか // コードを書く身としては、むしろ変更点が少なくなればなるほど「正しい方向に向かっている」という自信が出てくる
  • PHP :: Request #65213 :: cannot cast SplFileInfo to boolean

    SPL related Feature/Change Request Reported by fake@... Sat, 06 Jul 2013 14:23:15 +0000 PHP: 5.5.0, OS: Description: ------------ Casting an instance of SplFileInfo to boolean throws an exception. It should behave like other objects, where the cast always results in boolean true without throwing. Otherwise, it breaks common code like if (!$myObj) {...} Test script: --------------- <?php $o = new S

    fukken
    fukken 2014/11/26
  • 安全なPHPアプリケーションの作り方2014

    SecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのかHiroshi Tokumaru

    安全なPHPアプリケーションの作り方2014
  • PHP Developer working for Google Launches New PHP Compiler - PHP Classes

    Top featured articles 287. Check the LambdaTest Selenium Testing Tool Tutorial with Examples in 2019288. Get early access to the new site features288. Quickly Finding the Best PHP Packages Recommended by Other Developers288. Notable PHP package: PHP Copy Object Properties to Another288. The False Decline of PHP - Lately in PHP podcast episode 50 Author: Manuel Lemos Viewers: 50 Last month viewers:

    fukken
    fukken 2014/10/07
  • PHPからScalaへ...その後

    Transcript PHP͔ΒScala΁…ͦͷޙ Yuta Adachi (ChatWork) ࣗݾ঺հ ҆ୡ ༐ଠ @UAdachi ग़਎ - ౡࠜݝদߐࢢ ࢓ࣄ - Scala + DDD at ChatWork झຯ - ςχε(΋ͬͺΒ؍ઓ), өը ChatWorkͷ঺հ ChatWork ౦ژɿ16ਓ େࡕɿ20ਓ USAɿ6ਓ (New!) ϧΫηϯϒϧΫʹࢠձࣾΛઃཱ ϏδωενϟοτπʔϧʮνϟοτϫʔΫʯΛల։த ChatWork + ϏσΦ௨࿩ in the cloud νϟοτ λεΫ؅ཧ ಋೖ਺ ̐ສ̒ઍࣾɺ̐̍ສϢʔβʔಥഁʂ ಋೖاۀྫɿ ʢ2014೥5݄ݱࡏʣ 0 125000 250000 375000 500000 2011 6 9 12 2012 6 9 12 2013 6 9 12 2014 6 Ϣʔβʔ਺ɿ PHP͔ΒScala΁… ൒೥લ…

    PHPからScalaへ...その後