投稿

12月, 2009の投稿を表示しています

さよなら2009

イメージ
年末は雪国の実家でコーディング。 *MFC*   MFCにどっぷりつかったSMTP,POP3を低水準関数への移行とリファクタリング。  理由はセキュリティ強化のため。 *さらばソースセーフ,こんにちはギット*    会社のソース管理はGitへ移行開始した。    いつも触っているコード(少なめに見てコード・ファイル数600程度、50万行)は移行終了した。 ただし、Gitは日本語に弱いのが欠点。 コード以外のファイルはVSSを使い続ける。 *職業病対策*   プログラマの職業病ともいえる運動不足のため、登山やランニングをはじめてもう5年以上になるが、忙しいとなかなかできないという欠点がある。 そこで立ったままプログラミング出来る机を探している。       

Ubuntu 8.04 LTS SMTP Authの設定メモ

ubuntu 8.04 LTSの設定 https://help.ubuntu.com/8.04/serverguide/C/index.html postfixの項目で多少古くなっている部分があるが、 注意深く読みながら設定すると動作する。 問題があった場合、どこか勘違いしている可能性が高い。 dovecotのSMTP Authの設定 http://wiki.dovecot.org/HowTo/CRAM-MD5?action=show&redirect=CRAM-MD5

構文解析器(パーサー/Parser)の生成

ボクが構文解析器を一番使うのは、自作のアプリにマクロ言語機能を組み込みたいときである。 いままではC++で作成してきたが、Javaがenumやジェネリック機能などを追加してきたのとコンピュータ全体のパフォーマンス上がりVM上でもC++並みに使える環境となってきた(うれしいことにfor eachも追加)。 そこでマクロ機能をJAVAへ移植しようと思っている。 そのためJAVAの構文解析器を調べたところ、以下のものがヒットした。  JavaCC/Java Sable ついでにC/C++では。。。 boost: s pirit 古いのものでは yacc/lex などがある。

JAVAとメモリリーク

C++と違って、JAVAはメモリ管理をしており、自動ガーベッジコレクションをするので起きないと思っていましたが、そんなことはありません。 ハンドル先の廃棄などで簡単に起きます。 そして、自分で管理しないぶん、発見が非常に難しい。。。 それを警戒しなければなりません。

Android Dev Phone 1を注文

遅まきながら、Android Dev Phone1を注文。 今は2種類が発売されており、Phone2というのもある。が、 どうも開発するものにとっては「1」のほうが、キーボードがあって何かと便利らしい。 尚、わざわざ1年前に登場したものを買わず、新しいソニエリの登場を待って買えばいいのでは、と思うかもしれませんが、実は一番始めに登場した機種というのは互換性を検証するのにとても重要なのです。 これは過去に任天堂の開発をしていた教訓なのです。例えば初代ファミコンとはいえ、実はいくつかの内部バージョンがあり、テスト時には、その一番古いもので動作確認をしなければリリース出来なかったのです。そのため、それを探すのに苦心していたことがあったのですw

乱数を発生する関数を疑え!

そして、簡単なループでテストするべし。

GAE For J,Androidのために読んでおきたい本

Effective JAVA 第2版 Google Androidプログラミング入門

Eclipseメモ

便利機能メモ VisualStadio2005で欲しかった機能は、Eclipseにはほぼ存在。 Link with Editorボタン Navigate>Go to>Resource... VS2005にもあるのかもしれないが、何度探してもみつからない。   古いバージョンにはあったので、その気になれば見つかるのかもしれないが。。。

MacOSXキーストロークを表示

MacOSXのキーストロークを表示するツール KeyCastr なかなか便利。

GAEのレコード作成時にschema version

Google App Engineのバージョンアップに備え,Schema Versionを作っておくのは重要 その他、 1レコードは1M。 BlobStore 50MB Text 無限データ長さだが検索対象にはならない。 slim3はなかなか便利である。 MacOSX10.5.* ではバージョンがちょと古いため、Eclipse3.5 (Galileo)の設定に苦労する #とある勉強会で教えていただきました。

VSSをanalyze

Visual Soucesafeのメンテ analyze -D -F -V4 path で行う。 推奨では1ヶ月に一度となっているが、 2ヶ月に1度のペース。 しばらく日本語ファイル名などの事務的なファイルやデザイナーのファイルはVSSで管理する予定なので疎かにできない。 

MacOSXにDjango

ボクは開発には、Windows, MacOSX, Ubuntuを使っているが、 出来るだけ環境を同じにすることを心得ている。 ただでさえ、違うことが多いので混乱を少しでも防ぐためである。 というわけで先日、Ubuntuに入れたDjangoをMacOSX10.5.8にインストールした。 Djangoはスムーズにインストールできたのだが、その準備にMacPortをインストールするするほうが手間がかかった。 なお、日本語サイトにあるインストール方法よりも本家のほうが新しいのでそちらを利用することを薦める。 なお、ついでにgeditをMacPortを使ってインストールした。

Visual Studio2005/2008にGit plugin

Git用の便利なプラグイン。 Exploreの拡張もある。   http://sourceforge.net/projects/gitextensions/ なお、この中には。。。 KDiff3 msysgit 1.6.5.1(20091022)  が含まれる。

Typepad motion APIs

six-apartの新しいブログシステムはマイクロブログ、 Typepad Motion 。 そのAPIはAJAXなどでメジャーになったJSONであり、atomやxml-rpcよりも、標準的なインターフェースになったことになる。 とりあえず、そのためパーサー、json spriteを自分のソフトウェアに組み込むことにした。  JSON sprite は boost:sprite を利用した高機能なパーサーであるらしい、unicodeやマルチスレッドにも対応しているのが選択理由である。 とりあえず使ってみて採用するかを決める予定。

