2014/07/13

svn logからキーワードが含まれるcommitを取得する

社内プロジェクト向け用にレビューツールを作ることになり、
bashの勉強もかねて作ってみました。

https://github.com/shinya1013/reviewTool/blob/develop/view.cgi

2012/03/21

zen-codingいい

vimとかでHTML書くのって本当に苦痛ですね。マジで。

そんな時に役立つのが、zen-coding。
macでvim使う場合は、
~/.vim/plugin
ディレクトリ下に
ダウンロードしてきたファイルを置けばOK。
導入手順とかは、ここがわかりやすかった。
http://www.serendip.ws/archives/4353


他にも参考にしたサイトをメモります。
■zen-codingがどんなものか試せる
http://techblog.yahoo.co.jp/cat207/web_1/_zencoding/

■ショートカット
http://designblog.ecstudio.jp/htmlcss/zen-coding-shortcut-key.html

2011/11/16

Jenkins起動時エラー「このサーバーは、AWTが正しく設定されていません」対処法

昨日、jenkins徹底入門を購入したので、久しぶりにJenkinsを触ってみました。
せっかくなので、新しいサーバにJavaとTomcatを新規で入れて、いざJenkinsを起動させようとしたら
このサーバーは、AWTが正しく設定されていません。
というエラーが発生しました。


対応が瞬殺でできるので、書くまでもないかもしれませんがメモっておきます。

■環境
・sakuraのVPS(CentOS 5 x86 i386 (32bit版))
・JDK1.7.0_01(rpmインストール)
・Tomcat7.0.22
・Jenkins1.439
現時点では全部最新だと思います。


■対応

cd {TOMCAT_HOME}/bin
vi startup.sh 
して、CATALINA_OPTSをシェル実行の一行上に追記すればOKです。
exec "$PRGDIR"/"$EXECUTABLE" start "$@"

export CATALINA_OPTS="-Djava.awt.headless=true"
exec "$PRGDIR"/"$EXECUTABLE" start "$@"

このオプションは、サーブレットで画像を動的にしたいときに指定しないといけないらしい。前はいらなかった気がするけど。検索して一番最初にひっかかったアドビのページを参考にしました。

■参考ページ
グラフィックが有効になっていないサーバーを java.awt.headless で設定する方法
http://www.adobe.com/jp/support/flex/ts/documents/java_awt_headless.htm


2011/11/15

SpiderOak(DropBoxみたいなやつ)をServersMan@VPSで使ってみる

DropBoxみたいに使えるサービスにSpiderOakってのがあるみたいです。
DropBoxと違って、最大50GBまで無料で使えるそうなので(条件付きですが)
ServersMan@VPSで使えるかどうか試してみました。


■環境
・サーバーサイド
DTIのServersMan@VPS
・クライアントサイド
Mac OS X Snow Leopard 10.6.8


■導入手順
1.SpiderOakのrpmファイルをゲットする
https://spideroak.com/download/?startdownload=true
の中から抵当なものを選んでダウンロード。
今回は、CentOS用をダウンロード。
wget https://spideroak.com/directdownload?platform=centos&arch=i386


2.rpmをインストール

rpm -ivh {いまダウンロードしてきたrpmファイル名}


このとき、こんなエラーが出るかもしれません。

Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

そんなときは、

/etc/init.d/messagebus start

メッセージバスを起動してあげればOK。
DTIのVPSは、通常(?)はサーバーとして使っているはずなので、多分起動していないかもしれないので注意。

3.SpiderOakを起動
無事インストールできたら、SpiderOakを起動します。
SpiderOakって打てばOK

SpiderOak --version


SpiderOakだけ打つとSpiderOakが起動するんですが、たぶんこんな感じのエラーがでます。

Fontconfig error: Cannot load default config file

SpiderOak: cannot connect to X server

なので、Xの準備をしてあげます。


・VPSサーバの設定


yum install xauth

vi /etc/ssh/sshd_config


X11Forwardingのコメントアウトを外す。

#X11Forwarding yes

X11Forwarding yes



ついでに、Xがちゃんと動くかテストするために
xclockも入れちゃいます。


yum install xclock



再起動厨なので、sshを再起動します。

/etc/rc.d/init.d/sshd restart


これでサーバー側の設定はおしまい。
コンソールから抜けたら、Macの設定もします。


・Macの設定

vi .ssh/config

を編集して、以下を修正(もしくは、追記)します。

ForwardX11 yes



