« November 2005 | Main | January 2006 »

December 30, 2005

【C#】 ウィンドウの形を自由にデザインする

今更ですが最近VC#.NETのプログラミングを半分趣味で始めました。昔チャレンジしたVC++6.0と比べると本当にプログラミングが簡単になりました。VC++6.0ではやりたいことを実現するまでに覚えなければならない難解な要素が非常に多かったものですが、VC#.NETでは難解で意味不明な部分の多くがなくなりかなりわかりやすくなりました。一時プログラミング引退を宣言しましたが、これならまたやってみてもいいかも、と思うようになりました。

と、前置きが長くなりましたが、今回はいろいろプログラミングの実験をしているときにいくら検索エンジンをまわしても出てこなかったウィンドウの形を自由にデザインする方法を覚え書き的に記してみたいと思います。ここでは型紙となる画像を用意するとウィンドウがその形になってしまいます。非常に簡単でいいですね!

Keyword: C# ウィンドウ デザイン Form リージョン ビットマップ


private void Form1_Load(object sender, System.EventArgs e)
   // Windowの形を設定するregion定義
   Bitmap bitmap1 = new Bitmap("C:/background.gif") ; // 型紙の画像をロード。BMP/GIF/PNG/TIFFに対応。JPGは駄目らしい。
   bitmap1.MakeTransparent(Color.Blue) ; // 型紙の透明色を設定
   this.Size = bitmap1.Size ;
   this.BackgroundImage = bitmap1 ;
   this.FormBorderStyle = FormBorderStyle.None ; // Formの枠を消す
}

| | Comments (0) | TrackBack (0)

December 28, 2005

【雑談】システム構築・管理系で嫌いな仕事

基本的にシステム系の仕事は大好きなんですが、そんな私にも好き嫌いがありまして、今回は雑談として、その中でも私が嫌いな仕事を述べてみたいと思います。

【嫌いその1:メールサーバ系】
メールサーバ系の仕事は最も嫌いなもののうちの一つです。嫌いな理由はいろいろあるのですが、おそらく一番もっともな理由は、どこまでやれば完璧なのか判断に迷うというところなのかもしれません。

まずメールサーバを構築する際知っておかないといけない知識が多すぎです。「うそ~、簡単だよ」と言う人がいたとしたらその人はシステム管理者に向いてないと思います。WEBサーバ等と違ってメールサーバはわずかな設定ミスが外部に対して大きな悪影響を及ぼします。そのことを考えると他のサーバを立てる以上に慎重さが求められますが、知っておかなければならないことがとても多いので途中で嫌になります。

MTA(SMTPサーバ)の種類が多いのも嫌です。メールサーバは本質的にはMTA間の通信なので、自分がインストールしようとするMTAだけ知っていればいいというものではない気がするからです。

それからスパム系の対策も悩ましいです。誤認識なくスパムを完全にフィルタリングしてくれ、というリクエストが来たら多分発狂すると思います。かつスパムフィルタリングソリューションはなかなか高価なのでいろいろ試せないのもモチベーションを下げます。

最後にメールサーバ入れ替えです。データをどう移行するかとか、移行中に届いたメールをどうするかとか、ちょっと考えただけでも面倒くさい問題が山積みです。

→結論。面倒くさがりな人にメールサーバ構築は向いてなさそうです。


【嫌いその2:DNSサーバ系】
次に嫌いなのはDNSサーバ系です。世の中のDNSサーバを見渡すと大多数の設定が間違っている現状がDNSサーバ構築の難しさを物語っていると思います。

まずDNSサーバ設定以前にJPNIC,JPRS,NIC,もしくは指定事業者等、第三者機関が関わるのが面倒くさいです。いろいろな機関が関わることだけでも面倒くさいのにJPNIC等のルールがよく変わるんですよね。ドメイン取得する度にきちんと調べないといけないわけですが、ほしいドキュメントがどこにあるのかわかりにいという問題もあります。

次にやはりDNSのキャッシュ問題ですね。マニュアル通りTTL値を小さくしても、こちらの想定通り外部の全てのDNSキャッシュが消えてくれるわけではないのがとても気持ち悪いです。

→結論。世の中思いついたときに思い通りにならないのはせっかちな人には向いてないですね。


【嫌いその3:FTPサーバ】
パスワードが平文で流れるFTP、そろそろ利用やめましょうよ~、とも思うのですが、やはり使い勝手がよいのでまだまだニーズがありますね。

