TOSLINK

HP-A3のTOSLINKって24bit 192KHzの入力できるのね。
間違えて24/192のデータ流したら普通に再生できちゃったよ。

仕様の24/96までと言うのは、動作保証できるのが24bit 96KHzまでってことなんですね。

ヘッドホンアンプ

03 hpa3 main

以前に手放したFOSTEX HP-A3を買い直しちゃいました。
今まではTopping D2を使ってたのですが、ボリュームが劣化してノイズが入りまくるようになったので
HP-A3に買い換えてしまいました。

もっと高機能な奴を買おうか悩んだのですが、PCで使うならこの程度で十分かという判断でA3です。

中華オーディオの圧倒的なコストパフォーマンスには敵いませんが、 信頼のMade in Japanだけあって
作りがしっかりしています。

これで快適なヘッドホン環境が復活です。

オペアンプ交換とかはオシロスコープが手元にないのでやらない予定、標準状態で載ってるOPA2134って
十分高音質だと思うんだ。 

 

リバウンド

食中毒による絶食ダイエットで4Kg落ちたわけですが、食べられるようになると
あっという間にリバウンドしますね。

もう2Kgも戻っちゃいました(´・ω・`)

 

やはり、運動による地道な減量が大事ということで・・・
体力が回復次第、ウォーキングと踏み台昇降を再開です。

あと5Kg落とせば、とりあえずの目標達成なのでがんばります!

 

食中毒

ここ最近ダイエットをやってまして、5ヶ月かけて10Kg落としたんですが、
先週末にかかった食中毒は、わずか4日で4Kgも落としてくれました(´・ω・`)

食中毒ヤバいです、マジでヤバいです。
下痢と嘔吐が死ぬほどつらいので洒落にならないです。

みなさん、体調が悪いときは生ものに注意しましょう(‘A`)

ノロじゃなくて良かった・・・

SDメモリー

IMG 0551

デジカメ用にLexarの32GB Class10 SDHCメモリーを購入しました。

LexarのCFやSDメモリーって高級品ってイメージだったんですが、最近は安くなったんですね。
1枚 1820円で買えちゃいました。

とりあえず2枚買ったので、大量に撮影してもかなりの余裕があるはず。

あとは、何でもいいので撮影に行くだけです(`・ω・´)
最近、引きこもり気味なのでモチベーションを上げていかなければ。

FastCGI Cacheの設定を更新しました

昨日の記事で、暫くこの設定で運用しますと書きましたが、早くも問題が出てしまいました(‘A`)

一部のクローラーや、Wordpress自身のピンバック機能がHEADメソッドでアクセスを行うようですが、HEADでキャッシュが生成されると中身の無いキャッシュが出来てしまうことが分かりました。

HEADでボディ無しデータを取得したタイミングでキャッシュを作ってしまうわけですので、正しい動きではあるのですがキャッシュ運用という観点では非常に困る挙動です。

HEADの禁止とか、リクエストメソッド毎に別キャッシュを生成するとか色々考えたのですが、今回はHEADアクセス時にはキャッシュを使わないで動作させることにしました。

        if ($request_method = "HEAD") {
            set $do_not_cache 1;
        }

こんな感じの設定を追加して、HEADアクセスの時はキャッシュをバイパスさせます。

元記事の方も設定サンプルを更新してあります。

今度こそ設定変更なしで長期運用するんだ……

Nexus7購入

今更ですがNexus7買いました。
読書用には7インチがベストですね、iPadでは厳しかった寝ながら読書が楽々出来ます。

 読書が捗るようになったので、BOOK☆WALKERの積読本を消化するぞ(`・ω・´)

 

 

