なんかの Log

良い感じで投げっぱなしにしてみせる。

Servletにアクセスすると405といわれる

すんげぇどうでもいいことにはまってしまった。

doGetのオーバーライドでどうしても405がでて何が間違ってるんだろうと必死に調べてたら、そもそもsuper.doGet()があれば強制でそうなるみたい。削除したら普通に表示された。

1時間半は軽く飛んだ…。

しばらくObjective-Cどっぷりだったからもうだめぽ

expectで$でハマった

踏み台サーバ経由じゃないと本番サーバにアクセスできない。でも毎回毎回、公開鍵認証のパスワード入力するのめんどくさい。シェルスクリプトで自動ログインできないの?

ということでexpectコマンドで解決できるらしい。

作ったらこんなエラーでた。

can't read "hoge": no such variable

あー中にsendに$が入ってるから変数だと思ったのねー。エスケープすりゃいいかと、こんな感じに。MacOSX環境です。

#!/usr/bin/expect

set timeout 5
spawn ssh-add /Users/hoge/.ssh/hoge
expect "Enter passphrase for"
send "hogehoge\n" # パスワード
expect "Identity added:"

spawn ssh-add /Users/hoge/.ssh/fuga
expect "Enter passphrase for"
send "fuga\$fuga\n" # パスワード
expect "Identity added:"

spawn ssh-add -l
spawn ssh -A hoge@hogehoge.com
expect "Last login"
send "ssh fuga@fugafuga.com\n"

interact

当然パスワード直書きなのでお気をつけを。

OSXにSubversionを入れた

Mountain Lionのバンドルは1.6と低いのでHombrewで最新を入れる。

$ brew update
$ brew info svn
$ brew install svn

…なんかmakeでえらい時間かかるなぁと思ったら止まってた。調べるとまったく同じ症状の人が。

brew install svnが終わらない

記事の用に2度めのコマンドでインストールできた。何で止まるんだろう。

パスの解決は.bashrcに使うコマンドのalias書いた。いい解決法じゃないけどしょうがないか…。

# svn path
alias svn='/usr/local/bin/svn'
alias svnadmin='/usr/local/bin/svnadmin'

読み込んで確認。svn 1.8でてたのね。

$ svn --version
svn, version 1.8.0 (r1490375)

$ type -a svn
svn is aliased to `/usr/local/bin/svn'
svn is /usr/local/bin/svn
svn is /usr/bin/svn

下記記事が非常によくまとまってる。

Mac OS X: SVN (Subversion) missing in Mountain Lion (10.8)

PostgreSQL使い出し

PostgreSQLははるか昔にちょこっと使ったことあるだけで、内容さっぱりさっぱりなのでぼちぼち調べてます。

んでメモ。

インストールはHomebrew使うか公式インストーラ使うか悩んだけど、今回はインストーラを選択。インストール時点でpgAdmin3がついてくるのでいいかなと。基本的にはGUIとコマンド両方必要なわがままな人間なのです。

Macだとpsqlコマンドが最初からあったのでバンドルされてるのだろうけど、いまいち使いかたと設定ファイル等がどこにあるか不明だったのでインストールしました。ここらへんはちゃんと理解できれば調べていけるんだろうなぁ。

インストール後、Stack Builderでいろいろオプションでインストールできるみたいですが、一応JDBCだけインストール。pgMyAdminとかもあったけど、すでにapache入ってるしかといって設定もめんどいし、というかpgAdminあるからいいやという。

コマンド類は以下。

# 現バージョンは9.2
$ cd /Library/PostgreSQL/9.2/bin

接続

$ ./psql -U postgres

データベース一覧表示。MySQLと違ってバックスラッシュから始まる命令形みたい。

postgres=# \l
                             List of databases
   Name    |  Owner   | Encoding | Collate | Ctype |   Access privileges   
-----------+----------+----------+---------+-------+-----------------------
 postgres  | postgres | UTF8     | C       | C     | 
 template0 | postgres | UTF8     | C       | C     | =c/postgres          +
           |          |          |         |       | postgres=CTc/postgres
 template1 | postgres | UTF8     | C       | C     | =c/postgres          +
           |          |          |         |       | postgres=CTc/postgres

なんとなくpostgresというDBは設定系なんだろうとわかるけど、テンプレートってなんじゃらほいと。調べるとそのままの意味でPostgeSQLでは上記templateのDBを使って他DBを作るらしい。template0がまっさら用(編集不可)でtemplate1は自分で好きなようにテーブル等を組めるみたいだ。

MySQLでいうuseは\cでできる模様。

postgres=# \c template1 # template0は接続不可

あとは普通にSQL叩けるわけですな。

CCLabelBMFontの行間を調整する

GlyphDesignerで吐き出したファイルを使っている場合です。

.fntファイルでcommonの行のlineHeightを編集すればおkです。

common lineHeight=24 base=24 scaleW=1024 scaleH=1024 pages=1 packed=0

下記記事に感謝。

CCLabelBMFont で使用する .fnt ファイルの仕様

.fntってどこで仕様決まってんですかね。。。