SharpDevelop 2.1

昨日のエントリでSharpDevelopのv1.1の使用感を書いてv2.1を試しているところと書いた直後なのだが、デバッグ機能に「プロセスにアタッチ」がないということに気がついた。で、よく本家のサイトを読んでみるとasp.netは本気でサポートしていないということらしい(というか優先順位を下げているという感じだが)。「プロセスにアタッチ」も中間ぐらいの優先順位で作業中のようなのでいつかは入ると思うが、しばらくは難しそうですね。

なので、結局はDbgCLR.exe(.NET SDKに付属のデバッガ)を起動して、aspnet_wp.exe(ASP.NETのワーカプロセス)にアタッチしてやる方法でデバッグするか、cassiniという.NETを使って書かれた簡易サーバをかませてIIS直でなく間接的に(擬似的に)デバッグするという手を使うことになるようです。

clrdbg.exeもなかなかしっかりしたデバッガなのでそんなに文句はないのですが、SharpDevelopのデバッガも立派なものなので、IDEとしては統合環境内で閉じたデバッグができないのはASP.NET向けの開発環境としては、ちょっと魅力薄となってしまうのは否めない感じですね。

Tool->Optionからは、まだUIの言語に日本語の選択肢は入っていないようで(まだ、別途日本語版サイトから入れる形なのかな?)、日本語GUIはまだ試していません。でも、エディタはShift_JISを選択してちゃんと表示編集ができて、この辺はv1.1よりはぐっとよくなった感じ。でも、IMEの入力はあまりきちんと制御できていないようで、日本語を入力するときは少し違和感あり。これも何か回避策はあるのかも知れないけど、ソースに日本語を入力することは、とりあえずそんなに必要ないのでまた後日調べます。

と、とりあえず1日使ってみての感想でした。

Posted in インターネット, コンピュータ, 技術 | Tagged , | Leave a comment

Windows環境でも開発環境はだいぶ無料化の傾向にある?

別のエントリで、Windows環境で個人で開発環境を整えるには高くつきすぎると書いたのだが、Microsoftも開発ツールは無料版をずい分提供していることに気がついた。でもよーく機能制限やらを見ると相変わらずせこく有料版とは差別化してあって、やはり本格的に使おうとすると無料版ではちときつそうな感じ。こんなに色々な版を作ったり宣伝したりするためにかけている費用を削って有料版の値段を下げてしまった方がMicrosoftにとってもユーザにとっても得だと思うのだが、そうできなくなっているところに今のMicrosoft社の構造的な問題が見えるような気がする。

でも、少なくとも小規模なプログラム開発であれば、それなりに開発環境がそろうというのは、昔に比べれば大きな進歩ではある。

と思って検索してみると色々とオープンソースの開発環境があるのに今さら気付いた。

SharpDevelop

SharpDevelopというのはオープンソースの.net用のIDEということで、これはすごいと思って早速使ってみた。とりあえず作業していたプログラムが.net 1.0で開発されたものだったので、SharpDevelop 1.1というのを試してみた。UIは日本語も選択できるようになっているが、日本語を選択すると異様に不安定になるので(例外エラー頻発でとても使い物にならなかった。使ったマシンがかなり非力だったせいもあると思うが、それを加味してもちょっとという感じ)、英語UIのまま使用した。エディタで使用する文字エンコードを指定できるので、英語UIでも日本語ファイルの表示は可能。しかし、編集しようとするとちょっとカーソル位置が変になったりで問題ありという 感じでやはり本格的な使用には堪えられそうにはなかった。1.1は2006年の2月で止まっているようなので、仕方ないかも。で、よく見てみると2.0でも1.1はサポートしているので、最初から2.1を試せばよかった。

で、2.1を早速ダウンロードして試してみる。1.1よりはだいぶ安定している様子だが、やはりたまに例外エラーは発生してやや不安にはさせる。もう少し使ってみてから感想を書きたいと思う。

今日はこの辺まで。

Posted in コンピュータ, 技術 | Tagged , | 1 Comment

プロポリス

