« 2005年05月 | メイン | 2005年07月 »

2005年06月 アーカイブ

2005年06月02日

嫌いな言葉 その二

hate.gif
嫌いな言葉 その一の続き。

『高橋、頑張れ』

マラソンでランナーを路の傍から「高橋、頑張れ」などと応援している人がいる。

しかし、あなたが応援していることに関して、あなたが応援しているその人は、既にすごく頑張っているんだ。
少なくとも、ことマラソンを走ることに関しては、大して頑張ってないあなたに「頑張れ」などと言われる筋合いはない。

え、何? いや、言い訳なんか聞きたくない。
「俺も頑張らなくちゃなー」と心の奥底でひっそりと自分の半生を振り返る、とかじゃ駄目なのか。

大体「頑張れ」って。命令形だし。
せめて「頑張ってくだされば嬉しく存じます」とか、言い方っちゅうもんがあるだろう、あんた。
あ。興奮してしまった。「あんた」なんて言ってごめんな。


で… 「頑張れ」の代案だが:
「いいぞ高橋。お前は今最高に輝いてるぞ!」とか言うのはどうか。
少しこっぱずかしいかも知れんが。

2005年06月03日

”Think abstractly, act concretely.”

# 先日の続き。

アジャイラー向けに、標語を思い付いたので、ちょっとメモ。

”Think abstractly, act concretely.”

# パクリだけど (謎)

デジタルペンで書いて取り込んでみた。
thinkact2.gif

続きを読む "”Think abstractly, act concretely.”" »

『ものに心を向けるあなたへ』

music.gif
# NAgiler のテーマ曲に続いて、もう一曲。

『ものに心を向けるあなたへ』

作詞・作曲 Fujiwo

1.
ものに心を向けるあなた
どうか お願い

一人で色んなことを引き受けないで
違う関心ごとは 分けて考えてみてね
使ってもいないものに とらわれないで
赤の他人に話しかけたりしないで
どうぞ いつも確かな目的を持っていて

時の流れに流されて 変わって行くわたしを
あなたは 抱きしめて

2.
ものに心を向けるあなた
どうか お願い

貴方から呼ばないで 必要なら私が呼びますから
あなたは具体的なことは知らなくていいの
生まれたきたものには 良い名前をつけてあげてね
内面が変わっても 変わらぬ態度で接してね
どうぞ 心を開いて 心を閉じて

時の流れに流されて 変わって行くわたしを
あなたは 抱きしめて

時の流れに流されて 変わって行くわたしを
あなたは 抱擁して


※ 曲は後日公開予定 (謎)
※ ギターの伴奏付き (謎)


参考: 【オブジェクト指向】オブジェクト指向の格言・法則

2005年06月08日

Visual Studio 2005 の正式リリース日

・MSDN ― Launch 2005 での発表 (英語)
<http://msdn.microsoft.com/launch2005/> より

Welcome to the Visual Studio 2005, SQL Server 2005, and BizTalk Server 2006 launch portal. On this site you'll find links to technical content designed to help you learn about the new products. In addition, this site serves as the home for our online launch day activities. Launch is the week of November 7, 2005...and on launch day we’ll have:

・米MSがSQL Server、Visual Studio、BizTalk Serverの出荷日を正式発表
MYCOM PC WEB <http://pcweb.mycom.co.jp/news/2005/06/08/100.html> より

米Microsoftは6月7日(現地時間)、現在米フロリダ州オーランドで開催されている同社主催の開発者会議「Tech・Ed 2005」において、データベースの「SQL Server 2005」、開発ツールスイートの「Visual Studio 2005」、Webサービス構築や異なるアプリケーション間の連携を行う「BizTalk Server 2006」の3製品の出荷日が、11月7日になると正式に発表した。また同日、SQL Server 2005向けの開発者プレビュー版(June CTP)が提供されたことも発表した。同CTP版はMicrosoftの SQL Serverサイト <http://www.microsoft.com/sql/downloads/>からダウンロード可能だ。

・米Microsoft,「SQL Server 2005」「Visual Studio 2005」「BizTalk Server 2006」は11月第2週リリース
IT Pro <http://itpro.nikkeibp.co.jp/free/ITPro/USNEWS/20050608/162309/> より

