フタなしカンヅメ

徒然なるままに @happytar0

fon2405EルータにDD-WRTを入れる

iPadを買った時にfonという無線ルータをもらいました。どうせなので、色々いじってみたいと思い、改造ファームウェアを入れてみることにしました。ファームウェアを書き換えるには、シリアルケーブルで接続する必要があるようで、fonの基盤に直接ケーブルを…

mixiアプリでRESTful APIを使う

今さらながらmixiアプリでRESTful APIが使えることに気づいたわけで、早速試してみました。mixiのデベロッパー向けサイトに、サンプルコードも付いて詳しく説明されているので、これを参考にして書いていけば問題なさそうです。 実際のリクエストには、「Con…

PHP版Shindigが上手く動かない

PHP

オープンソーシャルのアプリを開発する上で、必須といえるShindig。Shindigでコンテナを構築すればローカルでオープンソーシャルの開発をすることが出来ます。 そこでちょっとハマったことを記録として残しておきます。まずShindigには、色々なバージョンが…

ブラウザでP2P通信、ファイル転送が出来るのか

P2Pと聞くとマイナスのイメージを持ってしまいますが、P2P技術が使われているプロダクトは意外に多いのではないかと思います。もちろん、P2Pを利用する上での長所・短所はあります。 長所は、通信帯域を多く使うアプリケーションの場合、サーバを介さずに通…

ひかりone(BL190HW)でYAMAHAのルータ(RTX1200)を使う

ひかりoneで他のルータを使う方法をまとめてみます。付属のルータ(HGW)は「BL190HW」というもので、ひかりone自体はDHCPによってグローバルIPアドレスを割り振っているようです。この時にHGWのMACアドレスを参照しているため、他のルータなどに置き換えた場…

海外VPSや専用サーバの比較

ずいぶん更新していなかったので久しぶりに記事を・・・。 海外のサーバをいくつか借りてみたので詳細をまとめてみます。 金額やスペック 種類 名前 金額 CPU HDD メモリ OS 備考 専用サーバ The Planet $89 Celeron2.0GHz 80GB 512MB Linux全般、FreeBSD、W…

lsyncdがおかしい

lsyncdをしばらく使っていて妙なエラーが出るようになった。 Mon Nov 23 07:51:34 2009: ERROR: Cannot add watch /home/www/hogehoge (28:No space left on device)どうやらinotifyの監視対象ファイルが多くなったせいで、上限に引っかかってエラーになって…

PHPにPOSTでBase64の文字列を渡すときは注意

RubyのZlibで圧縮したデータをBase64にして、PHPのスクリプトにPOSTで渡すってことをやっていたのですが、圧縮データを展開できる時と、できない時があって悩んでしまった。よくよく調べると、そもそもBase64をデコード出来ていなかった。それで調べてみると…

VistaのIEではDNSラウンドロビンはしてくれない

2本の回線を使って色々トラフィックを分散していたのですが、結局の所、画像ファイルをリダイレクトして別のホスト(ドメイン)に投げてしまうと表示されないことが判明(IEだけ?)・・・。 あれこれどうしようか検討して、結局一番シンプルなDNSラウンドロビン…

debianでMySQL with sennaのパッケージを作ってみる

debian lennyをインストールしてみました。debianは過去に一度触ったことがあってそれ以来です。まだsargeも出ていなかった頃だったと思います。 FreeBSDとなんとなく似てる所もあるのですが、最小構成でインストールするとほんとにスッキリしてていいですね…

lighttpdで直リンク対策を簡単にする

前回に引き続き直リンク対策をlighttpdでおこなってみたいと思います。Apacheと同じようにrewriteで・・・と行きたい所ですが、lighttpdのmod_rewriteは、Apacheほどの機能は持っていないようです。 設定ファイルにずらずらと書いて行ってもいいのですが、そ…

mod_rewriteで直リンク対策を簡単にする

外部から勝手にリンクされて困ってしまう場合、特に画像や動画ファイルなど比較的重たいファイルを勝手にリンクされてしまうと帯域を無駄に使ってしまい、困ってしまうことがあると思います。 そこでリファラを使って、直リンクされている場合に403を返すよ…

LighttpdのFD_SETSIZE【続】

