2010/8/8
POCO Fanatic ひとくぎり Mac・プログラミング
2010/4/17 に Poco Fanatic のページを立ち上げて、ほぼ2日に一度の割合で記事を投稿し続けてきた。
最初の紹介を除けば 56 個の記事(プロジェクト)を投稿したことになる。
さすがにこのペースで続けるにはネタが尽きてきたので、一旦区切りにしようと思う。
(といっても放置する訳ではなく、きっと思い出したように投稿するとは思う)
今の所一番アクセスの多かった日は、2010/7/28 の 228 回。総閲覧数 3948 回。
圧縮されたソースコードのダウンロードが、総計で 2503 回。(2010/8/8 6:10 現在)
まぁそこそこ沢山の人に見てもらえているので、少しは POCO の普及のお役に立てたかなぁ。
初めて Assembla でソースコードを subversion 公開してみたけれど、そちらに対する反応は良く分からないや。(トルコのプログラマからコンタクトはあったけど...)
夏休みにも入ったことだし、ちょっと休憩。
0
最初の紹介を除けば 56 個の記事(プロジェクト)を投稿したことになる。
さすがにこのペースで続けるにはネタが尽きてきたので、一旦区切りにしようと思う。
(といっても放置する訳ではなく、きっと思い出したように投稿するとは思う)
今の所一番アクセスの多かった日は、2010/7/28 の 228 回。総閲覧数 3948 回。
圧縮されたソースコードのダウンロードが、総計で 2503 回。(2010/8/8 6:10 現在)
まぁそこそこ沢山の人に見てもらえているので、少しは POCO の普及のお役に立てたかなぁ。
初めて Assembla でソースコードを subversion 公開してみたけれど、そちらに対する反応は良く分からないや。(トルコのプログラマからコンタクトはあったけど...)
夏休みにも入ったことだし、ちょっと休憩。

2010/4/25
POCO Fanatic Mac・プログラミング
2005/10/20
Apleから Mac・プログラミング
新しいハードウェアが出たようだ。
PowerMac G5と、PowerBook G4。
PowerMac G5 Quadは2基のデュアルコアG5プロセッサ2.5GHz搭載。Dualのほうは、2GHzまたは2.3GHzのデュアルコアG5プロセッサを1基搭載なので、今までより安く作れそう。Xserve G5が更新されるのはいつだろう?
PowerBook G4は、15インチと17インチモデルでは、画面の表示ピクセルが増えた(15":1440x960, 17":1680 x1050)けれど、12インチモデルは相変わらず1024x768ピクセルのまま。12"も、もっと広げてほしかったのに...
0
PowerMac G5と、PowerBook G4。
PowerMac G5 Quadは2基のデュアルコアG5プロセッサ2.5GHz搭載。Dualのほうは、2GHzまたは2.3GHzのデュアルコアG5プロセッサを1基搭載なので、今までより安く作れそう。Xserve G5が更新されるのはいつだろう?
PowerBook G4は、15インチと17インチモデルでは、画面の表示ピクセルが増えた(15":1440x960, 17":1680 x1050)けれど、12インチモデルは相変わらず1024x768ピクセルのまま。12"も、もっと広げてほしかったのに...