UbuntuにDjango

まずは現在Ubuntu9.10にインストールされているpythonのバージョン Python 2.6.4 (r264:75706, Nov  2 2009, 14:38:03) であった。気がつかなかったがUbuntu9.10リリース日よりも新しいバージョンに、 アップデートされていた。 Ver2.5以降。したがってSqliteが入っているため、このままでDB機能は使える。 Djangoは...そこはubuntu。 Debianのものを使えるのでー sudo apt-get install python-django とする。これでインストール終了。

左クリックでターミナル起動

sudo apt-get install nautilus-open-terminalによってインストールできる。 使い方はWindowsのDos prompt hereとほぼ同じ。
Typepadが「T ypepad Motion 」を始めた。 短いブログで、今まで以上に気軽にポストできることを狙ったものだ。

コード管理はgitへ

コード管理は年末にかけてgitへ移行することとした。 いままではVSS中心であったがクラウドコンピューティングへ軸足が移ってきたためである。 なお、ソースコード以外は多くの日本語ファイル名が存在するため、しばらくはVSSを使い、 gitのUTF-8が個人的にロバストと感じたら、そちらも移行する予定である。 ただ、ソフトウェアエンジニア以外のスタッフにgitになれてもらうのに少々時間がかかりそうである。 git

本日のChromiumOS

10日経過したので、新しくコンパイルし直した。 Chrome 4.0.268.0 (前回:4.0.261.0) Linuxカーネル 2.6.31.4 パッと使ってみての気がついたことを書く。 Chromeのテーマが変更可能。 アプリケーションのショートカットをディスクトップやアプリケーションメニューにおける。が、まだ何もおきない。 他のOS Chormeと同じくExtensionsが使える。 MaxOSXやLinuxでは使えないBookマークシンクが使える(これは前回から) Under the Hood(高度な設定) Downloadのフォルダ名が変更 Chromos Web Contentの設定で日本語が選択可能に。目立った変化はない。 オフラインは他のOSのChromeと同じく使えない。  

Google Chrome For MacOSX

Google Chrome For MacOSがBeta版(4.0.249.30)になった。 2週間ほど前から開発版を使っていた。 やはり、BookMark Syncが見当たらない(?)   今日は(といってももう4:40*)だが、 Win用ソフトの大幅な設計のインプリメント終了。 ��年ぶりの改良だった。  朝からDEBUGのスタート予定。 ちょと無理しすぎかも。。。 最新のChromeOSの日本語入力デモは ココ (googleから)

Ubuntu9.10,Google App Engine Plug-ins,Eclipse Libstdc++6非対応

最新のUbuntu9.10で、Google App Engine PluginsをEclipse3.5でインストールできなかった。 Sun JDKもlibstdc++5を使うため、9.10では6にかわったためbinファイルを実行することが出来なかった。 もう少し、待つしかないのだろうか?

Chromium OSで日本語入力が可能に

イメージ
12月1日のビルド(ChromiumOS 2.6.31.4)の詳細を調査したところ、 日本語が入力可能になっていました。 ctrl+alt+tでターミナルを開き、 ibus-setupを実行するとIMの設定ウインドウが表示されます。 Input methdタブでJapaneseを選びAnthyを選択。 +Addボタンを押せばOKです。 この操作以後、再起動しても日本語入力がONになっています。 尚、ロケールなどを日本語にすれば、はじめからONになっている可能性がありますが、 そこまで確かめていません。 ついでですが、日本語キーボードは、.bashrcに以下の行を追加すれば、 変更可能ですが毎回ターミナルを開かなければなりません。 setxkbmap -rules xfree86 -model jp106 -layout jp 恐らく、OS-Imageを作成する前に/etc内でX-Windowsを日本語キーボードに設定すれば、 動作すると思います。 暇なときに確かめる予定です。 うまく動作した方がいらっしゃいましたら教えてください。 追記   この サイト に日本語キーボード設定方法がありました。 ありがとう。

Google Chrome Source code V8の意味

Google Chromiumのソースコードを散歩しているとよくみかけるV8というフォルダ。 V8 JavaScript Engineのことらしい。 C++でかかれたオープンソースのJavaScriptエンジンになる。 参考リンク: http://code.google.com/p/v8/ また、ついでに書いておくが、gypという拡張子がついたファイルはプロジェクトファイルを生成するPython  data structerのスクリプト(?)のようだ。 Mac用Xcode, Windows用VisualStudio,Linux用SConsのプロジェクトファイルを生成する。 Xcode .pbxproj Visual Studio .vcproj, .sln Linux SCons .scons 参考リンク: http://code.google.com/p/gyp/

Chromium OS 本日のビルド

12月になったのでgclient syncしたものをビルドしたので、 そのメモ的なポストです。 カッコは公開日のリポジトリからのバージョン。 Chromium OS 2.6.31.4 (2.6.30) Chromium Browser  4.0.261.0 (4.0.253) ./build_chrom.shがerrorのため、バイナリをダウンロードしているので、2,3日古い。 ブラウザのBookmark同期が成功した(以前はうまくいかなかった) reviewでもあったように日本語入力はまだできず。 出来ました。 ctrl+alt+tでターミナルをオープンし、ibus-setupを実行。 Input methdタブでJapaneseを選びAnthyを選択。 +Addボタンを押せばOKです。 詳細は ココ