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でえらい時間かかるなぁと思ったら止まってた。調べるとまったく同じ症状の人が。
記事の用に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
下記記事が非常によくまとまってる。
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ってどこで仕様決まってんですかね。。。