Thursday, May 31, 2007

Google Developer Day 2007

参加中。メモ用、あとでまとめる。

Google Maplets
Google Gears
ウェブアプリケーション オフラインソリューション

昼食

午後

Google Maps API Introduction(Chris Atenasio)
Google Desktop Gadgets(James Yum)
Intro to Google Data APIs: Mashing up Google Calendar, Spreadsheets and more!(Ryan Boyd)
Software Engineer in Google(Fumitoshi Ukai)

Thursday, May 24, 2007

なぜ sun.* パッケージを利用すべきでは無いのか?

久しぶりにJavaに触れた。

CSR のデコードがしたくてそれを実現できそうなクラスが無いかと標準クラスライブラリを探し、 sun.security.pkcs.* にそれらしいものがあったので使ってみることにしたのだが、 何故かAPIリファレンスsun.* パッケージの項目が見あたらない。 いくらググっても出てこない。

おかしいな〜と思いながら Sun/Java SE のページを眺めていたところ、FAQにその答えを見つけた。

JDK and Sun.* Packages FAQ

要約すると、

なぜ sun.* パッケージを利用すべきでは無いのか?
  • sun.* は Pure Java 実装でない(OS毎に実装が異なる)
  • sun.* は将来のバージョンで予告なしに変更される可能性がある
  • sun.* はサポートされないパブリックインターフェースである
  • だから sun.* のドキュメントは提供していない
  • sun.* は各ベンダー実装のJavaプラットフォームには存在しない
  • 別に sun.* を利用することを禁止しているわけではない
  • 使うなら自己責任でよろしく

といった感じの内容。

これって常識?知らなかった。

Wednesday, May 23, 2007

Googleに行ってきた

無料・朝食付き・「Google行ってみたい!」 ということで、 今朝、Google Enterprise Breakfast Seminar に参加してきた。

黄色い受付を過ぎ、セミナールームに入ると思ったより多い参加者。 定員は10名程度のはずだったが、申し込みが多かったらしく25名くらいまで枠を広げたらしい。

朝食のコーヒー&マフィンはスターバックス製。

内容は、告知どおり検索アプライアンスGoogle Appsの企業向け製品説明。 時間も短いので概要説明と導入事例紹介程度であったが、 セミナー終了後も個別に直接担当者に問い合わせることもできる。

このセミナーはこれからも定期的に開催し内容も毎回少しずつ変えていくとのこと。

最近、Breakfast Meeting が密かに流行ってるみたいだけど、 フレッシュな気分で参加できるし、フランクな意見の交換もできそうでいいかもしれない。

Wednesday, May 16, 2007

Macでいろいろ対応したVim7.1(gvim)のインストール

以前のエントリにて、

普段 MacPorts 版の Vim7 を利用しているのだが、いつのまにか gvim がビルドされなくなっているようだ。

なんて言っていたのだが、実は、vim-app として分かれていただけだった。

% port info vim-app
vim-app 7.1.000, editors/vim-app (Variants: universal, big, huge, multibyte, xim, perl, python, ruby, tcl, cscope, darwin_i386)
http://www.vim.org/

This port provides Vim.app, a GUI version of the famous editor vim. Vim is a highly configurable text editor built to enable efficient text editing.

Library Dependencies: gettext, ncurses
Platforms: darwin freebsd
Maintainers: raimue@codingfarm.de

ただし、相変わらず日本語のインライン入力には対応しておらず、我々日本人にとって常用できるレベルのものでは無い。

そこで、様々なパッチを適用した Local Portfile を公開してるがいらっしゃったので、ありがたく使わせていただくことにする。

何に対応しているのかというと、

  • 日本語のインライン入力
  • migemo
  • アンチエイリアス / ATSUI
  • 半透明

と、至れり尽くせり。

今回、Local Portfile を利用するのは初めてなので、自前の Portfile の作り方・使い方 を参考にしながら Local Ports Repository を構築する。

% sudo mkdir /opt/local/var/db/dports/sources/private
% cd /opt/local/var/db/dports/sources/private
% sudo mkdir `ls -F1 /opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports/ | grep '\/$'`
% sudo vi /opt/local/etc/ports/source.conf
# To enable your local ports repository, uncomment and customize the
# following line to point at your local dports directory
# Example: file:///Users/landonf/misc/darwinports/dports
#
# To get darwinports from the darwinports rsync server use:
# rsync://rsync.darwinports.org/dpupdate/dports
file:///opt/local/var/db/dports/sources/private
rsync://rsync.darwinports.org/dpupdate/dports

予め、以下の Portfile をダウンロードしておきます。

% sudo tar jxvf ~/src/cmigemo.1.3c_3.tbz2
textproc/cmigemo/
textproc/cmigemo/files/
textproc/cmigemo/files/patch-config.mk.diff
textproc/cmigemo/files/patch-config.mk.in.diff
textproc/cmigemo/files/patch-config_default.mk.diff
textproc/cmigemo/files/patch-dict.mk.diff
textproc/cmigemo/files/patch-Make_osx.mk.diff
textproc/cmigemo/Portfile