以前の記事で以下のようなエラーがでるということを書きましたが、ちょっと嘘ついてたみたいというか、適当すぎたのでよく調べてみました。 2009-08-31 14:05:37: (server.c.1337) [note] sockets enabled again 2009-08-31 14:07:16: (server.c.1383) [note…

JavaScriptのラジオボタンでのOnChangeイベントの挙動

Railsでは簡単にAjaxを使えるような仕組みとして、RJSなど便利ものがたくさんあるので、最近よく使ってみたりしています。ちょっとアレ?と思ったのは、ラジオボタンのOnChangeイベントの挙動についてです。IEとFireFoxでどうやら違うみたい。IEの場合は、フ…

Railsでmixiアプリを作ってみました

mixiアプリってなんじゃろ・・・と思いつつ、調べてみたらOpenSocialというコンテナを使って、mixiの中で自分の作ったアプリが動くらしい。 何やら面白そうだったので、Railsの勉強がてらに作ってみました。あしあとプラス ソーシャル・ネットワーキング サ…

携帯開発環境をMoxyからSSBに

今までの開発環境はMoxyを利用させて頂いていたのですが、OSを入れ直したついでにMoxyを新しくしようとしたところ、どうしてもうまく動かすことができませんでした。古いのでいいかと思ったのですが、SSBというのが目につきました。どうやらこいつは、Rubyで…

LighttpdのFD_SETSIZE

Lighttpdを利用していて、エラーログに以下のようなエラーメッセージが表示されるようになりました。 2009-08-31 14:05:37: (server.c.1337) [note] sockets enabled again 2009-08-31 14:07:16: (server.c.1383) [note] sockets disabled, connection limit…

Apache2でPassengerを使ってみる

Apache2のモジュールでお手軽にRailsを動かせるというPassengerをインストールしてみることにしました。そこでちょっとハマった。Apacheは最初からインストール済みで、まずはRubyGemsを入れるところから始めました。yumで入るかと思ったのですが、初期の設…

CentOSでyum update

yum updateでパッケージを更新しようとしたところ、ドバドバっと色々表示されて、挙げ句にエラーが出ました。こんなに更新してないはずは・・・。 --> Processing Dependency: /usr/lib/python2.4 for package: gamin-python --> Processing Dependency: /us…

Awstatsでlogresolvemerge.plを使う

Awstatsで複数のログファイルをマージするために、付属のlogresolvemerge.plを使っていましたが、ある時を境にエラーが出るようになりました。 記録するのを忘れてしまったのですが、以下のようなエラーだったと思います。 Error Command for pipe logresolv…

iptablesで20と21番ポートを空けたのに繋がらない

この前iptablesを設定したときに、FTPのポートも空けたはずなのですが、Passive(パッシブ)モードで繋がりません。繋がらないというか、LISTコマンドとかでリストを表示しようとすると固まるといった感じです。 ## こんな感じで固まる ftp> ls 229 Entering E…

ひかりoneギガ得プラン+RTX1200の性能?

ギガ得プランでRTX1200を使い始めて一ヶ月くらい経ちました。アクセス数やトラッフィクも徐々に増えていき、RTX1200のCPU使用率が90%を超えるようになってきました。 現在の状況は以下のような感じです。 PV => 30万〜40万 全体のHTTPリクエストの数 => 1000…

RubyのNet::HTTPでハマる

前回の記事でmod_rewriteのRewriteMapを使い、なんちゃってフェイルオーバーを作ってみましたが、どうもたまにヘルスチェックをおこなうrubyのスクリプトが落ちるわけです・・・。 エラーはこんな感じ。 /usr/lib/ruby/1.8/timeout.rb:54:in `open': executi…

Apacheのmod_rewriteを使ってフェイルオーバー?

Apacheのmod_rewriteを使って、フェイルオーバーみたいなことができないかと思い、ちょっとやってみることにしました。フェイルオーバーといったら大げさな感じですが、もうちょっと本格的にやるならmod_proxy_balancerを使ったほうがいいと思うので。。。現…

新型MacBookPro(Mid2009)のメモリとHDDを交換

かれこれ3年くらいMacBookの黒を使っていたわけですが、最近すこぶる調子が悪いです。とにかく熱い、夏だから余計に気になります。中のファンも壊れて2回ほど交換しました。 そして最近でたMacBookProの13インチがずっと気になっていて、ついに買うことを決…

自宅サーバでセカンダリDNSを構築する

前回の記事でプライマリのDNSを構築したので、次は自宅サーバでセカンダリDNSを構築しようかと思います。その前にネームサーバを構築してみて、ちょっとアレ?と思った部分があったので、その事を書いておきます。外部ドメインを引いてみようと思い、下記の…

lsyncdが勝手に止まってた

この前設定したlsyncdですが、いつの間にか勝手に止まってました。なぜだろう?と思いログを見てみると下記のようなエラーで止まっていた。 rsync: failed to connect to 192.168.1.2: Connection refused (111) rsync error: error in socket IO (code 10) …

VPSを使ってネームサーバ構築

今までバリュードメインの無料ネームサーバを利用していたのですが、ご存知の状況でして・・・。この際自分で作ってしまおうと思ったわけです。まず、サーバをどうしようかなと思いました。自分で構築するのであれば、もちろんroot権限がある専用サーバが必…

Scribeでログの集約・収集【追記】

あとがきでログを取る際の負荷が高いということを書いたのですが、もう一つのWebサーバ(lighttpd)でもログを取るようにしたところ、あまりにもレスポンスが遅くなってしまったので、Pythonで書き直してみました。といってもサンプルファイルをちょっといじっ…

Scribeでログの集約・収集【後編】

いよいよWebサーバのログをScribeを通して処理してみます。examplesディレクトリに入っていた、scribe_catとscribe_ctrlはそのまま使えそうなのでこれを利用してみます。 # cp examples/{scribe_cat,scribe_ctrl} /usr/local/bin/ まず、ログサーバ(ログを集…