4.SpiderOakの起動
sshで再度ログインします。
このとき、Xが上手い具合に起動しないかもしれません。そんなときは、sshのオプションとして-X
SpiderOakを起動します。
サーバ上でSpiderOakコマンドを実行すると、Mac上でx11が起動します。


初回ログイン時は、Create1st Deviceって方を選んでください。

Macのクライアントで一度ログインしている方は、下の方のExisting Userって
方で大丈夫です。




画面キャプチャーにも表示されているようなCategoriesの赤字が出ている場合は、
右端上のAdvancedを押して、ファイル一覧ページに飛んでみると良いかと思います。






2011/10/26

thickboxで開いたウィンドウにはGETパラメータを渡せない

メンテナンスされなくなり、オワコンとなりつつある(?)thickbox。
そんなthickboxの公式では他のモーダルビュー用ライブラリをおすすめしている。

けど、まだまだthickbox人気はあるようで業務で使うこともある。
そんなときに困ったのが、thickboxで開いたウィンドウにはGETパラメータを渡せない
という謎の仕様があった。
これはどう考えてもバグなんだけど、ググったらいくつか対策があった。
ただ、ライブラリのソースに手を加えて、「どや?」って感じで修正されるのは危険な気もするので、値をどうしても渡したい場合、self.parentなどを使ってjsで渡してやった方が良いと思う。


var selector = "#hoge",

    context = self.parent.document;


// 「親画面のid="hoge"」から
// 「thickbox内のid="hoge"( thickboxで開くウィンドウ)」に値を渡す。
$("thickboxのiframeのid").contents()

    .find(selector).val($(selector).val());

// 「thickbox内のid="hoge"」から「親画面のid="hoge"」に値を渡す。 $(selector, context).val($(selector).val());

2011/10/25

今更、サーバーの便利コマンドメモ

いっつも忘れてしまうサーバの便利コマンドをメモ。
頻繁に使わないのでいつも忘れてしまう。



■ディスク空き容量確認
df -h

■空きメモリ確認
free -m

■空きポート確認
netstat -nl


■yumのキャッシュ削除

du -h /var/cache/yum
yum clean

2011/09/19

unityでps3 コントローラーを使って遊ぶ

unityとps3 controllerを連動させるための情報をまとめました。


■unityをインストールする
まず、unityをインストールします。


■PS3のコントローラを用意する
それから、PS3用のコントローラも用意します。
Macでちゃんと認識するかどうかは
http://www32.atwiki.jp/nakamura001/pages/111.html
を参考にしてください。

※「Joystick And Gamepad Tester」はたまに認識してくれない?ので、何回か挑戦してみてください。
すぐには認識してくれないので、usbさしてから数秒待つのも大事です。
「Joystick And Gamepad Tester」以外のツールは特にインストールしていません。
ちなみに、macのバージョンは10.6.8です。
Bluetoothでの接続をオススメします!


■unityの設定
1.Edit > Project Settings > Inputを選ぶ











2.Inspectorの中にInput Managerがいるので、その中からAxesの「Horizontal」「Vertical」をそれぞれ設定すればとりあえず使えます。
下のキャプチャを参考に設定してみてください。

・Horizontal(X軸?)の設定(Vertical(Y軸?)の設定も同様にやればオッケーです)
























































■unity参考資料
ウニ本
http://www.amazon.co.jp/Unity%E3%81%AB%E3%82%88%E3%82%8B3D%E3%82%B2%E3%83%BC%E3%83%A0%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80-%E2%80%95iPhone-Android-Web%E3%81%A7%E5%AE%9F%E8%B7%B5%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E5%AE%AE%E5%B7%9D/dp/487311506X/ref=sr_1_2?s=music&ie=UTF8&qid=1316388385&sr=1-2


強火で進めさん
http://d.hatena.ne.jp/nakamura001/

本家の日本語版
http://unity3d.com/japan/


unityは楽しい

unityいいよ、unity。
先日、javascript勉強会で知ったunityというゲームを作るツールがとてもステキです。

その勉強会でkinectの話をされていた
http://d.hatena.ne.jp/nakamura001/
さんのブログにも色々と情報がようなので、そちらも参考になります。

で、unityって何よというと、ブラウザ(chromeとかfirefox)とかiPhone,iPadとかで動く3Dゲームを作るツールです。
http://unity3d.com/japan/
から無料でダウンロードができます。


私のような文系出身者でもゲーム開発ができるようになる神ツール!
それがunity!