まずFTPはセキュリティ部隊からかなり厳しく検閲を受けます。使うのは自分ではないので利用者がセキュリティ部隊とやり取りしてほしいと思いつつもそうはいかない組織の壁。

次にFirewall設定。全開放すると危険なのはわかるのですが、家からアクセスとなると固定IPでない限りどうACLを定義するのか判断がかなり難しいです。

それからユーザ教育。PASVモードが何なのかすらわかってくれないしわかろうともしてくれないので面倒くさいです。UNIX系ならWinSCP等使えるんですけどね。Windowsで動くSSHベースのファイル転送サービスがないかなあ。

→結論。FTPを使いたがる人は概して技術レベルが低い気がします。かといって代替手段があまりないのが辛いです。

| | Comments (8) | TrackBack (1)

December 25, 2005

代表作を持とう

私事で恐縮ですが、私の20代は割と計画通りに物事が達成でき良かったなぁと思っています。で、現在30代をどう過ごそうかなぁと今更ながら(注:現在32才です)考えているのですがなかなか難しいです。そこで今回は無理やりそのテーマを中心に話題を広げてみたいと思います。

【目標を持つことは重要】
まず重要なのは何でもいいので目標を持つことです。資格取得でも読書量年間100冊でも全てのドラクエのクリアでも何でもいいです。まずは目標を持つことです。達成目標がないと無計画に時間が過ぎるのは言うまでもなく、何かを達成したとしても達成感は絶対にないはずです。最近「一冊の手帳で夢は必ずかなう」系の本がたくさん出版されていますが僕もそれは理にかなっていると思います。

【他人から評価される目標であることも重要】
ただどうせ目標を持つのであれば他人から評価される目標であることも重要だと思います。何が他人から評価されるかについては改めてここで述べる必要はないと思われますのでここでは大原則を述べたいと思います。それはどんなことでも時間をかけなければモノにならない。逆に5年や10年継続できればどんなものでもある程度モノにできる、ということです。5年や10年続けられる目標を持てれば必然的に他人から評価される目標になり得ると思います。

【代表作を持とう】
そして究極的に目指したいのは代表作を持つことです。例えば「20代はこういうことをしてきて、こういう代表作ができました」と言えれば他人から見てとてもわかりやすいです。専攻の選択、就職、転職、趣味等、自ら人生を選択すべき時が来たらそういったことを頭の片隅において考えてみてはいかがでしょうか。

| | Comments (0) | TrackBack (1)

December 21, 2005

ポート番号を使っているアプリケーションの特定

どのポート番号が使われているかはnetstat -anで確認することができます。しかし残念ながらWindowsやSolaris等には標準でポート番号を使っているアプリケーションが特定できるようにはなっていません(多分)。そこで今回はポート番号を使っているアプリケーションを特定できるアプリケーションをご紹介します。

【UNIX系OSの場合】
UNIX系OSの場合はlsofを利用します。RedhatやFedoraCoreにはlsofが標準でインストールされているようですね。

ftp://vic.cc.purdue.edu/pub/tools/unix/lsof/


【Windowsの場合】
Windowsの場合はActivePortsが便利です。

ActivePorts

| | Comments (3) | TrackBack (0)

December 19, 2005

技術者交流会エントリー、本日締め切りです。

再掲示します。

第5回技術者交流会を行います。今回は原点に帰って二次会をベルギービール屋さんにしようと思います。
参加希望者はメールでエントリーをお願い致します。

                          記

■日時:12/26(月) 19:45~ (の予定)
■場所:渋谷
■参加費:4000円くらい?

■必要事項
・名前:
・よみがな:
・所属会社名:
・メールアドレス:
・携帯電話番号: (無い人は空欄)
・参加理由(初回参加者のみ。交流会に何を期待するか。):

受付メールアドレス:05dec@sanonosa.net

忘年会シーズンに店を予約する関係上、12/19 (月) 24時に一旦エントリーを締め切ります。その後追加受付も行う予定ですが、大人数になると調整が難しいので、早めのエントリーをお願いします

たくさんの方の参加をお待ちしています。

PS: 技術者交流会となっていますが、技術者でなくても参加OKです。毎回技術的な話しって・・・あまり出てないかも。営業の方もよくいらっしゃいます。

