Jul 08, 2011
[Misc] astah の「ファイルがオープンできません」に対応する方法
astah で過去に作成したファイルを読み込もうとすると「ファイルがオープンできません」というエラーで一切読み込めなくなった。 公式サイトを見てみたらお知らせに情報が掲載されていた。
- astah - Javaアップデート後に発生する問題について
- http://astah.change-vision.com/ja/java-trouble.html
対応方法
- ADCから "Java for Mac OS X 10.6 Update 4 Developer Package" をダウンロードする。
- ダウンロードした dmg から JDK 1.6.0_24 をインストールする。
- インストールされたことを確認する。
$ cd /Library/Java/JavaVirtualMachines/1.6.0_24-b07-334.jdk/Contents/Commands $ ./java -version java version "1.6.0_24" Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3425) Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
- astah の Info.plist を編集する。
$ cd /Applications/astah\ professional/astah\ professional.app/Contents/ $ cp ./Info.plist ./Info.plist.original $ vi ./Info.plist $ diff ./Info.plist.original ./Info.plist 56c56 < <string>1.6+</string> --- > <string>1.6.0_24</string>
それにしても既存ファイルが一切読み込めなくなる、というのは致命的すぎる。 Apple は古い環境を躊躇無く切ってくるから Lion で JDK 1.6.0_24 以前が動作するのか不安。 Lion 発売までに .astah ファイルのコンバータが提供されると良いのだけれど・・・。
Jul 01, 2011
[Apple] 固定のレスポンスを返す HTTP Server を立てる
ローカルの MacOS X にどんなリクエストに対しても固定のレスポンスを返す HTTP Server を立ててみた。 手軽に利用できる python の BaseHTTPServer をカスタマイズして実現してある。
HTTP Server の準備
以下の様な python のコードを作成。
/usr/share/local-http-server.py
#!/usr/bin/python import BaseHTTPServer class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): def do_GET(s): s.send_response(200) s.send_header("Content-type", "text/html") s.end_headers() s.wfile.write("") if __name__ == '__main__': BaseHTTPServer.HTTPServer(('localhost', 80), MyHandler).serve_forever()
MacOS X の自動起動設定
/Library/StartupItems/LocalHTTPServer/LocalHTTPServer
#!/bin/sh . /etc/rc.common start() { /usr/share/local-http-server.py & } stop() { pid=`ps -ax | grep "/usr/bin/python /usr/share/local-http-server.py" | grep -v grep | sed -E "s/^ +//" | sed -E "s/ .+$//"` if [ "$pid" != "" ] then kill $pid; fi } case $1 in start) ConsoleMessage "Starting Local HTTP Server" start; ;; stop) ConsoleMessage "Stopping Local HTTP Server" stop; ;; restart) ConsoleMessage "Restarting Local HTTP Server" stop; start; ;; *) echo "$0: unknown argument: $1" ;; esac
/Library/StartupItems/LocalHTTPServer/StartupParameters.plist
{ Description = "LocalHTTPServer"; Provides = ("LocalHTTPServer"); OrderPreference = "Early"; }