Successfully reported this slideshow.
Your SlideShare is downloading. ×

2006-04-22 CLR/H #14 .NET and open source

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Project Jigsaw #kanjava
Project Jigsaw #kanjava
Loading in …3
×

Check these out next

1 of 31 Ad

2006-04-22 CLR/H #14 .NET and open source

Download to read offline

2006.04.22第14回 CLR/H 勉強会
「.NETとオープンソース ~真髄は我流。型はありません(w(中村良幸 (a.k.a. なかよし))
会場:ICC( Intercross Creative Center ) Cafe+

2006.04.22第14回 CLR/H 勉強会
「.NETとオープンソース ~真髄は我流。型はありません(w(中村良幸 (a.k.a. なかよし))
会場:ICC( Intercross Creative Center ) Cafe+

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to 2006-04-22 CLR/H #14 .NET and open source (20)

Advertisement

Recently uploaded (20)

2006-04-22 CLR/H #14 .NET and open source

  1. 1. .NET とオープンソース 真髄は我流。型はありません (w 中村良幸 ( a.k.a. なかよし)
  2. 2. 今日の概要 • 私の自己紹介 • オープンソースソフトウェアとは? • 最近の Microsoft 関連ソフトウェア事情 • 全てがタダの高度な開発環境 - NAgile • Linux や Mac OS でも 動く .NET 環境 - Mono • Microsoft でもオープンソース - IronPython • 事例紹介 「実務で使い倒す .NET 2.0 」 • これからの展望、その他
  3. 3. 私は何者か? • …私は 「ただのサラリーマン」です。 (w • 昔はずっと Unix (or Linux) を使ってました 。 • …以前、やっていたことを紹介すると – 津波シミュレーション等の数値計算 – 津波アニメーション等の三次元グラフィック ス – お役所向けの大量の報告書作成 • …今は 「 IT 何でも屋」です。
  4. 4. Windows の思い出 • …昔の話で恐縮ですが – 4GL の統合 CASE ツール開発プロジェクトで 、 IL( 中間言語 ) のデバッガーを作っていまし た。 – カバレージ機能部分を担当していたのですが … – Windows95 は、一日に 10 回以上落ちました 。 – NT は安定していると聞いて、 WindowsNT4.0 (SP1?) にしましたが、それでも良く落ちまし た。
  5. 5. 私が .NET に興味を持ったのは … • arton さんの本 (Ruby を 256 倍楽しむ本邪 道編 ) で、初めて .NET というものを知り ました。 • アンダース・ヘルスバーグ (Anders Hejlsberg) 氏がチーフアーキテクトである と知りました。 – Turbo Pascal, Delphi (Borland 時代 ) – Visual J++, WFC (= Windows Foundation Class) (Microsoft に移籍後 ) • Java を研究し尽くした Microsoft が出して きた仮想マシンに、非常に興味を持ちま
  6. 6. オープンソースの概念と発祥元 • オープンソースとは? – ソフトウェアの著作者の権利を守りながらソースコ ードを公開することを可能にするライセンスを指し 示す概念です。 • オープンソースに関する本 “ Open Sources: Voices from the Open Source Revolution” によれば … – 1998 年 2 月 3 日に、エリック・レイモンド、ティム オライリー、 VA  リナックス社の社長ラリー・オー ガスティンらがカリフォルニアに集まったそうです 。 – その議論の中で、マーケット向けのプロモーション
  7. 7. オープンソースソフトウェアの 要件 • Open Source Initiative (OSI) による定義である “ The Open Source Definition(OSD)” による「オープンソース・ライセンス」の要件 とは 1. 自由な再頒布ができること 2. ソースコードを入手できること 3. 派生物が存在でき、派生物に同じライセンスを適用できること 4. 差分情報の配布を認める場合には、同一性の保持を要求してもかまわ ない 5. 個人やグループを差別しないこと 6. 適用領域に基づいた差別をしないこと 7. 再配布において追加ライセンスを必要としないこと 8. 特定製品に依存しないこと 9. 同じ媒体で配布される他のソフトウェアを制限しないこと 10. 技術的な中立を保っていること – http://www.opensource.jp/osd/osd-japanese.html
  8. 8. オープンソースにも種類がありま す • 一言でオープンソースライセンスといっても、 …実は色々ありまして – GPL - GNU General Public License – LGPL – BSD ライセンス – Apache Software License – X11(MIT) ライセンス – 他にも、 CPL 、 MPL 、 NPL 等まだまだたくさんあ りますが、たくさんありすぎて、混乱を招く恐れも …ありまして • マイクロソフトは、そこを狙っているのかも? (w
  9. 9. Microsoft もオープンソース? • マイクロソフトの Linux 研究所、活動内容を 公開へ - Port25 – 目的はフィードバックを得ること – http://japan.zdnet.com/news/os/story/0,2000056192,20100 437,00.htm • マイクロソフト、オープンソースのスクリプ ティング言語をサポート - IronPython – これは、まさしく画期的なことではないでしょう か? – http://japan.cnet.com/news/ent/story/0,2000056022,2009 3901,00.htm
  10. 10. 最近の Microsoft 関連ソフトウェア 事情 • 基本的開発環境に関しては、完全無償化 へ – Visual Studio 2005 Express Edition も無償に。 • http://www.itmedia.co.jp/enterprise/articles/0604/20/news013 – SQL Server 2005 Express with Advanced Services という製品も無償に。 • 簡易版管理ツールである「 SQL Server Management Studio Express 」 (SSMSE) も付いてきます! • レポート・サービスや、フルテキスト・カタログ …サポートも無償版で利用可能に 素晴らしい!
  11. 11. …では、より高級な開発環境は ? • Visual Studio 2005 Express Edition は、無償提供だ …けあって、それなりに機能制限が – テストツールが全くついてこない • 単体テスト、カバレッジ、ロードテスト、 etc. – コード分析ツールもついてこない – クラスデザイナのような高度なツールはない – チーム開発をサポートするような機能はない • それら全部を使うには、 VS 2005 Team Suite が 必要で、それにはなんと 100 万円以上の投資が …必要に – …そりゃ普通の個人には、無理です (w
  12. 12. NAgile で行こう! • .NET Framework で動作する様々なオープ ンソースのソフトウェアツールが存在し ます – それらのツールは、元々 Java 言語上で開発さ れたものが多いです – 名前の頭には、たいてい「 .NET の頭文字で ある「 N 」がついています – Agile ソフトウェア開発に不可欠なツール類を 総称して、「 NAgile 」と呼ぶらしいです
  13. 13. NAgile ツール一覧(他にもありま す) 種別 Java .NET 単体テスト JUnit NUnit カバレッジ JCover NCover 自動ビルド Ant Nant テスト駆動開発 TestDriven .NET 継続的インテグレーショ ン Cruise Control Cruise Control for .NET 受け入れテスト Fit Fit コード分析 JCSC FxCop ドキュメント生成 JavaDoc NDoc ログ出力 Log4J Log4net
  14. 14. 例) API ドキュメント自動作成 • NDoc を利用した、 API ドキュメントの自 動作成 – コメントは、 XML タグで付けてますか? – 最後に一括して付けるという手もありますけ …ど – .NET 2.0 …対応版は遅れていましたが • 最近、日本語が通るパッチが出現しました。 (4/8) – 実際に、ドキュメントを作成してみましょ う! • 某 ASP.NET 2.0 ウェブ・アプリケーションを例に して
  15. 15. …休憩時間(1)といいつつ (謎 • Secure By Default (ビル・ゲイツのお言 葉) – Windows のセキュリティは、確かに以前にく …らべれば、向上しているとは思いますが – ですが、本当に大丈夫なんでしょうか?(w • BGM は「 Epitaph 」 (墓碑銘) – Including • Death March For No Reason (理由なき死の行進) • Tomorrow And Tomorrow ( 納期は明日また明日)
  16. 16. 「 Epitaph 」 - King Crimson The wall on which the prophets wrote Is cracking at the seams. Upon the instruments of death The sunlight brightly gleams. When every man is torn apart With nightmares and with dreams, Will no one lay the laurel Wreath As silence drowns the screams. Between the iron gates of fate, The seeds of time were sown. …
  17. 17. 開発系の次は、運用系のコスト へ • WindowsServer のライセンスについて – 通常、ユーザ数に応じた CAL が必要になりま す – インターネットで不特定のユーザが利用する 場合 • 認証が不要なら、本体ライセンスのみで OK です …が • External Connector License が必要になる事もありま す • それらのライセンス料は、決して安くありません • では、他の解決策はないのか!?
  18. 18. Mono とは? • 「 Mono 」とは? – オープンソース版の .NET 実装の一種です。 – クロスプラットフォームで動く ECMA CLI で す。 (Common Language Infrastructure) – どちらかというと .NET Framework on Linux として注目されています – Unix/GNOME 用アプリケーションの開発が簡 …単になると言われていますが – スペイン語で「サル」の意味だそうです
  19. 19. Mono の互換性 • 本家 .NET …との互換性は ? – 現在、 1.2β の段階であり、 Microsoft .NET 2.0 のかなりの機能を実装済みですだそうです。 – 当然、実装されていない機能やライブラリも あるため、 100% 完全に互換という訳ではあ りません。 – 今はまだ使えないかもしれませんが、近い将 …来のことを考えると、わかりませんから – エンジニアなら、自分で評価して試してみよ う!
  20. 20. 本当に Mono で動くのでしょう か? • Windows アプリケーションは? – Window Forms はある程度いけるようです。 – 実際に動かしてみましょう! • Web アプリケーションは? – ASP.NET も、かなりいけるそうです。 – 実際に動かしてみましょう! • ActiveDirectory …なんかは ? – …やってみないとわかりませんね (w
  21. 21. 鋼鉄の蛇 ( IronPython ) • IronPython とは? – オブジェクト指向スクリプト言語である、 Python の .NET Framework 上の一実装です • なぜ .NET 上の Python を作ったか? – 「何故 .NET は動的言語として駄目なプラットホー ムなのか?」という短い論文を書くことを決心した が、不幸にも Python を .NET でうまく動かす方法を …見つけてしまい – IronPython 0.2 を 1 週間で作って、 Python Conference 2004 で発表するために pystones でベンチマークを … …やったところ 「は、速い!」 (w – そこで、開発の継続を決定したそうです。
  22. 22. IronPython を作ったのはどんな人? • Java 版の Python 実装である JPython の作 者、 Jim Hugunin という方が作りました。 • C 言語版オリジナル Python ( CPytnon ) を作ったのは、 Guido van Rossum という …方ですが – 今では、あの Google で仕事をしています。 • IronPython を作った、 Jim Hugunin さんは … – 今では、なんと「 Microsoft 」で仕事をしてい ます。
  23. 23. 動的スクリプト言語の特徴 • 動的スクリプト言語って? – .NET 上の言語なのに、コンパイルする必要が ありません。 – スクリプト言語でありながら .NET Framework の特徴を活かして、高速に実行可 能です。 – オブジェクトには当然のことながら型があり ますが、変数には「型がありません」 – 場合により、有利な点も不利な点もあります が、大きな特徴もあります。
  24. 24. IronPython で何ができるのか? • IronPython で何ができるのか? – デモビデオが公開されています。 • http://msdn.microsoft.com/msdntv/episode.aspx? xml=episodes/en/20051110PythonJH/manifest.xml • IronPython の作者本人( Jim Hugunin )が、 20 分 間で、実に楽しそうに説明してくれます。 – 実際に、動かしてみましょう! • 私も、実際に動かしてデモしてみます。 • 人生出たとこ勝負、バータリー指向でやります。 • …テーマは 「 I TALK TO THE WINDOW 」
  25. 25. 最後におまけ • いわゆる「年度末案件」で – 昨年暮れから3月にかけて、某政令指定都市 で使う .NET ベースのアプリケーションを作 りました。 – イントラネット向けのウェブ・アプリケーシ ョンです。 – ○○ マネジメントシステムという名前の、一種 の文書管理システムです。 – …悲しき下請けゆえ、名前は出せません (w
  26. 26. 「実務で使い倒す .NET 2.0 」 • …技術的なところでは – ASP .NET 2.0 & ADO .NET 2.0 を使いました。 – Visual Studio 2005 Team Suite (評価版)で開発しまし た。 – ソースコードは C# で書いています。 – 型付 DataSet 及び DAO は、 VS2005 の TableAdapter 作成機能を使って、瞬殺 ( つまりは D&D) で作りまし た。 – FormView を使って、 DB への追加・変更・削除機能 に関する開発工数を下げました。 – 部分的に、 Ajax を実装しています。 – コレクションでは、 Generics も使いました。
  27. 27. 少しだけデモします • あまりおおっぴらには見せられないので すが、せっかくなので、少しだけ実演し ます。 • 組織選択画面では、 ASP.NET 2.0 から正 式に入った TreeView コントロールを使っ ています。 • 作業チェックボックスでは、チェックを 入れた直後に DB への更新が行われます。 • まずは、一度デモ画面をご覧下さい。
  28. 28. まとめ • 今日学んだこと – オープンソースとは何か? – 最近のマイクロソフトの方向性は? – NAgile とは何か? – Mono とは何か?本当に使えるのか? – IronPython とは何か? • 真髄は我流。型はありません(w – 最新技術で、いきなり本番運用システムを開 発するのは、楽しいですが、やはり冒険です 。
  29. 29. 参考情報 URL の紹介 • NAgile の本家サイト – http://www.nagile.com/nuke/ • Mono の本家サイト – http://www.mono-project.com/Main_Page • IronPython の本家サイト – http://www.gotdotnet.com/workspaces/workspace.aspx? id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742 • なかよし研究所 (私の BLOG サイトです) – http://www.tech-ezo.jp/blogs/nakayoshi/default.aspx
  30. 30. 今日の感想 • つい二日前に発表されたばかりの、 Visual Studio 2005 Express & SQL Server 2005 Express の 無償化は、やはりディープインパクトでした。 • Mono の方も確実に進化しており、 ASP.NET に 関しても、「 Windows で開発して、 Linux で運 用」が実用になる日も近い将来必ずくることで しょう。 • まだまだよくわかっていないことが多い IronPython ですが、ぱっと見ただけでもこれは スゴイと思います。 • みなさんも、自分の得意な分野の知識を活かし つつ、未知の分野に挑戦してみませんか?
  31. 31. 最後に • 諸般の事情から、事前の準備がほとんど 全くと言って良いほどできず、結果的に 不十分な資料しか作れませんでした。 • CLR/H のフォーラムを見て、過度に期待 された方には、大変申し訳ありませんで した。 • 最後までお聞きいただき、 「本当にどうもありがとうございまし た」

×