ターゲットは.NET Framework2.0以降のVB.NET
今まで(1.1まで)、
If Not 鼻毛 Is Nothing Then ''鼻毛の処理 End If
と書いていたが、
If 鼻毛 IsNot Nothing Then ''鼻毛の処理 End If
と書けるようになった事で、
Notで一旦思考を止めなくても
流れに沿って読めるようになった事が嬉しい。
でも、未だに1.1で開発をしている事が悲しい。
型は大別すると参照型と値型にわけられる。
だから引数として渡すパターンとして、
参照型の値渡しと参照渡し
値型の値渡しと参照渡し
がある。
参照型と値型のそれぞれが何を値として持っているかに着目すれば、
参照型と値型で値渡しと参照渡しの動作は変わらないのだけど、
そこに着目しないと参照型と値型で動作が変わる様に感じるかもしれない。
とはいえ、着目しなくても4パターン知ってればよいわけだから、
そんなに難しい話でもない。
値型は実体そのものが値である。
参照型は実体への参照が値である。
値渡しは保持しているものは変更できないという事。
(値のコピーを渡しているに過ぎないから、呼び元の変数の値に影響は与えられないという事)
だから、参照型が参照している実体の中身は変更が可能。
参照渡しは保持しているものを変更できるという事。
(値の参照を渡しているから、呼び元の変数の値に影響を与えてしまうという事)
だから、参照型が参照している先を変更できてしまう。
より自由度が高く、そして殆どの局面で利用する必要がない。
参照型の参照渡しが必要な設計は殆どの場合、あまり良い設計とは言えず、
(殆どの場合であり、全てが良い設計ではないとは思わない。
必要な局面も確実にある。)
一度、戻り値で返す設計にできないか検討するべきだと思う。
過去にこんなエントリもありました。
メソッドを定義するときに、refキーワードを参照型に付けたときと付けなかったときの違いは、簡単に言えば・・・
・ref付きは参照する場所を変更出来る。
・ref無しは参照する場所を変更出来ない。
・両方とも、参照先のオブジェクトが持った値を変更する事は可能。
VS2005Pro Englishをインストールして、触れてみた。
C#で1.1時代に作成したソースをコンパイルすると結構怒られる。
デフォルトの状態だと、_(アンダーバー)で始まる変数は軒並み警告対象になるらしい。
自分の環境用にいろいろと、いじらないと駄目だなと思った。
あと、1.1時代に多用していたコードが、案外、obsoluteなメソッドになっていたりして、警告が多い。
C#はデフォルトでリファクタリングがサポートされていて便利だと思った。
VB.NETはリファクタをアドインしないと使えないし。
ASP.NET2.0のマスターページはやっぱり便利だなと実感。
そして、コードがすべてAP_CODEフォルダに格納されるのは、良いかもと思った。
クラスダイアグラムも便利だった。
あと少しで、ダウンロードできるようになるであろう、VS2005の製品版(日本語)を早く触りたいなぁ。
英語版でも全然問題無いんだけどね。
定員100名全員が出席するという、珍しい出席率で、大盛況だった。
荻原さんのセッションはVS2005をこれから使おうとする人にとって、面白い内容だった。
私がもっとも期待していた萩原さんのセッションは期待していた以上に興味深いものだった。
私の職場での立場では、なかなか難しいものがあるが、システム開発において、その場その場で最適だと思える選択をしたいし、チームにして貰えるように浸透させたい。
萩原さんのセッションで得た興味を失わないように、前進したい。
セミナ後の宴会では、半分くらいの人が初対面だったが、なかなか面白い話を聞けたし、楽しかったし、美味しかった。
酒量を制限中なので、最初のビール一杯だけで、焼酎に参加できなかったのが残念。
VSUGの発展が楽しみだし、微量でも貢献できれば良いなと思った。
昨日、VS2005のローンチ記念のイベントに参加して来た。
いろいろと説明を聞いているうちに、
もう基本的な部分の知識じゃ差別化できないし、
今迄、ちょっと出来るくらいで差別化していた人は、
平均の中に埋もれてしまうだろうな。と感じた。
また、今迄、平均以下だった開発者が平均の中に飛び込む事ができるだろう。
そのくらい簡単に、安全に、いろんな事が出来るようになっている。
中で何をやっているのか知らないでも出来てしまう事が増え、
しかも今迄の、中途半端に出来てしまうから知らない人が困るという局面が減っている。
本当に、知らないまま出来てしまう。
もちろん、それですべて出来る訳じゃないのですが、
今迄、簡単な事も開発者任せにしていた一般の人でも、
簡単にちょっとしたツールなら作れるようになっている。
つまり、冒頭で言ったように、小手先で差別化していた人や集団は差別化しにくくなります。
そういう知識ベースでの差別化ではなく、
知恵ベースでの差別化する必要があります。
私も継続して、知識を貯えつつ、知恵を磨いて行きたいと思います。
当分ASP.NET1.1で仕事する事になりそうなので、
Ajax.NETを再び検証する必要があるというわけで、
メモ代わりに貼っておこう。
http://ajax.schwarz-interactive.de/csharpsample/default.aspx
近い将来使うのでメモ
要約 : IIS では、クライアント証明書による認証がサポートされています。ここでは、アクセス時にクライアント証明書が必要になるように Web アプリケーションを構成する方法を述べます。さらに、クライアント コンピュータ上に証明書をインストールして、Web アプリケーションの呼び出し時に証明書を使用する方法も示します。
Visual Studioを使っている人も、これから使う人も、興味のある人も、
こぞって登録しましょう。
Visual Studio ユーザーグループ (VSUG) は、
Visual Studio ユーザー間の情報交換の促進と、コミュニティ支援を通じた、ビジネスの活性化を目的としたユーザーコミュニティです。
略してMP3。
日常的に.NETを利用して開発している技術者は参加するべし。
2000 年に産声を上げた.NET も年を重ねる毎に成長し、今では多くの企業、個人ユーザの皆様にお使いいただいております。しかし、システムの分散化、複雑化、大規模化が進む中、アプリケーション開発においても、単にプログラミングの能力を高めるだけでは、信頼性のあるアプリケーションを構築することが出来なくなっております。
そこで、 .NET の活用をより深くご理解いただくために「Microsoft Practice! Practice! Practice!
~現場の現場による現場のための一日~」を下記のとおり開催する運びとなりました。
本セミナーでは、マイクロソフトが提唱するガイダンス「Patterns & Practices」をご紹介するとともに、マイクロソフト以外の
4 名の .NET エキスパートより各社のベスト プラクティスについてご講演いただきます。