nginx のシンタックスハイライトが効くと聞いて
IP アドレスホワイトリスト+それ以外からはbasic認証、というのをやりたいと思ったんだけど、auth_basic が if の中に入れられないので仕方なくこうしたという話。
perl_set $allowed ' sub { my $r = shift; my $remote_addr = $r->remote_addr; return "1" if $remote_addr =~ /^127./; return "0"; } ';
server { listen 80; location / { if ($allowed ~ "1") { # no authentication proxy_pass http://app; } # basic auth proxy_pass http://localhost:1080; } } server { listen 1080; location / { auth_basic "Authentication Required"; auth_basic_user_file "/etc/nginx/htpasswd"; proxy_pass http://app; } }
UNIX ソケットでいいとかそういうのは置いといて、どうやるのがいいんだろう。if 使ってるのも evil だからよくない。もといい方法知ってたら教えて下さい。
socks, dante
dante.conf に、サーバ側で設定してもらえるのを追加。これまで追加せずに使えてた気がするけど何だったんだろうな。
こんな感じになった(実際はもう少しルーティング細かい)
resolveprotocol: fake route { from: 0.0.0.0/0 to: 0.0.0.0/0 via: 127.0.0.1 port = 1080 protocol: tcp udp proxyprotocol: socks_v5 socks_v4 method: none }
新しいCPUでわくわくする話
いよいよ SandyBridge-E な Xeon が出回り始めましたね。DDR3-1600 4channel、Nehalem 以降久々の大幅スピードアップでワクワクしますよね。ね。
Web系でLLが動くアプリサーバですが、まだコア数とクロックが一番効いてくるように見えるくらいの評価軸しか持てていません。少し悲しくなります。SIMD系が使えることはまぁ限られるにしても、uop cache とか効くのかなと適当なベンチマークを家の i5 で回してたりしたのですが、あんまり効いてない印象。perf list すると branch-load, branch-load-misses とかあったので、今度ちゃんと調べてみます。L3 の影響がどの程度効くのかなんかも全く把握してないので気になるところ。
さてXeon E5 ですが、いろいろラインナップがあって分かりにくいので、気になるところだけWikipedia から引っ張ってみる。
model | core*clock/power |
---|---|
E5-2687W | 0.165 |
E5-2690 | 0.171 |
E5-2680 | 0.166 |
E5-2670 | 0.180 |
E5-2667 | 0.133 |
E5-2665 | 0.166 |
E5-2660 | 0.185 |
E5-2650L | 0.205 |
E5-2650 | 0.168 |
E5-2643 | 0.101 |
E5-2640 | 0.157 |
E5-2637 | 0.046 |
E5-2630L | 0.200 |
E5-2630 | 0.145 |
E5-2620 | 0.126 |
E5-2609 | 0.120 |
E5-2603 | 0.090 |
実際の消費電力は、同じモデルならカタログスペックに比例すると思うのでこんなもんでしょう。いつも通り 'L' のついたモデルが強そうです。
はてなでコードを書くときに気をつけていること
wtatsuru と申します。はてなで運用まわりを担当しております。
Hatena::Staff Advent Calendar 2011 : ATND というものがありまして、私も楽しく拝見していたのですが、なぜか id:nanto_vi さんのところで fork(!) して飛び火・玉突きの結果、私のところに「はてなでコードを書くときに気をつけていること」バトンが回って来ました。不思議なこともあるものです。
それにしてもバトンというのはまた懐かしい響きですね。バトンもしくはリレー日記なるものは、学生時代にブログmixi 掲示板あたりでやっていた記憶があります。友達の少ない私は最近あまり聞きませんが、今でもインターネットのどこかで回ってたりするのでしょうか。
さてコードを書くといっても、私はたぶんエンジニアの中でも一番コードを書かない部類の人間です。学生時代はC/C++ と Python を書いていました。FORTRANに怯えていた時代もあります。最近仕事でメインで書いているのはシェルスクリプトと ruby です。書くよりアプリケーションやミドルウェアのコードを読む時間の方が長いかも。Perl の会社にいますが、Perl力はあまり高くないです。
そんな私が偉そうに語ることもあまり無いので、はてなでコードを書くときに気をつけていることとして1点だけ、 "Fail Safe, Fool Proof" という原則。誤動作しても安全側に、ミスしても惨事が起きない、ミスができない設計にする。基本ですね。ある程度のプロジェクトなら当然必要になる話なのですが、数行程度の書き捨てに近いスクリプトでも root で動かしてシステム系のファイルをいじるものが多いので、特に気をつかいます。引数なし実行はさせない、入力validation, trapで後片付け, etc. 画面に向かって指差し確認までやれば完璧です(たまにやってますが気にしないでください)。
次は、部内で最もコードが書けそうな id:smly さんにお願いしたいと思います。
JAWS-UG@Kyoto で発表してきました
[http://atnd.org/events/21055:title-JAWS-UG - Kyoto勉強会 第2回] で、「はてなブログの下側」というタイトルで発表してきました。
内容に関してはこんな感じです。
はてなブログ
技術的な内容など書きます。
日常を綴るのはこちら: http://tatsuru.hatenablog.com/
ラーメンブログはこちら:http://d.hatena.ne.jp/wtatsuru/