2005年12月5日月曜日

VSUG設立記念セミナーに行って来ました

楽しかったです。みんなの顔が輝いていたように感じました。

VSUG発起人のご挨拶


福井さんによる開会の言葉。
杉下さんは5時起きだそうで。雪の降る福井からのお越し。
新村さんはスライドを用意して、VSUGの3つの「わ」について説明。会社の先輩なので「しんちゃん」とは呼びづらい。
奥津さんは初心者向けの新しいフォーラムについて。

お祝いの言葉


マイクロソフト 北川さんより。
マイクロソフトにとってVSUGとは、マイクロソフトがVSUGに期待すること、マイクロソフトの5箇条。
「加速するマイクロソフトのコミュニティ支援。その狙いは?」という問いへの1つの回答ですね。

70分でズバリ!!Visual Studio 2005ココがお勧め!!


おぎわらさん
「70分という短い時間ですが……」と繰り返しながら、ものすごい勢いで機能説明を。
その説明の中でも重要だったのは、荻原(けものへん)と萩原(のぎへん)の違い。

ソフトウェア開発における諸問題を最新技術はどう捉えているか

マイクロソフト 萩原さん(のぎへんのハギワラさん)のお話。
資産、手順、チームモデルについての工学的観点。
オブジェクト指向という手法の特徴と限界についての考えを聞かせていただき、自分でも発想が広がりました。メモ用のノートに自分の思い付きを書きなぐったり。

VSラウンチイベント in US

奥津さんが撮影された100枚の写真とともに紹介。アメリカのイベントはノリがいいですね。食べ物の写真もたくさん。

Lightning Talk

メモし忘れてしまったのでスピーカーに間違いや抜けがあるかも。小島さん尾崎さん渋木さんPASSJの小川さん。合ってるかな?
小島さんの会場アンケートとSQLCLRについての小川さんの私見が印象的でした。
懇親会

スポンサーとして少しだけしゃべりました。しょうもないネタでしたがいくらかでも笑っていただけて救われましたです。

2005年12月2日金曜日

明日はVSUG設立記念セミナー

イベントの詳細はこちら

参加予定者限定で、おぎわらさんとはぎわらさんの発表資料が公開されました。
興味を持って読みました。
はぎわらさんには質問を用意して行くべきだろうか。

でも本当は、お二方の後にスケジュールされている、各フォーラムリーダーによるLightning Talksが楽しみなのです。
フォーラム上では見えにくい、皆さんの素顔やキャラクターを見てきます。
きっと準備は大変だと思いますけど。5分程度とはいえ。

2005年11月28日月曜日

Hejlsbergへのインタビュー記事(英語)

C#: Yesterday, Today, and Tomorrow: An Interview with Anders Hejlsberg, Part 1
C#: Yesterday, Today, and Tomorrow: An Interview with Anders Hejlsberg, Part 2
ヘジたん(MSKKは「アンダース ヘルスバーグ」と表記しているし、音もそっちのほうが近いのだろうが)のインタビュー。O'reillyに許可取って翻訳したら喜ばれるでしょうか?

2005年11月18日金曜日

Paul VickからVB9の話を聞く

昨日はMSC2005でした。
VBのテクニカルリードであるPaul Vickの特別セッションに参加しました。
VBの歴史を軽くおさらいし、VBの将来(計画中のVB9)について話を聞きました。
内容としては@ITに吉松さんが書いたPDCレポートとかぶってはいたのですが、@ITの方には書いてなかった話を聞きました。それはXMLリテラル。
MSDNの"Visual Basic 9.0 概要"から引用しますが、こんなコードが書けてしまう。
Dim CountriesWithCapital As XElement = _
<Countries>
<%= Select <Country Name=(Country.Name)
Density=(Country.Population/Country.Area)>
<Capital>
<Name><%= City.Name %></Name>
<Longitude><%= City.Longitude %></Longtitude>
<Latitude><%= City.Latitude %></Latitude>
</Capital>
</Country> _
From Country In Countries, City In Capitals _
Where Country.Name = City.Country %>
</Countries>

引用符も何もなしにXMLが埋め込まれている。注意すべきはCountriesWithCapital変数の型で、これってStringじゃなくてXElement型なんです。つまるところ、New XElement("Country")みたいなコードと同等だと。
しかもASPみたいに、<%= City.Name %>みたいな表記もあります。動きもASPみたいなもんで、コードとして実行評価される部分です。
まとめると、「Select *** From Country In Countries, City In Capitals Where Country.Name = City.Country」のところはLinq。それによって得られたCountryやCityなんかを使ってXElementを構築する、そんなコード。
うっはー、変態だー。この機能はC#3.0には今のところ入っていないのかな。

2005年11月17日木曜日

アルゴリズムパズル(リンクリスト)に答える

「諸悪の根源は物理的」より:
単方向リンクリスト(連結リスト)がある。ノード数を n とするが、n の値は分からない。リスト中にループ(循環参照)が存在するか否かを O(n) で判定するアルゴリズムを示せ。ただし、リストの各ノードの内容を変更してはならない。つまり、単純にポインタが指したノード全てにマーキングをしておいて、新しいノードに移るたびにマーキングされているかを調べることで判定することは出来ない。


これは有名なアルゴリズムなので知っている人も多いと思う。


回答

ポインタaとbを用意して、aは1ずつ、bは2ずつインクリメントする(次の要素に進む)。
もしループしているなら、aがループによって以前の要素に戻ってくる前に必ずbと同じ位置を指すときが来る。
ループしてなければbが終端に到達して終わり。



なぜこうなるのかは、図で説明するとわかりやすい。
循環のあるリンクリストを図に描くと、6の字、あるいはトランプゲームの「ブタのシッポ」のような形になる。円の部分が循環、ブタのシッポのように延びている先端がリンクの先頭だ。
今、ポインタを2つリンクの先頭にセットする。説明のため赤ポインタと青ポインタとしよう。そして、1ステップの間に、赤ポインタは1つずつ、青ポインタは2つずつ先に進めてみる。
そのようにして、赤ポインタが循環に差し掛かったところが下の図だ。プログラム的には循環の開始点を判別できないが、かならずこの瞬間は来る。その際、青ポインタはリンクの先を進んでいるのだが、この循環のどこかに存在していることは確実だ。
さてここで、さらに1ステップ進めるとどうなるか。もちろん赤ポインタは1進み、青ポインタは2進む。赤ポインタから見れば青との距離がさらに1大きくなる。ここで忘れていはいけないのが、赤ポインタも青ポインタも循環の上にいるということ。なので、赤ポインタが周回遅れしているという見方もできる。この見方に従えば、赤ポインタの後ろから青ポインタが1近づいたことになる。ずっとステップを進めれば、いつかは赤ポインタは青ポインタに追いつかれてしまうだろう。
さて、赤ポインタが循環に差し掛かったときに青ポインタがどこにいたとしても、2者の距離は円周の要素数よりも必ず小さいのだから、赤ポインタが一周するよりも、青ポインタに追いつかれるほうが早いことが証明できる。
循環のあるリンクリスト

