プログラミング

とあるJSONの構文不正

とあるwebサーバが戻すJSONをパーズしたらエラーになった。 原因はレスポンスのJSONをStringインスタンスにしたときに末尾にNUL(\0)文字が付加されていたため。JSON仕様ではオブジェクトの後ろにホワイトスペース以外の文字があるときに不正なJSONとして扱う…

restfbでOAuth認証をするサンプルがあった

RestFBとJavaでfacebookアプリケーションを作る (プログラマーですが、何か?(I am a software programmer.)) - https://www.ibm.com/developerworks/community/blogs/pgmrk/entry/restfb

Jetty でウェブアプリのコンテキストルートを変更する

Jetty でウェブアプリのコンテキストルートのデフォルトは ${jetty.home}/webapps だが、これを変更する設定の備忘録。 http://wiki.eclipse.org/Jetty/Howto/SetContextPathto_/ 上記を参考にした。以下の設定例は、 ${jetty.home} を /usr/local/jetty7 と…

joshdevins/log4j-scribe-appender をつかったログ集約の設定備忘録

A log4j network appender for Scribe - https://github.com/joshdevins/log4j-scribe-appender 上記を使ったアプリサーバのログをログサーバに格納させる方法と設定について調べたことの備忘録。 どうやら、ログは /usr/local/scribe/scribe.conf の file_p…

Maven コマンドまとめ

mvn --help ヘルプ mvn archetype:create -DgroupId=com.example -DartifactId=sample Mavenプロジェクトの作成 archetype:create プロジェクトのスケルトンを作成 groupId プロジェクトのルートパッケージ名 artifactId プロジェクト名 実行結果 sample と…

javacの文字化け対策

$HOME/.bashrc に下記を追記する。 export _JAVA_OPTIONS="-Dfile.encoding=UTF-8" 参考: http://kumagonjp2.blog.fc2.com/blog-entry-48.html

Mac で sng (PNGのマークアップ言語SNG用コンパイラ) をビルドする

sng とは http://sourceforge.net/projects/sng/ これのこと。試験用に補助チャンクをごにょごにょしてPNGファイルをつくる必要があってこれをつかうことにしたんだけど、なんかビルドがうまくいかなかったので忘れないようにメモっておく。まず、 sng-1.0.5…

Android向けライブラリのJUnitを書く方法まとめ

1) ライブラリのプロジェクト Android アプリケーション・プロジェクトをつくる。 ウィザードでCreate ActivityのチェックボックスをOFFにする。プロジェクトを右クリック、プロパティ -> Android -> Is Library のチェックボックスをONにする。 src配下にラ…

MacのEclipseでJavaDoc生成しようとしたら「この文字は、エンコーディング SJIS にマップできません」と言われた

対処方法 「ファイル」→「エクスポート」→「Java」→「JavaDoc」 で表示されるダイアログで「追加のJavaオプション」欄に以下の記述を追加する。 -noqualifier all -encoding UTF-8 -docencoding Windows-31J

RESTと従来のRPC/分散オブジェクト(RPC, CORBA, SOAP, etc.)の比較

REST 提唱者は Roy Fielding で、彼は既存の Web のソフトウェアアーキテクチャを分析し、アーキテクチャスタイルとしてまとめて REST (Representational State Transfer) と名づけた。Roy Fielding は Apache httpd, libwww-perl などの実装を手がけ、Tim B…

Javaのマルチスレッド

ひさしぶりにJavaをやっていてマルチスレッドについて復習したときのメモ。スレッドとはプロセスに内包されるプログラムの実行単位である。プロセスはひとつ以上のスレッドと、それらのスレッドからアクセス可能なメモリ空間を有する。スレッドはCPUによって…

ああ、JavaScript の prototype ってこういうことだったのかあ。