Android版のBookWakerアプリって画面サイズを有効活用してくれるんですね。
iPhone5だと上下に余白が出来るので、アスペクト比決め打ちだと思ってたよ(‘A`)

 

 

FastCGI Cache

NginxのCacheがとても速いのは前回の記事でよく分かりましたが、Webサーバーと
Proxyサーバーをそれぞれ用意するのはリソースの無駄に思えます。
と言うわけで、Nginxのもう一つのCache機能であるFastCGI Cacheに設定を変更しました。

Proxy CacheはNginxがバックエンドのWebサーバーに処理を転送し返ってきたコンテンツを
キャッシュして、Nginx自身はキャッシュを送信することでパフォーマンスを上げる仕組みです。
今回導入したFastCGI CacheはFastCGIのレスポンスをキャッシュする機能です。
これを利用すると、Proxy Cacheを利用したのと同じ効果をProxyサーバーなしに実現できますので、
無駄な通信と処理がなくなりシンプルな構成となります。

設定も通常のFastCGIを使う設定にCache設定を追加するだけなので、シンプルで簡単です。
Cache制御の設定もProxyの時と同じ考え方で設定できます。

2013/01/13 設定を修正しました。
HEADアクセスで空のキャッシュが出来てしまう現象の対策

http {
    include                 mime.types;
    default_type            application/octet-stream;
    sendfile                on;
    directio                8m;
    keepalive_timeout       30;

    # CacheのHIT/MISSなどの情報をログに出力
    log_format  main       '$remote_addr - $remote_user [$time_local] "$request" '
                           '$status $body_bytes_sent "$http_referer" '
                           '"$http_user_agent" $upstream_cache_status';

    gzip                    on;
    gzip_http_version       1.1;
    gzip_types              text/plain
                            text/xml
                            text/css
                            application/xml
                            application/xhtml+xml
                            application/rss+xml
                            application/atom_xml
                            application/javascript
                            application/x-javascript ;
    gzip_disable            "MSIE [1-6]¥." "Mozilla/4";
    gzip_comp_level         1;
    gzip_proxied            any;
    gzip_vary               on;
    gzip_buffers            4 8k;
    gzip_min_length         1000;

    fastcgi_cache_path      /var/tmp/nginx/fcache levels=1:2 
                            keys_zone=fcache:8m max_size=100m inactive=7d;

    server {
        listen          80;
        server_name     mmio.net;
        access_log      /var/log/nginx-blog.log main;

        # 静的ファイルの配信
        location / {
            root     /home/www/blog/ ;
            index    index.html index.htm index.php;
            location ~* \.(jpg|jpeg|gif|png|css|js|ico)$ {
                expires 14d;
            }
            # WordPressのパーマリンク対策
            try_files $uri $uri/ /index.php;
        }
        location = /favicon.ico { log_not_found off; }
        location = /robots.txt  { log_not_found off; }
        location ~ /\.ht { deny  all; }

        # モバイルデバイスはキャッシュを使わない
        if ($http_user_agent ~* '(DoCoMo|UP\.Browser|SoftBank|WILLCOM|
                                  emobile|iPhone|iPod|Android.*Mobile)') {
            set $do_not_cache 1;
        }
        # WordPressにログイン中はキャッシュを使わない
        if ($http_cookie ~* "wordpress_logged_in_[^=]*=([^%]+)%7C") {
            set $do_not_cache 1;
        }
        # HEADアクセスはキャッシュを使わない
        if ($request_method = "HEAD") {
            set $do_not_cache 1;
        }

        
        # PHP処理をFastCGIに転送
        location ~ \.php$ {
            fastcgi_pass         unix:/tmp/php.sock;
            fastcgi_index        index.php;
            fastcgi_param        SCRIPT_FILENAME  /home/www/blog/$fastcgi_script_name;
            fastcgi_cache        fcache;
            fastcgi_no_cache     $do_not_cache;
            fastcgi_cache_bypass $do_not_cache;
            fastcgi_cache_key    $scheme://$host$request_uri;
            fastcgi_cache_valid  200 7d;
            fastcgi_cache_valid  301 7d;
            fastcgi_cache_valid  any 10m;
            include              fastcgi_params;
        }
        # Cache破棄のためのURL
        location ~ /purge(/.*) {
            allow 127.0.0.1;
            allow 49.212.135.193;
            deny  all;
            fastcgi_cache_purge fcache $scheme://$host$1;
        }
    }
}

キャッシュ保持期間が7日とやや長めですが、記事の更新時に自動的にキャッシュを破棄する
仕組みを導入していますので、更新がいつまでも反映されないという事態は発生しないはず。
ngx_cache_purgeモジュールを組み込んでいない環境であれば、保持期間は10分程度にしておくのが
無難だと思います。

とりあえずは、不具合などが起きない限りこの設定で運用してみたいと思います。