2005年11月16日水曜日

VS2005 Team Suite RC (Japanese)

MSDNサブスクライバダウンロードに出てますね。
MSCに何とかRCを間に合わせた、というところでしょうか。

2005年11月15日火曜日

ゆうこりんと飯島愛のミッシング・リンク

今なら十中八九小倉優子がこなすであろう役を昔は飯島愛がやっていた事実。
まんがの森、きてみろりん。
えーと、仕事してないときはこういうことばっかり考えています。





同じことを考えてる人を発見しました。

2005年11月8日火曜日

あほブレイクビート


  • 工藤静香「嵐の素顔」のリフをバックに「今夜はブギーバック」

  • レッド・ツェッペリン「移民の歌」のリフをバックに「俺ぁ東京さ行くだ」(のラップ部分)


後者は移住の歌同士でなおさら興味深い。

えーと、仕事してないときはこういうことばっかり考えています。

2005年11月2日水曜日

JavaOne Tokyo 2005

今年のJavaOne Tokyoはいろいろ面白そうなんですが、中でも11/8のInteroperabilityトラックにちょっと注目。
JavaOne Tokyo 2005 にマイクロソフトは初めて参加します。
11 月 9 日 (水) と 10 日 (木) の無料展示会では、Windows と Java プラットフォーム間での相互運用性を中心にして展示ブースを持ちます。11 月 8 日 (火) には次の 2 セッションを担当します。
「進化する Web サービス・インターオペラビリティ」 (マイケル・ダイクス)
「Java と .NET に対応する現実的なオブジェクト指向設計手法と最新トレンド」 (萩原正義)

2005年10月30日日曜日

C# 2.0の匿名メソッドは要注意

C# 2.0から加わるAnonymous Method。
私はよく確かめもせずに「クロージャ」「クロージャ」言ってましたが、
実は結構落とし穴がある、というか他言語のクロージャと同じような意識で利用すると失敗する危険性があることを知りました。
NyaRuRuの日記 - C# 2.0クイズを読んで、実行結果を予想してみてください。

やはり、どういうILにコンパイルされるのかを理解しないといけませんね。いや、冷や汗かきました。

2005年10月28日金曜日

年末のチケット当選しました

このたびは「COUNTDOWN JAPAN05/06」のチケット予約にお申し込みいただきましてありがとうございます。厳正なる抽選を行いました結果、あなたにお申し込みいただいたチケットが確保できました。


当たりました。嬉しい。年末の帰省は延期することにします。

Queen + Paul Rodgers (10/26)

さいたまスーパーアリーナに行ってきました。
本当は忙しかったのですが、わがままを言って定時にあがって直行しました。

・開演直前にIt's A Beautiful Dayのリミックスが
・開演直前にエミネムの曲に合わせてブライアンのギターが
・Tie Your Mother Downから立ちっぱなし
・Love Of My Lifeで感涙
・Teo Torriatteが聞けた
・ブライアン・メイの(有名な)ソロが聞けた
・Radio Ga-Gaで全員ハンドクラップ
・ボヘのオペラ前まではフレディ(の映像)、オペラ後はポール
・I Was Born To Love Youは、まあ日本独自のおまけ
・The Show Must Go Onでまた感涙
・We Will Rock Youで会場が揺れる
・締めはやっぱりGod Save The Queen

ポールの曲は知らないまま行きました。ショウマンシップ溢れるかっこいいシンガーでした。

2005年10月21日金曜日

.NET Framework用O/Rマッパ Codus

http://www.adapdev.com/codus/

知らなかったんですが、NTeamが内部的に採用しているとの話を聞いて、見てみました。

これは便利そうですね。機能が豊富。GUIがちゃんとしてるのもポイント高いですが、さらに気に入った点は:
  • 型付きコレクション(IListやIDictionaryの実装)を生成

  • Webサービス層を生成

  • NUnit/Zanebug用テストコードを生成

  • モックオブジェクトを生成

なんてところ。

2005年10月20日木曜日

2005年10月8日土曜日

System.Net.Mail.SmtpClient と Quoted Printable

.NET Framework 2.0のSystem.Net.Mail.SmtpClientクラスでメール送信を試してみていますが、本文がquoted printableエンコードされてしまいます。
一行は76バイト以下だし、メールヘッダに"content-transfer-encoding: 7bit"を追加したりしていますが、どうにも回避できません……

(追記)菊池さんがβ2の実装を推測しています。上では書き忘れていましたが、猪股が試しているのもβ2 (日本語) なのでした。
(追記)小川さんが回避策を提示しています。

2005年10月6日木曜日

学習院大 田崎さんの、物理に役立つ数学の教科書

学習院大の田崎さんが、「数学:物理を学び楽しむために」というタイトルで数学の教科書のPDFを公開しています。
http://www.gakushuin.ac.jp/~881791/mathbook/

前書きを読んだだけでも、いい教科書だろうと思われる。今度の週末のお供にしようかな。

2005年10月4日火曜日

タイプ別性格判断をやってみたよ

