• 【Home Server】 久しぶりの Home Server ネタ!

    ご存じ 一家に一台あるとなかなか素敵なメディア生活がおくれる一品、Windows Home Server。

    しばらくタッチできなかったんですが、週刊アスキーさんのイベントでの展示ブースにも顔をだしてきたので改めて今 何やってるかなぁと追いかけてみることにします。

    ご存じ製品のページ。
    http://www.microsoft.com/japan/windows/products/winfamily/windowshomeserver/default.mspx

    製品担当に聞いたらこんなキャンペーン走っているそうな。画像をクリックするとページへ飛びますです。

    ポイントは、、、

    ● Windows Home Server を購入し Club Microsoft に製品登録いただいた方の中から抽選

    でございます! 結構いい商品並んでますよん。



    こっからは IT 得意な人へ。このブログに来る人はみんな比較的そうか (^_^)v

    ホームサーバーってリモート接続の機能がよくできてるんですよね。

    ファイル共有シナリオ

    結構 SkyDrive とか xx 便とかほかのファイル共有サービスがあると思いますので通常結構そっちを使いますよね。でもHome Server があればとてもプライベートなものでそういうところに上げたくないなぁというようなものを例えば友人と、例えばいつも出先同士だったりする仕事仲間とも簡単にやりとりできます。しかもその容量は基本的に Home Server のディスク次第なのでかなり自由が利きます。最近動画なんかも大きいですよね。

    もちろん動画のサービスに上げてしまえるものならその手もあると思うし、いくら一眼レフが手軽になって写真のファイルサイズが大きくなろうともそんなことを気にせずにネットの共有サービスを使っている人も結構います。でも Home Server を持っていれば、そんなこと気にしないでいいんです。これ結構いいですよ。

    なんでできるかというと、Windows Home Server を使うと xxxx.homeserver.com の URL を Windows Live ID ごとにもう既にとられていないものであれば、無償でゲットできるんです。これが結構手間という意味では大きいかもしれません。

    難関はどこかというと多分 家やオフィス内のルーターの設定でしょうね。でもこの辺は Power Pack (Home Serverにおけるサービスパックと思ってください)が改善していってくれている部分もあるので、そんなに大変じゃないです。

    ぜひお試しあれ! Kinect も大人気ですけど、Windows Home Server もナイスですよ。
    まずはちょっと調べてみることをオススメ!

  • 【IIS7】 インターネット Web サーバーガイドをスライドに要約してみました

    普通のビジネス用途で要るかどうかはわからないのですが、私の本部のアカデミックチームと組んでカリキュラム用の教材サンプルとして面白いかもという話が出まして、物江と二人でまた頑張ってみました。

    好評だったら先の章もやっていこうと思っていますのでぜひフィードバックを!

    そういうわけなので、、、入手方法はこんな感じ。

    ① まずアカデミック ポータルへ
    http://www.microsoft.com/japan/academic/default.mspx

    image

    ②無償教材へ!
    image

    ③申込用紙をダウンロード!
    これを使用して事務局にご連絡ください!
    こんなページになってます。(^_^)v

    http://www.microsoft.com/japan/academic/curriculum/default.mspx

    image

    わかりやすいことを心がけ、すごいはしょったので、もうよく知っている人にはあまり意味が無いです。
    でも初めて系な人には役に立つかも。

    私の立場だとあまり教員の皆様との接点が無いですので、内容の良し悪しなどを事務局を通じてご連絡いただけるととてもうれしいです。

  • 【IIS7】 Active Server Pages のトレースをとりたいと思ったら

    IIS7 には失敗した要求トレースという素晴らしい機能があります。もし ASP を延命させたい、打鍵をしてアプリをテストしていくのに何か記録を残せないのか、動かしている間に何かエラーログを残せないかと思うことになるでしょう。

    そういう時は以下を参照するといいでしょう。

    失敗した要求トレースを使用して Classic ASP エラーをトラブルシューティングする
    http://technet.microsoft.com/ja-jp/library/ee155452.aspx

    また、ちょうどこの階層のところに従来の ASP (本社では Classic ASP と呼んでいます。)に関する記事がい��つかあるので全部目を通しておくことをお勧めしておきます。

    ひとつ前の投稿でアプリケーションプールの設定を変更する前にエラーが出てましたのでそれをもう一回出る環境にしましょう。ちなみに私のこの環境は Windows 7 だけれどもサーバー接続用の IIS マネージャーをインストールしてありますので Windows 7 でいきなり試した人は画面ショットが違うと思います。便利なので入れておくことを薦めますが、ちょっと Tips があって、これは拡張をしてくれるものなので、元々 IIS マネージャーをインストールしておく必要がありますので。

    インターネット インフォメーション サービス (IIS) 7 マネージャー
    http://www.microsoft.com/downloads/details.aspx?FamilyID=32c54c37-7530-4fc0-bd20-177a3e5330b7&displayLang=ja


    1. 失敗した要求トレースを有効にする

    IISマネージャーを開く。面倒な人は inetmgr とスタートの検索で入力して Enter キーで起動できます。

    まずはサイトレベルで有効にする必要があるので Default Web Site を選択している状態で右の操作メニューから 構成 - 失敗した要求トレースをクリックします。

    「有効にする」のチェックを入れます。これで機能自身はオンになります。

    なお、ファイル数が多くなるとディスクを圧迫するので少なく既定値はしてありますが、リクエストが非常に多い状態では循環してしまい、欲しいエラーが記録に残らないかもしれないのでそこは適宜 数を設定してください。

    2. トレースを取得する条件を設定する

    これはアプリケーションレベルで設定できますので App1 とかを選びます。

    失敗した要求トレースの規則 というアイコンを探して実行します。

    右の操作メニューから 追加 を実行します。
    ここでは既定の値のままいきましょう。

    image

    トレースするエラーは HTTP エラー 全部という意味の 200-999 と設定しておきましょうか。

    最後に ASP のプロバイダーだけにしておくことにしましょう。

    image

    さてと。下記が出る状態でリクエストを何回かしましょう。

    image

    トレースはどこに書かれるかというと、以下のフォルダーです。

    C:\inetpub\logs\FailedReqLogFiles

    でもって、サイト単位でフォルダーがきられます。普通はそのままであれば W3SVC1 になります。

    image

    うーん Desciption 内が URL エンコードされてる。。。

    ちょっと他の便利なサイトをお借りしてと。。。

    http://www.tagindex.com/cgi-lib/encode/url.cgi

    %83v%83%8D%83o%83C%83_%81[%82%AA%8C%A9%82%C2%82%A9%82%E8%82%DC%82%B9%82%F1%81B%90%B3%82%B5%82%AD%83C%83%93%83X%83g%81[%83%8B%82%B3%82%EA%82%C4%82%A2%82%C8%82%A2%89%C2%94\%90%AB%82%AA%82%A0%82%E8%82%DC%82%B7%81B

    プロバイダーが見つかりません。正しくインストールされていない可能性があります。

    だとわかります。

    view trace のリンクをクリックすると IIS 内で行われたイベントが全部列挙されている Request Details のページ内でのエラー発生箇所に飛びます。


    この失敗した要求トレース機能は 管理サービスが無いとダメかもしれません。入れておきましょう。で、Windows 7 だと開始しておく必要があるので サービス で状態を確認しておきましょう。

    基本的にこの失敗した要求トレースは色々なことに使えます。たとえば、実行時間を単に成功リクエスト(200)で見るようなことでも使えます。便利ですよ!

  • 【IIS7】 Active Server Pages を Windows Server 2008 R2 で動かす

    昨日実施したセミナーの一部はこのテーマを取り上げていました。残りはマイクロソフトの Web 技術を包括的に見てみるというものでした。

    さて、じゃあ動かすところの詳細を書いておきましょう。

    ちょっと注意事項。

    ここで記述しているサンプルをそのまま運用で実装することを推奨しているわけではありません。よく現場で見られるからこそ例えば mdb を採用しています。Web サーバーに必要な同時実行性を考えた場合にはやるべきではありません。手軽だからやってしまってきたというのは OK じゃないんです。そういう観点をちゃんと考慮することを前提に、それでもそのままどうしても動かす必要があると思い、敢えてデモしていますのでご注意ください。

    それからデモ用のサンプルなのでエラーハンドリングが云々とかは抜きです。

    1. [準備] Windows DNA アプリケーションを用意する

    なんか素敵なサンプルがあれば良かったのですが、むしろ泥臭いアプリの方が伝わるかなと思ったのでちょー簡単なアプリを用意してみました。

    以下においておきますが、本当にコンセプトを理解することだけにお使いください。
    あまりプログラミングとしては役に立ちませんので。(^_^)
    https://cid-622560ce2c85aea1.office.live.com/browse.aspx/TFSeminar20101112?Bsrc=EMSHOO&Bpub=SN.Notifications

    ASP → MDB のパターンと ASP → VB6コンポーネント → MDB の二つを作りました。

    Pattern 1

    default.asp

    <%@ Language=VBScript %>
    <html>
    <head></head>
    <body bgColor=Yellow>

    <% 
    Dim objCon
    Dim objRs
    Set objCon = Server.CreateObject("ADODB.Connection")
    objCon.Provider = "Microsoft.Jet.OLEDB.4.0"
    objCon.ConnectionString = "C:\sample\app1\test.mdb"
    objCon.Open

    set objRs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select [氏名],[Twitter],[URL] from profile"
    objRS.Open strSQL, objCon, 3
    %>
    件数は <%=objRS.RecordCount%> 件
    <br>
    <br>
    <table border="1">
        <tr>
            <td>氏名</td>
            <td>Twitter</td>
            <td>ブログ</td>
        </tr>

    <%
        Do Until objRS.EOF
    %>
        <tr>
            <td><%=objRS("氏名").value%></td>
            <td><%=objRS("Twitter").value%></td>
            <td><%=objRS("URL").value%></td>
        </tr>
    <%
            objRS.MoveNext

        Loop
    objCon.Close
    Set objCon = Nothing
    %>

    </body>
    </html>

    test.mdb

    Access を使用して作ったものは Visual Studio の再頒布可能な mdb とは本来使用権なども含め、異なるものです。でもここでは現場でよく見てきた方法論で Access でデータを作っています。本当は NG よん。なんでもいいのですが、どういうデータを作ったかも書いておきます。余談ですが、このデータにあるブログとか Twitter アカウントをぜひ活用ください。

    profile テーブル: 氏名、Twitter、URL

    氏名

    Twitter

    URL

    おくぬし ひろし

    hirookun

    http://blogs.technet.com/hirookun

    いのうえ あきら

    chack411

    http://blogs.msdn.com/chack/

    ものえ おさむ

    osamum_MS

    http://blogs.msdn.com/osamum

    たけだ まさき

    masakit_ms

    http://blogs.msdn.com/web_

    しんむら たけし

    tashinmu

    http://blogs.msdn.com/tashinmu

    えーえすぴーどっとねっと

    #aspnetjp

    http://msdn.microsoft.com/ja-jp/asp.net/default.aspx

    うぇぶまとりっくす

    #webmatrixjp

    http://www.microsoft.com/web/webmatrix

    すらうぇぶ

     

    http://www.microsoft.com/web

    Pattern 2


    default.asp

    <%@ Language=VBScript %>
    <html>
    <head></head>
    <body bgColor=Yellow>

    <% 
    Dim objRs
    Dim objTF
    Dim cnt
    set objTF = Server.CreateObject("TFSem02.DataTier")
    cnt = objTF.GetCount
    %>
    件数は <%=cnt%> 件
    <br>
    <br>
    <table border="1">
        <tr>
            <td>氏名</td>
            <td>Twitter</td>
            <td>ブログ</td>
        </tr>
    <%
        dim dName
        dim dTwitter
        dim dURL
        dim rt

        for i = 0 to cnt -1

           rt = objTF.GetData(i+1, dName, dTwitter, dURL)
    %>
        <tr>
            <td><%=dName%></td>
            <td><%=dTwitter%></td>
            <td><%=dURL%></td>
        </tr>
    <%
        Next
    %>

    </body>
    </html>


    DataTier.cls

    Public Function GetCount() As Variant
       
    Dim objCon As ADODB.Connection
    Dim objRs As ADODB.Recordset

    Set objCon = CreateObject("ADODB.Connection")
    objCon.Provider = "Microsoft.Jet.OLEDB.4.0"
    objCon.ConnectionString = "C:\sample\app1\test.mdb"
    objCon.Open

    Set objRs = CreateObject("ADODB.Recordset")
    strSQL = "select [氏名],[Twitter],[URL] from profile"
    objRs.Open strSQL, objCon, 3
    GetCount = objRs.RecordCount

    objCon.Close
    Set objCon = Nothing

    End Function


    Public Function GetData(ByVal cnt As Variant, _
        dName As Variant, dTwitter As Variant, dURL As Variant) As Variant
       
    Dim objCon As ADODB.Connection
    Dim objRs As ADODB.Recordset

    Set objCon = CreateObject("ADODB.Connection")
    objCon.Provider = "Microsoft.Jet.OLEDB.4.0"
    objCon.ConnectionString = "C:\sample\app1\test.mdb"
    objCon.Open

    Set objRs = CreateObject("ADODB.Recordset")
    strSQL = "select [氏名],[Twitter],[URL] from profile"
    objRs.Open strSQL, objCon, 3

    Do Until objRs.AbsolutePosition = cnt
       objRs.MoveNext
    Loop

    dName = objRs.Fields(0).Value
    dTwitter = objRs.Fields(1).Value
    dURL = objRs.Fields(2).Value

    objCon.Close
    Set objCon = Nothing

    End Function


    2. [準備] 従来の環境で動作確認

    XP でもなんでもいいのですが、IIS5 なり、IIS6 の環境でこれを実行します。

    DLL は TFSem02.dll としてビルドしたものをコンポーネントサービスに登録して実行しました。
    セミナー時にはリアル感重視で、敢えて(サポートが終了している)Windows 2000 Professional で実行しました。

    きちんと動作するとこんな画面になります。ちょーシンプル。

    image


    3. さあ Windows Server 2008 R2 へ いざ参る (^_^)v

    App1
    - default.asp
    - test.mdb

    App2
    - default.asp
    - TFSem02.dll
    - test.mdb

    これをフォルダごと Windows Server 2008 R2 のマシンへコピーします。
    このブログを書いている便宜上、Windows 7 上で今はやります。まあ 同じです。IIS7.5 ですし。

    3-1. 事前に確認しておくべきこと

    asp がインストールされていることを確認しないといけません。Windows 7 であれば Windows の機能の有効化または無効化から以下の階層をチェックしましょう。

    インターネット インフォメーション サービス
    - World Wide Web サービス
      - アプリケーション開発機能
       - ASP

    この ASP がインストールされていないといけません。

    3-2. アプリケーションの登録

    あまり今の世代で画面を見ないのですが、コンポーネントサービスはちゃんとあります。ただ、UAC もある関係で当時の開発では普通に DLL をドラッグ&ドロップで登録していたのですが、今はできないのでウィザードをちゃんと動かす必要があります。ページが増えていて、ロールなどの追加設定ができるようになっています。

    アプリケーション:TFSem1112
    コンポーネント:TFSem02.DataTier (TFSem02.dll を登録するとこれが表示される。)

    image

    3-3. Web アプリケーションの登録と設定

    c:\Sample 以下に App1 と App2 をコピーしたとします。

    app1, app2 それぞれを Web アプリケーションとして登録します。

    image

    さてと。動くかなぁ? App1 で動きを見ることにします。COM を介しても同じなのでシンプルな方で説明します。

    App1 を選択している状態で右の操作ウィンドウで 参照 を実行します。 http://localhost/app1/

    じゃん! 動かない。。。

    image

    うん?ブラウザーの設定かな、まず。
    オプション - 詳細設定から HTTP エラーメッセージの簡易表示をオフにしないと。。。
    こういうのが表示されるかな?

    image

    Windows 7 だとエラーページの表示設定がサーバーと違うんですね。
    ここ直しましょうか。エラーページのアイコンをダブルクリックします。構成設定の編集で3つ目のオプションにします。

    image

    さて、ふん!なんかそれらしくなってきた。(^_^)

    image

    ここで IIS マネージャーの ASP アイコンを開いて設定をみてみる。特に見るべきはデバッグプロパティです。

    おお スクリプト エラーメッセージのところに書いてある英語が実際に表示されていますね。ここを日本語にしてもいいんですが、そこはお任せするとして、ポイントは ブラウザーへのエラー送信 を True にすることです。右で適用をクリックするのを忘れないように。

    image

    ADODB.Connection エラー '800a0e7a'

    プロバイダーが見つかりません。正しくインストールされていない可能性があります。

    /app1/Default.asp, 行 12


    あぁ ようやく 見慣れた文字が (^_^)

    さてとダメなのかなぁとあきらめてしまいそうなメッセージが出てきました。ふむふむふむ。
    どこか捻れば動くのかなぁ?

    やっぱ 64 ビットがいかんのかなぁ プロバイダー対応していないのかなぁと思った人は鋭い。。。

    次にやってみるべきことは動作空間であるアプリケーションプールの設定を見てみることです。

    そのまま Default Web Site に配置している場合には DefaultAppPool を使用しているはずです。
    DefaultAppPool の詳細設定を見てみましょうね。

    image

    32 ビット アプリケーションの有効化 を True にしてみるか?
    一応プロセスの設定なのでリサイクルを右のウィンドウでかけておきましょう。

    動け!!

    image

    動くんですねぇ !(^^)!



    とまぁかなり長い投稿になっていますが、大体気にすべき要素は結構ここに盛り込まれている気がします。もうひとつ、ブログではもっとデバッグの要素を掘っておきましょうか。次の投稿でそこは書きましょう。

    注意書き

    この投稿だけ検索エンジンから来てご覧になった方はセミナーの全内容をご覧になっていないと思うので注意書きを。

    セミナーではあくまでも延命措置として ASP の稼動は説明しました。できる限り Windows Azure へのステップになるので、ASP+COM は ASP.NET へ、MDB は SQL Server エンジン(Web エディション以上、あるいは無償の Express)を推奨、ファイルベースがいい場合には SQL Server Compact (これも無償)を推奨しています。

    ということで Enjoy!

  • 【TFセミナー】 本日お越しいただいた皆様、ありがとうございました

    なんか微妙にカミカミ感があったトークで失礼しました。

    内容に関しては今後ブラッシュアップして ASP の互換対応についてまとめようと思っていますが、とりいそぎ今日の内容で記述している URL 関連を全部この投稿で整理しておきます。

    なお、今回のセミナーで私の一番伝えたかったキーワード、それは「最強のエンジニア」です。これは最後に書きます。

    先に NG 集行きましょう。気付いてたかなみんな?

    NGWS
    2000 年に現 CEO の Steve Ballmer が CEO に就任し、 NGWS という構想を出していきました結局これが .NET 構想に繋がっていったのですが、、、私は最近 W の略語はいつも Web なもので、Next Generation Web Services と言いました。きっと。正しくは Next Generation Windows Services です。訂正させていただきます。



    参照情報

    アプリケーションサーバーの利用意向
    http://www.microsoft.com/net/CaseStudies/MissionCriticalApps/Default.aspx

    image

    画面右にあるここのリンクからダウンロードしてください。
    この情報がいつまで掲載されているかわからないので欲しい人は早めにダウンロードください。
    セミナーでご紹介した .NET の伸びのグラフは p20, 21, 82 あたりにあります。

    資料中の参考 URL

    •IIS 7.0 および IIS 7.5 上で Classic ASP アプリケーションを実行する
    http://technet.microsoft.com/ja-jp/library/ee155445.aspx
    ここはメニューになっていて、この配下にいくつかの記事があります。

    •IIS 開発部門トップ Bill Staples のブログ
    http://blogs.iis.net/bills/archive/tags/ASP/default.aspx
    Bill 親分は新しいものが出る時にまっさきに色々なことを書いてくれます。
    Access を IIS7.x から使う注意点な話も Bill が一番最初に書いていました。

    •Classic ASP Forum(英語)
    http://forums.iis.net/1044.aspx
    どうしても他で解がないとき、ここで全世界の問合せが行われています。
    英語がつらいかもしれないけど、有償のサポートを使う方法論以外ではここが最有力な情報源。

    口頭で言った話として、日本語で質問したい時は TechNet のフォーラムを使うといいという話がありました。

    ・TechNet IIS 7.x フォーラム
    http://social.technet.microsoft.com/Forums/ja-JP/iis7ja/threads

    便利なガイドライン類

    インターネット Web サーバー構築ガイドライン
    http://technet.microsoft.com/ja-jp/iis/ff625168.aspx

    Microsoft Web 開発ガイドライン ~ ASP.NET プログラミング エッセンシャル ~
    http://msdn.microsoft.com/ja-jp/asp.net/ff602016.aspx

    出たてほやほやの ASP.NET 4 入門書籍 超オススメ!

    プログラムを作ろう! ASP.NET 4 入門
    http://www.wings.msn.to/index.php/-/A-03/978-4-82229-425-0/

    WINGSプロジェクト 広瀬嘉久/著 山田祥寛/監修
    日経BP社/発行
    定価 1,995円(税込)
    B5変版・ 272ページ・ 1色 DVD-ROM1枚
    ISBN 978-4-82229-425-0
    発刊日: 2010年11月11日

    Spark 3 兄弟

    条件が合えばとにかくすぐに MS 製品をいくつか使える!

    WebsiteSpark(Web 制作を行っている会社様向け)
    http://www.microsoft.com/japan/web/websitespark/

    BizSpark(起業ほやほや、これから起業しようとしている方向け)
    http://www.microsoft.com/japan/mscorp/mic/bizspark/default.mspx

    DreamSpark(学生の方向け)
    http://www.microsoft.com/japan/academic/DreamSpark/default.mspx

    ”Razor" って?

    •Introducing “Razor” – a new view engine for ASP.NET
    http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

    WCF や WF を使ったアプリケーションのいい Step-By-Step 教材

    IT Pro道場 ~ アプリケーションの開発
    http://technet.microsoft.com/ja-jp/events/dd696115.aspx

    WCF、WF、Windows Server AppFabric の深い世界に魅入られた方はぜひ松崎のブログへ!
    http://blogs.msdn.com/tsmatsuz

    DAO、ADO、OLEDB ・・・ どう考えればいいの? データアクセス。

    もう MS を卒業しましたが、元エバンジェリストの小高がまとめた素晴らしい文書が下記に。

    データ アクセス テクノロジ概要
    http://msdn.microsoft.com/ja-jp/data/dd919164.aspx

    データベースは 赤いものでもイルカでもなくやっぱり MS SQL でしょう。

    特に 無償の Edition の存在をあえて説きました。Express と Compact。下記はスペック比較表。
    http://www.microsoft.com/sqlserver/2008/en/us/editions.aspx

    WebMatrix ! WebMatrix ! WebMatrix ! うぇぶまとりっくす!
    それでも .NET は敷居が高いと思う人やこれから始める人に!

    実際には英語のチュートリアルは http://asp.net に今あるのですが、日本語での最新情報という意味では下記へ。
    http://www.microsoft.com/web/webmatrix


    マイクロソフトの Web 関係の技術情報はここへとにかく来てください。

    /web サイト。ここから必要なところに誘導します。
    http://www.microsoft.com/web


    マイクロソフトの Web サイトの歩き方原則

    大きく分けて三つの系統がある。製品ページ系、開発者向け、インフラ技術情報。
    それぞれ microsoft.com/japan 配下、MSDN、TechNet になる。

    MSDN は大きく2つあると思うといい。
    デベロッパーセンターは日本でかなり手を入れているポータル。
    ASP.NET の情報であれば、ASP.NET デベロッパーセンターを追いたい。

    ASP.NET デベロッパーセンター
    http://msdn.microsoft.com/ja-jp/asp.net

    TechNet も同じ。でもポータルの名前はテックセンター。
    IIS であれば IIS TechCenter を追うといい。

    IIS TechCenter
    http://technet.microsoft.com/ja-jp/iis/default.aspx#tab=1



    直近のオススメ のイベント

    The Microsoft Conference Japan Tour 2010 ~ 東京+ 6 都市で開催 ~
    http://www.microsoft.com/japan/cloud/msc2010/tokyo.mspx

    •開催日:2010 年 11 月 25 日 ~ 26 日
    •開催場所:
    ザ・プリンスパークタワー東京
    •参加費:無償

    Windows Azure 無償セミナー & ハンズオン トレーニング
    http://www.microsoft.com/japan/windowsazure/events/hol/
    ※��こに書いてある詳細をよくお読みください。

    コース

    形式

    Windows Azure
    概要と開発手法

    セミナー

    Windows Azure アプリケーション開発体験
    ~ Windows Azure 入門編 ~

    ハンズオン
    トレーニング

    Windows Azure アプリケーション開発体験
    ~ SQL Azure 編 ~

    ハンズオン
    トレーニング

    Windows Azure アプリケーション開発体験
    ~ Windows Azure 管理・監視編 ~

    ハンズオン
    トレーニング

    開発者のための
    Windows Azure 実践編

    ハンズオン
    トレーニング


    「最強のエンジニア」

    ここ 10年間 ずっとマイクロソフトの技術を「中の人」として見てきた身として、出張の機会などで諸外国のエンジニアの状況を見てきた中で、そして一人の日本人エンジニアとして今の景気とエンジニアがどうあるべきかをすごく考えることが多くなっています。講義よりももっと詳しく書きます。

    IT に携わっている人には色々な人がいます。そういう中でも一際やはり輝いている人たちとそうでない人たちの一番の違いは「新しい技術に貪欲」であること、それからそういう人はどんな状況でも「あきらめない」のだと言うことです。もう一つ言うと、日本のエンジニアの皆さんはもっとハングリーになるべきだと思います。米国、ヨーロッパ、中国、インドを代表とした色々な人に会ってきましたが、全員そうだというわけじゃないと思いますけど総じてやはり貪欲な人が多いですよ。比べるとやはり日本のエンジニアは大人しい人が大半です。みんな日々頑張ってるのは間違いないことではあるのだけれど、今の景気を見ているともっと先を見て欲しい、その先にあるものを次々と手にした時に、「会社が」ではなく「自分が」、あるいは周囲にいる同じようなマインドの人との相互干渉でどんどん色々なことが進む、仕事もどんどんやってくるようになると信じています。そういう技術とビジネスの成功例をいっぱい見ています。特に今回 Active Server Pages の話をしたわけですが、ここの話はかなり一般論で思っていることです。別に Web の技術だけに限ったことではないです。

    もう一つ、今 私の中で結論が出ているのが、今までは 「A社のxxxというテクノロジーができる」ということで差別化できていることが結構あったのですが、ここまで景気の状況が来るとエンジニアとしての差別化はもっと違う次元にきています。A社のxxxも B社のyyyもできる、そんな なんでもできる人が重宝されます、差別化できます。なので技術の潮流とその幅と適用を考えられるようになることが大事です。例えばクラウドの色々な意見を引っ張っている人たちを眺めてみましょう。あてはまっている人が多くないですか?

    Web の発展によって情報は考えられないほど入手しやすくなりました。日々食べていくために既存技術を使わなければいけない、それは現実としてあるのだけれども、最新の技術もどんどん吸収しないと他で努力した人がどんどん前に進んでしまい、自分の価値は相対的にどんどん差別化要因を失います。もっと具体的に言いましょうか。今はもう Java だ、.NET だ、PHP だ、ASP.NET だ とそんな議論をしている場合じゃなくて、どれでもできる身近な専門家にならないと仕事は減る一方だということです。

    システム提案をしている営業にあたっている人は凄く感じていませんか? 最新の技術は費用も高め、案件も多め そんなことになっていませんか?その潮流に乗ったエンジニアが多い IT 企業がやはり伸びているんです。

    クラウドのコンセプトはここで私が書いたことを急速に進展させる影響力をここ数年で持つようになると予測しておきます。各種サービスを活用して半年かける必要のあったシステムを 2 週間でサービスインする、そんなことがどんどん起こります。実際にそういう事例ビデオがどんどん増えています。システムを作るコンセプトは大きくパラダイムシフトしていきます。こうなってしまうと「工数」の考え方は吹き飛びますし、「できあがるものの価値」の方をこそみんな見るようになります。新しい技術をどんどん吸収し、どんどん使いこなす人だけが成功者になれる世界になります。厳しいけれど、そういう時が来たと思います。

    これが私の「最強のエンジニア」になるべきだという考えの根底です。


    ちょっと重いことを書いていますが、より具体的な本題の解説およびセミナーで使用した ASP のちょーシンプルなサンプルは別の投稿で掲載します。
    そしてどういう風に Windows Server 2008 R2 で動かしたかも一緒に書きます。

    ではでは。参加いただいた皆様、本当に遅くまでありがとうございました!