タグ「勉強会」が付けられているもの

kyoto

Google Developer Day 2010 @京都会場 に参加してきた。基本的に東京会場で行われているセッションの中継が主体だった。ツイート見ていると、東京会場おもしろそうだし、京都会場は映像が断続的に途切れるし、プログラムの取り違えや、同時中継が英語になったり日本語になったりと、運営の拙さは否めなかった。

gdd_kyoto

がしかし、仕事柄システムトラブルには寛容。また、今回の京都会場は、京都GTUG が完全にボランティアベースでやっているとのことで、頭が下がる思い。すばらしい。非常に刺激になりましたし、よい経験ができました。関係者各位にはまずお礼を言いたいです。ありがとうございました。

後は、後日調べ物をするためのメモとして、今日聞いたことの要点をまとめときます。感想も混じってます。

基調講演

Youtubeに上がっていると思ったけど、まだないですね。

HTML5

  • ブラウザもネイティブ対応(GPUの利用等)がなされてきて、実用フェーズに入ってきたといえる。
  • HTMLは見るだけのものから Application プラットフォームに進化
  • Open ビジネスのプラットフォームとしての利用も考えるべき。
  • W3C へは Google から 100名を超えるエンジニアが協力し、全面的にHTML5をサポート。

といったところが聞き取れました。

自分自身、HTML5は全く押さえていませんが、OSの抽象化レイヤーになる方向に進んでいるのでしょうね。デスクトップOSが、Windows? か Mac? か Linux? か!?といっていたのが、基本的に標準化されるとしても、IE か?  Safari か? Chrome か? OSは何でもいい。という状況になるのでしょうか?またはそういう意図があるのでしょうか?

ブラウザがApplication プラットフォームになって可能性が拡がるのは、デベロッパーとしては非常に魅力的でうれしいです。が、かつてのホームページブーム(?)を考えると、コンテンツ作成への敷居が高くなりすぎるのではないか?とも思ったり。まぁ今頃は、ホームページなんかつくらんか。ブラウザというプラットフォームの上で動くオーサリングツールで、ページを作るということになるから、こちらもレイヤーが一枚増えて便利になるということですね。

HTML5 Studio

HTML5 を使ったギャラリー。

ローカルリソースへのアクセスができるようです。このページでは、ローカルHDDの画像をドラッグすると、ブラウザに表示されます。

リッチなUIです。右クリックしてもフラッシュのメニューは出てきません。

CSS3

MacBook の画面が本体を傾けるのに併せて回転したりするデモ。

デバイスの向き情報が、DOMのイベントとして取得できるようです。

WebApp

Web Application の問題として、見つけにくい(発見)、一旦見つけても次に見つけるのが難しい(再発見)、広告以外で収益を上げるのが難しい。の3つがありますが、それを解決する仕組みとして、

Chrome Webstore

を立ち上げる。Installable Application という仕組みを用意して、Widows のスタートバーのように、容易にアプリケーションを管理する仕組みを Chrome に構築するようです。

OSおよび物理的なリソースがローカルにあるのかクラウドにあるのかというところを抽象化した上で、現在のOSの役割をブラウザに担わせるのが今後の方向なのですかね?Chrome OS もよく知りませんが、そういうイメージで理解してます。Micorosoft も IE9 で、同様にWebアプリをこちらは、OS側に統合(?)し、タスバーにいれれるようにするらしいですが、この少しの差異に、OSの役割を、OSのままとどめるのか、ブラウザに持って行くのかの綱引きが垣間見えておもしろいなぁと。でも、コンピューターの世界って抽象化が肝みたいなものと自分は理解しているので、ブラウザ側へ進む(抽象度が高くなる)のは性みたいなもので、止められないかもしれないなぁと思い始めました。

Android

どんどんユーザーが増えてますよ。と。いう話。

Android Market を改良しましたよ。Similar タブ、Error Report Site、Licensing Server。

