これはそれなりの期間開発している人にしか発生しない現象。
debug.keystore の有効期限切れが原因。
Mac 環境では $HOME/.android 以下に debug.keystore が存在するので、再生成するか、削除すれば良い。
2011年6月26日
Android 開発で「Error generating final archive:Debug Certifica」と出た時 の対処
2011年5月17日
Facebook で Create App した時「Your account must be verified before you can take this action」と表示された時の対処方法
いろんな方法があるが携帯があるならConfirm Your Phoneの画面にいって携帯メールにメールを飛して認証するのが簡単。
2011年5月14日
Scala 2.9.0 final インストール
インストール
IzPack Installer を利用してインストールする場合は以下。
curl -O http://www.scala-lang.org/downloads/distrib/files/scala-2.9.0.final-installer.jar
java -jar scala-2.9.0.final-installer.jar
MacPorts を利用した方が楽。
sudo port -v selfupdate
sudo port install scala29
ドキュメントもダウンロードしておく。
curl -O http://www.scala-lang.org/downloads/distrib/files/scala-2.9.0.final-devel-docs.tgz
tar xvfz scala-2.9.0.final-devel-docs.tgz
今回はMacPortsでインストールした。
バージョンの選択
MacPorts でインストールしていて scala28 がインストールされている場合はバージョンを選択しておく方が良い。
「scala_select」コマンドを利用する。
# 選択できるバージョンを確認
scala_select -l
# バージョン選択
sudo scala_select scala29
# 確認
which scala
scala -version
scalac -version
新機能
- Parallel Collections 追加
- App Trait 追加
- DelayedInit Trait 追加
- Repl機能向上
- Scala コマンドに実行関連オプション追加
- @strictfp アノテーション追加
- try-catch-finally
- scala.sys と scala.sys.process パッケージ追加
- collectFirst, maxBy, minBy, span, inits, tails, permutations, combinations, subsets 追加
- AnyRef が特化型になった
App Traitの動作確認
サンプル作成はApp Traitは簡単なので、とりあえずApp Traitを動作させてみる。
Echo.scala として以下を作成
object Echo extends App {
println("Echo" + (args mkString " "))
}
# コンパイル
scalac Echo.scala
# 実行
scala Echo hello
# 出力
Echohello
実行時、以下のエラーが発生するかも。
Exception in thread "main" java.lang.RuntimeException: Cannot figure out how to run target: Echo
at scala.sys.package$.error(package.scala:27)
at scala.tools.nsc.GenericRunnerCommand.scala$tools$nsc$GenericRunnerCommand$$guessHowToRun(GenericRunnerCommand.scala:38)
at scala.tools.nsc.GenericRunnerCommand$$anonfun$2.apply(GenericRunnerCommand.scala:48)
at scala.tools.nsc.GenericRunnerCommand$$anonfun$2.apply(GenericRunnerCommand.scala:48)
at scala.Option.getOrElse(Option.scala:109)
at scala.tools.nsc.GenericRunnerCommand.(GenericRunnerCommand.scala:48)
at scala.tools.nsc.GenericRunnerCommand.(GenericRunnerCommand.scala:17)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:33)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:89)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
これは classpath がカレントディレクトリに通ってないため発生する。classpath を明示的に指定。
scala -classpath . Echo hello
実行されるはず。
通常は「SCALA_HOME」環境変数の設定は不要。scala コマンドのあるディレクトリの一つ上を「SCALA_HOME」ディレクトリに自動設定している。
他の機能は使いながら調査する。
Emacs設定
ensime を利用する。
2.9に対応したバイナリはリリースされてないが、ソースを直接取得コンパイルすれば動作する。
2011年2月11日
ToDo、タスク管理は Google Tasksで決まり
Google のサービスに Google Tasks があります。
http://mail.google.com/tasks/
GmailやGoogle Calendar では英語のインターフェースにしないと表示されないので、それほど使われていないのかもしれません。
ブラウザから利用すると不便なこのサービスは専用クライアントを利用することでとても便利なサービスになります。
Windows/Mac/Linuxのデスクトップから利用する
その名もGoogle Tasksという名前のAdobe Airで作成されたアプリケーションがあります。
Adobe Air製なので、Windows/Mac/Linuxのデスクトップで利用することができます。
このアプリケーションが便利なのはアクセスできるのがGoogle Tasksに限らないということです。
Google が提供するサービスのモバイルインターフェース全てにアクセスできます。
Google 専用ブラウザとして利用しても大変便利です。
iPhoneから利用する
iPhoneのSafariでログインしても利用できますが、専用アプリを利用した方が便利です。利用するアプリはGoTasksです。
Androidアプリはまだ捜していませんが、捜せばありそうです。
Google Tasks以外のタスク管理サービスに関して
タスク管理なんて必要ないと思っていても、やってみると重要性に気づいたりします。
この分野ではRemember The MilkやToodledoが有名です。
ユーザが多く、かつ連携アプリケーションも多いのでこちらの方が便利な場合もあります。
始めるだけなら全て無料ですので、アカウントを作成して始めてみてはどうでしょうか。
きっと、新しいことを発見できると思いますよ。
2011年2月6日
Mac OS X で JBoss 5.0.1 の起動まで
公式サイトはhttp://www.jboss.org/です。
ダウンロード
sf.net で配布されています。http://sourceforge.net/projects/jboss/。公式サイトからたどるとややわかりずらいですね。http://www.jboss.org/jbossas/downloads.htmlからsf.netにリンクしています。
2011年1月現在最新版は7.0です。ちなみにRedHatが正式にサポートしているのは 5.0のシリーズになっているようです。
仕事で使うことを想定すると RedHat がサポートしているバージョンをとりあえずいじった方がよさそうなので、jboss-5.0.1.GA.zip をダウンロードして解凍してどこかに置いておきます。
起動
bin/run.shで起動します。http://localhost:8080/ にてアクセスが可能です。
OutOfMemoryErrorへの対処
けっこう OutOfMemoryError が出て起動が完了しませんでした。run.conf の設定を変更すると良いはずなのですが、変更しても反映されないので、run.sh の中身の変更が必要でした。JAVA_OPTS が設定できれば良いので、どこで設定しても大丈夫です。
今後の調査項目
とりあえず JBoss でサンプルアプリを動作させて、Seam 等のフレームワークも動作させてみたいです。また JBoss Tools で Eclipse での開発もためす必要があります。
機能がかなりあるので、計画的に調査していこうと思います。
2011年1月30日
Wowza Media Server を Mac OS X にインストールして動かしてみる
- http://www.wowzamedia.com/store.html からWowzaMediaServer-2.2.3.dmgをダウンロードしてインストール
- Wowza Server Developer editon のライセンスを取得
ライセンス取得は登録が必要です。数分で登録したメールアドレスにライセンス番号が送付されてきます。このライセンスでは10コネクションまでの接続制限とストリーミング時間の制限がありますが、それ以外の機能的な制限はありません。
Wowza を起動します。
cd /Library/WowzaMediaServer/bin/
./startup.sh
# ライセンスキーを聞いてきますので入力します
とりあえず普通のストリーミングをしてみます。
アプリケーションを作成した方が良いので作成します。アプリケーションは以下のディレクトリにフォルダを作成することで作成できます。
/Applications/Wowza\ Media\ Server\ 2.2.3/WowzaMediaServer/applications
フォルダ名はとりあえず「test」にでもしてみます。設定ファイルもデフォルト状態でコピーしておきます。
cd /Applications/Wowza\ Media\ Server\ 2.2.3/WowzaMediaServer/applications
mkdir test
cd ../conf
mkdir test
cd test
cp ../Application.xml .
ローカルでテストする場合はとりあえず以下のURLで接続可能です。
rtmp://localhost:1935/test
クライアントアプリを作成するの面倒なので、とりあえず http://flowplayer.org/ をクライアントにして動作させてみます。
- http://flowplayer.org/download/index.html から 「GPL license (Free)」の flowplayer-3.2.5.zip をダウンロード
- http://flowplayer.org/plugins/streaming/rtmp.html から flowplayer.rtmp-3.2.3.zip をダウンロード
- 「flowplayer-3.2.5.swf」、「flowplayer.controls-3.2.3.swf」、「flowplayer.rtmp-3.2.3.swf」、「flowplayer-3.2.4.min.js」、「style.css」をどこか一箇所に集めておきます
とりあえず以下みたいな HTML を作成してアクセスすれば再生可能です。clip の URL はこの場合flvです。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
<script src="./flowplayer-3.2.4.min.js"></script>
<link rel="stylesheet" type="text/css" href="./style.css" />
</head>
<body>
<h1>test</h1>
<a class="player" id="fms">
<img src="./showme.png" />
</a>
<script type="text/javascript">
$f("fms", "./flowplayer-3.2.5.swf", {
clip: {
url: 'test',
provider: 'wowza'
},
plugins: {
wowza: {
url: 'flowplayer.rtmp-3.2.3.swf',
netConnectionUrl: 'rtmp://localhost:1935/test'
}
}
});
</script>
</body>
</html>
参考サイト
red5 のコンパイル
http://code.google.com/p/red5/
curl -O http://ftp.riken.jp/net/apache//ant/binaries/apache-ant-1.8.2-bin.tar.gz
curl -O http://ftp.riken.jp/net/apache//ant/ivy/2.2.0/apache-ivy-2.2.0-bin.tar.gz
tar xvfz apache-ant-1.8.2-bin.tar.gz
export ANT_HOME=/path/to/apache-ant-1.8.2
export PATH=$ANT_HOME/bin:$PATH
tar xvfz apache-ivy-2.2.0-bin.tar.gz
mkdir ~/.ant
cp apache-ivy-2.2.0/ivy-2.2.0.jar ~/.ant/
svn checkout http://red5.googlecode.com/svn/java/server/trunk/ red5-read-only
cd red5-read-only
ant retrieve
make
JAVA_HOMEの設定がされていないとコンパイルされないかもしれない。