2011-08-01から1ヶ月間の記事一覧

mongodbをdaemontoolsで管理するときの注意点

サーバー再起動した場合にlockファイルが残ってるので起動できなくなる。 daemontoolsで起動させてるmongodb - 橋本詳解 これはちょっとめんどいのでなんかないかなと思って探したら、ジャーナリングを有効にすればよさそう。 MongoDBは強制終了させられた場…

nginxのkeepalive_diable

っていう設定があってデフォルトはIE6とSafariがkeepalive無効になってる http://wiki.nginx.org/HttpCoreModule#keepalive_disableSafariの理由はこれかな。 http://d.hatena.ne.jp/fjkktkys/20081001/1222853583IE6は例の65秒問題かな? http://d.hatena.n…

nginxのkeepalive_timeout

デフォルト値が65秒とかになっとる意味がわからんかったけど、Twitterでfujiwaraさんに教えてもらった。 http://wiki.nginx.org/HttpCoreModule#keepalive_timeout http://d.hatena.ne.jp/kinneko/20051214/p4 昔のIE対策っぽいので最近は5秒くらいでよさげ…

git rebase -i

git

rebaseってあんまり使ったこと無いけど便利らしいので使ってみた。前の二つをコミットを一個にまとめるとき $ git rebase -i HEAD~2ってやるとエディタが立ち上がって pick c6b00da commit log1 pick 51e40f3 commit log2 # Rebase 404ca46..51e40f3 onto 40…

expressのreq.path

というのが追加されてる Added shorthand for the parsed request's pathname · expressjs/express@d10b7b4 · GitHub require('url').parse(req.url).pathname のショートハンドらしい。

connect/middleware/header

新しいミドルウェア追加された。レスポンスヘッダをダンプして出力するデバッグ用のやつっぽい。 Added `connect.header()`, tiny middleware for response header debuggi… · senchalabs/connect@81e5195 · GitHub

expressのhomeがbasepathになった

っぽい。 Merged basepath setting. Closes #813 · expressjs/express@e9abe1b · GitHub app.set('home', '/hoge'); とかやってつかうやつ。

nodeのYAMLモジュール

nodeでpitつくろうかと思ったけど、nodeのYAMLモジュールがRubyとかPerlでつくったYAMLのパースでエラって互換性とれなそうなので諦めた。 --- foo: bar まずyamlでこれをyaml.evalするとエラる。 Error: expected indent after document, near " \nfoo: bar…

ChromeのDevToolsのフォントサイズを大きくする

http://darcyclarke.me/design/skin-your-chrome-inspector/ Dev Tools上で要素を検証とかやればDev ToolsをDev Toolsで見れるので、それで大きくしたいところを探してUserStyleを書けばOK。~/Library/Application Support/Google/Chrome/Default/User Sty…

ChromeでFilesystemAPIを試す

ファイルの読み書きができるようになるAPI。夢ひろがりんぐ。 Exploring the FileSystem APIs - HTML5 Rocks File API: Writer, Directories and System試してみようと思ったけど動かなかった。ちゃんと書いてあるけど現時点(Chrome13、Chromium15)では起…

ubuntuでnginxとmongodbの自動起動をとめる

Ubuntuに最新版のMongoDBをインストールする - hokaccha.hamalog v2 Ubuntuに最新版のnginxをインストールする - hokaccha.hamalog v2 この辺の方法でインストールするのは簡単でいいんだけど、upstartとかinit.d的なのももれなくついてくる。自動起動は便利…

MacのVirtualBoxにUbuntu10.04を入れる

さくらVPSと同じ環境をローカルにもつくっときたいのでVMで入れる。VirtualBoxのバージョンは4.1.2、Macのバージョンは10.6。イメージは以下から10.04の64bitをダウンロード。 Download Ubuntu Server | Download | Ubuntuインストールでつまづくところは特…

iOSでlabelきかない

HTMLのフォームのlabelのはなし。効かないのでJSでやるしかない。現時点(iOS4.3)では。

async.forEach

非同期処理にはasync.jsを使ってて、大体async.series、async.parallelとかだけでやってたけど、forEachとかのループ中に非同期処理が入ってきたりすると面倒だなあと思ってた。そういうときはasync.forEach、async.forEachSeriesを使えばよさげ。 var async…

SVGのanimateにおけるbegin属性

SVG