Licensing Server は重要といっていたので、後のセッションを聞こうと思ったけど、結局きかなんだ。

これのことかな!?Licensing Your Applications あとで読もう。

あと、C2DM(Cloud to Device Messaging) について、これはおもしろそうで、Chrome to Phone を知ったときやってみようと思ったら、Froyo からであきらめた。X06HT のFroyo へのアップデートが10月8日なので、いよいよ使える!?

丸山不二夫氏が語る― Android "Cloud to Device Messaging Framework" 概要

このページを見よう見ようと思いつつ、さわりしか見ていない。今から見よう。

App Engine

Spring Roo

roo

これ、説明しながらいろいろやってくれてたが、中継中断でよくわからなかった。興味深そうなにおいがするので、後で調べる。

Google 日本語入力

Google 日本語入力は、beta(安定版) と dev(実験版) の2種類開発されていて、オープンソース、Mozc として公開されているらしい。

開発にまつわる話の漫画をいただいた。

ime_book

帰りの電車で読んだが、結構よくできていておもしろかった。

小学生の時に読んだ、なんちゃらの秘密シリーズを思い出すような構成。「グーグル日本語入力システムの秘密」みたいな。

あと、日本語変換エンジンのクラウドAPIを公開

Google CGI API for Japanese Input

HTTP GET でリクエストして、JSON で結果を返すらしい。

何かおもしろい使い方はあるかしら。

 


勢いでまとめようと思ったが、基調講演までまとめたところで、寝る時間だ。

  • 試してみたいこと等いろいろあったので、続きは後日絶対まとめる。
  • あと、上でリンク張った先をきちんと読み直す。

 

最後に、バッテリーパック(エネループ モバイルブースター)がいい仕事した!

 

朝 6:00 ~ 22:30 まで、Desire(X06ht) のバッテリーが持ちました。途中 Google Map に道案内してもらったり結構使い倒したんですが、期待通りの働き。

charge

実は、充電できたんですけど。。。

勉強会が成功裏に終了

内輪(といっても、知人の知人ぐらいまでの広がりで勤務先や職業は基本ばらばらの10人弱程度)での勉強会3回目が昨日無事終了しました。

年末、GW、夏期 の長期休暇を基本開催時期に設定しているので、これで1セット終了したことになります。

関係者の皆様お疲れ様でした。

昨日の内容は、財務会計から、Python、アイディア出しのワーク、そして古事記と非常にバラエティーに富んでいるとともに、個人的にもとても興味があるテーマ、内容で非常に楽しめたし勉強になりました。ありがとうございました。

プロの講師の方や、まるで漫談師の様なしゃべくりのレベルの方にまじって、2回目の勉強会で、スマートフォン開発について につづいて拙いながらもこの2ヶ月くらいAndroidについて調べたこと、開発から公開の流れまでを発表させていただきました。

こういうプレゼン的なのは基本的にてんぱり気味になってしまい、苦手なのですが、エクササイズだと思ってやらせていただいています。優しい目で見守ってください。

 

で、今回の発表用に足早に開発~公開をしたアプリ。自分の中ではリファレンス実装(?)的な感じになってます。息子は喜んで使ってくれてます。

単語ロイド

Visual Studio 2010 ラウンチツアー名古屋に行ってきた。 いか、個人的に気になった点などをメモ。

Visual Studio 2010

エディション

2010 では、Standard エディションなし。限定(1万セットだったかな)で、39,800 円(だったかな?)で、Professional エディションへのアップグレードパッケージを用意

前回MSのカンファレンスで、Visual Studio 2008 がもらえたんだよな~。Standard Edition がないということは、もう個人では買えない。まぁExpress Edition つかえってことだよな。と、

Express エディションが、4/28 にリリース!