実は1/27に背中から足腰へ激しい痛みに襲われて、2週間程寝たきり状態みたいになってしまい、やっと何とか普通に近い状態に回復してきたところなのですが、まだ一部痛みが残っていたりして、あまりまともな状態ではありません。

で、これを通じて感じたことなどで色々と書きたいことはあるのですが、不幸中の幸いの発見というか、プロポリスが強力な痛み止めになるということを知ったのが一番の収穫でした。

プロポリスが天然の抗生物質と言われているのは知っていましたが、痛み止めとしてこんなに効くとは知らずに、非常に驚きました。普通の痛み止めも飲んだのですが、数時間で効かなくなってしまうのに、プロポリスは比較的長時間効いてくれ、結局普通の痛み止めは大して持続しないのでほとんど飲まずにプロポリスだけで済んだのにも本当に驚きでした。

Posted in 健康, 日記 | Tagged , | 1 Comment

今さら知った英語表現 – 2

put one’s finger on

テレビを見ていて、ちょっと使えそうな表現だったのでメモ。文脈から「はっきりと指摘できないんだけど、~」というような意味であることは類推できたが、立派な熟語であった。今までも聞いていたような気もするんだけど。

アルクの英辞郎 on The Webのエントリでは次のような例があって、これでよくわかります。

【2】 〔答え・トラブルの原因などを〕はっきりと指摘する[見定める]、明確に示す、突き止める
・ Something seems to be off, but I can’t put [pinpoint, lay] my finger on it. 何かがおかしい気がする。どこが、とはっきりは言えないのだが。
・ I can’t put [pinpoint, lay] my finger on it, but I’m afraid something must be wrong with me. どの部分かははっきり分からないのですが、体のどこかがおかしいのだと思います。◆患者→医師

Posted in 英語, 言語 | Tagged | Leave a comment

Windowsの英語版環境でASP.NETのサイト作成をする際の日本語に関する注意事項

Windows 2000でしかまだ試していないので2003やXPだと少し話しは違うかもしれないけど、きっと似たような話だと思う。
最近、ASP.NETを使った日本語Webアプリケーションを英語環境へ移す作業をやっていて、色々と気づいた点や再確認したことをメモ。

web.configというファイルの設定で、globalization要素の一つにfileEncodingというのがあるのだが、SDKの記述には、fileEncodingを指定しないときはどういう動作なのかははっきりと書いていない。Shift_JISで作成されたaspxファイルでfileEncodingを指定しないと、システムロケールを日本語にしても初期動作としてはANSI(iso-8859-1?)ファイルとして読み込んでしまうみたい。ところが同じ環境で、一度、fileEncodingをshift-jisで指定して、きちんと動作させた後、fileEncodingの指定を削除してしまうとどこかに記憶されているのだろうか、なぜかちゃんと動作する。この動きはいまいちよくわからない。

ところで、システムロケールについては、マイクロソフト のGlobal DevサイトのFAQ には、

The system locale (sometimes referred to as the system default locale), determines which ANSI, OEM and MAC codepages and associated bitmap font files are used as defaults for the system. These codepages and fonts enable non-Unicode applications to run as they would on a system localized to the language of the system locale.

とあり、さらに、同じサイトのConfigurable Language and Cultural Settingsには、

The system locale is not really a locale. It determines which codepages (ANSI, DOS, and Macintosh) are used on the system by efault. Changing the system locale also installs the necessary bitmap font files to support legacy applications in the language you selected.

とあり、「システムロケールは、実はロケールというよりは、デフォルトコードページ」ときっぱり書いてある。これが一番わかりやすくて正しそう。

ちなみに日本語版環境では、

   requestEncoding="shift-jis"
   responseEncoding="shift-jis"

だけでも大体問題なく動作するのは、システムロケールもデフォルトユーザロケールも全部日本語の設定になっているからなのだろう。

それから、Windows 2000では、Default Userロケールがコントロールパネルからは変更できなかったので、レジストリ設定で、いじらないといかんと思い下記のレジストリを再確認。

   HKEY_USERS/.Default/Control Panel/International

