追記 Wed Jan 11 10:53:25 JST 2012 本では「並記」じゃなくて「並置」と書いてました nginxの本(ハイパフォーマンスHTTPサーバ Nginx入門)を読んで、なるほどと思ったメモ。例えばapacheのmod_rewriteのこんなのを RewriteCond %{REQUEST_FILENAME} !-f R…
気が付いたら招待制じゃなくなっていたので作った。 使い方分からん。 はてダとはてブログの間でtwitter連携設定が共有されている気がしてならない。 何か書くにしてもオープンじゃ書きたくないしなあ。
※このエントリは微妙に自力ではありません webアプリを運用していて、静的・動的問わず 転送量がやばい 負荷がやばい そのせいで誰かがやばい などといったときがあることもあって、普通はmemcachedなりsquidなりを使うけど、 そこまでガッツリcacheする程で…
※この記事は自力ではありません 1つのアプリの中で複数の.psgiをplackupしたいときがある。 そんなとき、 複数ターミナルを立ち上げてplackup screenで複数ウィンドウ などの手段で1個1個コマンド打ってもいい、のだけど、例えばforkでこんなことを。 今回は…
perlbrewを使っている場合など、PATHに含まれていないコマンドをcrontabやrunで使うとき自分はこうしてる。 変数で定義 PERL5LIB=/path/to/my/lib myperl=/path/to/my/perl $myperl /path/to/app.pl PATHの先頭にpath追加 PERL5LIB=/path/to/my/lib export P…
/service/hoge/run /service/hoge/log/run /service/hoge/log/mainなどを置いて普通にdaemontoolsで運用していたとする。 何故か svc -dx などではなく、 kill -9 などで hoge/run と hoge/log/run を殺したりしたとする。 するといくら svc -dx したり /ser…
忙しい人用 % sudo netstat -tlnpトランプとでも覚えるがよい。 暇人用 http://twitter.com/#!/hirafoo/status/148669409819508736 何となくツイート http://twitter.com/#!/kamipo/status/148671311072333825 リプライ襲来 http://twitter.com/#!/hirafoo/s…
だばだー
例えば MyApp::Memcached みたいなのがあったとして、 get/set する度にいちいちnewするより一度newしたのをシングルトンとかで保持して使いまわした方がいいよねーと思って 一度だけnewしたのを使いまわす ||= でいわゆるシングルトンみたいな per request…
ざっくり概要 ピークで3000req / sec 毎分コンテンツ更新要求 コンテンツ更新の際は他所からデータをapi経由で受け取る コンテンツ更新にはTheSchwartzを使用 なコンテンツを色々してきたログ。 尚、ここに書く技術は大半が周囲のギークな方々にサポートして…
ちょっと前にこんな出来事が。 http://twitter.com/#!/kamipo/status/99507364213952512 http://twitter.com/#!/hirafoo/status/99520446751457280 http://twitter.com/#!/kamipo/status/99543563326603264 なお、2個目のtweetの中の2個目のurlは消したので…
mysqlでレプリケーションするときは my.cnf の mysqld セクションに [mysqld] log-bin などと書いてバイナリログを吐く。 このように log-bin とだけ書いた場合、バイナリログの名前は5.1では HOSTNAME-bin.000001 のようなものになる。 --log-bin[=base_nam…
F5配下に置いてあるサーバにhttps通信をしたい。 大体2パターンある。 クライアント〜インターネット〜F5まではhttpsで、F5からサーバまではイントラネットでhttp サーバでは80だけをlistenし、証明書はF5が持つ クライアントからサーバまで全部https サーバ…
vimperatorでは set complete=S set defsearch=g set suggestengines=g set wildoptions=autoなどと書くと、 t で文字入力してる最中に、指定した検索エンジンからのサジェストを受け取ることができる。 vimp2までは何の問題も無く使えていたのだけど、vimp3…
やっぱりこの記事も自力ではありません。 今更すぎますがapacheのkeepaliveの話。 keepaliveがonだと、1リクエストの間で複数コンテンツを返す。 例えば、ごくふつーのwebサービス(サービスA)と、jsonやらjsのコールバック関数(かつその関数は非同期で動…
(追記:このエントリは自力ではありません) http://d.hatena.ne.jp/hirafoo/20110624/1308931556 で、ROW OPERATIONS Speedで、「indexが不適切だったりすると、増える。」と書いたけど、それはどんな場合か。 例えば、 id user_name の2つのカラムがある…
(追記:このエントリは自力ではありません) CloudForecast というリソース管理ツールがあります。 色々見られるのはいいんですが、[よく分からん|知らん|勘違いしている]項目ばかりなので解説のようなものを。 Traffic Throughput 転送量。 Inbound 外部か…
vundle便利ですね。 ところでインストールでさ ドキュメントには .vimrc にこう書け、とあるのだけど set rtp+=~/.vim/vundle.git/ 俺の場合はこうしている。 set rtp+=~/.vim/vundle/まあどっちでもいいけど。 で、本題。 vundleで管理できないプラグインは…
http://d.hatena.ne.jp/hirafoo/20110529/1306600000 を書いたら即行でxaicronさんからコメントを頂いた。 自分は use ifのifをビルトイン関数のifだと思ったけど、ビルトイン関数のifはこんな使い方はできない。後置ifは使えるけど。 で、教わったとおり if…
http://d.hatena.ne.jp/gfx/20110528/1306594596 で、 use if __FILE__ eq $0, 'Smart::Comments'; と、見慣れないuseの使い方をしてるのが気になって perldoc -f use したけど分からないので perldoc.jp 見たら載っていた。 http://perldoc.jp/func/use 少…
3.15のChangeLogから抜粋。 * summary of main changes: - perldoc -v PerlVarクォートでくくるのが非常にめんどくさい。
alt+7 'と押すと % '''''''ってなる。typoから知るzshの機能。
twitterとかgmailとかでやってる、一番下までスクロールすると「もっと見る」みたいなリンクがあって、それをクリックすると下にもっと広がるアレ。 やってることは、クリックされるたびにjavascriptで データを用意する テンプレートを用意する テンプレー…
http://d.hatena.ne.jp/gfx/20110505/1304603785 を読んで、自分が読んで良かったと思っている本を1冊挙げようと思った。 Effective Perl http://www.google.co.jp/search?q=effective+perl この本は古い。amazonによれば1999/03が発売日らしい。PlackだのCa…
WWW::Sitemap::XML と WWW::SitemapIndex::XML を使う。 準備 libxml2 を入れておく % sudo yum install libxml2-develモジュールのインストールでコケたら MooseX::Types のバージョンが古いかもしれないので最新にするなど code use strict; use warnings;…
突然ですが以下の実行結果を予測してください。ついでに実行結果と照らし合わせてみてください。 % perl -le 'print 3 ** 2' % perl -le 'print (1+2) ** 2' % perl -le 'print (3) ** 2' 見ただけでオチが分かりましたが何か? → 尊敬させてください 予想通…
LIMIT 20 OFFSET (:page - 1) * 20 みたいなクエリは :page に大きい値が入れれるように設計されてるとクエリに殺されるので、 WHERE key = :offset_for_next_page LIMIT 20 なクエリになるよう設計してほしい。 http://twitter.com/kamipo/status/563046010…
例えば % mysql --pager='less'などすると、selectなどの結果をlessで見ることが出来る。 この時に上下スクロールはvim風に j/k で出来る。が、横スクロールは十字キーですることになる。 これが使い辛いので、vimと同じく h/l で横スクロールするようにする…
何に使うのやら。 giflib-devel とかのライブラリを入れておくのも忘れずに。 #各インスタンス生成 my ($img_down, $img_up_jpg, $img_up_gif) = (Image::Magick->new, Image::Magick->new, Image::Magick->new); $img_down->Read("path/to/down_image"); $i…