2010 からは、XAMLをがりがり書かなくても、WPF が WYSIWYG で作成できるようになるようだ。たしかに、Windows Phone の CTP では、そうなっていた。だとしたら、C#買いだな(買わないけど)。ただ、高度なアニメーションとかは依然 ExpressionBlend を購入する必要があるとのこと。

並列プログラミングの強化

マルチコアプログラミングで、処理を論理的なタスクという単位に分割しプログラミングすることで、フレームワークが透過的にスレッド管理を行ってくれるようになる。

UML

UMLがいろいろ書けるようになった。

アーキテクチャー検証

これは面白いなとおもった。アーキテクチャーを定義しておくと、それに違反しているコードに対してアラートをあげることができる。

インテリトレース(InteliTrace)

なんと、デバック情報を記録していて、ステップをさかのぼって参照できる。デバッグ途中の変数の値をピンでソースコード上に留めておいたりもできる。便利そう。

ソースコード管理

SQL Server ベース、チェックインポリシーとか定義できて、ポリシーを満たさないとチェックインさせないとかできる。サーバー側でソースをビルドして検証したりできる。

TestManager 2010

システムテストのシナリオつくっってそれにそってテストしながら、操作をキャプチャしてバグが発生したら、バグ管理ができたりする。

Windows 7 開発

チャートコントロールの標準化

.Net フレームワーク 3.5 では別途ダウンロードする必要があった、チャートコントロールが、.Net フレームワーク 4 からは、標準になった。

WPFをつかった開発

2010から、Windows Forms と同様に 開発できる(XAMLを直接編集しなくてよい)ようになる。こった機能は ExpressionBlend。

リストボックスに、画像を表示するのなど、オブジェクトを自由に設定できる。

DLR(Dynamic Language Runtime)

レイトバインディングが、可能になる。実行時に、IronPython や IronRuby のコードを解釈して実行することが可能になるデモを見せてくれた。

Windows 7 の機能

など。

サーバーサイド

OData (Open Data Protocol)

Atom フィードの拡張で、問い合わせや、更新など、CRUDに対応している。既に Shere Point など対応済み。XML フィードなので、クライアント選ばす。

Visual Studio からは、 Visualizer を利用して、ER図 みたいなのを作成できる。

WCF Data Service で、作成する。

ADO .NET Entity フレームワーク

Windows Azure

最後にクラウド関係をちょっと。

まず、アズールではなく、アジュールと読むみたいですね。

Windows Azure for Visual Studio 2008/2010

 

全体として Visual Studio 2010 魅力的だし、使ってみたいなと思わされた。

Oracle Database Summit 2009

クラウドという単語に嫌悪感を抱く向きも多いようだが、今回ばかりはクラウド化へ向かうのが世の趨勢となる気がする。

ASPと内容は同じじゃないかと思いつつも、この業界は実際に『もの』を売っているというより、コンセプトを売っているので、手垢のついた言葉では商売にならない。クラウドやらWeb2.0 やらともすればバズワードとも思われる言葉でも商売が回っていくならそれもよしと達観する必要もあるのだろう。

で、今回のOracleのカンファレンスでも例に漏れず、クラウド時代にOracleがどういった価値を提供できるのかという点が主題だったように思う。

セッションを受けての自分の解釈とメモを綴っておく。

1.Oracleのグリッド

いわずと知れた 11g の g は grid の g なのだが、Oracle のいうグリッドとは、一般的にいうグリッドコンピューティングとは異なり、横軸にインフラ層(アプリケーション、APサーバー、DB、ストレージ)をとり、縦軸に業務(会計、人事、調達、物流)システムをとったとき、縦割りになっているシステム構成を、グリッド(格子)化することを言うのだそうだ。

ora_summit01

スピーカーの人も、『エンタープライズグリッド』といっていたが、オープン系サーバーを統合することによって、仮想的に論理的な1つのサーバーを構築し、メインフレーム的に使用することができる(メインフレームを置き換えることができる)インフラを構築するものという位置づけになるのだろう。

2.Oracleの仮想化

