oinume journal

Scratchpad of what I learned

Entries from 2010-01-01 to 1 year

2010年のまとめ

仕事 思い返してみると、昨年の12月に諸事情があって転職活動をせざるを得なくなって、今年の2月までは転職活動してたんですね。最終的には緑色の会社に行くことに決めたのですが、自分が思っていたより遥かに自由にやらせてくれる会社だったので、すごくあ…

AppEngine for PythonでImportError: No module named cgiとなる場合の対処方法

おそらくvirtualenv使ってると発生するのだと思うのですが、AppEngine for Pythonで下記のようなエラーがでました。 File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appeng…

Tomcatのスレッド数をグラフ化するMunin plugin

会社で使おうと思っていたTomcatのスレッド数をグラフ化するMunin pluginがあるのですが、XML::Simpleに依存していて「Munin pluginのためにわざわざPerlモジュールインストールするのもなぁ」と思ったので、ついかっとなってXMLをパースするところを正規表…

PythonからGrowlを利用する

GrowlというMacの通知インターフェースをPythonから使ってみたというお話。 Growl Python bindingをインストール まずはGrowl本家からGrowl SDKをダウンロードしてダブルクリックし、 $ cd /Volumes/Growl 1.2.1 SDK/Bindings/python $ sudo python setup.py…

gitでtagを作成する

Git

gitでのタグの作り方のメモです。 tagを新しく作る $ git tag -a 1.0.0 -m 'v1.0.0' remoteにpushする $ git push origin 1.0.0 tagを表示する $ git tag tagをremoteから取得する $ git fetch --tags or $ git pull --tags tagを削除する $ git tag -d 1.0.…

sshで初回ログイン時に"The authenticity of host 'host' can't be established..."を聞かれないようにする設定

sshで ~/.ssh/known_hosts にないマシンにアクセスする場合 The authenticity of host 'your-host (127.0.0.1)' can't be established. RSA key fingerprint is 7f:cd:9a:d8:1d:9a:47:3b:97:e7:8e:c3:81:c8:2e:97. Are you sure you want to continue connec…

気になるiPhoneアプリをストックしておく方法

iPhoneでAppStoreでアプリを探していて「これ良さそうだけど、インストールはあとでやりたい」と思うことはありませんか?例えば容量が大きくてWiFiじゃないとダウンロードできないとか、電波が弱くてダウンロードするのに滅茶苦茶時間がかかる場合とか。 自…

watchでコマンドの出力を監視する

Unixには watch という、n秒ごとに定期的にコマンドを実行してその出力を表示するコマンドがあります。 例えば netstat -na した結果を wc で数えて現在のコネクション数を1秒ごとに表示するには $ watch -n 1 'netstat -na | wc -l' とやります。このコマン…

Muninの好きなところ

リソース監視ソフトウェアにMuninというものがありますが、個人でも仕事でも使っていて割りと好きなものの一つです。どういうところがいいかというと インストールが簡単ですぐ動かせる Munin自体は静的なHTMLファイルを生成するだけなので、Webサーバは何で…

Emacs

強力なエディタEmacsについてのまとめです。 [permalink id=384]Perl開発環境としてのEmacsの設定[/permalink] [permalink id=380]EmacsでPythonの設定[/permalink] [permalink id=504]Emacs + ruby-lint + flymakeでRubyのソースを静的チェック[/permalink]…

Perl開発環境としてのEmacsの設定

最近社内でvim勉強会があったりして「vimもいいなぁ」と思っていたのですが、やっぱりキーバインドに慣れなくってEmacsに戻ってきました。最近EmacsでPerl関連の設定を見なおしたので、メモがてら書いておきます。自分がPerlのコードを書くときに使っているe…

Linodeの最下位プランのメモリが増量されてる

VPS

昨日まで知らなかったのですが、 Linode Turns 7, BIG RAM Increaseというアナウンスがあって、Linodeの最下位プランのメモリが360MBから512MBになっていました(値段は$19.95)。さらにその一つ上は540MB→768MBとこれまた大幅増量です。その他のプランについ…

Eclipseの覚えておきたいショートカットキーとTips

こんにちは。最近仕事ではめっきりJavaばっかり書いていて、そろそろ大嫌いなEclipseを使い始めて3ヶ月以上経ったので、今まで得たノウハウの一部をまとめておこうかと。 Eclipseで覚えておきたいショートカットキー とりあえず自分が日常的に使っているもの…

EmacsでPythonの設定

最近Pythonいいなぁと思ってPython始めているのですが、コードを書くにあたってエディタの設定も多少しとかないと、ということでEmacsでPython回りの設定をしました。あんまりヘビーなことはしないので、とりあえず今回はpython-mode.elとflymakeの設定だけ…

サーバの設定ファイルの管理方法

最近このブログの置き場所を自宅サーバからlinodeに移しました。それにあたってサーバの設定ファイルを git リポジトリで管理して linode に同期するようにしてみました。今日はそんなことをつらつらと書いてみたいと思います。 まず、なぜにサーバの設定フ…