2005/10/14
10/8に Mac・プログラミング
書いたMySQL Connector/J 3.1.10に、とんでもないバグがあって悩まされてしまった。
現象としては、フィールドに入力した文字列の中に日本語があると、再度取得したときに文字列の後ろが切れて無くなってしまうというもの。ちょうど日本語のエンコーディングを何にすれば良いのか考え始めた時に気付いたので、あれこれ試しているうちに夜中になってしまった。
最初は文字列の中に少ししか日本語が入っていなかったので法則性が分からなかったのだけれど、途中で日本語の文字数バイト分だけ後ろが切れていることに気がついた。文字列長の算出ルーチンで、バイト数で数えるべき所を文字数で数えてしまうとそうなってしまう。これは私のバグではないと確信し、MySQL Connector/J 3.1.11をダウンロードして入れ替えた所、すっきり解決。添付されているCHANGESというファイルには:
- Fixed BUG#11614 - StringUtils.getBytes() doesn't work when using multibyte character encodings and a length in _characters_ is specified.
と書いてあった。
あれこれ試していた時にMySQL自体のバージョンを落としていたこともあり、解決後に最新版に戻そうとして大失敗。MySQLを止めずに新しいバージョンをインストールしたら、データベースファイルが壊れてしまい、更新したMySQLが起動しなくなった。その原因追求と対策に半日。
合計すると、丸一日悩まされたことになる。あー疲れた。でもまぁ解決したから良いか...
10/15に追加:
10/8に
URL: jdbc:mysql://localhost/<databasename>
Driver: org.gjt.mm.mysql.Driver
と書いたけれど、
URL: jdbc:mysql://localhost/<databasename>?useUnicode=true&characterEncoding=SJIS
Driver: com.mysql.jdbc.Driver
で良いみたい。
注意:上記<databasename>はデータベース名称だけで前後の<>は不要
0
現象としては、フィールドに入力した文字列の中に日本語があると、再度取得したときに文字列の後ろが切れて無くなってしまうというもの。ちょうど日本語のエンコーディングを何にすれば良いのか考え始めた時に気付いたので、あれこれ試しているうちに夜中になってしまった。
最初は文字列の中に少ししか日本語が入っていなかったので法則性が分からなかったのだけれど、途中で日本語の文字数バイト分だけ後ろが切れていることに気がついた。文字列長の算出ルーチンで、バイト数で数えるべき所を文字数で数えてしまうとそうなってしまう。これは私のバグではないと確信し、MySQL Connector/J 3.1.11をダウンロードして入れ替えた所、すっきり解決。添付されているCHANGESというファイルには:
- Fixed BUG#11614 - StringUtils.getBytes() doesn't work when using multibyte character encodings and a length in _characters_ is specified.
と書いてあった。
あれこれ試していた時にMySQL自体のバージョンを落としていたこともあり、解決後に最新版に戻そうとして大失敗。MySQLを止めずに新しいバージョンをインストールしたら、データベースファイルが壊れてしまい、更新したMySQLが起動しなくなった。その原因追求と対策に半日。
合計すると、丸一日悩まされたことになる。あー疲れた。でもまぁ解決したから良いか...
10/15に追加:
10/8に
URL: jdbc:mysql://localhost/<databasename>
Driver: org.gjt.mm.mysql.Driver
と書いたけれど、
URL: jdbc:mysql://localhost/<databasename>?useUnicode=true&characterEncoding=SJIS
Driver: com.mysql.jdbc.Driver
で良いみたい。
注意:上記<databasename>はデータベース名称だけで前後の<>は不要

2005/10/10
連休中 Mac・プログラミング
ずっとWebObjectsばかりやっていたので、今日の午前中はプールへ行った。
ラッキーなことに、今日は体育の日なので無料! だからといって混んでいる訳でもなく、いつものように1km泳いで、1時ちょっと前に自宅に戻った。
昼食後もまたWebObjects。今最後のテーブルをちょうど読み込み終わった。ざっとチェックしたところ、きちんとデータが移行できている様子。予定通り連休中に終わった。
でも、この連休中は昼寝をしていなかったので、夕食後に眠ってしまいそうだなぁ。
0
ラッキーなことに、今日は体育の日なので無料! だからといって混んでいる訳でもなく、いつものように1km泳いで、1時ちょっと前に自宅に戻った。
昼食後もまたWebObjects。今最後のテーブルをちょうど読み込み終わった。ざっとチェックしたところ、きちんとデータが移行できている様子。予定通り連休中に終わった。
でも、この連休中は昼寝をしていなかったので、夕食後に眠ってしまいそうだなぁ。