| | Comments (2) | TrackBack (0)

December 16, 2005

bindにACLをかけよう

DNSサーバって、ただなんとなく公開しておくと外部からの攻撃を結構激しく受けます。なのでもし余裕があればサービス用と社内用のDNSサーバを分け、社内用DNSサーバ(正確にはDNSキャッシュサーバ。こちらを参照)にACL(Access Control List)をかけることをお勧めします。

bind8のACLのかけかた例


acl ACLNAME {
    xxx.yyy.zzz.aaa/24;    ←社内ネットワークアドレスを記す
};

options {
    directory "/etc/namedb";
    version "";

    allow-recursion {
        ACLNAME;
    };
};


またこちらを参照し、bindのログなんかも取っておくとよいかもしれません。

| | Comments (0) | TrackBack (0)

December 15, 2005

【雑文】なぜ独創的なソフトウェアが日本から生まれないのか

日韓の狭間で様々なプロジェクトに関わっているので嫌がおうにも日韓比較をしてしまうのですが、韓国は独創的なソフトウェアが竹の子のように次々に生まれます。それに対して日本は独創的には程遠いソフトウェア開発発展途上国と言えそうです。そこで今回はちょっと大きなテーマですが、日本でどうしたら独創的なソフトウェアがたくさん生まれるようになるかを考えてみたいと思います。

【開発力がないということより重要なこと】
まず日本人は総じて他の国と比較して開発力がないように思えます。もちろんSI系の業務支援ソフトウェア程度の開発であればそれなりに実績はあるのですが、「これどうやって作ってるの?」と思わせるようなソフトウェアの開発は日本ではあまり実績がないように思います。ただし実績がないから今後も独創的なソフトウェアが開発されない、という論理展開は正しくないと思います。

私が思うに日本人もそれなりのソフトウェアを作ろうと思えば作れる程の技術習得力はあるように思います。ゲーム業界なんかは世界レベルだと言えます。私は、問題は開発力がないことではなくて、何を作るかを発想する力が日本人には欠けていることが問題だと思っています。作るものが決まってしまえば勤勉で几帳面な民族ですから大抵のものは作れてしまう。そう考えています。


【なぜ斬新な発想が生まれないか】
斬新な発想が生まれない理由は2つあると考えています。1つ目は新しいことがなかなか評価されない環境であるということ。海外ではクールなプロジェクトであると見なされるものであっても日本では形が見えてきて実際の成果が出るまでは見向きもされない。2つ目は井の中の蛙(いのなかのかわず)、すなわち身の回り、日本国内しか見ていないということ。海外に目を向ければいろいろな人が本当に様々なプロジェクトを実践している。例えば日本にインターネットサイトはたくさんありますが、ほとんどが同じようなサービスをやっている。日本しか見ていない人が企画するから日本中似たサイトばかりになるのは当たり前な気がします。


【提案:どうしたら独創的なソフトウェアが生まれるか】
「技術者は面白いテーマさえあれば大抵のものは開発が可能である」。もしその前提が正しいのであれば、私は斬新なアイデアを出せる企画屋さんと技術者が一緒に組むのがよいと考えています。例えばAJAXやP2Pというテクノロジーがあるとする。普通の技術者はそれらの技術を簡単に真似して満足してしまいますが、企画者がAJAXやP2Pを使った斬新なアイデアを技術者に与えてあげたら猛烈に開発してくれることでしょう。そんなコラボレートが最高だと思います。

| | Comments (0) | TrackBack (2)

December 13, 2005

APOPやPOP3sを使おう

POP3は危険です。パスワードやメール本文がインターネット上を平文で流れます。そこで今回はAPOPとPOP3sの利用を推奨してみたいと思います。

【POP3,APOP,POP3sの違いって何?】
簡単に言えば

・POP3・・・パスワードやメール本文がインターネット上を平文で流れます。
・APOP・・・パスワードのやり取りが暗号化されます。しかしメール本文はインターネット上を平文で流れます。
・POP3s・・・パスワードのやり取りもメール本文のやり取りも暗号化されます。POP3の仕組みにSSLの技術を取り入れたもの。(POP over SSL/TLS)


【だったらPOP3sだけでいいのでは?】
そうもいかないんです。APOPやPOP3sに対応したサーバやメーラーを使うことが必須です。

メーラーに関して簡単に調べた結果は以下の通り。


