2011-01-01から1年間の記事一覧

$LOAD_PATH.delete('.')

1.9.2 から $LOAD_PATH($:)にカレントディレクトリを含まなくなった、というを今頃知った。少しハマった。 http://www.ruby-lang.org/ja/news/2010/08/18/ruby-1-9-2-is-released/

readHex

戻り値の型に関して readHex の戻り値の型がなぜ [(a, String)] になっているのだろう、(a, String) でいいのでは、と思った。 ghci> :m Numeric ghci> :t readHex readHex :: (Num a) => String -> [(a, String)] ghci> readHex "7dbZYX" [(2011,"ZYX")] gh…

Parsec on Ubuntu

Ubuntu で Parsec を使えるようにするためのメモ。 % sudo apt-get install libghc6-parsec3-dev

SSH ポートフォワードで MySQL サーバにログインするときのメモ

localhost は MySQL サーバへの接続が許可されていない。192.0.2.2 は MySQL サーバへの接続の許可されている。 そんなときに localhost から MySQL サーバへログインする方法。 + localhost SSH, MySQL client + | + 192.0.2.2 SSH server + | + 192.0.2.3 …

リモートホストのファイルを編集する

Vim

Vim で scp を使ってリモートホストのファイルを、リモートホストにログインすることなく編集することができる。 パスはリモートホストのホームディレクトリからの相対パス。 % vim scp://192.0.2.1/work/foo.txtこんなことしなくてもログインして編集すれば…

私的 Getting Started with Heroku

Heroku でアプリを公開する手順のメモ。 頻繁に新しいアプリを公開するわけでもないので、毎回コマンドを調べながらている。いるのだが、面倒になってきたのでまとめ。 git 関連 この辺りは飛ばしてもいい。次。 % cd path/to/myapp % git init % git add . …

任意の長さの文字列を生成する方法 その2

PHP

以前 PHPで任意の長さの文字列を生成するにはどうしたらいいかなんて書いていたけど、そのときは str_pad() の存在を知らなかった。

fs.watchFile

花粉が舞っている。部屋の中でおとなしくしているのが正解。だからディスプレイの前に鎮座。 Air.new().delete(花粉) ファイル更新の検知 node-dev がどうやってファイルの更新を検知しているか、が気になったのでソースを見てみた。ちなみに、node-dev の大…

Express を試してみる

Webアプリケーションフレームワークである Express を試してみた。 Sinatra inspired web development framework for node https://github.com/visionmedia/express と書かれている通り、Sinatra に近い。 環境 % node -v v0.5.0-pre % express -v 1.0.7 サ…

node.js でファイル操作 (Streams)

今まで JavaScript ではファイルを扱うコードを書いたことはなかった(そもそも扱えないし)。node.js ではファイルも扱うことができる。今回は Stream インタフェースを試してみた。 % node -v v0.5.0-pre イベントの確認 まずは、イベントがどのような順番で…

npm をインストール

node.js のインストール手順の最後に npm のインストールがあった。ただそれは root 権限でインストールしなければならなそうだった。 あまり開発環境に影響がでるようなことはしたくないので、root 権限がなくてもインストールできる方法はないかなと探して…

node.jsをインストール 2

パッケージ版でインストールしたが、古かったので、make してみる。 インストール パッケージでインストールした node.js を削除 % sudo apt-get purge nodejs ソースのダウンロード % git clone git://github.com/ry/node.git ビルド https://github.com/ry…

node.jsをインストール

環境 Ubuntu 10.10 インストール % sudo apt-get install nodejs % nodejs -v 0.1.97 テスト ソース httpserver.js var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('He…

VirtualBox Guest Additions install (VirtualBox 4.0, Ubuntu 10.10 server)

ホストOSとゲストOSで時刻の同期が取れていなかった。 Guest Additionsを入れると、同期を取れるようになるらしいのでインストールする*1。[メニュー] -> [デバイス] -> [Guest Additions のインストール] で VBoxGuestAdditions.iso をストレージに割り当て…

環境構築メモ(Ubuntu 10.10 + Ruby1.8.7)

Railsアプリを新しいサーバに移すことになった。そのときの手順のメモ。 環境概要 Ubuntu 10.10 Ruby 1.8.7 Rails 2.3.5 パッケージインストール システム % sudo apt-get install vim % sudo apt-get install zsh % sudo apt-get install apache2 % sudo ap…

GHCiのプロンプトをカスタマイズ?

GHCi でモジュールを多くインポートするとプロンプトが長くなり見づらくなることがあります。例えばこんな感じ。 Prelude> Prelude> :m Monad Char List Array Time Ratio IO Directory Control.OldException Prelude Monad Char List Array Time Ratio IO D…

乱数? IO?

1〜6までの数をランダムで返す関数 dice を作ろうとしたが頓挫。 作ろうとした dice の型は次の通り。 dice :: Int Haskell で乱数を扱うにはどうすればよいかと調べていたところ、次のようにすればよいらしい。 getStdRandom $ randomR (1, 6) getStdRandom…

正規表現のすゝめ?

正規表現使、便利ですよね。使っていますか? Webサービスの開発に関わっている人なら少なからず使ったことはあるのではないでしょうか。例えば、文字列置換やスクレイピング、バリデーション、Apache の mod_rewrite や Rails の routes のような URL 書き…