2005/10/9
データベースの Mac・プログラミング
移行に続いて、データそのものもうまく移行できそうな気配。
EOModelerのファイルをOpenBase版の方に差し替えた状態で、テーブルの各エントリをNSDictionaryのdictに入れ、NSPropertyListSerialization.stringFromPropertyList(dict)を使って(XMLではない)property list形式のファイルに保存。
そして、今度はEOModelerのファイルをMySQL版の方に差し替えて、そのproperty list形式のファイルを読んでNSPropertyListSerialization.propertyListFromString(string)でNSDictionaryの配列(NSArray)に復元し、各dictionary毎の内容でエントリのデータを追加。
エントリ数が少なく、他のテーブルとのリレーションが無いいくつかのテーブルのデータは無事移行できたので、後は体力勝負。連休中にはデータベースの移行が完了できそうだ。
0
EOModelerのファイルをOpenBase版の方に差し替えた状態で、テーブルの各エントリをNSDictionaryのdictに入れ、NSPropertyListSerialization.stringFromPropertyList(dict)を使って(XMLではない)property list形式のファイルに保存。
そして、今度はEOModelerのファイルをMySQL版の方に差し替えて、そのproperty list形式のファイルを読んでNSPropertyListSerialization.propertyListFromString(string)でNSDictionaryの配列(NSArray)に復元し、各dictionary毎の内容でエントリのデータを追加。
エントリ数が少なく、他のテーブルとのリレーションが無いいくつかのテーブルのデータは無事移行できたので、後は体力勝負。連休中にはデータベースの移行が完了できそうだ。

2005/10/8
WebObjectsで Mac・プログラミング
使っていたデータベースをOpenBaseからMySQLに乗り換えた。
理由は、今までOpenBase Personal -- FREE License! つまり無料版を使っていたのだけれど、データベースへのアクセスが頻繁になってくると、10秒中5秒間データベースが休むように制限されてしまい、とてもではないが使えないため。
Webをあちこち調べてなんとかできたが、忘れそうなので自分のためにメモとして残しておく。
MySQLのページで、Developer Zoneのタブをクリックすると、右側に"Downloads and Documentation"欄があるので、そこから次のものをDownload:
- MySQL Database Server - Community Edition
Release Candidate 5.0.13
- MySQL Administrator
Generally Available (GA) 1.1.2
- MySQL Connector/J
Generally Available (GA) 3.1.10
そして、Mac OS X への MySQL のインストールというページを参照しながらInstall。
MySQL Connector/JのJDBCドライバmysql-connector-java-3.1.10-bin.jarは/Library/Java/Extensions/に置けば良い。(OpenBaseJDBC.jarが置いてあった場所なので、PATHをいじったりしなくて楽)
EOModelerのSet Adaptor Info...メニュで出てくるJDBC Connectionでの設定を:
Username: admin
URL: jdbc:openbase://localhost/<databasename>
Driver: com.openbase.jdbc.ObDriver
から
Username: root
URL: jdbc:mysql://localhost/<databasename>
Driver: org.gjt.mm.mysql.Driver
に変更し、各AttributeのExternal Typeを、例えばlonglog→BIGINTなどに変更。
これで、OpenBaseからMySQLへの乗り換え終了。
データベースは移行できたものの、肝心のデータをどうやって移そうか、まだ検討中。
0
理由は、今までOpenBase Personal -- FREE License! つまり無料版を使っていたのだけれど、データベースへのアクセスが頻繁になってくると、10秒中5秒間データベースが休むように制限されてしまい、とてもではないが使えないため。
Webをあちこち調べてなんとかできたが、忘れそうなので自分のためにメモとして残しておく。
MySQLのページで、Developer Zoneのタブをクリックすると、右側に"Downloads and Documentation"欄があるので、そこから次のものをDownload:
- MySQL Database Server - Community Edition
Release Candidate 5.0.13
- MySQL Administrator
Generally Available (GA) 1.1.2
- MySQL Connector/J
Generally Available (GA) 3.1.10
そして、Mac OS X への MySQL のインストールというページを参照しながらInstall。
MySQL Connector/JのJDBCドライバmysql-connector-java-3.1.10-bin.jarは/Library/Java/Extensions/に置けば良い。(OpenBaseJDBC.jarが置いてあった場所なので、PATHをいじったりしなくて楽)
EOModelerのSet Adaptor Info...メニュで出てくるJDBC Connectionでの設定を:
Username: admin
URL: jdbc:openbase://localhost/<databasename>
Driver: com.openbase.jdbc.ObDriver
から
Username: root
URL: jdbc:mysql://localhost/<databasename>
Driver: org.gjt.mm.mysql.Driver
に変更し、各AttributeのExternal Typeを、例えばlonglog→BIGINTなどに変更。
これで、OpenBaseからMySQLへの乗り換え終了。
データベースは移行できたものの、肝心のデータをどうやって移そうか、まだ検討中。