上記グリッド化、オープン系サーバーによる仮想メインフレームの構築のためには、すべてのリソースを仮想化し論理的に統合する必要がある。仮想化というと、1つの物理環境を分割するイメージがあるが、リソースを柔軟にその分割環境へ配分するためにも、まずすべてのリソースを統合、プールしたのちに行う必要がある。そのための技術が、Oracle Clusterware をはじめとする各技術群。

2.1 Oracle Clusterware

サーバーをサーバープールでグループ化し、ポリシー定義に従って一元的に自動管理する。

2.2 Grid Plug and Play

サーバーノードの追加・削除を自動化し、手動操作によるミスの防止を行う。Single Client Access Name(SCAN)、Grid Naming Service 等から構成される。

3.アプリケーション

基本的に、一番興味がある箇所ではあり、エディションは非常に面白そう。

3.1 エディションベースの再定義

たとえば、テーブルに変更を加えても、新旧のアプリケーションを同時に使用することができる。

そのためには、オブジェクトを『エディション化』する。実際にはテーブルはエディション化できず、ビューをエディション化する。ただしこのビューはテーブルと同様の属性をもつ。

edition01

要するに、旧アプリケーションには、ビューをテーブルといって見せといて、テーブル変更による不整合ははトリガーで整合性をあわせるという話。

これにより、アプリケーションを停止せずに速やかにアップグレードが可能になりますよ。

3.2 Oracle Data Guard

・スタンバイデータベースを、活用できる。集計、レポーティングなどのバッチ処理。

・これは、プライマリとのタイムラグが少ないため可能。

・スタンバイとの同期はREDOログの転送によって行い、さらにREDOログは圧縮して送信。

4.Exadata V2

そんなOracle 11g R2の能力を最大限引き出すのが、Oracle/Sun のアプライアンス製品 Exadata V2 だそうだ。コア技術としてこの間買収した Sun のフラッシュカード技術が採用されているメモリの化け物。すごい早いらしい。

exadata01 exadata02

Database Server と Storage Server とから構成されていて、その速さの秘密が、

4.1 やたらメモリを乗せている

Database Server の RAM が フルラック(×8台)で、576GB、Strage Server の フラッシュカードが フルラック(×14台) で、5TB

4.2 接続が高速

InifiniBandで超高速(40GB/Sec)でDatabase Server、Strage Server間を接続。ボトルネックにならない。

4.3 ストレージ側でいろいろ

このあたりの仕組みが聞いていておもしろかったが、Strage Server 側では、単にデータを保持するだけではなく、インテリジェントな動きをいろいろする。

ただし、この動きは透過的であるため、DBサーバー利用者からは意識されない。なんだかわからんけど早い状態。

Smart Scan ・・・ 結果となる行や列のみをデータベースへ返す。データベースサーバーの負荷がストレージサーバーに分散。

Columner Compression ・・・ データを列単位かつ、圧縮して格納。

Strage Index ・・・ メモリ内で表データのサマリー情報を管理。列内の最小値、最大値を格納し、1MBごとにインデックス1エントリーを作成し、問い合わせ結果に含まれない行を判定し、ディスクI/Oを削減する。

Smart Flash Cache ・・・ フラッシュカードに頻繁にアクセスするデータをキャッシュ

5. コスト削減

そんな Exadata を 2台買っても、IBMのメインフレームの5分の1のお値段。ASM (仮想ストレージの自動管理機能)で、ストレージコストを10分の1に。

 

大きくはそんなところ。

5月20日名古屋でのカンファレンスメモの続き

「SQL Server2008 製品概要早わかり」セッションの概要

SQL Server2008 は次の5つの特徴を持つ。

1.高品質、2.コンプライアンス、3.サーバー統合シナリオ、4.大規模DWH、5.全社員向けBI基盤

それぞれの特徴についての説明

1.高品質