米Microsoftは,データベース・ソフトウエア「SQL Server 2005」,アプリケーション開発環境「Visual Studio 2005」,電子商取引向けサーバー・ソフトウエア「BizTalk Server 2006」の最終版を11月の第2週にリリースする。Microsoft社が米国時間6月7日に明らかにしたもの。

・SQL Server新版、11月に正式リリース
IT Media エンタープライズ <http://www.itmedia.co.jp/enterprise/articles/0506/08/news008.html> より

米Microsoftはフロリダ州で開催のTech・Ed 2005で6月7日、「SQL Server 2005」「Visual Studio 2005」「BizTalk Server 2006」を11月7日の週に正式リリースすると発表した。


英語版の話です。
日本語版は未定です。
※ 英語版より早いことはないでしょう。多分。

2005年06月09日

オブジェクト指向実践者の集い 2005夏

以下に参加することにした。

オブジェクト倶楽部夏イベント オブジェクト指向実践者の集い
テーマ プロジェクト・ファシリテーション ~「ものづくり」から「チームづくり」へ~
主催 オブジェクト倶楽部
日時 2005年6月29日(水) 10:00~
場所 東京渋谷区代々木 国立オリンピック記念青少年総合センター

このイベントは、年に二回行われていて、今回で四回目になる。
毎回参加している。
気に入っている理由は、以下の点。

obevent.gif

2005年06月10日

ITアーキテクト

ITアーキテクト」という本が出るようだ。

目次を見ると、「エンタープライズ アーキテクチャ パターン」、「要求開発」、「プロジェクト・ファシリテーション」、「開発プロセスの最適化」のような言葉が並んでいる。

予約した。

C の演習の課題

c.gif
C 言語入門者のための演習の課題を作ってみた。

【文字列の演習】

#include <assert.h>

// ここに適切な関数を追加して、「実行できるけど、実行しても何にも起きないように」してね。
//  ・今あるコードを消すのはなし
//  ・#include を追加するのも禁止

void TestIsSameString()
{
   assert( IsSameString("abcde"   , "abcde"   ));
   assert(!IsSameString("abcde"   , "abcdefgh"));
   assert(!IsSameString("abcdefgh", "abcde"   ));
   assert(!IsSameString("abcde"   , ""        ));
   assert( IsSameString(""        , ""        ));
}

void TestCopyString()
{
   char textBuffer[0x1000];
   CopyString(textBuffer, "QWERTY");
   assert(IsSameString(textBuffer, "QWERTY"));
   CopyString(textBuffer, "");
   assert(IsSameString(textBuffer, ""));
}

int main()
{
   TestIsSameString();
   TestCopyString();
   return 0;
}

2005年06月11日

Microsoft Tech・Ed 2005 Yokohama

以下に参加予定。

Microsoft Tech・Ed 2005 Yokohama
日時 2005年8月2日(火)~5日(金)
場所 パシフィコ横浜

INETA Japan の方で以下の参加費用が無料になる招待枠があるそうです。

参加費用: 一般通常参加費用 4日間の場合で ¥125,000円 (7月8日までの早期申込ので4日間の場合 ¥87,000円)

この無料招待を希望される方は、6月13日(月)までにメールください。

2005年06月13日

指導者三倍段

teach.gif
最近、人に何かを教えることが多い。

これが中々難しい。例えば、C++言語の研修で、ポインタの概念がどうしても判らない人にそれを教えたり、クラスが理解できない人にクラスについて教えたり。
自分で使いこなせてるつもりの技術でも他人にそれを教えるのは難しい、ということをつくづく感じる。


ここで、私が私の師匠 (誰) から教わった言葉をひとつ。

自分で使うのに比べて他人に使い方を教えるのは、三倍の理解が必要だ (当社比)。

つまり、自分が使える、という段階より、他人にそれが教えられる、という段階の方が大分知識の習得レベルが高いわけだ。

指導する側には指導される側に対して、段位にして三倍ないと教えられない、ということ。それが『指導者三倍段』だ。
# ちなみに、大山倍達が言っていたのは『剣道三倍段』 (謎)。


参考までに、様々な技術習得の段階についてあげてみる。

