。PHPカンファレンス2017での発表資料です。
。PHPカンファレンス2017での発表資料です。
PHPカンファレンス福岡2017の登壇資料です。
昨日12月11日に第七回闇PHP勉強会を開催いたしました。私を含め発表者6人ということで、とても盛り上がった勉強会になりました。発表者の皆さま、またご参加いただいた皆さま、本当にありがとうございました。また会場提供いただいたピクシブ株式会社さまにも大変お世話になりました。 以下が私の発表資料です。 PHPアプリケーションをsymlink切り替えでデプロイしているとrealpathキャッシュ絡みで何かしらトラブルがありますよね、というくくりで複数のトピックを紹介するような内容でした。タイトルの通り、一番話したかったのはmod_phpとphp-fpmとでOPcacheの挙動が変わる話だったんですが、かなり入り組んだ内容だったのでうまく伝わらなかったかもしれません。 質問タイムに、@edvakfさんから面白いエピソードを聞くことができました。Pixivではこの手の問題に一通りハマった結果、現在で
システム開発の佳境に、開発メンバーが突然出社しなくなってしまう。 携帯にも連絡がつかず、3日ほど音信不通になったので、さすがに心配になった上司が大家と共に自宅を訪れると、夕日が差し込む部屋の真ん中に、当の本人が何の表情も浮かべずにただ座っていたりする。 そういう事は大して珍しいことではないので、ある程度経験のあるIT業界人なら、同僚が「消えて」しまってもそれほど驚くことはない。 プログラマというのは、とかく「消えて」しまうものなのだ。と彼らは思っている。 「消えた」プログラマは、意識的にしろ無自覚にしろ自分の人生をちょっとばかり台無しにしながら、プロジェクトに虚無の穴を空けるわけだが、そうした「工程の穴」は他のメンバーが残業したり、派遣会社から来た代替の人員が埋めてしまったりする。ビジネス的には人月で数えられた我々の「数字」などというものはちょっとした帳尻あわせでなんとかなってしまうらしい
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 は知っておきたい極めて重要な概念です。 特に、コードの
Docker Compose のドキュメントに Django, Rails, Wordpress の開発環境にDocker Compose を利用する例が載っています. PHPのWebアプリケーションフレームワークのCakePHPにどう適用するのか試してみました. 結論からいうと, ちょっと手直しすると, 他のフレームワークへの転用も簡単そうです. アプリケーションとフォルダの構成 OSはUbuntu, データベースにMySQL, デバッグ用のWebサーバにはPHPのビルトインサーバを使う構成としています. 以下で述べる Dockerfile と docker-compose.yml は,同じフォルダ cakephp-app のなかに置いてあるものとします. Dockerfile Dockerfileの記述例を示します. FROM ubuntu RUN apt-get update \ &
PHPカンファレンス福岡2016に参加してきました。 がっつりメモを取れたものだけまとめを書いていきます。 もう確認した?『PHPカンファレンス福岡2016』全スライドまとめ #phpconfuk 制約でコードに秩序を 制約とは アクセス修飾子 タイプヒンディング インターフェイス 不変オブジェクト case1 カートに商品を追加 タイプヒンディング public function(Item $item) 引数に入力するオブジェクトにItemクラスしか受け付けない case2 不変オブジェクト コンストラクタで設定したら関数で値を返すようにする 再設定ができなくなるので料金を書き換えるバグを抑止できる 消費税の加算計算などはオブジェクト内部で保持してコード保全 case3 インターフェイス JSONでオブジェクトを返す 共通関数にしたいがItemクラスもCartクラスも受け付けたい Int
はじめまして。サーバーサイドエンジニアの中野(@Hiraku)です。2015年12月からメルカリで働いています。 2016年1月27日(水)の第98回PHP勉強会@東京にて、composerを速くする取り組みについて発表をしてきました。 composerはPHPにおける実質スタンダードなパッケージマネージャです。 このcomposer、日本で実行すると非常に遅く感じます。この原因は普通ならこう表現すると思います。 githubやpackagistが日本から遠いから composerの実装がよくないから しかし発表ではあえて「光が遅いから」という主張をしました。 一般常識として、光の速さ(真空中で秒速約30万km)はとてつもなく速いものという認識だと思います。しかし一方で、地球や宇宙の規模など極限的な状況に携わる仕事をしている人であれば「全然速くない、むしろ遅い」というのが普通の感覚です。
Learn more about version constraints Results for madewithlove/htaccess-cli:dev-main v2.0.1 v2.0 v1.11.0 v1.10.0 v1.9.0 v1.8.1 v1.8.0 v1.7.0 v1.6.1 v1.6.0 v1.5.2 v1.5.1 v1.5.0 v1.4.3 v1.4.2 v1.4.1 v1.4.0 v1.3.1 v1.3.0 v1.2.0 v1.1.0 v1.0.3 v1.0.2 v1.0.1 v1.0.0 dev-main dev-dependabot/composer/phpunit/phpunit-tw-9.5or-tw-11.0 Satisfied? composer require madewithlove/htaccess-cli:"dev-main"
This RFC proposes to extend the End of Active Support & End of Security Support dates for PHP 5.6, the final version in the PHP 5 family. The release of PHP 7.0 is the first time a major version of PHP is released under the new Release Process RFC. While the RFC did outline rules for major versions, most of the discussion prior to the RFC, as well as all of the experience we've gained on the groun
私が覚えている限り、非常に重い(または非同期の)タスク処理に関して、PHPは常に厳しい評価をされていました。これまではずっと、長いタスクを並列化したければ pcntl_fork を通してフォークするという方法を取らなければいけなかったので、タスクの結果を適切に処理することができませんでした。 そこで私たちは、キューイング(どちらかと言えばタスクを遅くするだけ)やReactPHP、または他の言語を一緒に使うといった、より複雑なソリューションへと向かっていきましたが、PHPでもスレッド処理は可能なのです。そしてより重要なのは、 その方法はあなたが思っているよりもはるかに簡単だということです。 この記事では、 pthreads 拡張(POSIX Threadsの略)について説明します。2012年ごろから広く使われていますが、多くの人がその存在を忘れているか、使うのが苦痛だと考えると思います。その
去年のアドベントカレンダーではMongoDBの話をしましたが、今年はPHPの話。 PHPの「現在位置」 PHPが5から7へのメジャーバージョンアップをついに果たしました。(6が欠番になった経緯などは割愛) そこで、いまだに5.2とか5.3あたり、またはそれ以前の印象で語ってる人も居そうなので、改めて「PHPの普通」を確認していきましょう。 そもそもあなたPHPの何を知っていると言うんですか 今年はPHP5.6でフルスクラッチの小物サービスをリリースしましたし、古いバージョン(具体的には言えない)のサービスの保守を今も慎ましやかに続けていたりしています。 それはさておき。 いつ PHP を書きましたか?バージョンは? 各バージョンのリリース日は以下のとおり。 2012/03/01 Version 5.4.0 2013/06/20 Version 5.5.0 2014/08/28 Versio
昨日11/22(日)に第六回闇PHP勉強会が開催されました。PHPの勉強会なのにPHPのコードが全部で10行も登場しないという毎度おなじみの展開でしたが、たくさんの方にご参加頂きました。本当にありがとうございました。 では、発表を順に紹介します。 @hnw 「OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた」 まずは僕の発表からでした。PHP7からの新機能であるOPcacheのファイルベースキャッシュについてソースコードを交えて仕組みを紹介しました。本機能について、個人的には若干ネガティブに見ていますが、今後「こういう状況では確かに便利だ」という事例が出てくれば判断も変わると思います。 @noldorinfoさん「SQLite2と3のエスケープ関数の違いとその対策」 SQLite3のエスケープ関数がSQLite2のものと実装が変わっており、バイナリアンセーフになっていて
今日はPHP界隈で大人気のDependency Injectionと、それに関連する用語について整理しておこうと思います。 以下のような状況があるのではないか?と思ったからです。 多くのPHPユーザがDependency Injection(DI)をよくわかっていない、あるいは正確に説明できません。 そして、デザインパターンである「DIパターン」とDIをサポートするツールである「DIコンテナ」を混同しています。 また、「DIパターン」と「サービスロケータパターン」をうまく区別できていません。 Dependency Injectionとは何か? Dependency Injectionとは「Dependency」を「Injection」するというデザインパターンです。 日本語では何故か「依存性の注入」と訳されており、これが混乱の元ではないかと思います。 日本語で「依存性」と言うと、「依存性は
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く