SQL Server2008は、2008年7~9月が、完成予定であるが、SQL Server2005をベースに開発を行っており、NASDAQ百五銀行に採用実績。

SQL Server2005をベースに開発しながら、以下のような、常に出荷可能に近い状態を保つ新しい開発プロセスを採用している。

  • SQL Server2005をベースにした製品をメインラインとし、常に出荷可能に近い保つ。
  • 機能(Improvement)ごとにチームを編成し、メインラインとは分離して開発され、テストが完了した時点で、メインラインに組み込みCTP(Community Technology Preview)とする。
  • これにより、メインラインに組み込まれた機能については、β版とはいえ、高い完成度を持っている。

2.コンプライアンスの実現

透過的データ暗号化

SQL Server2005 でも、データ暗号化はサポートされていたが、利用するためには、SQLにて関数(EncryptByKey、DecryptByKey)を使用する必要があった。

SQL Server2008 では、管理画面上から、チェックボックスをONにするだけで、データが暗号化される。これはアプリケーションからは完全に透過的に実行されるため、アプリケーションの変更は不要。

ポリシーベース管理

ITガバナンス実現のため、データ管理のルールを明文化する。

ポリシーを制約を式として定義したファセットとして管理する。SQL Server 2000、2005も管理対象とすることができる。

  [ポリシー]

      +- [ファセット]

           +- [条件式]

ポリシーを作成し、ジョブとして実行、評価を行う。

データ操作監査

以前のバージョンでは、SQL Trace プロファイラ[2005]、として実現されていたが、2008では、データベースエンジンにネイティブに組み込まれるため、オーバーヘッドが小さくパフォーマンス良。

3.サーバー統合シナリオ

マルチインスタンス

単一のサーバーで複数のデータベースインスタンスを管理することができる(Enterprise エディションは50、Standard以下は16インスタンス)。インスタンスとして、SQL Server 2000、2005、2008の管理を行うことができる。

マルチインスタンスを利用することにより、物理サーバを削減することができ、TCOの削減を行うことができる。

ただし、物理サーバが統合されることで、複数のアプリケーションが1つの物理サーバに接続されることにより、リソースの競合が起こる。この対応として、リソースガバナが搭載されている。

リソースガバナ

メモリ、CPU等のリソースをプールし、リソースの利用を調整(使用率、時間、タイムアウト、最大数)する。

パフォーマンスデータコレクション

パフォーマンス状況を見える化する。

過去のある時点にさかのぼって、そのときの状況を確認することができる。

Disk Usage Summary : ディスク使用量の推移

Query Statistics History : クエリの統計情報

Server Activity History : メモリ、CPU、ディスク、ロック状況

4.大規模データウェアハウス

データパーティション

テーブルに境界を設定し、別のディスクに格納するようにパーティショニング可能。これにより、ディスクI/Oを少なくできる。アプリケーションからは透過的である。

データ圧縮

以下のようなデータ圧縮を行い、ディスクI/Oを減少させる。

行(ROW)圧縮 : 固定長データ型を可変長として格納(INT、FLOAT、REAL、MONEY、DETATIME、CHARなど)

ページ(PAGE)圧縮 : 列ごとに重複しているプレフィックス部分を圧縮(プレフィックス)。詳細レベルの重複パターンを検出して圧縮(ディクショナリ)

バックアップ圧縮 : BACKUP DATABASE (T-SQL)に、WITH COMPRESSION キーワードを付加し、メディアにバックアップを書き込む前に、CPUパワーを使用して圧縮する。ディスク要領は節約できるがリソースの利用とのトレードオフ

5.全社員向けBI基盤

Reporting Services

Webを利用したリッチなレポートを作成。

以上

キーワード

開発手法:CTP

コンプライアンス:ファセットSQL Trace プロファイラ

サーバー統合:マルチインスタンスリソースガバナパフォーマンスデータコレクション

