Ruby 1.9を使ってアスキーコードを取得する方法です。 次のように、bytesメソッドを使えばいいです。
# Ruby1.9
"ABC".bytes.to_a # => [65, 66, 67]
なお、上記のコードはRuby1.8では動きません。
Ruby1.8でアスキーコードが欲しい場合、[]で取得できますが、 あまりこの動作は美しくないですよね。
# Ruby1.8
?A # => 65
"A"[0] # => 65
私が所属している情報科学類(略称coins)では、24時間いつでもsshできるiMacがあるのですが、文字エンコーディングはEUC-JPです。
一方で私のノートPCの文字エンコーディングはUTF-8なので、 普通にsshすると文字化けしてひどいことになってしまいます。
cocotという端末(tty)とプロセスの間に割り込んで、文字コード変換を行うツールがあるので、これを使うことで文字化けが解消します。
OS Xを使っていれば、cocotは普通にhomebrewからインストールできます。
brew install cocot # cocotをインストールする
UTF-8環境からEUC-JP環境にsshする場合、次のようにすればいいです。
# cocot -t コンソール側の文字コード -p プロセス側の文字コード -- 使いたいコマンド
cocot -t UTF-8 -p EUC-JP -- ssh coins
頻繁にsshする場合、次のようにエイリアスを作ればいいかと思います。 うーむ。エイリアス名は検討の余地がありそうです。(汗)
alias sshe='cocot -t UTF-8 -p EUC-JP -- ssh' #EUC-JP環境にsshする
sshe coins
この前Macを使い始めたばかりでしたが、無料でアップデートできると知って、 Mountain Lionにしてしまいました。
しかし、Mountain Lion にしてから困ったことに、 wineやinkscapeといった、X Window Systemを必要とするアプリケーションがすべて動かなくなってしまいました。
調べてみると、Moutain Lionから標準でX11がインストールされなくなったようです。
X11の代わりに、OS X用のXQuartzというXウィンドウシステムがあるので、 これをインストールして再起動すれば、解決します。
X11はバグがあるらしいので、Moutain Lionじゃない人もXQuartzに乗り換えてもいいかもしれませんね。
Macでは、Comand + tabなどで、アプリケーション単位の切り替えができますが、 同一アプリケーションで複数のウィンドウを開いているときに、 どうやってウィンドウを切り替えるのかがわかりませんでした。
調べてみると、OSの標準機能で同一アプリケーション内のウィンドウを切り替える機能がありました。
環境設定 > キーボード > キーボードとショートカット > キーボードと文字入力 > 次のウィンドウを操作対象にする
このような機能があるので、これに任意のショートカットを割り当てれば良いです。
私の場合、option + tab
に割り当てることにしました。
これで、Chromeで複数ウィンドウを開いているときなども、 簡単にウィンドウを切り替えることができるようになりました。
~/Library/Preferences/com.apple.Terminal.plistのRoot > Window Settings > (任意のテーマ) > shellExitActionの値を1(Number)に変更します。 Mac OSXでTerminalをexitしたら閉じるようにする方法を参考しました。
ServersMan@VPS(Ubuntu)でRubyのCGIを実行するまでのメモです。
apt-getかaptitudeでインストールすればいいと思います。
sudo aptitude install apache2
/etc/apache2/mods-enabled/mime.conf
にAddHandlerを設定します。
#AddHandler cgi-script .cgi
という行があるので、
見つけてコメントアウトを解除して、次のように書き換えればいいと思います。
AddHandler cgi-script .cgi .rb
/etc/apache2/sites-available/default
でOptions +ExecCGIを設定します。
<Directory /var/www/html/>
#Options Indexes FollowSymLinks MultiViews
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride None
Order allow,deny
allow from all
</Directory>
上の2つのファイルを編集したら、apacheを再起動して設定を反映させます。
sudo /etc/init.d/apache2 restart
cd /var/www/html
chmod 755 test.rb
これでたぶん動くようになります。
ね?簡単でしょ?
/var/log/apache2/error.log
のエラーメッセージを見ましょう。