※ あとで見直したら、一部間違いがあったので後で修正記事を書きます。はずかしながら prototype についてやっと腑に落ちたよ。要点はふたつ。 JavaScriptの継承とは、オブジェクトの機能を引き継いだ新しいオブジェクトをつくることである。 その方法(のひ…

PS3でCellプログラミング - まずは環境構築

NHKスペシャルで東芝の Cell REGZA の開発を取り上げていて、なんとなく Cell プログラミングおもしろそうだなーと思って作業開始。ところで、とても残念なことに新型PS3(2009年9月発売のCECH-2000A以降の型番。筐体が小さくなったモデル)には「他のシステム…

プログラミングの入門者に Google ガジェットをすすめる 5 つの理由

「プログラミングに興味はあるけど、開発環境になにを選べばいいかわからない」という人たちに、僕は Google ガジェットのプログラミングをおすすめしたい。1. 開発環境は Web ブラウザだけで OK Google ガジェットのひとつ「Google Gadget Editor」を使えば…

また Direct X をはじめる

ひさしぶりに Direct X プログラミングを再開することにした。 友人とやってる「同人ゲームをつくってみる?」という話のつづきなんだけど、やっぱ世の中は Windows のシェアが大きいので、ゲームつくるなら Direct X かなぁと。とりあえず、MacBook の VMwa…

gdb でブレークポイントをお手軽にセットする

ユーザコマンドを定義する。 $ cat > user_commands.txt define setbreakpoints b func1 b func2 end ^D gdb の起動時に -x オプションで先ほど定義したファイルを読み込む。 $ gdb -x user_commands.txt ユーザ定義コマンドを実行する。 (gdb) setbreakpoin…

SpiderMonkey を試しに拡張してみた

patch をつくったので、試したい人は以下の操作をしてください。 http://fokb.web.fc2.com/itokawa_labo/jsx_20081101_1610.diff Mozilla プロジェクトのページから js-1.7.0.tar.gz をダウンロードして展開したあと、この diff ファイルを patch します。 $…

SpiderMonkey のソースコードを読んでみる

Mozilla Firefox の JavaScript エンジンである SpiderMonkey のソースコードを読んでいる。最近調べているのは JavaScript で new HogeHoge() というようなインスタンスを生成する構文が実行されたときに、どういう動作を経るのかというところ。 大まかにあ…

更新してみた

http://fokb.web.fc2.com/itokawa_labo/test-imas-actors.2.tar.bz2 この前のエントリで書いたプログラムを更新してみた。円軌道の移動速度を遅くして、各画像の姿勢を止めるように変更した。

Mac OS X Leopart (v10.5) で glib をビルドする

前回 Linux でやったように Mac で glib のデバッグ版をビルドしようと configure したらこけたので、いろいろ調べたところ以下のようにしたらできた。 $ ./configure CFLAGS="-I/opt/local/include -L/opt/local/lib -g" ところで、Mac ではコンパイル時と…

Linux で glib のソースコードを gdb で追ってみる

glib を使っているプログラムを実行するときに、デバッグ版の共有ライブラリをリンクすると、gdb で実行中のバイナリに対応するソースコードを追うことができる。まず、インストールされている glib のバージョンを調べる。 $ pkg-config --modversion glib-…

Clutter のサンプルをいじってみた

http://fokb.web.fc2.com/itokawa_labo/test-imas-actors.tar.bz2 某アイマスの2D画像がくるくるまわります。なんでアイマスなのかは気にしなくていいです。元のソースコードは Clutter の tests/test-actors.c です。興味のある人は diff でもとってみてく…

Mac OS X で clutter がビルドできないときの対処

http://lists.o-hand.com/clutter/0902.html 上のコメにしたがって$ ./configure --with-flavour=osx ってやったらできた。わーい。 とりあえずの目標は JavaScript から Clutter を使えるようにしよう。

JSX を作りたいという思い

JSX (JavaScript Extension) は僕が考えている JavaScript ベースのプログラミング環境のことである。僕らの身の回りにはパソコンやゲーム機、携帯電話などのコンピュータを搭載した機器がたくさんある。みんなこれらがプログラムにしたがって動いていること…

15の自分を思い出して、いろいろ書いてみた

前のエントリで、アンジェラ・アキの『手紙』という歌について書いたけど、ちょっと思うところがあったので、別エントリとして書いてみる。これは偶然だけど、15の自分といえば「将来はソフトウェア開発の仕事がしたい」と心に決めたころだ。それまでもコン…

memo

http://www.watch.impress.co.jp/game/docs/20080916/cedec_dev.htm

友人と会った

今日は趣味でゲームの企画を考えている友人と会った。 場所は秋葉原のルノワールっていう喫茶店。 実はプログラミングを頼まれているんだけど、全然進んでないのを話すのがつらい(苦笑)。JSX を作ろうとしてることを話したら困惑してた。 とりあえず並行し…

S-OS

S-OS”SWORD”版グラディウス‐ニコニコ動画(夏) S-OS については以下が詳しい。 S-OSとは - THE SENTINEL

Glue 言語として JavaScript を使う

貧弱環境プログラミングのススメ この記事、とても共感するなぁ。>すべてBASICで書かれた比較的遅いゲームに対して、素早く動くゲームは十分に魅力的です。そこで、私は「重たい処理を機械語でサブルーチン化して残りをBASICで書く」という選択をするように…

呼称はとりあえず JSX にしよう

かつての BASIC のような JavaScript プログラミング環境がほしい というエントリで書いた、JavaScriptプログラミング環境の呼称はとりあえず JSX にしようかな。 JavaScript eXtention の略ね。X という文字には MSX とか X1, X68000 (これらは持ってないん…