しかし、これはあくまでもユーザロケールであるので、文字化けとはあまり関係ない場合が多い。英語でインストールしたWindows 2000でコンソールでログオンしているユーザが自分のユーザロケール(数字や日付の表示形式を含む部分)をドイツ語とかに変更してしまうと、デフォルトユーザで実行されるサービス等では英語のロケールが引き続き使用されてしまうため、日付の出力形式がそのユーザのUIに表示されるものとレポートやログに出力されるものが異なってしまい、不都合が生じるようなシナリオでのみ注意が必要。
あと、新規に作成されるユーザもデフォルトユーザのもので作成されてしまうので、それがまずい場合は少し注意がいる。

ということで、大抵の場合はDefault Userのロケールは0x409(英語)のままでもシステムロケールをJapaneseにして、さらに下記の設定をしてやれば、一応日本語での問題はほぼなくなる様子。システムロケールをJapaneseにしておいてやるのは、非Unicodeプログラムや非Unicodeでないコード、例えばShift_JIS等で作成されたファイルの入出力を行っているプログラムで明確にコードを意識せずライブラリ等を単純に使用していて、システムのデフォルトが無意識に使用されているようなプログラムを実行する際にシステムロケールが英語のままだとコード変換が正常に行われず文字化けが生じる可能性があるためである。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <system.web>
      <globalization
         fileEncoding="shift-jis"
         requestEncoding="shift-jis"
         responseEncoding="shift-jis"
         culture="ja-JP"
         uiCulture="ja-JP"
      />
   </system.web>
</configuration>
Posted in Uncategorized | Tagged , , , , | Leave a comment

今さら知った英語表現 – 1

昨日、米国株式市場の大幅下落があって、相場概況を読んでいたら、下記のような表現に出くわした。
http://www.reuters.com/article/stockTickerBriefing/idUSSI2007031316242420070313 より一部抜粋。

But the straw that broke the backs of buyers today was a report midday from the Mortgage Bankers Association which showed delinquencies among subprime borrowers hit 13.3% in the fourth quarter. That was the highest rate in more than four years and overshadowed a blowout report from Goldman Sachs (GS 199.03 -3.57) that discounted the overall impact of something we believe isn’t going to have a material impact on the economy.

なんとなく意味はわかるが、なんでstraw(わら)が出てくるのかと思って調べてみると、やっぱり熟語であった。英語での説明は、こちら。
http://en.wikipedia.org/wiki/Straw_that_broke_the_camel’s_back

The straw that broke the camel’s back. (らくだの背中を痛めてしまう一本のわら)というのが元々の表現で大元はアラブのことわざらしい。要は、らくだの限界を考慮せずに、どんどん積荷をらくだの背中につんでいくと、たとえわら一本でも限界を超えれば、その最後のわら一本でらくだの背中をだめにしてしまうという話。ここから、単に”The last straw”だけで、同じ意味に使うらしい。日本語で言えば、「堪忍袋の緒」に相当する感じ。

アルクの英辞郎で”The last straw”で引いてみると、ちゃんと出てきました。
http://www2.alc.co.jp/ejr/index.php?word_in=the+last+straw&word_in2=%82%A9%82%AB%82%AD%82%AF%82%B1&word_in3=PVawEWi72JXCKoa0Je

This’s the last straw!
ささいなことだけど、これでもう我慢の限界を超えてしまったんだ。/このささいなことが最後の決定的な一撃となったんだ。◆我慢の限界を表す決まり文句

また、今さらながらひとつ勉強になりました。

Posted in 英語, 言語 | Tagged | Leave a comment

Japanese Bistro Shun 日本食ビストロ瞬