% sudo tar jxvf ~/src/vim7.1.000.0.tbz2
editors/vim/
editors/vim/Portfile
editors/vim/files/
editors/vim/files/GVim_app.tar.gz
editors/vim/files/atsui+inline.diff
editors/vim/files/checksums_dist
editors/vim/files/checksums_patch
editors/vim/files/gvim.sh
editors/vim/files/gvimrc
editors/vim/files/patch-Info.plist
editors/vim/files/transparency.diff
editors/vim/files/vimrc

% sudo portindex
Creating software index in /opt/local/var/db/dports/sources/private
Adding port editors/vim
Adding port textproc/cmigemo

Total number of ports parsed:   2 
Ports successfully parsed:      2        
Ports failed:                   0

インストール済みのMacPorts版Vimは削除しておいてから、LocalPorts版Vimをインストールします。

% sudo port install cmigemo +utf8
--->  Installing cmigemo 1.3c_3+utf8
--->  Activating cmigemo 1.3c_3+utf8
--->  Cleaning cmigemo

% sudo port install vim +huge +kaoriya +cscope +ruby +aqua +macvim
--->  Fetching vim
--->  Verifying checksum(s) for vim
--->  Extracting vim
--->  Configuring vim
--->  Building vim with target all
--->  Staging vim into destroot
--->  Installing vim 7.1.000_0+aqua+cscope+darwin_i386+huge+kaoriya+macvim+ruby
--->  Activating vim 7.1.000_0+aqua+cscope+darwin_i386+huge+kaoriya+macvim+ruby
--->  Cleaning vim

これで完成です。

かなり良いですね。

フォントも綺麗になったし、半透明は嬉しいし、migemoは便利だし。

PrivatePortfile公開ありがとうございます > sakamoto

関連URL

2007/05/31 修正

Local Port Repository のパスを ~/src/ports から /opt/local/var/db/dports/sources/private に変更。

Tuesday, May 15, 2007

Vim 7.1 リリース

いつの間にか Vim 7.1 がリリースされています。

何が変わったのかというと、

There are many bug fixes and updated runtime files. No amazing new features.

だそうです。。。

MacPorts にも既に登録されています。はやっ。

Tuesday, May 08, 2007

PHPUnit のインストール

PHPUnitをインストールしようと思ったら以下のようなエラーが発生。

% sudo pear channel-discover pear.phpunit.de
Discovery of channel "pear.phpunit.de" failed (channel-add: Cannot open "http://pear.phpunit.de/channel.xml")

PEARが 1.5.0 以上であることが原因らしい

一旦、1.4.3 に戻してから実行するとうまくいく。

% sudo pear install -f PEAR-1.4.3
Did not download optional dependencies: pear/XML_RPC, use --alldeps to download automatically
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
downloading PEAR-1.4.3.tgz ...
Starting to download PEAR-1.4.3.tgz (276,859 bytes)
.............................done: 276,859 bytes
install ok: channel://pear.php.net/PEAR-1.4.3
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
To install use "pear install pear/PEAR#featurename"

% sudo pear channel-discover pear.phpunit.de
Adding Channel "pear.phpunit.de" succeeded
Discovery of channel "pear.phpunit.de" succeeded

% sudo pear install phpunit/PHPUnit
Did not download optional dependencies: pear/Image_GraphViz, pear/Log, pear/Testing_Selenium, use --alldeps to download automatically
phpunit/PHPUnit can optionally use package "pear/Image_GraphViz" (version >= 1.2.1)
phpunit/PHPUnit can optionally use package "pear/Log"
phpunit/PHPUnit can optionally use package "pear/Testing_Selenium" (version >= 0.2.0)
phpunit/PHPUnit can optionally use PHP extension "xdebug" (version >= 2.0.0RC2)
downloading PHPUnit-3.0.6.tgz ...
Starting to download PHPUnit-3.0.6.tgz (100,140 bytes)
......................done: 100,140 bytes
install ok: channel://pear.phpunit.de/PHPUnit-3.0.6

あとは最新版に更新しとくだけ。

% sudo pear upgrade-all
Will upgrade pear
Did not download optional dependencies: pear/XML_RPC, use --alldeps to download automatically
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
downloading PEAR-1.5.4.tgz ...
Starting to download PEAR-1.5.4.tgz (293,070 bytes)
........................................done: 293,070 bytes
upgrade-all ok: channel://pear.php.net/PEAR-1.5.4
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
To install use "pear install PEAR#featurename"

一応確認。

% pear list                   
Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.2   stable
Console_Getopt   1.2.2   stable
PEAR             1.5.4   stable
Structures_Graph 1.0.2   stable

% pear list -c pear.phpunit.de
Installed packages, channel pear.phpunit.de:
============================================
Package Version State
PHPUnit 3.0.6   stable

関連URL