■ ソフトウェア技術習得のレベル分類

  • 段階 1 : 無知の段階 ― その技術について聞いたこともない
  • 段階 2 : 気がかりな段階 ― その技術について文献を読んだことがある
  • 段階 3 : 見習いの段階 ― その技術について三日間のセミナーに通った
  • 段階 4 : 実践しようとする段階 ― その技術を実際のプロジェクトに適用しようとしている
  • 段階 5 : 職人の段階 ― その技術を仕事の上で自然に自動的に使っている
  • 段階 6 : 名人の段階 ― その技術を完全に消化していて、いつルールを破るべきかを知っている
  • 段階 7 : エキスパート ― 専門書を著作し、講演し、その技術を拡張する方法を探究する

■ 「守・破・離」

人や本などから何かを学び、ひとり立ちしていくまでに、『守』・『破』・『離』という段階を進んでいくと言われている。

  • 「守」: 最初は教わった型を守り、型の通りにやる
  • 「破」:教わった型通りでなく、自分なりに変化させていく
  • 「離」:最後には型を離れて独自のやり方を作り出し、行う

■ 「識らない」の順位

  • 1 : 無知の欠如 ― 何かについて識っていて、それを使うことが出来る
  • 2 : 知識の欠如 ― 何かについて識らないが、識らないことを識別している
  • 3 : 認識の欠如 ― 何について識らないかを識らない
  • 4 : プロセスの欠如 ― 何について識らないかを識らない、ということをどう解消したら良いかを識らない
  • 5 : メタな無知 ― 「識らない」とはどういうことか識らない

■ ソフトウェア職人の称号

2005年06月14日

娘の誕生を祝って

次女の誕生を祝って、知人がお祝いの会を開いてくれ、花を贈ってくれた。
嬉しかったのでここに記す。

aihana.jpg

2005年06月20日

MD3

MD3 (エムディーキューブ: Microsoft Developers Deep Dive) に参加してきた。

『MD3 (エムディーキューブ)』
マイクロソフト社のエバンジェリストやアーキテクトが技術者を対象に Deep な技術情報を話すクローズド イベント
主催 マイクロソフト社
開催日時 2005/06/16・17 ※一日目終了後にパーティ
開催場所 野村コンファレンスプラザ
参加費 無料

会場は新宿野村ビルの上から三つ目の階。






md3-02.jpg md3-05.jpg

会場の雰囲気は下のような感じ。







md3-03.jpg md3-04.jpg md3-06.jpg

流石に深い内容のセッションが多かった。
これを聴けただけでも来た甲斐があった、と思えるセッションも一つあった。
また、Tech・Ed などでは聴けないようなセッションもあって楽しめた。

一日目終了後のパーティでは、福井さん、萩原さん、一色さん、市川さんや、他にも多くの方たちと色々な話をさせて頂いた。
二次会では、小井土さん、福井さん、市川さん、小野さん、森屋さんと。
そして、三次会では、小井戸さんと MD3 のスピーカーの MS のエバンジェリストの方たちと。

なんとも感動的なメンバーだ。
こういう素晴らしい方たちとお酒を飲みながら、技術の話を延々と、というのは、技術者として本当に幸せを感じるひと時である。
本当になんて楽しそうに技術について語る人たちなんだろう!

md3-07.jpg

二日目終了後、小井土さんがジャグリングのリング (!) を持っていらしてたので、トイレ脇の目立たないところでちょっと触らせてもらった。
私は偶然 (謎) ジャグリングのボールを持っていたので、小井土さんと福井さんと私とでジャグリングとアジャグラーという言葉を MS のエバンジェリストの方々に少しだけ披露。萩原さんはじめ MS の方々にも結構面白がってもらえたようだ (多分)。

# その後は INETA の方々と河豚会へ。

続きを読む "MD3" »

河豚会

MD3 終了後、INETA の方々と12人で渋谷に河豚を食べに行った。

余りに旨かったのでここに記す。

まったく河豚というのは、なんだってあんなに旨いんだろう。
私の主観では、この世で一番旨いものだ。
# 二番目は半熟卵の黄身で急に安くなる。

河豚は高いので年に一回も食べないが、それも良い。たまーにすごく美味しいものを食べる、というのは自分へのプレゼントに最適だ。

fugu01.jpg

fugu02.jpg fugu03.jpg
fugu04.jpg 動画はこちら (wmv形式、372 KB) ― 切り身が動くので注意 fugu07.jpg
fugu05.jpg fugu06.jpg

