PHPエコシステムに長年関与してきたことで知られるコントリビューターが JetBrains に入社。PhpStorm チームとともに PHP 言語とエコシステムの改善を目指す。
BASEは、昨年末のメルカリ社との関係性が高まったことを期に改めて採用を強めている。中心となるのは、強力に事業を推進するところにコミットしてくれるエンジニアの募集だ。 先日、リブセンスの桂さんに当社にお越しいただいて、結構ハードな対談を収録した。 BASEえふしん×リブセンス桂 CTO対談(前編)―今求められるエンジニアは、自分の会社から「はみ出ている人」― 桂さん、バシバシ、突っ込んでくるもんだからついついハードな発言をしているかもしれない。 最近、思っているのがどうやってPHPを扱う会社で優れた人材に来ていただけるか?という部分。 PHPは、多分、今も昔も中心なんだか周縁なんだかわからない立ち位置にいる。PHPをPHP市場だけで捉えると、高トラフィックなサービスを経験するという、「良い経験をしてきたエンジニア」は、藤本さんところのグリー社、グリー出身者、最初からPHPを活用していたYa
こんにちはこんにちは、 VOYAGE GROUPでBuild prayer*1として活動している@_nishigoriです。 pip, bundler, rebar 等 各プログラミング言語のビルドツールないしパッケージマネージャ等と呼ばれているツールを弊社でも利用していますが、 PHPでは依存管理ツールとしてComposerを利用しているプロジェクトがあります。 今回はComposer本体のバージョニングについて紹介し、 利用する上での良い側面と悪い(と思われる)側面を紹介します。 はじめに Composerの入手 最新版 *2 Installer self-update リリースサイクル 効能 デメリット self-updateする日時によってrevisionが異なる(場合がある) ある日のself-updateで突然死 Tagging Versions Installer self-
PHP 7.0.0-RC6 がリリースされ、PHP7の正式リリースが迫っています(予定では2015/11/12)。今日は、既存アプリのPHP7への移行について整理しておきます。 既存アプリをPHP7に移行する前には以下を実施するとよいです。 テスト環境を構築する 拡張モジュールの対応状況を調べる ライブラリなどの対応状況を調べる 変更点に関するドキュメントを読む php7ccをかける コードを修正しテストする 6つあげてますが、結局はPHP7で「テストする」ということに尽きます。 テスト環境を構築する PHP7の実行環境がなければ始まりません。Vagrantなどでテスト環境を構築できます。探せば色々あると思いますが、1つだけ紹介するとすれば、Rasmusさんのphp7devでしょうか。 https://github.com/rlerdorf/php7dev 参考:PHP7のテスト環境を構築
「PHP 7」登場。10年ぶりのメジャーバージョンアップで実行速度はPHP 5の2倍以上に、PHPの生みの親が語る。PHPカンファレンス2015(前編) WordpressやFacebookなど、Webのさまざまなサービスで使われているPHP言語。約10年ぶりのメジャーバージョンアップとなる「PHP 7」がもうすぐ登場予定です。 PHP 7では互換性を維持しつつ、従来のPHP 5と比べて2倍以上の性能向上やメモリ使用量を低減するなど、大きな改善が実現されます。 そのPHPの生みの親であるRasmus Lerdorf氏が来日し、10月3日に都内で行われた「PHPカンファレンス2015」の基調講演「SPEEDING UP THE WEB WITH PHP 7」においてPHP7の新機能や性能について詳しく解説しました。 その内容をダイジェストで紹介しましょう。 SPEEDING UP THE W
(タイトルは釣りです) 突然こんなこと言ってごめんね。 でも本当です。 2、3ヶ月後にものすごく新しい PHP のリリースがあります。それが終わりの合図です。 程なく大きめのレガシー PHP 案件が来るので気をつけて。 それがやんだら、少しだけ間をおいて PHP 5.5 サポートの終わりがきます。 当日の動向 日本語セッションがほとんど初学者向け、フレームワークの紹介、CMS の紹介だったので食指が伸びず、英語セッションにいるか、作りかけの Device Farm ラッパーアプリを書いていた。あと Rasmus は見た。 PHP の各種ツールには他言語でも同様のものがあるが(Composer に対する Bundler, Carton, npm とか)、他のカンファレンスではその使い方を毎年説明したりしないし、フレームワークとか CMS でレッツ Hello, world! とかサービス使っ
10月3日、大田区産業プラザPiOにて、PHPカンファレンス2015が開催されています。本稿では、イベントの模様を随時レポートしていきます。 イベント開始前の最終確認するスタッフの皆さん。この後、受付が開始されました。受付は1Fです。 本日のイベントの模様は、中継されています。 トラック1 トラック2 トラック3 トラック4 トラック5 トラック6 オープニング 実行委員長の前島有貴さんより、オープニングの挨拶がありました。今年は、PHP誕生から20周年ということで、会場を貸し切って2,000以上の参加者を見込むそうです。 その後、いくつか案内がありました。昨年好評だった、スポンサーブースを回るスタンプラリ―があるとのこと。全部回ると、景品がもらえることを紹介しました。 お昼には、数に限りはありますが、お弁当とオムライスの販売もあることや、書籍ブースでは、サイン会が行われることを案内しまし
4年前にHashDos(Hash Collision Attack)に関する効率的な攻撃方法が28C3にて公開され、PHPを含む主要言語がこの攻撃の影響を受けるため対策を実施しました。しかし、PHP以外の言語が、ハッシュが衝突するデータを予測困難にする対策をとったのに対して、PHPは、GET/POST/COOKIE等の入力データの個数を制限するという対症療法を実施したため、PHPにはHashDosに対する攻撃経路がまだ残っているということは、一部の技術者には知られていました。例えば、以下の様なつぶやきにも見ることができます。 だって、 hashdos 脆弱性の時、 Python とかの言語が、外部入力をハッシュに入れるときに衝突を狙えないように対策したのに、phpだけPOST処理で対策したからね? json を受け取るような口もってるphpアプリのほとんどがhashdos残ってるんじゃない
9/4に神戸で開催されたDevelopers Summit 2015 KANSAIにて登壇いたしました。発表資料は以下になります。 PHPカンファレンス関西2015でも近い内容でお話ししたのですが、そのときは性能改善まわりの情報を十分に伝えられなかった、という反省がありました。そこで、今回はCPUのキャッシュに関する話題を盛り込んでみました。この内容でちゃんと理解してもらえるか不安もあったのですが、プレゼン後に何人かとお話しさせて頂いた限りでは十分伝わっていたようで、ホッとしたような気持ちです。 資料について補足 キャッシュやメモリの速度、キャッシュラインサイズについてはCore i7/Xeonのものを紹介したつもりです。具体的な数字が無いと実感がわかないので紹介しましたが、プロから見ると若干ミスリードな内容が含まれているかもしれません。 ちなみに僕が参考にした資料は下記のものです。 「P
今日はPHP界隈で大人気のDependency Injectionと、それに関連する用語について整理しておこうと思います。 以下のような状況があるのではないか?と思ったからです。 多くのPHPユーザがDependency Injection(DI)をよくわかっていない、あるいは正確に説明できません。 そして、デザインパターンである「DIパターン」とDIをサポートするツールである「DIコンテナ」を混同しています。 また、「DIパターン」と「サービスロケータパターン」をうまく区別できていません。 Dependency Injectionとは何か? Dependency Injectionとは「Dependency」を「Injection」するというデザインパターンです。 日本語では何故か「依存性の注入」と訳されており、これが混乱の元ではないかと思います。 日本語で「依存性」と言うと、「依存性は
2015年9月17日紙版発売 2015年9月17日電子版発売 蒋池東龍 著 A5判/248ページ 定価2,508円(本体2,280円+税10%) ISBN 978-4-7741-7642-0 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 同じようなスクリプトなのに,なぜパフォーマンスが違うのか? オブジェクト指向だと,なぜ遅いのか? PHP7は,なぜ速くなったか? 最も人気のあるWeb用プログラム言語であるPHPの知られざる内部構造を解説した,日本初の書。「メモリを節約したり,処理を軽くしたりするスクリプトを書くには」「パフォーマンスの高いExtensionを作るには」「Zen
この記事では、Webアプリケーション(特にバックエンド部分)を構築するときにハイレベルなパフォーマンスを達成しようとするなら考慮するべき、最も一般的な原則のいくつかを取り上げたいと思います。私は、自分自身の経験から、主にPHPの世界で使われるいくつかの例、設計パターン、慣例やツールについて書きますが、ここで説明する概念は、どんな言語やフレームワークにも必ず当てはまると思います。 手短に言うと、基本ルールは次の6つです。 ルール1 . 時期尚早な最適化を回避する ルール2 . 最小限の作業で問題を解決する ルール3 . 今すぐやらなくてもいい作業は延期する ルール4 . 使えるときはキャッシュを使う ルール5 . リレーショナルデータベースのN+1問題を理解し、回避する ルール6 . 可能ならアプリケーションに水平スケーラビリティをもたせる ルール1: 時期尚早な最適化を回避する Donal
この記事を書くにあたって、これまで何度か読んだことのあったComposerのソースを再度読み直して理解しようとしてみました。ですが、Composerのソースってなんだか難しくて、分かった!という感触はまだまだつかめていません。Composerのソースがひどくスパゲティだ!なんてことはないのですが。 おそらくこれはソースの問題というよりも、私自身の、取り扱っている問題そのものに対する理解が浅いからなのだろうと、現時点では結論づけています。ひとまずComposerに登場する最も主要な構成要素を、図にまとめておきます。 ところで、前回の記事では、Composerがvendorディレクトリ配下のパッケージ内の状態をどのように管理しているのかを簡単に解説しました。 今回は、複数のパッケージを同時に開発する場合の流れを例にして解説します。 注:複数のパッケージを開発するときに、必ずこの流れでないといけ
「FRINGE/フリンジ」の J.J. エイブラムスと「ダークナイト」の脚本家ジョナサン・ノーランが贈るわけではない、IT業界のタブーに切り込んだサスペンス実話。 (私本人は真剣にレガシーPHPに取り組んでおります。) シーズン1 エピソード1 エピソード2 特別編1 レガシーPHPプロジェクトあるある エピソード3 特別編2 phpプログラマーの募集 エピソード4 エピソード5 エピソード6 エピソード7 エピソード8 特別編3 PHPMatsuri2012 エピソードLAST シーズン2 エピソード0 エピソード1 エピソード2 エピソード3 番外編1 ピクルス原理を誤用(応用)する エピソード4 エピソード5 エピソード6 PHPの落とし穴 PHPの落とし穴1 ツール レガシーPHP診断 レガシーPHP診断 - みんなの診断結果 レガシーPHP改善・コンサルティングはこちらから承って
※PHPマニュアルの内容をまとめただけです。(勝手な感想も書いてますが・・・) 下位互換性のない変更点
やあPHP! 最近なんだかまともだなぁ PHP開発の上で実用的なツール群について、RubyやPythonほどには知名度がないので紹介したい。Windowsのことは知らないので、各自がんばってほしい。 筆者はもともとRubyの方から来たので、Rubyとの比較が多いのは留意されたい。 この記事の内容と直接関連はしないが、併せて読まれたい PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita 準備 MacだとHomebrewがあると依存ライブラリを集めるのが楽でべんり。 これは個人の趣味の話なのだけれど、自分でインストールする実行ファイルは$HOME/local/binに置くのが好きだ。 筆者はZ Shellユーザーなので https://github.com/zonuexe/dotfiles/blob/master/.zshenv#L1-L13 のようにしてる。 PHPBrew
本記事は英語版ブログで公開された記事の翻訳版です。 オープンソースはEngine Yardの根幹を形作る文化です。当社はもともとRubyを扱う会社として発足し、初期の業績のほとんどをRubyコミュニティであげました。2011年にOrchestraを買収してからはPHPコミュニティに軸足を移し、恩恵を還流する方法を常に模索しています。それだけに、本日このような発表ができることを大変うれしく感じています。 抜きん出た成功 ComposerはPHPで事実上唯一のパッケージ管理ツールであり、利用は拡がる一方です。 開発が始まったのは2011年2月ですが、リリースまではそれからほぼ1年近くを要しました。Packagistリポジトリには2012年4月13日の公開以来2年足らずで約150,000個ものパッケージが登録され、定評の高いソフトウェアであるMediaWikiも、2013年12月リリースのバー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く