タイプ別性格判断(http://www32.ocn.ne.jp/~emina/)を試してみました。
30問くらいの質問にハイ/イイエで答えていく形式です。
結果はINFP型(Introverts, iNtuitives, Feelers. Perceivers)とのこと。内向、直感、情緒、柔軟。
かなり当てはまってるんじゃないでしょうか。
特に、
INFP型の男性は、ほかの人、とりわけ男は男らしくあるべきだと思っている男性からは、優しすぎると見られたり、女々しいと思われることすらある。
見かけは立派でも、受身で無理をしないので、しばしば男の役目とされることについては、任せておけという態度にかける。
しかしながら、自分の価値観が脅かされそうだと感じたときは、一転して厳しい態度に出る。

これとか、
INFP型はレッテルをはられたがらず、こんな人ではないのにと思われるようなことをしたくなる。
それが時折予測もつかない、とっぴな行動となって表れる。

これなんかが。

2005年10月3日月曜日

第1回 エンタ!検定

日経エンタ!はよく読んでいるので、チャレンジしてみた。
+++ 第1回 エンタ!検定 成績発表 +++

あなたの総合得点は73点  全国平均 57点
全国順位(10月3日 12時現在)
30位(142人中)
--ジャンル別得点表 ---------------
    0_________10__________20点
映画 ■■■■■■■■■■■■■■
テレビ■■■■■■■■■■■■■
音楽 ■■■■■■■■■■■■■■■■■■
書籍 ■■■■■■■■■■■■
芸能 ■■■■■■■■■■■■■■■■
-------------------------

--講評---------------------
あなたは「エンタの玄人」
あなたは忙しい仕事や勉学のかたわら、世間の流行情報チェックを怠らない努力家に違いありません。すべてのジャンルにおいて偏りなく平均的に知っています。仲間内ではすべての会話についていけるムードメーカーとして活躍できるでしょう。次は1つのジャンルを深めてみてはいかがでしょうか。解答の傾向としては、特に「海外」「雑学」ネタに詳しいですね。
-------------------------
エンタ検定実施中!
http://ent.nikkeibp.co.jp/ent/kentei/

2005年10月2日日曜日

リファクタ

軋んだコードをテストしたいのは
バグ無しの証明が他にないから
掴んだはずの僕の未来は
「仕様」と「実装」で矛盾してるよ

歪んだ設計を消し去りたいのは
自分の限界をそこに見るから
自意識過剰な僕のソースには
不要な一般化 YAGNIじゃないよ

消してリファクタして
くだらない変数名
忘られぬ双方向関連を

起死回生
リファクタして
意味のない空メソッドもグリーンを成す原動力
xUnitをくれよ

角谷さんのまねっこでした。

2005年9月24日土曜日

ばあちゃんが書いた書

青蛙が
竹の葉にいる
燕の子が嘴を
巣におさめる
貧しい夕餉の
卓ではあるが
新しいエプロンが
揃えてある
山査子の
花の蔭には
新月をねらう
猫の目が
ある

2005年9月19日月曜日

ロリポブログに移行

今まではWordPressを設置していました。しかし、テンプレートを変えてみたりCSSを使ってレイアウトしてみたりすることがだんだん面倒になってきたので、ブログエンジンはアウトソースすることにしました。

いや、かなり変わるもんですね、気分が。
ブログ自身の見た目もそうなんですが、管理機能のUIが変わったのが大きいです。

.NET関連メモ

A Grouping and Subtotaling Repeater for ASP.NET
Microsoft ACT standalone installation

2005年9月17日土曜日

2005年9月15日木曜日

Visual Studio 2005 RC1

PDC中に出ました。
サブスクライバダウンロードでScriptエラーが発生してうまくダウンロードできなかったけれど、「個人用コンテンツ」を編集して、表示項目を減らしたらなぜかエラーが起こらなくなった。



2005年9月14日水曜日

LINQの裏にあるラムダ式

(どっとねっとふぁんBlog経由)

PDCでLINQことLanguage Integrated Queryのアナウンスとデモがあったそうだ。
http://msdn.microsoft.com/netframework/future/linq/default.aspx

ちょっとサンプルを見てみよう。サンプルは http://msdn.microsoft.com/vcsharp/future/linqsamples/ にある。
public void Linq1() {
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };

var lowNums =
from n in numbers
where n < 5
select n;

Console.WriteLine("Numbers < 5:");
foreach (var x in lowNums) {
Console.WriteLine(x);
}
}

実行結果は
Numbers < 5:
4
1
3
2
0