皮刺し・てっさ・"泳ぎ"てっちり・なべ皮・唐揚・雑炊+生ビール×2+ひれ酒+つぎ酒×3+α。
ひれ酒旨すぎ。つぎ酒が止まらない。


# 翌日は INETA リーダーズミーティングに参加。

続きを読む "河豚会" »

INETA リーダーズミーティング

6/18 (土) は、INETA リーダーズミーティングに参加。
inetamt.jpg


# これにて三日連続の新宿滞在も終了。

2005年06月23日

新人向けオブジェクト指向の説明

プログラミング初心者向けのオブジェクト指向の説明。

先に C# や Java などで、実際のプログラミングを体験してもらった後で。
図を描いたり、具体例を示しながら。
正確さよりわかりやすさが重要。

  • オブジェクト:
    属性 (値の集まり) と振る舞い (機能の集まり) をひとまとまりとしたプログラム上の単位。
  • オブジェクト指向プログラミング:
    複数のオブジェクトが互いにメッセージを投げ (機能を呼び合い)、協調動作することで、システムが機能するようにプログラムすること。
  • クラス:
    共通の特徴 (属性と振る舞い) を持ったオブジェクトの集合。多くのオブジェクト指向プログラミング言語では、便宜上、オブジェクト単位ではなくクラス単位でプログラムを記述する。

2005年06月27日

「カプセル化」の解説

capsule.gif
新人向けオブジェクト指向の説明の続き。

今日目にした IT Pro の『矢沢流 これで納得! オブジェクト指向入門』 第2回(下) という記事の中に気になる記述があった。

「カプセル化」に関して、クラスのメンバーの中のクラスを使う人に見せる必要のないものを隠すことであり、Java では private を使うのがその方法である、のように解説してあった。

うーん。それって「カプセル化」というより、「情報隠蔽」の解説ではなかろうか。

私の認識だと:


  • カプセル化 (encapsulation):

    構造と振る舞いをグループ化して1つの抽象物を定義し,異なる抽象物と互いに別物として分離すること.

  • 情報隠蔽 (information hiding):

    細かい構造を外部から隠蔽し,外部からは公開された手続きでしか操作ができないようにすることで部分の独立性を高めること.

「カプセル化」と「情報隠蔽」は、概念としては別物だと思う。
「情報隠蔽」は「カプセル化」のときにその分離の手段の一つとして使われることが多い、ってだけではなかろうか。

Java で言えば、「情報隠蔽」の一手段として用意されているものが、private などのアクセスコントロールで、「カプセル化」の一手段として用意されているものは、class だろう。
Java の class は、まさに「構造と振る舞いをグループ化して1つの抽象物を定義し,異なる抽象物と互いに別物として分離する」手段を提供するものであり、また、その中に分離の一手段としての「情報隠蔽」の仕組みも内蔵している。


矢沢氏の解説は、勿論初学者向けのぶっちゃけた解説であり、正確に伝えることより判りやすく伝えることが重要な場面、いうことは理解できるのだが、どうなんだろう。
私なら寧ろ、「『カプセル化』とは、ぶっちゃけ class のことです」のように説明するかも知れない。

初学者向け「プログラミングの心得」

プログラミングの入門時には、取り敢えず以下を守ってもらうことにしている。
※ 言語は一応 C++

或る程度プログラミングになれるまでの間は、無茶なコードを書きがちなので。

「プログラミングの心得」


  • 一、同じものには同じ名前をつけるべし。
    • ネーミング重要。統一感を大切に。

  • 一、同じコードは三回以上書かないこと。

  • 一、関数の長さは、平均で10行以内 (最大でも20行を越えない)。

  • 一、グローバル変数は禁止。

  • 一、メンバー変数は private。

  • 一、what → how の順番で書く。
    • 何をするのか → どうやってするのか、の順。

    • インタフェイス → 実装、の順。

  • 一、コメントで安易に説明しない。コードに説明させる。

  • 一、マジックナンバーの禁止。

  • 一、コーディング標準に従う。

続きを読む "初学者向け「プログラミングの心得」" »

About 2005年06月

2005年06月にブログ「プログラミング C# - 翔ソフトウェア (Sho's)」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2005年05月です。

次のアーカイブは2005年07月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35