2011/09/18

nginxとapacheの連携

nginxは静的ファイルに強いらしい。
なので、動的にさばくもの(phpとか)はapache、静的にさばくもの(jsとかcssとか)はnginxを使うことにした。

■参考サイト
KAYACさん
http://kray.jp/blog/nginx/


まず、yumのリポジトリにはnginxはないので、redhadの拡張パッケージ(EPELというらしい)を追加します。
http://download.fedora.redhat.com/pub/epel/5/i386/
rpm -ivh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
yum -y install nginx


次に、httpd-devel最新版をいれときます。これは、あとで使うmod_rpaf用です。
yum -y install httpd-devel

リバースプロキシを経由させるとリモートホストのアドレスが127.0.0.1になっちゃうらしい。
そうするとアクセス解析するときとか困っちゃうので、プロキシを経由したリクエストのアドレスを記録した
X-Forwarded-Forをホスト名で上書きしてくれないといけないらしい。
詳しく解説されている方がいるのでhttp://www.namazu.org/~takesako/diary/?date=20031205を見てください。

mod_rpafは、現時点では0.6が最新なので、0.6を入れます。
wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar xzf mod_rpaf-0.6.tar.gz 
cd mod_rpaf-0.6
なぜかMakefileにapxのパスを書かないといけない。
which apx
vi Makefile
APXS2=/usr/sbin/apxs
make rpaf-2.0
sudo make install-2.0


■とりあえずインストール作業が済んだら、apacheとnginxの設定ファイルをいじります。
apache側のポート番号は、何でも良いはず(今回はKAYACさんの記事に合わせました)。
ポート番号は、
lsof -i | grep {ポート番号}
とか
netstat -na | grep {ポート番号}
で調査できると思います。


まず、ginx.confの修正。
vi /etc/nginx/nginx.conf

以下を追記します。
location ~ .*\.(jpg|JPG|gif|GIF|png|PNG|swf|SWF|css|CSS|js|JS|inc|INC|ico|ICO) {
    root    /var/www/vhosts/kray.jp/htdocs;
    index   index.html;
    ssi     on;
    break;
}

location / {
    proxy_pass  http://127.0.0.1:8082;
    break;
}



■次に、httpd.confの修正。
mod_rpafのロードを追記。
vi /etc/httpd/conf/httpd.conf
LoadModule rpaf_module modules/mod_rpaf-2.0.so

バーチャルホストの設定を追記。

  ServerName kray.jp
  DocumentRoot /var/www/vhosts/kray.jp/htdocs

  RPAFenable On
  RPAFsethostname On
  RPAFproxy_ips 127.0.0.1 10.0.0.1
  RPAFheader X-Forwarded-For



設定ファイル確認して
/usr/sbin/apachectl configtest

apache起動して
/usr/sbin/apachectl stop
/usr/sbin/apachectl start

nginxも起動する
/etc/init.d/nginx start




■ハマったこと
httpd.confのチェックするときに、エラー発生。
/usr/sbin/apachectl configtest

Syntax error on line 1000 of /etc/httpd/conf/httpd.conf:
Invalid command 'RPAFenable', perhaps misspelled or defined by a module not included in the server configuration
→モジュールがロードされていなかったので
LoadModule rpaf_module modules/mod_rpaf-2.0.so
をhttpd.confに追記して解決しました。

2011/07/25

Zendでコントローラが呼ばれずに、404が返ってくる

Zendをはじめて、早速ハマったので、その解決法。

■症状
1.本のサンプル通りに/zend/controllers/下に.htaccessとindex.phpを置いた。
2./zend/controllers/application/controller下にHogeController.phpを置いた。
3.HogeController.phpのクラス名は間違っていない。
4.ディレクトリ・ファイルのパーミッションは問題ない。
5.IndexControllerのindexActionだけ呼ばれる。それ以外のコントローラは「404」になって呼ばれない。

■対応
そもそもコントローラが見つからなかったらZendのエラーが起きるはずで、
apacheの「404」にはならないだろうと思い、.htaccessの中身をチェック。
.htaccessの中身は何も問題通りなので、その.htaccessがそもそも呼ばれていないんじゃ
ないか疑惑。
/etc/http/conf/httpd.confを確認。「AllowOverride」で検索。
「AllowOverride」が「none」になっていたら、そいつが原因。
なので、「AllowOverride All」にし、apacheを再起動したら上手くいった!!