名前POP3(110番ポート)APOP(110番ポート)POP3s(995番ポート)
Outlook Express ×
Outlook ×
Becky ×
Becky2(Ver2.10以降)
Mozilla Thunderbird

| | Comments (1) | TrackBack (0)

December 12, 2005

第5回技術者交流会開催のお知らせ

第5回技術者交流会を行います。今回は原点に帰って二次会をベルギービール屋さんにしようと思います。
参加希望者はメールでエントリーをお願い致します。

                          記

■日時:12/26(月) 19:45~ (の予定)
■場所:渋谷
■参加費:4000円くらい?

■必要事項
・名前:
・よみがな:
・所属会社名:
・メールアドレス:
・携帯電話番号: (無い人は空欄)
・参加理由(初回参加者のみ。交流会に何を期待するか。):

受付メールアドレス:05dec@sanonosa.net

忘年会シーズンに店を予約する関係上、12/19 (月) 24時に一旦エントリーを締め切ります。その後追加受付も行う予定ですが、大人数になると調整が難しいので、早めのエントリーをお願いします

たくさんの方の参加をお待ちしています。

PS: 技術者交流会となっていますが、技術者でなくても参加OKです。毎回技術的な話しって・・・あまり出てないかも。営業の方もよくいらっしゃいます。

| | Comments (1) | TrackBack (0)

December 09, 2005

意思決定を仰がない

意思決定を仰ぐというプロセスは全然楽しくないものです。そんなわけで、今回は意思決定を仰がない、というテーマで記してみたいと思います。

【技術1: 報告をした上で既成事実を作る】
自分の考えていることは絶対に正しい。だけど上司だったり周りの人だったり経営陣だったりが全然理解してくれない。そう感じる機会は多いと思います。いくら意思決定を仰いでも保留にされてしまうと頭にくるものです。そんなときは強気に出るのがよいと思います。例を出しましょう。

■×悪い例
「○○の件ですが、○○を○○にすると作業効率が上がりとてもやりやすいです。お忙しいところ大変恐縮なんですが許可をいただけないでしょうか。」

■○良い例
「○○の件ですが、○○を○○にすると作業効率が上がると思います。実行してしまいますが、問題ないですよね?」

意思決定を仰ぐと時間がかかったり、些細なことであればそのままなくなってしまったりします。絶対に正しいことであるならば軽く報告だけしてしまってあとは既成事実を作るのが早いと思います。


【技術2: 力関係を上にする】
普通は上司に報告、となるわけですが、もし自身がonly oneの存在だったりそのプロジェクトについては自分しかわからないという状態なのだとしたら強気に出るべきだと思います。この場合決めては言葉の選び方でしょう。

■×悪い例
「○○の件ですが、大変申し訳ありません。2日遅れてしまいそうです。理由は言い訳がましくなってしまうんですが、別件○○が入ったためになります。どうしたらよいでしょう。。。」

■○良い例
「○○の件ですが、別件○○が入りましたので2日遅れます。大きな問題になりそうであれば再調整しますがそうでなければこのまま進めます。」

前者は恐縮系、後者は強気系ですね。弱気な人はどうしても前者のような書き方をしてしまうのですが、別に後者であっても筋が通っていれば全然問題にならないはずです。

| | Comments (0) | TrackBack (0)

December 05, 2005

自分の意見は部下・上司に言ってもらおう

この世の中、自分の意見を堂々を言える人は非常に少ないです。企業に於いては自分の意見を言える人は優秀な人と見なされ非常に重宝されます。しかし残念ながら日本において自分の意見を言う人は概して周りから煙たがられます。そこで今回は自分の意見を周りから煙たがられずうまく主張する方法を記してみます。

【何故自分の意見を言うと周りから煙たがれるのか】
組織というのは概して保守的であると考えるのが自然だと思います。自分の意見というのは組織変革の提案につながるものが多く、これが結果的に周りの多くの人達の仕事として跳ね返ってくるわけで、「おいおい、余計なことを提案するなよ」ということになるわけです。いくら素晴らしいことを提案したとしても結果としてそれが組織内で敵ができるというのではなんとも損なので、なんとかしたいと思うわけです。

【同じ意見も第三者が言うと丸く収まる】
そんなときは自分の考えを第三者に言ってもらうとよいです。第三者と言っても誰でもいいわけではありません。その場面場面で一番効果を発揮してくれる人が理想です。それは場面によっては上司の場合もありますし、部下の場合もあります。

