乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
This document discusses various ways to customize and extend PHP beyond its typical usage as a templating language. It explores how PHP's opcode cache, extensions, object model, and virtual machine can be leveraged. It also provides examples of PHP's lexer, parser, and how opcodes are generated from PHP code.Read less
まだ 12 月早々ですが、PHP ユーザに素敵なクリスマスプレゼントが届きました。 いまや使うのが当たり前となった Composer ですが、複雑な依存解決に実行時間がかかるのがネックでした。 これは日本国内だけでなく、海外のユーザも同じで、皆がしょうがないと思いつつも、小さな不満を持ちながら使っていました。 そんな、ある�日、わずか 1 行のコードが追加されたことで、実行時間が、わずか半分になるという現象が起こりました。 Composer を倍速にするには? composer self-update を実行して、最新版にするだけです。 $ composer self-update 実際の効果 このコードの効果を見てみましょう。composer コマンドの --profile オプションを使って、実行時間と使用メモリ量を出力します。 $ composer update --dry-run
新言語 Hack とは こんにちは、新言語 Hack が Facebook より OSS としてリリースされましたね。 詳細は以下の通り。 https://code.facebook.com/posts/264544830379293/hack-a-new-programming-language-for-hhvm/ 新言語 Hack は HHVM 向けの開発言語で静的型付き言語の性質を取り入れ PHP での素早い開発を実施し、PHPとの互換性があります http://hacklang.org/ http://hhvm.com/ HHVM (HipHop Virtual Machine for PHP) とは、Facebook が OSS で開発している PHP 用の JIT コンパイラです。 HHVM は PHP のコードをダイナミックにバイナリコードへと変換することで高速実行の実現を目
ISUCON本戦で惨敗してきた皆さんこんにちは。昨日のやけ酒は最高でしたね!今日はISUCON予選のときに気づいたAPCuのイマイチな点を紹介します。 APCuというのはPHP extensionで実装されているKVS(Key Value Store)で、localhost内でのデータキャッシュに利用されます。かなり高速な上、APCの時代から考えると利用実績も十分あるため、PHPでは定番extensionの一つといえるでしょう。 ところで、APCuに大量のデータ(10万エントリ以上)を格納するとデータの取得や更新が遅くなることがあります。APCuでは格納するエントリ数の「ヒント」をあらかじめ設定値で指定するようなつくりになっているのですが、この設定があまり知られておらず、デフォルト値もかなり小さいため、遅いまま使っている環境が多いように推測しています。 APCuの設定 APCuの設定値に、
Chobi_e is the author of the upcoming PECL Sundown package and contributor to other PHP projects involving logging and messaging. He discusses options for collecting log files in PHP applications, including using log file collectors like Fluentd which provide a robust and distributed logging solution. Chobi_e also introduces some Fluentd plugins he has created and potential other plugin ideas, and
phpの最新環境を構築しようと去年からphp-build(phpenv)とかphpbrewとか触ったりしてた。フルスタックの便利phpは環境を整えるconfigure,php.iniが難しくて挫折していたけど、ツールもよくなったし僕自身も知識増えて、やっと目的のビルドレシピ案ができたので公開。 まず宣伝 ~PHPの話がPerlのカンフェレンスできけますよ~ YAPC::Asia2014というPerl最大カンファレンスが8/28-30まで開催されます。『半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情(5.6対応)』っていう後述のchefレシピの作成にも大変お世話になってホントいつもありがとうございますのわれらが@uzullaさんによりPHPの話もあるかも(採択まだ未決定)だったりと、Perlに限らずいろんな話があるのでテック系のカンファレンスとし
※PHPマニュアルの内容をまとめただけです。(勝手な感想も書いてますが・・・) 下位互換性のない変更点
PHPで最近注目のHTTPクライアントライブラリにGuzzleがあります。日本での知名度はまだまだという印象ですが、かなり高機能かつ真面目にメンテナンスされている印象で、今後のデファクトスタンダードになりうるライブラリと言えるでしょう。 本稿ではこのGuzzleを使ってWebサーバから並行にダウンロードする方法を紹介します。Webブラウザのように同時に複数コネクションを管理しながらKeep-Aliveでコネクションを使い回しますので、下手なコードで実現するより接続先Webサーバにも優しいはずです。 Guzzleの特徴 まずは、Guzzleについて僕が特徴的だと思う点を紹介します。 パッと見でわかりやすいインターフェース cURLは必須ではないがデフォルトでcURLを使う cURLの無い環境がありうるので、cURL無しでも動くのは嬉しい cURLのわかりにくいインターフェースを隠してくれるの
使ってる人にとっては何周目かの今さら感漂いますが、ひょんなことから調べる必要が出てきたのでざっくりまとめてみました。 環境 CentOS6.3 PHP5.5.3 JDK1.6.0-45 HBase0.94.11 Thrift0.9.1 HBaseとは HBaseはKVS(Key-Value Store)の1つで、ASF(Apache Software Foundation)のHadoopプロジェクトの一環として作られたオープンソースソフトウェアです。本家はApache HBase – Apache HBase™ Homeです。 HBaseのアーキテクチャを理解しよう (1/3):CodeZine(コードジン) とりあえず、以下の記事をざっと読むと良いかと。 いまさら聞けないKVSの常識をHbaseで身につける (1/3):ビッグデータ処理の常識をJavaで身につける(3) - @IT HB
Currently, PHP has no way to provide type hinting for function parameters which are not classes or arrays. This is on often requested feature that has been discussed on the internals list many many times. This RFC discusses a new implementation of this feature that attempts to stay close to php's type shifting roots, and attempts to mirror zend_parse_parameters as much as possible. This RFC discus
えー。 CollabTechも無事終わり、オーストラリアから帰国して気がつけば、1週間ちょい。 人間、喉元過ぎれば熱さ忘れるなので、気をつけます。 で、タイトルの通り、IE8でセッションがぶちぶちきれる現象に遭遇し原因を探るのに時間がかかってしまいました。 結論から言うと私のプログラムが悪かったのですが、しかし、IE8までなぜ発覚しなかったのか、というところを追究してみましたのでメモっておきます。 なお、この現象は、IE8ベータ版の頃にあった IE8のwindow.openの挙動について などのバグとは違います。 で、先に言い訳をしておくと、このコードを書いたのは大分前で、かつずっと問題なく(いや、あるんですが)動いていたので気がつきませんでした。 <?php session_name("TEST_SID"); if(isset($_REQUEST["TEST_SID"])){ sessi
PHPのコレクション処理ライブラリUnderbar.phpの紹介 こんにちわちわ。 以前に便利なVimのOperatorをマスターするを書きましたemonkakです。 今回は私が個人的に開発を進めていて以前に社内勉強会で発表しました、PHPのコレクション処理ライブラリのUnderbar.phpの紹介をしたいと思います。 PHPのarrayなんとか関数は使い勝手が悪い PHPには配列処理のための関数がたくさんありますが、array_map()の引数の順番が変だったりarrayがそもそもオブジェクトではないのでメソッドチェインができなかったり使い勝手が良くありません。 $xs = range(1, 10); $twice = function($n) { return $n * 2; }; array_slice(array_map($twice, $xs), 0, 3); // [2, 4,
Enhance your PHP frameworks/libraries by making them Faster Better More Reliable Type System Zephir combines static and dynamic typing in a friendly language that is compiled down to machine code using the industry standard compilers. Memory safety Despite being a compiled language, it does not allow you to use pointers, it provides a garbage collector to avoid memory leaks and more. Compilation m
(Last Updated On: 2023年12月8日) 追記:最近のOWASPガイドの更新でJavaScript文字列はUnicodeエンコードで安全性を確保するよう変更されました。元々このブログでもUnicodeエスケープのまま利用するように書いています。他の言語のユーザーはUnicodeエスケープを利用しましょう。PHPもASCII領域の文字をUnicodeエスケープするようにした方が良いと思います。これは提案して実現するように努力します。 JSONはJavaScriptのオブジェクトや配列を表現する方式でRFC 4627で定義されています。メディアタイプはapplication/json、ファイル拡張子はjsonと定義されています。 PHPにJSON形式のデータに変換するjson_encode関数とjson_decode関数をサポートしています。 JSON関数がサポートされている
みなさんこんにちは。hackしてますか? 今日はhhvmのC++拡張(Extension)について書いてみます。 前振り hhvmはfacebookが開発・公開しているPHPの処理系のうちの一つでC++で書かれており、linux上でのJITがサポートされており場合によってはとても高速にPHPアプリケーションを実行する事ができます。 勿論Native拡張を書くこともでき、既存のライブラリ資産の有効活用やどうしても速度が出ない部分の改善などが簡単に行えるので手段として知っていると便利です。 この記事をきっかけにhhvm Extensionのとっかかりになれば嬉しいです。 開発環境を作る 開発環境はlinuxの環境を整えましょう。 OSXやその他の環境でのビルドも対応しているのですがJIT未対応だったり予期せぬバグや地雷を踏む可能性が高いので積極的にOSXのバグフィックスを行ってフィードバックし
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く