animateをjsから動的につくってアニメーションさせる場合、 <button>go</button> <svg> <circle cx="200" cy="200" r="50" fill="red" id="c"/> </svg> <script> document.querySelector("button").addEventListener("click", function() { var c = document.getElementById("c"); var animate = document.createElementNS('http://www.w3.org/2000…

spawnでviを起動する

nodeの実行時にvi起動したくて例えばperlとかだと system 'vi /tmp/foo.txt'; とかで起動できて簡単なんだけどnodeで var exec = require('child_process').exec; exec('vi /tmp/foo.txt', function() { ... }); とかやっても起動しないのでどうしたもんかと…

Androidでbasic認証

SoundManager2で再生してた音声がAndroidで2.1で読み込まれなくてFlash Liteだからかなーと思ってたらBasic認証のせいだった。2.2、2.3だといけてたからタチ悪い。何が起きるかわからないので極力basic認証かけないほうがいいかも。かといって代替え案がない…

expressのres.paramの変更

Added support for multiple callbacks for `app.param()`. Closes #801 · expressjs/express@ca75492 · GitHub app.param('foo', fn1); app.param('foo', fn2); ってのができるようになってことかな。たぶん。

expressにres.setとres.get追加

Added `res.set(field, val)` as an alternative to `res.header()` · expressjs/express@19a1a22 · GitHub Added `res.get(field)` as an alternative to `res.header(field)` · expressjs/express@c8c6aa2 · GitHubそれぞれres.setHeaderとres.getHeaderの…

connect/middleware/bodyParserのrawBody削除

されたみたい。 Removed `req.rawBody` from `bodyParser()` · senchalabs/connect@c3170ee · GitHubあってもいいと思うけど。まあほとんど使わんからいらんか。

シェルスクリプトでワイルドカードを引数にとりたい

やりかたがわからん。 $ zargs -- **/* -- grep hoge(僕はこれackでやるからこのコマンドの必要性はあんまないんだけど) でここの**/*とhogeを引数にとるようなfunctionにしたいんだけど**/*は展開されて渡るからうまくいかない。こうしたい。けどワイルド…

Androidのブラウザで音声再生

とりあえずAudio要素はダメみたい。まず2.2以下だとAndio要素はあるものの対応してるコーデックがないので再生不可能。2.3はmp3とか対応してるんだけど、なぜか再生できなかった。AudioのUIでるんだけど再生押しても再生されない。エミュレータもXperia arc…

imagemagickのインストールではまる

homebrewでimagemagickがインストールできなくてはまって調べたけどわからなくて諦めかけたけどわかった。gsutilっていうGoogleStorageのコマンドラインツールがあって、gsutilってちょっと長いし、パス通すのも面倒だからパス通ってるとこにgsっていう名前…

internal-sftpでumask

が設定できるのは5.4+なのかな? OpenSSH/Cookbook/SFTP - Wikibooks, open books for an open worldUbuntu10.04のOpenSSHが5.3で涙目。

iOSのGPUアクセラレータ

iOS

どういうプロパティで有効になるかテストしてみた。 http://dl.dropbox.com/u/336104/demo/gpu/index.htmltransformに有効な値指定するかtransform-style:preserve-3dを指定すると有効になるっぽい?

iPhoneシミュレータのGPUアクセラレータを可視化する

iOS

$ CA_COLOR_OPAQUE=1 /Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\ Simulator.app/Contents/MacOS/iPhone\ Simulatorって環境変数つけて起動すればOK。Safariでも有効みたい。赤くなってるところがGPUでレンダリングさ…

gitコマンドの拡張

git

git-xxxというファイル名のスクリプトをパスの通った場所に置いておくと、git xxxで呼び出せると言うことを知って、今までlibexec/git-coreに置いていたスクリプト群をgithubで管理できるようになって大変捗った2011-08-08 13:56:29 via TweetDeckこれは知ら…

expressのres.sendのインターフェース変わった

res.sendの引数の順番逆になったっぽい。 Changed `res.{send,json}()` status code to the first arg at all times · expressjs/express@c35cd7f · GitHub res.send('error', 400); だったのが res.send(400, 'error'); になったみたい。

mongooseのSchema.Types.Mixed

というのをSchemaのtypeに指定するとどんな型でも入れられるようになる。 var mongoose = require('mongoose') , Schema = mongoose.Schema; var FooSchema = new Schema({ bar: Schema.Types.Mixed });

mongooseでリレーション

embededじゃなくて正規化してリレーションしたい場合。これでいいのかわからんけど。mongoose.Schema.ObjectIdというのがSchemaの指定に使えるっぽいので var mongoose = require('mongoose') , Schema = mongoose.Schema , ObjectId = Schema.ObjectId; var…