Bistro Shunという日本食レストランがPleasantonにあるのだが、ここが今月一杯で店じまいだそうな。
還元水とかいうのをこの店では使っているそうで、水にこだわっているだけでもかなり好感が持てるのだが、その他にもお米はコシヒカリ、味噌も日本からの取り寄せ、塩も日本のSea Saltと書いてあるので、多分天日塩なのだろう、ちゃんとしたものを使っている。グリーンサラダ等もオーガニックのものを使用しているし、さしみやすしに使用している魚介類はすべて店で仕込んだもので変な化学物質等は一切使用していないと書いてある。能書きは、どこまで信用していいか、また全部本当に徹底してやっているとして、どれほど味に影響があるだろうかという気もするのだが、食べてみるとこれが旨い。久々にきちんとした仕事がされた旨い日本食を食べたという感じ。多分、この価格帯ではサンフランシスコベイエリアで1、2位を争うのは間違いない。
ランチタイムだと一人$15~$20付近でかなりのものが食べられる。初めて行ったときに食べたのがその日のスペシャルというので、ネギトロ丼とうどんのセット。うどんはこしがあってつゆは関西風。あげかすとわかめ、ねぎが少々といった非常にシンプルな素うどんに近いものだが、これがうまい。ネギトロ丼もかなりの旨さ。2回目に食べたのは、カツ丼。こちらはパン粉は、普通のパンからの手作りの上、卵はオーガニックときた。味噌汁がついているのは知らなかったが、その味噌汁がまたうまい。しっかりとだしが効いていて(多分、貝だしが足されている?)、能書きにあった味噌のせいか、実にうまい。日本にある店なら珍しくもないだろうが、ベイエリアではめずらしいほどにまともな味噌汁。
3回目は、白マグロのたたき丼とうどんのセット。白マグロのたたきというのが実にほろほろと身がくずれるほどに柔らかく、意外な旨さ。
こんなにいい店、9年も営業していたそうで、今まで知らなかった私は何とだったのという感じでしばし呆然。その上、もうすぐなくなってしまうなんてさらに唖然。なんでも、しばらくはスローダウンしてから、サンフランシスコ近辺でケイタリングビジネスでもやって、最終的にはベガスでアップスケールなフレンチレストラン(ご主人は元々フランス料理人だそうで)をやるのが夢だとか。私も、最近はかなりスローに生きているので気持ちはよくわかるんだけど、惜しいですね。まあ、新しいことにチャレンジしていく気持ちがあるからいい仕事ができるのだと思います。逆も真で、いいレストランって大抵、シェフがいい仕事をしていて、そういうシェフはいつも新しいことにチャレンジしたい気持ちがある人が多く、結構意外と早く店じまいしてどっかに行っちゃったりするんですよね。まあ、仕方ないか。また、新しくレストランビジネスにチャレンジする人でいい仕事をする人の登場を願いたいです。

Posted in レストラン, 日記, 食べ物 | Tagged , , , | 1 Comment

リモートデスクトップ接続とNUM Lockキー

Thinkpad X32を愛用しているのだが、スクリーンが小さいのでホームオフィスで使うときには、デスクトップ機からリモートデスクトップ接続で大きいスクリーンとフルキーボードで使用することにしている。しかし、どうもそのせいで実機でログオンするときにNUM Lockキーがいつもオンになってしまっているようで、大した問題ではないのだが、急いでいるときにはやはりそのことを忘れてログオンできないのはなぜ?となって割と面倒なときがある。下記に説明があるが、どうも今のところはバグのようで、どうしようもないのか...

NUMLOCK Setting Reset After Logging off Terminal Server

How to enable the NUM LOCK key for the logon screen

Posted in コンピュータ | Tagged | Leave a comment

Marriott Hotel and Internet and Boingo

I’ve stayed at Marriott Hotel in San Ramon last week. Marriott is my favorite hotel and this was very comfortable bedding as others and this particular one is in the best location for me. It is adjacent to the small shopping center which has Whole Foods Market and Borders bookstore in walking distance (There are Pasta Pomodoro Restaurant, Peet’s Coffee and Baja Fresh).

For the price I paid (about $70 per night), I can’t complain anything. However, for those who wants to pay something around $150, the room I stayed is less than what it should be.
When I entered into the room, one of the water glass in bath room was too dirty. There was an odd sound all the day from water heater or boiler or so in spite the room bath tub can’t be provided hot water.