2005/9/19
久しぶりに Mac・プログラミング
自宅で仕事的なことをした。
WebObjectsの多対多のリレーションがらみで悩んでいた件だが、間に1クッション置くことですっきりしそう。試しに今までFileMaker Proで管理していたSharewareのユーザー情報を、WebObjectsに置き換えるとどうなるかを半日かけて試してみた。肝心なデータ入力画面まではできなかったものの、データベースに直接データを数件入れてやってみた限りではうまく行きそうな気配。
データ入力画面でちょっと小細工が必要かもしれないけれど、今日はもう時間切れ。続きは明日会社でやることにしよう。
0
WebObjectsの多対多のリレーションがらみで悩んでいた件だが、間に1クッション置くことですっきりしそう。試しに今までFileMaker Proで管理していたSharewareのユーザー情報を、WebObjectsに置き換えるとどうなるかを半日かけて試してみた。肝心なデータ入力画面まではできなかったものの、データベースに直接データを数件入れてやってみた限りではうまく行きそうな気配。
データ入力画面でちょっと小細工が必要かもしれないけれど、今日はもう時間切れ。続きは明日会社でやることにしよう。

2005/9/9
Appleが Mac・プログラミング
iPod nonoを発売開始した。(リンクは左のフレームに)
90 x 40 x 6.9mm, 42gといったら、間違って落としたって気付かないかもしれない程。ここまで来ると私でも欲しくなるくらい。と言っても車での移動がほとんどで歩くことの少ない私には必要無かったりするんですが...
昔からそうだけれど、どうしてAppleはCoolな製品を数多く出せるのだろう? とても感心する。
Read More はコメントへの返事です → PinguChocoさん
0
90 x 40 x 6.9mm, 42gといったら、間違って落としたって気付かないかもしれない程。ここまで来ると私でも欲しくなるくらい。と言っても車での移動がほとんどで歩くことの少ない私には必要無かったりするんですが...
昔からそうだけれど、どうしてAppleはCoolな製品を数多く出せるのだろう? とても感心する。
Read More はコメントへの返事です → PinguChocoさん

2005/8/27
空白の Mac・プログラミング
テキストフィールドの内容を既定の文字列で置き換える処理がやっとできた。
データーベースをモデリングする時にクラス名を独自の物に変更して、そのクラスのソースコードを「自分で」作り、その中でValidate***()をOverrideするというのがポイント。EOModelerがJava Sourceを吐き出してくれればもう少し早く分かったのだが、現在のバージョンだと、メニューは選べるもののなぜかSourceが出力されないので、かなり悩んでしまった。
やっと解決したので、プロジェクト内のファイルを種類ごとにフォルダに分けようとしてはまる。フォルダ名も変更したせいか、パスが見つからない的なエラーが出て、動いていたプロジェクトがコンパイルすら通らなくなってしまった。なんだか1から作り直した方が早そう...
あとは、データベースの内容を元にC++のSource(と言ってもほとんどテーブルだけど)を吐き出すようにできれば、当初の目的は達成できる。あと一歩!
0
データーベースをモデリングする時にクラス名を独自の物に変更して、そのクラスのソースコードを「自分で」作り、その中でValidate***()をOverrideするというのがポイント。EOModelerがJava Sourceを吐き出してくれればもう少し早く分かったのだが、現在のバージョンだと、メニューは選べるもののなぜかSourceが出力されないので、かなり悩んでしまった。
やっと解決したので、プロジェクト内のファイルを種類ごとにフォルダに分けようとしてはまる。フォルダ名も変更したせいか、パスが見つからない的なエラーが出て、動いていたプロジェクトがコンパイルすら通らなくなってしまった。なんだか1から作り直した方が早そう...
あとは、データベースの内容を元にC++のSource(と言ってもほとんどテーブルだけど)を吐き出すようにできれば、当初の目的は達成できる。あと一歩!