大規模DWH:データパーティションデータ圧縮行(ROW)圧縮ページ(PAGE)圧縮バックアップ圧縮 

全社員向けBI : Reporting Services

the MS Conference Win Svr 2k8(St-1a)

昨日開催された、the Microsoft Conference 2008 に参加してきた。

社長が、基調講演で、要望に答えてやっと名古屋開催にいたりました!みたいなことをいっていたけど、今回で3回目くらいの参加(in 名古屋)。

たしか、去年かおととしは名古屋飛ばされたんだよな~

今回はなんと参加者に、VisualStudio2008 Standard Editionが配られました(転売不可版)。太っ腹。

Amazon だと、2,8161円也 前回参加したときのお土産(?)が、SQLServerの乾電池だったことを考えるとすごい出世。

ms_omiyage

ほかにも、WindowsVista Ultimate、SQL Server 2008 等の評価版もいただきました。

あと、世界中のSEの写真集。

 

~ 以下 Window Server 2008 概要をわすれないうちにまとめとく ~

「Windows Server 2008 概要(ST-1A) 」セッションの概要

今回のバージョンアップは、5年ぶりのメジャーバージョンアップであり、柔軟性、セキュリティとコンプライアンス、次世代サービス基盤の3本柱を実現するためのソリューションを提供する。

Micorosoftは、柔軟性を実現するために、戦略的な仮想化技術を展開する。

一般によく言及される、サーバのみ仮想化ではなく、サーバ、プロファイル、プレゼンテーション、デスクトップ、アプリケーションと包括的に仮想化技術を提供する。また運用管理として、SystemCenterを提供(非MS製品も管理可能)する。

特に、サーバの仮想化としては、Xen同様SuperVisor方式を採用したHyper-Vという仮想化技術を提供する。SuperVisor方式であるため、現行のVirtualServer2005R2とくらべて倍以上の速度差を体感できる。

従来のターミナルサーバーは、デスクトップまるごと表示していたが、アプリケーションのWindowのみを転送することが可能なRemoteAppを提供する。また、TSゲートウェイという、インターネット(SSL)経由でリモートデスクトップや、RemoteApp利用できる機能を提供する。これにより、社外から社内のアプリケーションを利用するために、VPNを構築したり、社内アプリケーションをWeb化するなどのコストをかける必要がなくなる。

セキュリティでは、NAP(NetworkAccessProtection)という検疫サービスを標準で提供する。検疫サービスは、現状コストがかかる上に効果が薄く、設定も複雑なため、導入が進んでいない。NAPでは、管理ポリシーを常時監視し、違反しているPC等は、接続させない。標準で提供されている管理ポリシー以外のポリシーを設定したい場合、SDK(C言語)が提供されている。

次世代サービス基盤として、IIS7.0では、RIA(RichInteractiveApplication)である、Silverlightの提供が容易になる。また、国内で数十万人の開発者を擁するPHPにも対応する。Apacheからの移行も容易になる。

上記3本柱を支えるソリューションとして、管理性では、Windows Power Shellの提供、これは、Cシェルや、bashと同等のもので、Windows Serverのすべての機能にアクセスできる。また、堅牢製を担保するために、Server Core(コマンドプロンプトのみの構成 不要サービスはインストールされない)、フェイルオーバークラスタなどが提供される。次世代プロトコルスタック(IPv6)も、Windows Vista、Windows Server 2008で、スクラッチから実装しなおされている(これまでは、Windows 95時代に実装されたものに修正を重ねてきた)

これらをもって、TCOの削減により、現在の調査では、新規開発20%、保守運用80%となっているIT投資の割合を逆転させたい。

 

以上

キーワード

仮想化: SystemCenterHyper-VRemoteAppTSゲートウェイ

セキュリティ: NAP読み取り専用ドメインコントローラ

堅牢性:Server Coreフェイルオーバークラスタ

管理性:WindowsPowerShell

Web:IIS7.0(PHP)、Silverlight