【どうやって第三者に言ってもらうのか】
とはいえ、第三者に言ってもらうのはなかなかやっかいだと感じる方も多いかもしれません。しかし実際はそんなことありません。自分の意見が本当に正しいのであれば、第三者の方はきちんと聞いて理解してくれるはずです。かつその意見を自分ではなく第三者の方が発言するほうが組織内で効果的だということまで理解してもらうことです。

【まとめ】
自分の力を過信して組織内を暴れまくるのはあまり得策ではありません。組織を使いこなすという発想で周りの人をうまく活用すると仕事の幅、実力の幅が広がると思います。

| | Comments (0) | TrackBack (0)

December 03, 2005

SEの世界にはネガティブなエピソードしかないのか?

mixiなどのコミュニティサイトでSEにまつわるエピソードを見ると実にネガティブなものばかり。残業の多さを嘆いたり、デスマーチは明確なのに逃れる術がないことを憂いたり、35才定年説を恐れたり等々。

そこで他の業界はどうかなぁと思っていろいろ見てまわって気づいた法則がありますのでご紹介。

【BtoCとBtoBではBtoBのほうがネガティブ】
直接個人を相手にするような業種(BtoC)と、企業を相手にするような業種(BtoB)だと、BtoBのほうが概してネガティブなようです。これは、BtoC業界に身を置くことを志向した人自体が人間やその職種が好きというポジティブな要素が強いからではないかと思っております。それに対してBtoB業界に身を置くことを志向した人は、人間関係に煩わされたくない、自分の好きな仕事だけやりたい、とにかく大きな仕事をしたい等、自身の考えかたが抽象的かつ関心が限定的で、実際仕事をしてみると「こんなはずではなかった」と思うからではないかと思っております。それに加えてBtoB業界は、下流に行けば行くほど業者体質というか、上から無理難題を押し付けられるという構造的な問題もありネガティブ感にますます拍車がかかります。

【不安定な業界はネガティブ】
安定している企業では総じてポジティブでもネガティブでもない、ある種無感想な傾向が見られました。それに対して不安定な業界ではまれにベンチャー精神旺盛でハイリスク・ハイリターンなのでいいのだ、というポジティブ志向な方も見られますが、概してネガティブ思考な方が多いようです。

【給料が高い業界は総じてポジティブ】
同じハードワークでも、高給な業界では総じてポジティブ思考な傾向が見受けられました。「これだけもらっているんだから理不尽なことがあっても仕方ないか」的な。

【まとめ】
特定の業種に身を置き続けるというのは人生の中でリスクが高いのかもしれません。どの業界にも身を置けるようなある種汎用的なスキルを身につけるのがよいかもしれません。SEの場合ある種救われるのはいろいろな業界に首を突っ込めるということではないでしょうか。いろいろな業界知識を習得するなりERP構築等で等間接部門系業務知識を習得しておくと、いざとなったときに他の業界に飛べこめるのでいいかもしれません。ただ、知識以前にコンピュータよりも人間が好きでないと辛いのかもしれません。まずは人間好きになり、その上で各種知識を習得しましょうということでしょうか。

※注意:無論例外もたくさんあると思います。コメントいただくとしたら、そういった例外を指摘していただくよりも、これ以外の新しい法則を考えていただいたほうが双方にとって楽しいと思います。粗探し的な突っ込みはご勘弁ください。

| | Comments (0) | TrackBack (0)

December 01, 2005

プロジェクト運営をする際に何をベースにして考えるのか

プロジェクト運営をする際に何をベースにして考えるのか。


  • ストーリーカード
  • バーンダウンチャート
  • ユニットテスト
  • ペルソナ定義
  • プロセス思考図
  • スケッチUML
  • マインドマップ
  • アイデアマラソン
  • 40時間勤務
  • 継続できるスタイル
  • パターンランゲージ
  • ピープルウェア
  • 舵取りレベルの組織
  • フィードバック
  • ピーターの法則

これらが道具箱の整理というページで紹介されています。(今日もリンクですみません)

ちなみにそのサイトの管理人さん、コミュニティサイト構築プロジェクトのメンバーでもあります。

| | Comments (0) | TrackBack (0)

« November 2005 | Main | January 2006 »