この記事はRetty Advent Calendar 2017 における 22日目の記事です。 昨日は @saku さんの swiftで丸画像をパフォーマンス高く表示する方法 でした。 はじめに 趣味のBot開発から気づけばWebフレームワークの負荷試験を行なっていました。 Software Engineerの@tkngueです。普段業務としては、Data Engineer/Web Service開発/データ分析やってます 「速さは正義」 とは皆の共通の認識で、言うまでもないことだと思うのですが 本記事では、速さってなんだろうって考えてみます。 TL;DR 負荷試験における 速さは面で捉えよう: 品質を50%'ile - 90%'ile - 99%'ile ... で定義する 品質を評価する手段にも気をつかおう: Coordinated Omission は大きな測定誤差を生みます Goも
MYSQLの正規表現による置換について <dammy>○○</dammy> という値を <dammy>××</dammy> に変換したいと考えています。 ○○のなかには、どんな値が入っているか分かりません。 正規表現を使えば、置換できると思うのですが、 MYSQLでのSQLを教えてください。
今日はさくらVPSに載せているWordPressのパフォーマンスをチューニングして高速化に成功したので安心して眠れるという話をします。 2.5ページ/秒だったのが70ページ/秒と30倍高速化。 以前はDaily数千PVで重くなっていたサイトがDaily3.6万PVを余裕で捌けるようになりました。 #ちなみにproxy cacheという手法はwordpressでなくても動的コンテンツ全般に有効です。 ▼サーバ気にしなくて良くなったので今週末新宿御苑に花見に行けました☆。枝ぶりがいいさくらが多くてほんといいところだと思うの。 WordPressチューニング高速化結果http://hara19.jp/のサーバ環境と測定結果は以下のとおり。 WordPress稼働環境さくらVPS 1GB/CentOS5.5/PHP5.3/MySQL5.5/WordPress3.1。 WEBサーバはチューニングにあ
WordPressのパーマリンクを/YYYY/MM/DD/hhmmの様な日付ベースにしようとすると、日付アーカイブになってしまい記事単体のページとして認識されません。 秒まで設定(/YYYY/MM/DD/hhmmssなど)すれば記事単体のページとして認識されますが、微妙に長くなってしまうので見た目もちょっと・・・ですよね。 と言う訳で今回は、半ば強引にパーマリンクを日付ベースにしてみたいと思います。 日付ベースのパーマリンクを有効にするコード 以下のコードをテーマファイルの何処か(functions.phpなど)に記述。 <?php add_action('parse_query', 'date_base_permalink'); function date_base_permalink($wp_query) { $q = (object)$wp_query->query_vars; //
WordPress にプラグインをガンガンと突っ込んでいくと <head> 部に、JavaScript やら CSS やらが、ドンドン追加されて、カオスなことになってしまいます。 そんな状態の自サイトを「YSlow for Firebug」で診断してみると、とても低いスコアになったりしてガックリ来るわけです。 プラグインを外したりしたくなかったりするので、チマチマと修正したりして使っていたんですが、プラグインのバージョンアップのたびに修正するのも面倒です。 そんな折、「WordPress Head Cleaner」というプラグインを見かけました。 これは、ひょっとして <head> 部を自動でキレイにしてくれるのか?と期待してダウンロードしてみたんですが、ソースを見てガッカリ。 ついカッとなって、こんなプラグインを作ってしまいました。 ダウンロード Head Cleaner@WordPre
閉じタグってのは「?>」のことね。未だに閉じタグ使ってるコードを見ると一瞬ドキッとするんだよね。(自分の昔のコードも含むw) いや、ちゃんとわかってて確実に使いこなしてるならいいんだけどたまに -- ここがファイルの先頭 -- <?php class Foo { // いろいろ } ?> -- ここがファイルの後尾 -- みたいな感じで閉じタグの後に改行コードが一つ入ってたりするのを見ると「あわわわ」ってなっちゃう。 実際には改行一つだけなら問題は出ない、PHPは閉じタグの直後の改行を消してくれるからね。 問題は改行が二つ以上あった場合だ。これは悲惨なことになる。PHPは閉じタグ以降のデータ(というか範囲外のデータ)は全部HTMLとして出力される仕様なので、改行コードが表示されちゃう事態に。 表示されちゃうっていうのは語弊があるか、元々PHPはHTMLに埋め込むための言語なのでの範囲外の文
2009年04月01日00:41 カテゴリ1st Day of AprilLightweight Languages goto is heartful - PHP 5.4 RC1 みなさん、お待たせしました。 PHP 5.4 RC1リリース、新機能の「行番号」や「LIST」「RUN」に注目 : bogusnews PHP Development Teamは26日、スクリプト言語「PHP 5.4.0」のRC1版を公開した。5.4では、将来のメジャーアップグレードを見据えつつ多数の新機能を搭載。また、既存機能の見直しをおこない、これまで足りなかった要素を追加した。 いよいよお披露目です。 5.4に追加された機能でもっとも特筆すべきは、やはり「行番号」への対応だろう。ステートメント行ごとに10 echo "あいうえお"; 20 goto 10;のように番号ラベルを付け、順番に実行させることが可能
PHPでは他の言語のようにコンストラクタからメソッドチェーンできない。例えば"new Hoge->doSomething();"というようなことができない(やってみるとパーサエラーになる)。 オブジェクトを生成して何かひとつメソッドを呼び出して終わり、という例の時に <?php $obj = new Hoge; $obj->doSomething(); とやるのは変数に何か名前をつけるコストやタイプ数などの観点から見てめんどうくさい。 そこで以下のような関数を定義する。 <?php function ref($obj) { return $obj; } この関数はみたとおり渡された値をそのまま返す関数だが、これを使うことで以下のようにメソッドチェーンできるようになる。 <?php ref(new Hoge)->doSomething(); というバッドノウハウっぽい話。
PHPプログラムを解析して何処が重いか?がブラウザ上で簡単に分かる「XHProf」 2009年03月25日- XHProf Documentation (Draft) PHPプログラムを解析して何処が重いか?がブラウザ上で簡単に分かる「XHProf」。 通常、PHPでのプロファイリングというと、Xdebugでファイルを吐き出して、WinCacheGrindやKCacheGrindで読み込むというのが定番です。 ですが、この方法だと、ファイルを吐き出したファイルをGETして、ソフトに読み込ませる、というちょっと面倒な手順が必要でした。 XHProf を使えば、ブラウザ上で、プロファイリングが出来るみたいです。 XHProfの特徴 まず、セグメントごとの実行時間やメモリ利用の状況なんかがブラウザで見れます。 プログラムの構造を把握するのにも使えます。 プロファイリングの階層表示 2つのプロファ
2009年03月21日06:30 カテゴリLightweight Languages Ajax - Lightweight Languages を実行するAPI 今度はPerlだけではありません。 Perl だけではなく.... #!/usr/bin/perl warn time, "\n"; print ''.localtime; PHP も(誰だ、私がPHPを嫌いって言ってるのは:).... #!/usr/bin/php <?php echo date('r') ?> Python に... #!/usr/bin/python import datetime print datetime.datetime.now() Ruby に... #!/usr/bin/ruby puts Time.new Scheme (gauche) に... #!/usr/bin/gosh (use srf
本稿では、Amazon Web ServicesをPHPで操作する方法を説明します。AWSを利用する方法には大きく分けてRESTとSOAPがあります。本稿ではまず、簡単なため多くの開発者に利用されているRESTを紹介し(SOAPは本稿では扱いません)、より抽象度の高い方法であるPEAR Services_Amazonを使った利用方法を紹介します。 はじめに 一般に、「ショッピングサイトを利用する」と言えば、人間がウェブブラウザでアクセスして利用することを意味します。しかし、本稿で扱うアクセスの主体はPHPのプログラムです。これは、「PHPに人間がアクセスしているふりをさせる」ということではありません。そうしなければならないようなウェブサイトもありますが、Amazonは、プログラムのためのインターフェイス(API)をAmazon Web Services(AWS)として公開しているため、簡単
Captcha security check de-lab.com is for sale Please prove you're not a robot View Price Processing
Facelift Image Replacement (or FLIR, pronounced fleer) is an image replacement script that dynamically generates image representations of text on your web page in fonts that otherwise might not be visible to your visitors. The generated image will be automatically inserted into your web page via Javascript and visible to all modern browsers. Any element with text can be replaced: from headers (<h1
ちょっとしたネタ。PHP_CodeSnifferのコードを見ていて気づいたんですが。。。 コーディング規約の指定 PHP_CodeSniffer は、複数のプロジェクトで使用するために、 複数のコーディング規約をインストールすることができます。 PHP コードをチェックする際に、どのコーディング規約を使用するかを PHP_CodeSniffer に指定することができます。これを行うのが、コマンドライン引数 --standard です。 standardオプションには規約名だけじゃなく、規約を定義したディレクトリへのフルパスが使えるようです。 たとえば、PEAR :: Manual :: コーディング規約のチュートリアルにある規約MyStandardをカレントディレクトリ以下に作った場合、以下のようにフルパスを指定すればOKです。 $ ls MyStandard Test.php $ php
タイトルは釣りです。 実際のタイトルは「Perlのオブジェクト指向がムズカシイだって?んなバカな。だったらPHPで再現してやんよ!」でございます。 ヘイヘイヘイ。そこの君。Perlのオブジェクト指向が難しいだなんていったい誰が言ったんだい? Perlのオブジェクト指向ほど、シンプル且つ柔軟なものはないよ! 単なるパッケージ(名前空間)とリファレンス(データ)をblessという関数で紐付けただけのもなんだから。 第一引数に必ず$selfが来るっていうのも結局の話たんなる関数呼び出しとなんら変わらないのだから。 package Foo; sub new { my $class = shift; return bless { @_ } , ref $class || $class; } sub plus { my $self = shift; my $int = shift; return $s
なんだかやけに長い説明ばかり検索に引っかかったので書きました。 Linuxのローカル環境でDockerコンテナ内のXアプリ(GUIアプリ)を利用するには $ xhost localhost + を実行した後に $ docker run --rm --net host -e "DISPLAY" container_image_name x_app_binary_path とすれば良いです。 もっと読む SSHなどよく知られたサービスポートで何も対策せずにいると数えきらないくらいの攻撃リクエストが来ます。不必要なログを増やしてリソースを無駄にし、もし不用意なユーザーやシステムがあると攻撃に成功する場合もあります。 SshguardはC作られており、flex/bisonのパーサールールを足せば拡張できますがカスタム版をメンテナンスするのも面倒です。必要なルールを足してプルリクエストを送ってもマー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く