It is strange for me that they charge high speed internet access $9.95 per day (Courtyard and Residence Inn offer free internet access though they are in same Marriott group). It is called “Wired-For-Business” which includes long distance phone calls and local phone calls. How many people in business need phone calls service recently ? Most of business traveler have cell phones or Blackberry and doesn’t rely on room phone. Fortunately I’ve found Boingo can cover Marriott hotels through roaming service. Monthly charge is $22 with second month is free and no contract so you can cancel anytime. So if you stay more than 3 nights, you can sign up Boingo before you go and save the bucks. It can’t provide roaming service at Starbucks, but you can use Barns&Noble.

Posted in インターネット, ビジネス, 日記 | Tagged , , , | Leave a comment

Apache 2.x用のmod_fcgi.dllは全滅

2006/11/28にWindows環境でApache 2.2をインストールしてRuby on Railsをfcgiで動かそうとしていたときに、結局はApache 2.2は2.0からもヘッダ定義等が変更されて、2.0用のモジュールはバイナリ互換ではなくなってしまったのが原因で四苦八苦していたときの話し。

せっかく書き留めていたので、一応参考記録として残しておこうと思います。

そもそも、モジュールは下記の場所からダウンロードしたのだが、今日(2/23)確認してみると2.2用のDLLがあるので、今はそれを使えば問題ないんでしょう(試してません)。

http://www.apachelounge.com/download/

やはりオープンソースはソースからコンパイルが基本なのかなと再確認。Windows環境でバイナリが流通の基本というのに慣らされてしまっていることを改めて痛感。開発者のはしくれとしては、やはりLinux環境でソースからコンパイルするという基本に戻るのが正解かなとも思いますが... やっぱ、個人でWindowsの開発環境を整備するのはコストが結構かかりすぎですよね。

============

fcgidはApache 2.2用と書いてあったがなぜか動作せず。Loadmoduleではこけなくなったが、Apacheでcrashしてしまう模様。
gem install fcgi
をやると

Building native extensions. This could take a while...
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.


Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/ruby1.8
--with-fcgi-dir
--without-fcgi-dir
--with-fcgi-include=${fcgi-dir}/include
--with-fcgi-lib=${fcgi-dir}/lib
ERROR: While executing gem ... (RuntimeError)
ERROR: Failed to build gem native extension.
Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/fcgi-0.8.7 for inspection.
ruby extconf.rb install fcgi -- --with-fcgi-include=/usr/include --with-fcgi-lib=/usr/lib\nchecking for fcgiapp.h... no
checking for fastcgi/fcgiapp.h... no


Results logged to /usr/lib/ruby/gems/1.8/gems/fcgi-0.8.7/ext/fcgi/gem_make.out

みたいなエラーでインストールできず。

http://rubyforge.org/frs/?group_id=926からruby-fcgi-0.8.7.tar.gzファイルをもってきて、指示通りのインストール手順をやったが、
ruby install.rb config --without-ext
は、通ったが、結局
ruby install.rb setup
で失敗。
ruby install.rb install
まで、いかずどうもダメっぽい。
RubyforApacheとかいうのもインストールしてみたがどうも関係なさそう。

結局、Product Rail for WindowsがApache2.2を含んでfastcgiで統合と書いてあったので、さすがにこの環境からやればいいだろうと思い、VMWare環境にインストールして、バイナリのDiffをとってPRW側にあるものだけ(mod_fcgi.so等)をコピーしてきたら動作した。最初からPRWを使えば良かったのかも知れんが、モジュールの関係等がよく分かって勉強になったので良しとする。
ここで何で動いたかを考えると、Apacheのbinディレクトリに置くランタイムライブラリが不足していただけなのかなと。fcgidを再度試す価値はありそうなので、明日やってみることにする。

ということで、 fcgidを再度試したが、どうもページへの権限がない等となってしまうので、Apacheの設定変更であとはいけるのかも知れないが、よくわからない。とりあえず少し現象がマシになったのでやはりランタイムは必要のよう。fcgidを使うときは、多分、ruby gemのfcgiがインストールされないとだめということなのだろうが、よくわからん。

Posted in インターネット, コンピュータ, 技術 | Tagged , , , , , | Leave a comment