VirtualBoxでディスクを拡張する

VirtualBox + ゲストOS:Ubuntuでディスクを拡張する方法です。はしょっていうと、単に新しい仮想マシンを作ってそのディスクを古い仮想マシンのディスクにしてしまえばOKです。 1.新しく仮想マシンを作る 新しいディスクを用意するために仮想マシンを新しく…

qpstudy #01 "rsyncのちょっとイイ話"のスライド

qpstudy #01で「rsyncのちょっとイイ話 」というタイトルで話させてもらいました。勉強会で発表というのは初めてで緊張したのですが、なんとか終えられてよかったです。終わった後も参加者の方々からtwitterでrsyncについて色々フォローしてもらい、自分とし…

VirtualBoxでのネットワーク設定(NAT+ホストオンリーアダプタによるホストOSとゲストOS間の通信)

CassandraやMogileFS、KumoFSなど、複数のサーバで構成されるサーバソフトウェアをテストしたいことが多々あるので、VirtualBoxを使って分散環境を作ってみました。ネットワーク関連の設定でややコツが必要だったので、ちょっとまとめてみました。 要件 ホス…

コマンドラインオプションを解析するPerlモジュールGetopt::Compact

Perlでコマンドラインオプションを解析する場合、大体は標準添付されているGetopt::Longを使うと思いますが、自分は3年前ぐらいから Getopt::Compact というモジュールに出会い、それ以降大抵の場合はこれを使っています。このモジュールの良いところは オプ…

Shellでgetoptsを使ってコマンドライン引数の解析

だいぶ前の話、Perlを使わないでShellスクリプトで頑張っていた頃、Shellでコマンドラインオプションの解析をやる時は #!/bin/sh for OPT in $* do case $OPT in '-x' ) FLAG_X="TRUE" ;; '-y' ) shift FLAG_Y="TRUE" VALUE_Y=$1 ;; esac shift done if [ "$…

Shellで配列のマージ

Shellスクリプトで配列のマージってどうやるんだろうって思ったので調べてみたら、${ARRAY[*]} か ${ARRAY[@]} で配列の要素を全部取得できるらしいので、それを () 使ってマージすればいいらしい。 #!/bin/sh ARRAY1=(1.1.1.1 2.2.2.2) ARRAY2=(3.3.3.3 4.4…

海外のVPS Linodeを借りました

VPS

表題の通りなのですが、やっぱり自宅サーバでサービスを運営するのがすごい嫌になったのでLinodeを契約しました。プランは一番安いLinode 360で、契約してもうかれこれ3週間ぐらいですが、かなり快適に使ってます。良い点を挙げると... データセンターにFrem…

MuninでMySQLプラグインのグラフが描画されない時の解決方法

先日設定したサーバでMuninをインストールして監視していたのですが、どうもMySQL関連のプラグイン(mysql_bytes, mysql_queries, mysql_threadsなど)でグラフが描画されず、どうしたものかと思ってぐぐってみたところ、このエントリを見つけました。まさにビ…

UbuntuでTimeZoneを変更する方法

昔は tzconfig というのを使えばよかったらしいのですが、deprecated と言われました... # dpkg-reconfigure tzdata と入力して、Asia -> Tokyo を選択すればOKです。終わったら date コマンドで確認すればOK。 [tmkm-amazon]4774145017[/tmkm-amazon]

DBI->connectのHandleError

DBIのちょっとしたTIPSです。DBIには connect する時に DBI->connect('dbi:mysql:database=hoge', 'root', 'whatever', { ... }); とオプションを渡すことができます。(たとえば RaiseError) 。このオプションのひとつに HandleError というものがあってデバ…

VMWare FusionでゲストOSを強制的にシャットダウン

VMWare FusionのゲストOSとしてWindows XPを使っていたのですが、シャットダウン中に「Windowsをシャットダウンしています...」というメッセージからいっこうに進まなくなり、どうしようもなくなった時の対処方法。 VMware Fusionの「仮想マシン」メニューを…

DBIx::ThinをCPANから削除

表題の通りですが、思うところがあってDBIx::Thinを削除しました。きっかけは、CPAN Ratingsのレビューです(以下引用)。 DBIx-Thin (0.05) ** It strikes me as odd how almost most of Japanese authors (of course, except honourable and admirable autho…

WordPressで自分の投稿にリンクを貼るためのプラグイン "The Permalinker"

WordPressで文章を書いている際に過去の自分の投稿にリンクしたいことがよくあります。今までは 過去の投稿へのリンク のように普通のアンカータグでリンクを貼っていたのですが、これだと万が一パーマリンクのURLの設定を変えた場合に手動で一つ一つリンク…

MySQL 5.1の最新のソースからdebを作成する

以前[permalink id=331]MySQL 5.1の最新版のdebパッケージを作成する方法[/permalink]というエントリを書いたのですが、Ubuntuの最新の開発版パッケージではなく、MySQLが出している最新のMySQLのソースをビルドしてdebパッケージを作成する方法を見つけたの…