なんだこれ、コード中にSQLみたいのが。
気を落ち着けて、overview (http://download.microsoft.com/download/c/f/b/cfbbc093-f3b3-4fdb-a170-604db2e29e99/linq%20project%20overview.doc) を読む。
上記コードだとvariant型みたいなのが使われていて良くわからないが(追記:型推論。C# 3.0の機能らしい。)、型を明確に書き直すとこうなるらしい。
IEnumerable<int> lowNums =
from n in numbers
where n < 5
select n;

しかも、上の書き方はシンタックスシュガーらしく、下の書き方と等価らしい。
IEnumerable<int> lowNums = numbers
.Where(n => n < 5)
.Select(n => n);

さらに、下のように分けて書くこともできる。
Func<int, bool> filter = n => n < 5;
Func<int, int> project = n => n;
IEnumerable<int> lowNums = numbers
.Where(filter)
.Select(project);

で、これをC#2.0風に書くとこうなる。
Func<int, bool> filter = delegate (int n)
{
return (n < 5);
};
Func<int, int> project = delegate (int n)
{
return n;
};
IEnumerable<int> lowNums = numbers
.Where(filter)
.Select(project);

ようするにクロージャで実現されているということ。
LINQとは視点がずれるけど、C# 3.0だとコレクションクロージャメソッドも書き方が変わるな。
//rubyだと managers = employees.select {|e| e.manager?}
managers = employees.FindAll(e => e.IsManager);

こうですか?わかりません!

2005年9月5日月曜日

C# 2.0のコレクションクロージャメソッド

http://capsctrl.que.jp/kdmsnr/wiki/bliki/?CollectionClosureMethod

改めて書いてみると、なんかすごいムズムズする……

using System;
using System.Collections.Generic;
using System.Text;

namespace Closure
{
class Employee
{
public bool IsManager
{
get {return true;}
}

public void doSomething()
{
}

public Office office
{
get { return new Office(); }
}
}

class Office
{
}

class Business
{
public List<Employee> managers(List<Employee> emps)
{
return emps.FindAll(
delegate(Employee e)
{
return e.IsManager;
}
);
}

public void Do(List<Employee> emps)
{
emps.ForEach(
delegate(Employee e)
{
e.doSomething();
}
);
}

public List<Office> collect(List<Employee> emps)
{
return emps.ConvertAll<Office>(
delegate(Employee e)
{
return e.office;
}
);
}

public bool allManagers(List<Employee> emps)
{
return emps.TrueForAll(
delegate(Employee e)
{
return e.IsManager;
}
);
}

public bool noManagers(List<Employee> emps)
{
return !emps.Exists(
delegate(Employee e)
{
return e.IsManager;
}
);
}
}
}

餃子2

今日は麺棒があるので薄くできた。
でも薄すぎた。もっと厚いほうが好み。
具は豚ひき肉とエビの2種類。
餃子

2005年8月29日月曜日

Enterprise Libraryはオープンソースか

「オープンソースソフトウェア」という言葉はOSIが作った造語なので、OSIによるOSSの定義に沿っていればオープンソースと名乗るのに何の問題もないでしょう。
はてなキーワードの「オープンソース」 と、ukai.orgの「みんなの考えたオープンソース」も参考になります。

で、肝心のEnterprise Libraryはどうなのか、というと、それはライセンスを読んで判断するのでしょう。一言にShared Sourceと言っても、EULAによって内容は結構違うので。
Microsoft patterns & practices license for Enterprise Library - June 2005
This license governs use of the accompanying software and associated documentation and other content (“Software”), and your use of the Software constitutes acceptance of this license.
Subject to the restrictions below and any guidelines in the accompanying documentation, you may use the Software for any commercial or noncommercial purpose, including making copies, distributing modifications, and combining it with your own products or services. All references to modifications herein mean modifications to the Software and include “derivative works” as such term is defined under U.S. copyright law.
In return, we simply require that you agree:
1. Not to remove any copyright or other notices from the Software.
2. That you have no right to combine or distribute the Software or modifications with other software or content that is licensed under terms that seek to require that the Software or modifications (or any intellectual property in it) be provided in source code form, licensed to others to allow the creation or distribution of derivative works, or distributed without charge.
3. That if you distribute:
a. the Software in source code form, you may do so only under this license (i.e., you must include a complete copy of this license with your distribution), and
b. the Software solely in object code form, or modifications in either source or object code form, you do so only under a license that complies with this license.
4. That you will
a. not use Microsoft’s or its suppliers’ names, logos, or trademarks in conjunction with distribution of the Software or modifications, unless we give you prior written permission or instruction to do so;
b. display the following copyright notice on copies of modifications you distribute:
“Contains software or other content adapted from Microsoft patterns & practices Enterprise Library - June 2005, c 2005 Microsoft Corporation. All rights reserved.”; and
c. defend, indemnify, and hold harmless us and our suppliers from any claims or lawsuits and associated losses, damages, liabilities, penalties fines, costs, and expenses, including reasonable attorneys’ fees, that arise from or relate to the use or distribution of your modifications and any additional software or content you distribute in conjunction with the Software or modifications.
5. That if you distribute modifications, you will cause the modified files to carry prominent notices so that recipients know they are not receiving the original Software. Such notices must (a) state that you have changed the Software, (b) include the date of any changes, and (c) to the extent reasonably practicable, comply with any guidelines about modifications in the documentation accompanying the Software.
6. That the Software comes "AS IS", with WITH ALL FAULTS. You bear the risk of using it. We give no express warranties, guarantees or conditions. To the extent permitted under your local laws, we exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. Also, you must pass this disclaimer on when you distribute the Software or modifications.
7. That you can recover from Microsoft and its suppliers only direct damages up to US$5.00. You cannot recover any other damages, including those known as consequential, lost profits, special, indirect or incidental damages. Also, you must pass this limitation of liability on when you distribute the Software or modifications.
8. That if you sue anyone over patents that you think may apply to the Software for a person's use of the Software, your license to the Software ends automatically.
9. That the patent rights, if any, granted in this license only apply to the Software, and do NOT extend to any component or file not included in the Software, including any modifications to the Software, any other software or technology needed to use the Software, or any combination of the Software with other software or hardware.
10. That you may run the Software or modifications only on the Windows platform.
11. That you may not disclose to anyone, without our prior written permission, the results of any performance tests on the Software.
12. That we are not required to provide you any support, bug fixes, updates, new versions, or supplements for the Software, but if we do, they will be deemed part of the Software and governed by this license, unless other terms are provided with them.
13. That if you give us any feedback about the Software, you give us, without charge, the right to use, share and commercialize your feedback in any way and for any purpose. You also agree to give third parties, without charge, any patent rights needed for their products or services to use or interface with any specific parts of our software or service that includes the feedback. You will not give feedback that is subject to a license that seeks to require us to license our software or documentation to third parties because we include your feedback in them. These rights survive this agreement.
14. That we may collect and use technical information, gathered as part of support or other services provided to you related to the Software, to improve our products or services or provide customized services or technologies to you. We may disclose this information to others, but not in a form that personally identifies you. These rights survive this agreement.
15. That the Software may be subject to U.S. export jurisdiction at the time we license it to you, and it may be subject to additional export or import laws in other places. You agree to comply with all such laws and regulations that may apply to the Software after we deliver it to you.
16. That your rights under this license end automatically if you breach it in any way.
17. That this license contains the only rights associated with the Software, and we reserve all rights not expressly granted to you in this license.
18. That this license may not be amended except in a writing duly signed by your and our authorized representatives.
19. That if any of these terms is held void, invalid, illegal, or otherwise unenforceable, the other terms will continue in full force and effect.

2005年8月22日月曜日

餃子

中力粉を購入。うどん用と書いてあるが、餃子に使えば皮だけでも美味しいということだろう。
餃子の皮を作る。お湯でこねる。塩を入れると粘りが強くなるらしいが今回は入れない。まとまってきたら乾かないように注意してしばらく寝かす。
その間に餃子の餡を作る。豚挽き肉に塩とこしょうと醤油と紹興酒とごま油を加えてこねる。その後ニラと茹でキャベツ(白菜は時期外れなので)とニンニクをみじん切りして加える。おろししょうがも加える。
餡ができたら、寝かしていた生地を切り分けて伸ばしていく。まな板の水気を拭き取り打ち粉をする。テーブルにラップを敷いて作業してもいいかも。
ここで麺棒がないことに気付く。仕方がないので空き瓶を使う。くっつきやすいので打ち粉がさらに重要。
皮を伸ばす。素人の仕事なのでどんなに薄くしたつもりでも限界があるが、今回は水餃子目的なので問題なし。形も悪いが気にしない。
包む。皮が柔らかめだったので破らないよう注意する。ここでゼラチンで固めたスープなど入れるのもいいが、今回はやらない。
ぐらぐら茹でる。強火がポイント。
酢醤油で食う。うまい。

2005年8月17日水曜日

Visual Studio Hacks (Hacks)

Visual Studio Hacks (Hacks)

  • Chapter 1. プロジェクトとソリューションを制覇

    • 1. プロジェクトとソリューションを管理

    • 2. アセンブリとプロジェクトの参照を制覇

    • 3. プロジェクトとソリューションを組織化

    • 4. プロジェクトファイルとソリューションファイルを××

    • 5. SourceSafeのバインドを削除



  • Chapter 2. エディタを制覇

    • 6. クリップボードを制覇

    • 7. Visual Studioへの貼り付けを簡単に

    • 8. IntelliSenseを制覇

    • 9. リージョンを制覇

    • 10. テキストエディタにガイドラインを追加

    • 11. 最適なエディタを選択

    • 12. シンタックスハイライトをカスタマイズ

    • 13. 最近使ったファイルとプロジェクトのリストを編集

    • 14. コードをリファクタ

    • 15. コードスニペットを利用・共有



  • Chapter 3. Visual Studioのナビゲート

    • 16. ワークスペースを制御

    • 17. ファイルをすばやく探す

    • 18. ファイル内をすばやく検索

    • 19. ファイル内のパターンを検索

    • 20. ソースコードをナビゲート

    • 21. もうTODOを忘れない

    • 22. マウスを××

    • 23. Visual Studioのタブを使いやすく



  • Chapter 4. VSをカスタマイズ

    • 24. 独自ショートカットを作成

    • 25. メニューとツールバーをカスタマイズ

    • 26. 独自のウィンドウレイアウトを作成

    • 27. ツールボックスをカスタマイズ

    • 28. ツールボックスの設定をパッケージ化

    • 29. 標準外のファイル拡張子をサポート追加

    • 30. レジストリを××

    • 31. IDE設定を保存・移動

    • 32. htmlとxml文書にインテリセンスを有効化

    • 33. 外部ツールを追加

    • 34. プロジェクトのビルドプロセスをカスタマイズ

    • 35. ビルド出力を調整、結果をナビゲート



  • Chapter 5. デバッグ

    • 36. ブレークポイントを設置

    • 37. ブレークポイントをトラブルシュート

    • 38. Visual Studioの例外に対する反応をカスタマイズ

    • 39. スクリプトコードをデバッグ

    • 40. SQL Serverをデバッグ

    • 41. 実行中のプロセスをデバッグ

    • 42. エラーが出ているアプリケーションをデバッグ

    • 43. 独自のビジュアライザを書く



  • Chapter 6. 速度を××

    • 44. Visual Studioをスピードアップ

    • 45. コマンドプロンプトからファイルをロード

    • 46. コマンドウィンドウを制覇

    • 47. カスタムツールをビルド

    • 48. アプリケーション構成ファイルを拡張

    • 49. 型付きデータセットを生成

    • 50. コード生成のためのテンプレートを定義

    • 51. マクロを作成

    • 52. マクロでコードを生成

    • 53. 接続文字列を高速に作成

    • 54. アセンブリへの署名を高速に実行

    • 55. プロジェクトの参照を高速に更新

    • 56. usingおよびimports文を自動的に追加

    • 57. 共通的に使われるコードを自動的に挿入

    • 58. ソースコントロールプロバイダ間を高速に移動



  • Chapter 7. ヘルプと調査

    • 59. ヘルプを理解

    • 60. Visual Studioからインターネットを検索

    • 61. ヘルプをGoogleにリダイレクト

    • 62. プラットフォーム呼び出しを簡単に利用

    • 63. コードから生成された中間言語を調査

    • 64. アセンブリの内部(inneards)を調査

    • 65. FxCopでルールを遵守

    • 66. C#コードの統計情報を生成

    • 67. ヒープ割り当てを分析



  • Chapter 8. コメントとドキュメンテーション

    • 68. C#のXMLコメントを制覇

    • 69. コメントを高速に作成

    • 70. VB.NETでXMLコメントを作成

    • 71. XMLコメントからドキュメンテーションを作成

    • 72. 独自ドキュメンテーションをVisual Studioに統合



  • Chapter 9. サーバーエクスプローラを××

    • 73. パフォーマンスカウンタにアクセス

    • 74. データベースを図示・修正

    • 75. データベーススクリプトを記述

    • 76. プロセスやドライブや共有などを一覧



  • Chapter 10. Visual Studioツールを活用

    • 77. Visual Studioコマンドプロンプトを制覇

    • 78. コマンドプロンプトからVisual Studioを起動

    • 79. Webアプリケーションを負荷テスト

    • 80. コードを難読化

    • 81. UMLからコードを生成

    • 82. コードからUMLデザイン文書を生成



  • Chapter 11. Visual Studio Tools For Office

    • 83. Visual Studio Tools For Office 2003をインストール

    • 84. Word2003にコマンドバーを作成

    • 85. Excel2003からWindowsフォームを表示



  • Chapter 12. Visual Studioを発展

    • 86. Visual Studioを自動化

    • 87. 単体アプリケーションからVisual Studioにアクセス

    • 88. ファイルのひな型を作成

    • 89. Visual Studioのアドインを作成

    • 90. コマンドバーの名前を検索

    • 91. アドインのアイコンを変更



  • Chapter 13. Visual Studioを機能拡張

    • 92. アドインを管理

    • 93. Visual Studio内でユニットテストを実施

    • 94. コードとコメントをスペルチェック

    • 95. コントロールのアウトラインを一覧

    • 96. Visual Studioからブログにコードを投稿

    • 97. コードを重畳・展開

    • 98. Visual Studioコマンドプロンプトとコマンドウィンドウを結合

    • 99. Webサービスのコードを生成

    • 100. Visual Studioで正規表現をテスト




2005年8月11日木曜日

Session State Partitioning

どっとねっとふぁんBlogのエントリを見て、MSDN Magazineを見に行ったら、Fast, Scalable, and Secure Session State Management for Your Web Applicationsという記事が。

これはいいですね。実際的だと思います。

特に、ASP.NET 2.0のSession Stateパーティショニング機能に興味を持ちました。セッションIDをキーにして、利用するステートサーバを振り分ける機能のようです。地味なんだけどおもしろいです。



2005年8月9日火曜日

VSS2005 Internet Access

の設定ができずにはまりました。

http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=2774のスレッドに情報があります。



  • WebサービスがVSSの共有データベースにアクセスするときにはUNCパス(\\サーバ名\フォルダ名)が必要。それはセキュリティのため。

  • もしHTTPSを使わないとするなら、VSSサーバの設定だけでなく、VSSクライアント(VS2005のVSSプラグイン)の設定も必要。 「ツール―オプション―ソース管理ープラグインの設定」で「詳細設定」ボタンを押し、「サーバーへの接続時に、常にSSLを使用する」のチェックをはずす

  • WebサービスはASP.NET 2.0で動作する。(猪股補足:IIS6なら、アプリケーションプールを分ければ、複数のバージョンのASP.NETを共存させられますね。)

  • VSSの共有データベースには正しくアクセス権限を与えておこう。「誰に?」の答えは下記。

  • Webサービスは偽装(Impersonate)する。

  • HTTPSを使っていなかった場合は、IISでのWindows認証が必須となり、偽装の結果、スレッドトークンは認証されたユーザとなる。

  • HTTPSを使っていた場合は、IISでのWindows認証は不要。偽装の結果、スレッドトークンはIISの匿名ユーザアカウントになる。

  • Beta2の時点では、SourceSafe データベース追加ウィザードは、Admin/(no password)でVSSデータベースを開く。一旦追加してしまえば、その後はそのアカウントは必要ない。

  • 理由は分からないが、"%WINDIR%\Microsoft.NET\Framework\v2.0.50215\Temporary ASP.NET Files” に対して書き込み権限が無かったりすることがあるので注意。インストールの失敗だろうか?



2005年8月7日日曜日

We Will Rock You 日本版@コマ劇

観てきた。実はすでに2回目。
  • チケット高い!アホか!でも楽しめるからいいか。
  • キャストはオーストラリア版と同じ。かなり楽しめた。
  • 初回はS席で、前の方で見た。その時に知ったのだが、コマ劇は客席が半円形になっており、しかも傾斜角が高いので、後ろの方でも見やすそうだった。ということで今回はA席で、後ろの方。席を買ってみて驚いたが、今回の客席設定、ほとんどがS席。A席なんて最後尾の数列しかない。これじゃむしろS席が普通じゃん。まあいいけど。
  • ステージの左右に電光掲示板があり、そこに字幕が出る。字幕は森雪之丞が担当したらしい。"Headlong"の歌詞で「ジタバタするなよ 世紀末が来るぜ」と出たのを見逃さなかったぞ。
  • "Bohemian Rhapsody"の歌詞に引っ掛けたセリフは、客に気づかれていないようだ。字幕に出てこなかったからしょうがないか。
    • カショーギがポップを捕らえたとき。"Do I see a little silhouetto of a spy?"
    • 同じく、カショーギがポップに「希望なんてどこにあるんだ?」と聞いた答えが、"Any way the wind blows."
    • カショーギがガリレオを捕らえたとき。"I'll make you wish you'd never been born!"
    • 伝説のギターが復活したとき、ポップが"Thunderbolts and lightning, very very frightening!"
  • 劇中に伝説のキング、「ペルヴィス」についての話が出てくるのだが、観客は「エルヴィス・プレスリー」のことだと分かったかな?
  • セリフなどが一部日本向けになっていた。
    • オープニング・テロップの内容が日本人にもわかりやすいネタになっていた。
    • プラネットモール中の岩を破壊しろ!エボシ岩とか、岩手県とか…(ロンドン版だとストーン・ヘンジ)
    • No One But Youの中で映されるスライド(夭逝したスターたち)の中にhideと尾崎豊が。
    • カショーギのスーツはコナカのツーパンツ(ロンドン版だとMarks & Spencerというスーパー)
    • Bohemian Rhapsodyのビデオがすぐ終わってしまう。残念ながら、その後は冬のソナタで上書きされていた(ロンドン版だとBBCのヒットコメディ"The Young Ones")
  • ブリトニーの彼女の役名がイギリス版と違う。イギリス版はミート。日本版はオズ。
  • 歌う曲も一部変更されていたり、追加されていたりする。
    • 最後の最後に、"I Was Born To Love You"をやる。
  • ほとんどの観客はおとなしい。キャストがアオらないと手拍子したり立ったりしない。
  • でも盛り上がるときは盛り上がってたからよし!

2005年8月6日土曜日

Improving .NET Application Performance and Scalability

関田さんが書かれていたように、日本語訳されたので読みやすくなった。

http://www.microsoft.com/japan/msdn/enterprise/pag/scalenet-intro.asp

なにしろPDFで1000ページ超。もー大変なんですから。



.NET Expert #01

TechED 2005に行けず、ふてています。


技術評論社から.NET Expertという雑誌が出ました。
私は執筆してませんが、同僚たちがVS2005について記事を書いています。
技術評論社からは、見本誌をたくさんいただきました。1つの記事を7人で書いたからでしょう。かえって申し訳ありません……

2005年7月12日火曜日

ウサギ3

そんな経緯というかひらめきでウサギを選び連れて帰った。さて、名前はどうしよう。
パチスロ台から名前をとろうか。「アステカ」(機種名)とか「デカチリ」(大きい唐辛子:特徴的な当たり絵柄)とか。「ケツアルコアトル」はアステカの翼蛇神の名前だが、大げさなのでボツ。
「カブキ」、あるいは歌舞伎役者の名前はどうだ。まあまあかな。「勘九郎」とか。
ん?こいつオスだっけ?

rolioに見てもらった。「うーん、よくわからないけど、メスっぽい。」
ここで方向転換。しばらく悩んで、「ミューズ」とした。ギリシャ神話における音楽の女神たちのことであり、薬用石鹸を意識したわけではない。

しばらくは「ミューズ」と呼んでいたのだが、その後重要なことがわかった。ウサギの性別は生後3ヶ月程度たたないと判別が困難らしい。(タマが体内に隠れているため)
後日あらためて確認すると「あ……ある……」

「ミューズ」は撤回。結局、パチスロ台に絡めて「チリ」とした。しかし、人に由来を説明するのが面倒だ。「名前はチリ。デカチリのチリ。デカチリっていうのは唐辛子なんだけど、パチスロ台『アステカ』の当たり絵柄でね……」うへ。なので、"Red Hot Chili Peppers"からとった、ということにした。「名前はチリ。レッチリのチリ。」レッチリ知っている人ならこれで通る。

2005年6月24日金曜日

財布を忘れて

新宿でのミーティングに向かう途中。
バスに財布を置き忘れた。
バスから降りて、電車に乗り換えようとしたときに気づいて真っ青。

幸い、親切な方が東京駅の交番に届けてくれたそうだ。

いま、取りにゆきます。

おかげでミーティングに遅刻。関係者の方々すみませんでした……

2005年6月14日火曜日

ExcelCreator .NET

アドバンスソフトウェア株式会社のExcel Creator .NET
有償Excelツール。JavaならJakarta POIとかもあるけど。英語ソフトなら選択肢はもっと広がるけど。国内で売っている類似ソフトってないものか。

.NET Managineに載ったプロダクト紹介(PDF)

2005年5月27日金曜日

ASP.NET 2.0のAJAXサポート

詳しくは@ITの記事の真ん中あたりを見てほしい。

string src = Page.ClientScript.GetCallBackEventReference(
control, "arg", "MyCallback", "ctx", "MyErrorCallback");

とまあ、こんなコードを書く。すると、srcには次のような文字列が入る。
WebForm_DoCallback('****',arg,CallBack,ctx,CallBackErr,true)

これはつまり、WebForm_DoCallback関数を呼び出すJavaScriptだ。****には実際にはcontrol.ClientID(これはHTMLにレンダーされたときのID値だ)が入る。

「WebForm_DoCallback関数とやらはどこで定義されてるんだよ」という疑問はごもっとも。GetCallBackEventReference()を呼び出すと、文字列を返すのと同時に、Page(Javaでいうサーブレットのインスタンスみたいなもんだ)に
<script src="WebResource.axd?d=何か;t=何か" type="text/javascript"></script>

みたいなJavaScript参照が埋め込まれるのだ。で、その参照しているJavaScriptの中にWebForm_DoCallback関数が定義されているというわけだ。

WebForm_DoCallback関数は何するものぞ。オーケイ、コピペしよう。
function WebForm_DoCallback(
eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync) {
var postData = __theFormPostData +
"__CALLBACKID=" + WebForm_EncodeCallback(eventTarget) +
"&__CALLBACKPARAM=" + WebForm_EncodeCallback(eventArgument);
var xmlRequest;
var usePost = false;
if (__nonMSDOMBrowser) {
// http:
// And: http:
xmlRequest = new XMLHttpRequest();
if (pageUrl.length + postData.length + 1 > 10000) {
usePost = true;
}
if (usePost) {
xmlRequest.open("POST", pageUrl, false);
xmlRequest.setRequestHeader(
"Content-Type", "application/x-www-form-urlencoded");
xmlRequest.send(postData);
}
else {
if (pageUrl.indexOf("?") != -1) {
xmlRequest.open("GET", pageUrl + "&" + postData, false);
}
else {
xmlRequest.open("GET", pageUrl + "?" + postData, false);
}
xmlRequest.setRequestHeader(
"Content-Type", "application/x-www-form-urlencoded");
xmlRequest.send(null);
}
var response = xmlRequest.responseText;
if (response.charAt(0) == "s") {
if ((typeof(eventCallback) != "undefined") && (eventCallback != null)) {
eventCallback(response.substring(1), context);
}
}
else {
if ((typeof(errorCallback) != "undefined") && (errorCallback != null)) {
errorCallback(response.substring(1), context);
}
}
}
else {
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
xmlRequest.onreadystatechange = WebForm_CallbackComplete;
__callbackObject.xmlRequest = xmlRequest;
__callbackObject.eventCallback = eventCallback;
__callbackObject.context = context;
__callbackObject.errorCallback = errorCallback;
if (pageUrl.length + postData.length + 1 > 2067) {
usePost = true;
}
if (usePost) {
xmlRequest.open("POST", pageUrl, useAsync);
xmlRequest.setRequestHeader(
"Content-Type", "application/x-www-form-urlencoded");
xmlRequest.send(postData);
}
else {
if (pageUrl.indexOf("?") != -1) {
xmlRequest.open("GET", pageUrl + "&" + postData, useAsync);
}
else {
xmlRequest.open("GET", pageUrl + "?" + postData, useAsync);
}
xmlRequest.setRequestHeader(
"Content-Type", "application/x-www-form-urlencoded");
xmlRequest.send();
}
}
}

IE以外にも対応してるし。おもしろいもんですね。

2005年5月24日火曜日

康隆の結婚式

早稲田教会にて。
時間を間違え遅刻するという大失態。

その後信愛学舎でパーティ。
スピーチは、もっと褒めればよかったね。でもうけは取れたからよし。

結婚自体は、ごくふつうに「良かったな。」と思う。
でもそれ以上に、友人たちに囲まれて、みんなに祝ってもらって、幸せそうにしている二人が、我が事のように嬉しい。

いい式でした。

2005年5月16日月曜日

ウサギ2

冗談のはずがパチスロで勝ってしまい、ウサギを飼うことに。

「飼うならピーターラビットみたいなのがいいなあ。」そうと決まれば下調べ。正月もあけない2000年の1月3日、行動を開始した。
近所のペットショップにもウサギはいたが、もっとたくさんの中から選びたいと思い、あちこちのペットショップに電話をかけまくった。ペットショップだけじゃなくて、里親を募集しているWebサイトも見た。そんな中、大塚のペットショップに電話したら、ウサギが10匹近くいるというので、rolioと2人で向かった。

ちょっと狭くて暗めのそこには確かにウサギがたくさんいた。ピーターラビットっぽいのもいた。ブサイクなのもいた。面白かったのが、白い色に黒斑のウサギ兄弟。彼らはみな目の周りに隈取のような模様があったのだ。「ははは、こいつら歌舞伎みたいだなあ。」と笑い飛ばした後、お目当てのピーターラビットみたいなのを抱いてみる。うん、かわいい。かわいいんだけれど…
心のどこかに引っかかるものが。そうだ、あいつらだ。あの歌舞伎ウサギ。好みとはぜんぜん違うウサギのくせに、何か心に訴えかけてくるものがある。おかしいな。かわいくないのに。かわいくないのに。
ちっくしょー、お前を連れて帰らなかったら、きっと後悔する!

運命的な出会いというのは、こういうことなのだろうか。3匹の歌舞伎兄弟の中で一番元気そうで人なつっこそうなのを選び、家につれて帰った。

2005年5月14日土曜日

Visual Studio 2005 Team System

Windows Developerマガジンに、VSTSについて原稿を書きました。次号にVSTS Beta 2 日本語版が付録添付されるのに合わせてということです。

記事の内容は機能の簡単な紹介程度です。さてどのくらい赤が入るでしょうか……



2005年4月25日月曜日

Visual Studio 2005 Beta 2 日本語版

MSDN サブスクライバ ダウンロードに登場しました。



  • Visual SourceSafe 2005 Beta 2 (Japanese)

  • Visual Studio 2005 Team Edition Test Load Agent Beta 2 (Japanese)

  • Visual Studio 2005 Team Suite Beta 2 (Japanese)

  • Visual Basic 2005 Express Beta 2 (Japanese)

  • Visual C# 2005 Express Beta 2 (Japanese)

  • Visual C++ 2005 Express Beta 2 (Japanese)

  • Visual Web Developer 2005 Express Beta 2 (Japanese)


GW直前だと予想していたけど、それより早かった。

(4/25追記)あれ?消えた?

(4/26追記)公式発表出ました。



2005年4月2日土曜日

IronPython

CPLからShared Sourceに変わったのはその通りなんだけど、Shared Sourceといっても1種類ではなくって、ソフトウェアによってその内容は変わるので、毎回きちんとライセンス条項を読まないとだめぽ。

http://www.gotdotnet.com/workspaces/License.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742

FAQのところに「OSI準拠ではありません」と書いてある。それはいいんだけど、不勉強なもので、どの条項がOSI基準を満たしていないのかよくわかってないです。誰か教えてくれないかなあ。

2005年3月25日金曜日

Visual Studio Hacks

(オレンジニュース経由)

O’ReillyのHacksシリーズに新刊が。これいいなあ。VS.NETはいろんなカスタマイズが可能だったり、いろんなアドインを作れたり、あるいはデザイン時サポートなんて機能もあったりする*んだけど、いまいち使いこなせていない。そんなときにこの本があるといいだろうな。欲しいなあ。


(追記)デザイン時サポートはVS.NETだけで使う機能ではない。コメント参照のこと。



2005年3月18日金曜日

MSH - The next Windows Command Shell

(draft)
http://channel9.msdn.com/wiki/default.aspx/Channel9.MSHWiki

リッチクライアントの一例

損保ジャパンDIY生命保険
フコク生命保険選びフィット
はFlashでできている。

道具にXXXを使ったからこういうUIができた、という話ではないのだ。目的(資料を請求してもらう数を増やしたい)達成のためにはどういうUIであるべきか(入力させる量を減らす、おすすめプランの提示までにかかる時間を短縮する、利用者が関心を持った情報のみ詳しく提供する)をしっかり検討しないといけなかったはず。

こういう検討って業務アプリケーションでは充分になされてない印象がある。あるんだけども、そういう検討の結果リッチなUIが必要だという結論が出てくるような業務アプリケーションってなんだろう。

データ入力系は除く。あれはキーボードによる高速操作が要求されているのであって、(Webでは困難であったとしても)それをリッチなUIと呼ぶのかは疑問だ。

2005年3月17日木曜日

みんなで作る Tech・Ed 2005

GotDotNet JapanでのMS長崎さんの投稿によると、今年のTech Edのセッションテーマを公募するそうだ。

僕自身は、新技術に興味があるのは当然だが、パフォーマンスチューニングやデバッグの実践的な手法(たとえば、パフォーマンスカウンタをどう読んでどうフィードバックするか)なんてことにも関心がある。

他の参加予定のみなさんは、どんなことに興味をもっているんでしょうか。それも含めて楽しみです。



2005年3月11日金曜日

かみ合わない会話

先輩「俺、たまに一人で蕎麦屋に行ってお酒とか飲むんだけど」

後輩「え、一人でですか。寂しくないですか。」
  「俺、この前一人で“てんや"に行ってビール飲みましたよ」


……上記の「寂しくないですか。」は、ぜんぜん疑問文ではなくて、「え~それってチョー寂しくな~い?」といったニュアンスでの発言でした。
僕は横で笑いをこらえていました。

2005年3月1日火曜日

JavaScript怖えぇ

下のスクリプトをコピって、URL欄に貼り付けて実行してみる。
javascript:{var n = 0; var s = ""; if (n == s) {alert('0 == ""');}}

これ実行すると「0 == ""」って表示される。数値→文字列 と変換されるかと思ったら逆だった。文字列→数値 と変換されている。だから空文字列が0になるのだった。例えばPerlならeqを使えば文字列だから混乱しないんだけど。
なお、型変換しない比較演算子(===, !==)が用意されているので、意識してそちらを使えば混乱が少ない。

2005年2月26日土曜日

The Boy Can’t Help It (男はそれを我慢できない)

コンビニで見かけて思い出しました。私はこれでタバコをやめました。鼻トールメントールキャンディです。



これがなぜよいか。メントールが強力な上に、飴なので効果が長持ちするからです。「一服したいな……」と思ったらおもむろにこれを一粒口に放り込み、深呼吸を1分(過呼吸には注意してくださいね)。深呼吸がポイントですよ。なんとなく肺が満足しますから。

この商品は花粉症の季節しか売ってないので、今が禁煙のチャンスといえます。



2005年2月17日木曜日

ウサギ1

うちのウサギとは5年間の付き合いだった。
名前はチリ。
人に説明するときは「チリソースのチリだよ」とか、あるいは音楽を聴くような人には「レッチリのチリだよ」とか言っていたが、本当はパチスロからとった名前だった。「アステカ」という機種の絵柄「デカチリ」が由来。結局唐辛子なのは一緒だが。
なぜパチスロなのか。それはパチスロで勝ったイキオイでうちに連れて帰ったからだ。

その頃、友人のannieとrolioがウサギを飼い始め、俺にも「ウサギはいいよ!」と勧めていた。だけど俺は動物を飼うつもりはなかった。
そんなある日、2000年の1月2日、実家に帰らずに正月をだらだら過ごしていた俺とrolioは一緒にパチンコ屋に行った。だがその日はツイてないのか、お金がどんどん減っていった。「だめだ、今日は勝てる気がしない」と言う俺に「じゃあ賭けをしよう。もし勝ったらウサギを飼え。」とrolio。「ああいいよ。でもきっと負けるよ」と俺。その直後に俺は大当たりを3度引き当て、2万円近い現金を手にしたのだった。

2005年2月1日火曜日

ファーム構成でのSessionState

Scalable Session-State Storage for ASP.NET Server Farms Released (TSS.NET) Javaの話ですが、WebLogic Serverにはインメモリ レプリケーションという機能があります。 .NETのステートサーバーは、インメモリで同期はできないし、SQL Serverだと遅いし(当時の感想です)、なので、「ASP.NETのセッションステートもインメモリ レプリケーションできたらいいな」と思っていたのでした。 いやまあ、どこにもないものならば、作ればいいんですけど。

2005年1月29日土曜日

ウサギの死

1/26深夜、飼っていたウサギが息を引き取りました。


まだうまく書けません。

書けるようになったら挑戦してみます。

2005年1月21日金曜日

SOAに熱心な企業たち


IBMとBEAはSOA関係のWebサイトを公開している。


IBM
http://www-6.ibm.com/jp/developerworks/webservices/

BEA
http://www.beasys.co.jp/dev2dev/technologies/soa/index.html


MSとOracleは"SOA対応"とか"サービス指向"とか"BPEL"とかいう言葉は出してるけど、SOAとは?みたいなサイトは持ってないようだ(見つかってない)



その他参考情報


Apache Beehive (BEA寄贈)
http://www.itmedia.co.jp/enterprise/articles/0411/08/news002.html
http://www.atmarkit.co.jp/fxml/rensai2/beehive01/beehive01_1.html

@ITのSOAコーナー
http://www.atmarkit.co.jp/fxml/#soacorner

2005年1月15日土曜日

このblogの管理

  • 年末にコメントスパムが押し寄せていた。さっくり削除。PHPMyAdmin万歳。
    • (追記)コメントスパムが増えてきたので対策。まずはPOST用URLを変更。しかしそれでもスパムが来たのでスパム避けコードを挿入。クイックハックなので、だめだったら次の手を考える。
  • MySQLがOutOfMemory。DISTINCT指定を外す。コードの全体像を把握していないので、どこかに落とし穴があるような気もするが、トップページが表示されないよりはましだろう。