<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>ホチキス先生</title><link>http://sqljp.com/hotikisu/</link><description>プログラマーと呼ばれたい</description><managingEditor>ホチキス先生</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 3 - 4 - Special Session「今だから話したいWindows Phone 7」</title><link>http://sqljp.com/hotikisu/archive/2010/08/28/27082.aspx</link><pubDate>Sat, 28 Aug 2010 21:26:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/28/27082.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27082.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/28/27082.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27082.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27082.aspx</trackback:ping><description>&lt;P&gt;このセッションは、TechEd 2010の公式セッションが全て終わった、18:30～19:00に行われた「～話したりないスピーカーが贈る30分のスペシャルメッセージ～」と題されたスペシャルセッションの枠組みで行われた。このスペシャルセッションは、Room Cで「Windows Azure &amp;amp; クラウドAll wrap up」が砂金信一郎、大森彩子、関田文雄、西脇資哲、平野和順のスピーカーにより、Room Dで「Silverlightこれだけは聞いてくれ！」が大西彰、春日井良隆、鈴木章太郎のスピーカーにより、Room Eで「WebMatrix "超"概要～Web開発最新テクノロジ～」が井上章、奥主洋、新村剛史、武田正樹、物江修のスピーカーにより、そしてRoom Bで表記のセッションが高橋忍氏により行われた。&lt;/P&gt;
&lt;P&gt;高橋忍氏はたいへんなガジェット好きで、折に触れWindows Phoneについての情報を発信してきた。今回のTechEd 2010の基調講演でもWindows Phone 7のデモを行った。今回のスペシャルセッションを聞き、高橋氏がマイクロソフトのエバンジェリストの立場以上に、ひとりのユーザーとしてWindows Phone 7に期待していることが伝わってくる。だがこのセッションの詳細なレポートは控えることにしよう。ただひとつだけ言えることは、近い将来、間違いなく素晴らしい製品となって私たちの目の前に現れるだろう、ということだ。&lt;/P&gt;
&lt;P&gt;Microsoft ZUNEの発表により大きくモバイル戦略の舵を切ったように見えるMicrosoftのWindows Phone 7には大いに期待したい。&lt;/P&gt;
&lt;P&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27082.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 3 - 3 - T4-303「OpenData Protocol(OData)とWCF Data Servicesによるサービスの作成」</title><link>http://sqljp.com/hotikisu/archive/2010/08/28/27081.aspx</link><pubDate>Sat, 28 Aug 2010 20:57:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/28/27081.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27081.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/28/27081.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27081.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27081.aspx</trackback:ping><description>&lt;P&gt;ODataとは、データ共有用のRESTfulプロトコルであり、様々な環境でデータを共有するための規約。AtomPubの拡張セットである。構造化データであり、CRUD操作ができ、URIによる複雑なクエリが実行できる。キーノートでも紹介のあった、netflixのカタログページもODataのサービスを公開している。&lt;/P&gt;
&lt;P&gt;NetflixのODataサービス&lt;BR&gt;&lt;A href="http://odata.netflix.com/Catalog/"&gt;http://odata.netflix.com/Catalog/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Microsoftの製品でも数多くがODataに対応している。OData対応サーバーには、SharePoint 2010、Windows Azure Strage、SQL Azure、WCF Data Services、WCF RIA Services、SQL Server Reporting Services 2008 R2がある。またOData対応クライアントとしては、Excel + PowerPivot、OData Explorer、OData PowerShell Explorer、iPhone OData Browserなどがある。&lt;/P&gt;
&lt;P&gt;多様な環境、全ての層を横断したデータ接続には、ADO.NETからWCF + OData Serviceによる開発に移行する。WCF Data Servicesは、サーバーデータのCRUD処理に特化したものだ。ここでVisual Studio 2010でASP.NET Webアプリケーションを開発するデモが示された。サービスを作成し、クライアント側からExcelのPowerPivotを利用する。またSharePointからODataに接続し、データを送信するデモ、Silverlightで利用するデモが行われた。&lt;/P&gt;
&lt;P&gt;WCF Data Servicesのセキュリティについては、認証、承認、許可のレイヤーがある。クライアントはサーバーに対してODataで接続すると、IISが認証し、ASP.NETでフォーム認証などを行い、WCF Data Servicesで許可をとる。&lt;/P&gt;
&lt;P&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27081.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 3 - 2 - T7-403「最新OS WES7 WEC7 .NET Micro Frameworkによるクラウド時代のデバイスUX開発」</title><link>http://sqljp.com/hotikisu/archive/2010/08/28/27079.aspx</link><pubDate>Sat, 28 Aug 2010 20:20:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/28/27079.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27079.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/28/27079.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27079.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27079.aspx</trackback:ping><description>&lt;P&gt;マイクロソフトといえばPC、ASP.NET、クラウドと言われるが、Windows MobileやZUNEなどモバイルデバイスもある。&lt;/P&gt;
&lt;P&gt;Windows Platform上のデバイス開発では、パフォーマンス重視のアプリケーションを作るとき、ネイティブコードでプログラムする手法から、.NET Framework上でInteropによってManaged Codeでプログラムを書けるようになった。これによってC#によるプログラミング開発生産性は飛躍的に高くなった。これにはWES、MEC、そして.NET Micro Frameworkがある。&lt;/P&gt;
&lt;P&gt;WESは「Windows Embedded Standard」で、現在市場に出ているPOS端末、医療機器や製造機器などで利用されている。POS端末におけるWindows Platformの利用率は80%ほど、その他では60%程度である。MESは「Microsoft Embedded Compact」で、小型端末向けのリアルタイムOSだ。マルチCPUアーキテクチャであり、Windows MobileやZUNEに使われている。.NET Micro FrameworkはRAM64ｋByteでも動く極小のシステムだ。&lt;/P&gt;
&lt;P&gt;ここでWES 7のデモが行われた。WES 7は中・大規模組込み機器向けのOSで、PCデスクトップとWebの共通開発環境がある。デモではDELLのPCにWES 7をインストールしたマシンを立ち上げるところ、IEでWebブラウジングをするところ、Silverlightが実行できることが示された。またセットトップボックスのデモもあった。&lt;/P&gt;
&lt;P&gt;次にWEC 7のデモがあった。WEC 7は小型組込み用OSで、開発にはSilverlight for Windows EmbeddedでSilverlight 3相当のXAMLが扱える。Expression BlendでXAML開発を行い、Visual Studio 2008にインポートしてSilverlightアプリケーションを開発できるRAPID開発が可能だ。GUIのデザインはSWEプロジェクトテンプレートによって行う。できたプログラムはWindows 7の仮想マシン上でWEC 7を起動して実行するデモと、組込みデバイスで実行するデモの両方が行われた。&lt;/P&gt;
&lt;P&gt;.NET Micro Frameworkのデモでは、Visual Studio 2010のMicro Frameworkのテンプレートから作る手順が示された。C#ネイティブ開発環境が整っている。作成されたプログラムは、エミュレータによる実行デモと、いくつかの実験デバイスでの実行が行われた。ここではXAMLは使えないので、UX設計はごりごりと作るしかない。&lt;/P&gt;
&lt;P&gt;ネットワーク間連携は、WebサービスについてはデバイスにDPWS、Device Profile for Web Serviceを利用し、Webサイト側はWCFを使う。デバイス間のアドホック連携は、数多くのデバイスがあるとき、それぞれ接続が簡単にできることが必要だ。デバイスのネットワーク接続形態としては、様々な場所でのネットワーク接続を、操作レスの容易な接続が理想だ。このためのアドホック接続テクノロジとして、DPWS、Device Profile for Web Serviceがある。これを使うと、各デバイスはネットワークに接続したとき「Hello!」のブロードキャストをし、互いに接続を完了する。&lt;/P&gt;
&lt;P&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27079.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 3 - 1 - T1-402「既存業務システムのWindows Azureへの移行」 </title><link>http://sqljp.com/hotikisu/archive/2010/08/28/27078.aspx</link><pubDate>Sat, 28 Aug 2010 20:09:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/28/27078.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27078.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/28/27078.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27078.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27078.aspx</trackback:ping><description>&lt;P&gt;クラウドコンピュータの波がやってきて、既存のITシステムは大きな見直しを迫られている。社内で独自に構築された「オンプレミス」システムなのか、ネットワークに展開されたクラウドシステムなのか、どちらかを選択しなければならない時代になった。とりわけコスト削減の要求が厳しくなり、クラウドの利用を積極的に考えなければならない。&lt;/P&gt;
&lt;P&gt;クラウドコンピューティングが現れはじめたとき、その期待から全てのシステムをクラウドに置くということが言われた。しかし現実にはそうでなく、自社内の「オンプレミス」なシステムとクラウドの両方を組み合わせることが現実解となっている。ではオンプレミスとクラウドの使い分けをどう考えればよいのだろうか。ここで業務システムを3つのタイプに分類して考える。&lt;/P&gt;
&lt;P&gt;まず、金融などミッションクリティカルな業務システムである。これはクラウドには不向きである。それは、クラウドでは性能保証が難しく、可用性用件が非常に難しい、自社でのデータ保有や管理の要件があることが多い、などの理由からだ。具体的には可用性の面では、クラウドでは99.9%しかない。次にクラウドならではの新しいタイプのシステムとして大規模分散計算処理の分野がある。モンテカルロ法などシミュレーション、大規模ログ解析、統計分析、学術計算領域など、伸縮自在性を生かせる領域で強みを発揮する。しかし現実はこれら両極端な業務形態に分けられるものばかりではない。&lt;/P&gt;
&lt;P&gt;三番目のものとして、従来からある業務システムがある。たとえば簡単な.NETアプリケーションはほぼそのままAzureに移行できるだろう。しかし本当にそんなに簡単に移行できるのだろうか、という声はよく聞かれる。たとえばデータセンターは現状では海外にしかない、可用性が一律99.9%の設定である、ストレージの容量制限がある、などだ。だがこれらの問題は、実際に使ってみないとわからない。クラウドコンピューティングのメリットは魅力だが移行してよいのか、移行できるのかという悩みがある。しかし今日の技術進歩を念頭におくと、クラウド技術の発展は急激におこっている。今できることが半年たっただけで急激に広がることは間違いないだろう。&lt;/P&gt;
&lt;P&gt;クラウドの技術革新については、VM RoleとWindows Azure Platform Applianceという2つのキーテクノロジーが出てくると状況はかなり変わるだろう。VM RoleはIaas型に近いクラウドサービスの提供で、自由に環境を変えることができる、仮想マシン環境を提供するものである。Windows Azure Platform Applianceは、AzureをMicrosoftだけでなく、「プロバイダのAzure」や「自社内のAzure」といった形態も提供できるものだ。これによって地理的に近い場所での利用、物理的なAzureの制御、データの保有などが可能になる。&lt;/P&gt;
&lt;P&gt;これらの見通しの中で、では、今、何をやるべきだろうか。それは「まず使ってみる」ことである。クラウドは進展が早く、現時点では適用できない領域が、半年、一年、数年後には大きく変化し、適用できる領域が大きく広がる可能性がある。また可用性が99.9%という数値があるが、では月あたり43分もシステムが止まるのか、と思うととても使えないと思うかもしれないが、実際はシステムが停止するわけではない。むしろパッチを当てることも止めることなくできる。つまり机上の検証では実感できないことが多く、その意味でも実際に使ってみる必要が大いにある。いざ導入が目前になり、検証を行うのでは遅すぎることになる。&lt;/P&gt;
&lt;P&gt;クラウド化で何が変わるのか。たとえばツールの使い方などは技術資料を見ながら学べばよい。しかしクラウドの概念、設計やアーキテクチャの考え方のパラダイムシフトが必要になる。パラダイムシフトのポイントは3つにまとめられる。まずデータストレージ選択の考え方、次にオンプレミスとクラウド連携の考え方、三つ目に運用監視の考え方である。&lt;/P&gt;
&lt;P&gt;まずデータストレージだが、クラウドになって最も厄介なものはデータベースの移行だ。RDBMSの基本思想は「一事実一ヶ所」である。オンプレミスのデータベースはスケールアップが基本だが、クラウドではスケールアウトを考え、この思想は全く反対だ。クラウド環境では「機能」「容量」「価格」の3つを同時に満たすことは不可能だ。たとえばオンプレミスのデータベースでは、サーバーの性能を良くすることで「機能」と「容量」の両方を高めることができるが、この場合は「価格」を下げることはできない。クラウドではSQL AzureデータベースサービスとWindows Azureストレージサービスがあり、前者は「機能」は高いが「容量」は50GBまでの制限がある。後者は「機能」は低いが容量は大きく使える。そこでデータをAzureにおくときは、業務データはSQL Azureデータベースサービスにおき、ログなど大量に蓄積する必要のあるものはWindows Azureストレージサービスに置くといった使い分けを考える。もし業務データの規模が大きく、SQL Azureデータベースの容量制限をクリアしたい場合は、データベースの水平分割が必要である。&lt;/P&gt;
&lt;P&gt;オンプレミスとクラウドの連携をするときは、「データ連携」「処理連携」「認証連携」「運用連携」の4つの考え方が必要だ。「データ連携」ではマスタデータの同期が必要である。「処理連携」ではAppFabricサービスパスを活用したシステム間連携、「認証」ではADシングルサインオンを実現するフェデレーション認証がある。AppFabricサービスパスとフェデレーション認証は連携に関するキーテクノロジである。AppFabricサービスパスは、オンプレミス側とクラウドからの両側からAppFabricサービスパスへの接続を張るもので、オンプレミスとクラウドのデータ連携を行うために、オンプレミス側のファイヤーウォールの受信ポートを解放する必要がない技術だ。フェデレーション認証はAzure上のシステムに社内ADアカウントでシングルサイオンのログインができる技術だ。&lt;/P&gt;
&lt;P&gt;運用監視考え方がクラウドでは大きく変わる。オンプレミスの運用では管理者はアプリケーションからミドルウエア、インフラまで全部を対象としている場合が多いと思われるが、クラウドではミドルウエアとインフラの管理はMicrosoftにまかせればよい。管理者はアプリケーションの運用に専念できる。&lt;/P&gt;
&lt;P&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27078.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 2 - 3 - T4-304「Microsoft BIを支えるReporting Services &amp; PowerPivot～松本美穂のすぐに使えるBIシステム構築の技～」 </title><link>http://sqljp.com/hotikisu/archive/2010/08/28/27077.aspx</link><pubDate>Sat, 28 Aug 2010 19:58:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/28/27077.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27077.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/28/27077.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27077.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27077.aspx</trackback:ping><description>&lt;P&gt;最も最初のバージョンからMicrosoft SQL Serverにかかわっており、名著「SQL Server 2000でいってみよう」など多くの技術書の著者松本美穂女史によるセッション。&lt;/P&gt;
&lt;P&gt;PowerPivot for Excelは、サーバー側の作りこみが不要な点がパワフル。インメモリアーキテクチャで高速なデータ処理が実現できる。64ビットCPUのパワーを十分に利用することができる。またExcelのデータ上限100万件を超えるデータも対応している。&lt;/P&gt;
&lt;P&gt;PowerPivotの概要が説明されたあと、実際にデモが行われた。画面に表示されたExcelのブックには、なんと一千万件のデータが格納されている。さらにこのテーブルをスクロールするのも高速で、まったくストレスなく表示される。これはたいへんな驚きだ。またパワーピボットの表示もすごく早く、グラフの追加や描画の更新もとても速い。このようなパフォーマンスを得られるのは、すべてインメモリで実行しているからである。したがってコンピュータのメモリが小さいと、このPowerPivotのパフォーマンスの恩恵を得ることはできない。&lt;/P&gt;
&lt;P&gt;PowerPivotで大量のデータを分析するとき、ExcelのPowerPivot自体は高いパフォーマンスで動作しても、データの更新には時間がかかるだろう。SQL Serverへの負荷もある。そこでPowerPivotを使う場合は、分析に必要なデータだけを選んで取ってくる設計をしなければならない。またデータベースの設計者としては、このようにユーザーがExcelで大量のデータを取れる時代になったことから、データベースのセキュリティにはこれまで以上に配慮しなければならないだろう。&lt;/P&gt;
&lt;P&gt;PowerPivot for SharePoint 2010では、分析レポートの共有とセキュアなデータ格納、バックグラウンドでのデータ更新のバッチ処理、Excel ServiceによるWebブラウザベースの共有、などがあげられる。PowerPivot for SharePointをインストールすると、テンプレートとしてPowerPivot Siteができる。管理はPowerPivot管理ダッシュボードで行う。&lt;/P&gt;
&lt;P&gt;SQL Serverの機能拡張はいろいろあるが、特にReporting Serviceは強力に進化している。特にSQL Server 2008 R2からは、Bingマップ連携、データバー、インジケーターなどデザイン面の拡張など大きく拡張された。このReporting ServiceによるBIシステムでは、共有データソース、共有データセット、共有レポートパーツを利用してレポート作成時間を短縮することができる。またレポートキャッシュまたはクエリキャッシュ、キャッシュの更新計画機能などキャッシュ機能を活用する。&lt;/P&gt;
&lt;P&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27077.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 2 - 2 - T6-302「Expression Blend 4でデザインするSilverlight 4アプリケーション」</title><link>http://sqljp.com/hotikisu/archive/2010/08/26/27076.aspx</link><pubDate>Thu, 26 Aug 2010 23:57:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/26/27076.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27076.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/26/27076.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27076.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27076.aspx</trackback:ping><description>&lt;P&gt;このセッションは、マイクロソフトのエバンジェリスト高橋忍氏により、Microsoft Expression 4による開発手法を初心者にもわかりやすく、かつ実務で使えるTipsを満載で紹介された。とても贅沢なセッションだった。&lt;/P&gt;
&lt;P&gt;Expression Design 4で作成できるSilverlight 4アプリケーションで利用できるコントロールの種類は数多くあるが、実際に必要十分なコントロールの種類は60くらいだ。このように数多くのコントロールが使えることは魅力だが、むしろコントロールの種類の多さよりも、カスタマイズ性のよさを強調したい。&lt;/P&gt;
&lt;P&gt;Silverlight 4で提供されるコントロールは、デザイン面の数多くのプロパティがある。このうちいくつかはVisual Studioでも扱うことができるが、やはりExpression Blendを使えば数多くのプロパティを編集することができる。たとえば画面上にテキストを作ったとき、これをパスに変更すれば、様々なプロパティを編集してデザインを自由に変更できる。Expression Blend 4の「アセット」にはたくさんのオブジェクトがあり、これをそのまま利用することもできるが、より本格的にデザインをするためにはExpression Designを使う。Expression Designで作成されたデザインはXAMLのデータで構成されているので、これをエクスポートしてExpresshion Blendにインポートするか、編集中のオブジェクトをコピーして貼り付けてもいい。すでにデザイン経験のあるデザイナーはPhotoshopやIllustratorでデザインを作成するが、これもExpresshion Blendにインポートすることができる。このとき、Photoshopファイルのレイヤーもそのままの形でインポートされる。&lt;/P&gt;
&lt;P&gt;アニメーションは状態の変化に対する表現であり、タイムラインに設定されたキーフレーム間のアニメーションである。マークやテキストなどが移動するアニメーションは、キーフレームに設定されたデザインの位置を画面上でドラッグして移動するだけである。直線的な動きに「イージング」を与えて躍動感のあるアニメーションにすることも簡単だ。これらのアニメーションは「ストーリーボード」というオブジェクトに保存される。&lt;/P&gt;
&lt;P&gt;複数の図形に統一的なイメージを与えたい場合は、デザインを「スタイル」というテンプレートに保存し、適用することができる。これは図形を右クリックして「スタイルの編集」を選択し、「空アイテムの作成」で作成する。スタイルを変更してしまった後に「空アイテムの作成」をしてしまったときは、「ローカル値に変換」オプションでスタイルをセットすることができる。&lt;/P&gt;
&lt;P&gt;よく使われる重要なオブジェクトに「ボタン」がある。作成した図形を「コントロールオブジェクト」に変換することは簡単で、図形を右クリックし「コントロールの作成」で変更することができる。これで図形をクリックしたときにボタンの機能を果たすことはできる。しかしボタンをクリックしたときに、押されたという実感をユーザーに与えるデザインはそれなりに作成しなければならない。ボタンには「Normal」「MouseOver」「Pressed」「Dissabled」といった4つの通常のステートと、「Unfocused」「Forcused」のフォーカスステートがある。たとえばマウスをボタンに重ねたとき「MouseOver」のステートに遷移するので、この状態ではボタンを少し大きくするデザインを、マウスをクリックしたときは「Pressed」のステートに遷移するので、こちらは右下に少しずれたデザインを適用する。こうすることで通常のボタンがクリックされたデザインができる。こうした一連の設定は個別に行うと煩雑であり、かつ異なるデザインになると統一性が損なわれるので、各状態の違いの部分だけをテンプレートとしてパッケージできるようになっている。また遷移時間の設定もでき、イージングも適用することができる。&lt;/P&gt;
&lt;P&gt;2つのコントロールを特定のプロパティで関連付けると、スライダコントロールを動かすことでプログレスバーの長さが変わり、テキストボックスの数値を変化させることができる。これらもコードを記述することなく、画面上のプロパティを編集することで実現できる。&lt;/P&gt;
&lt;P&gt;メディアエレメントはビデオ再生のオブジェクトである。このオブジェクトには動画の再生、停止などのメソッドが実装されている。これらのメソッドにアクセスするのが「ビヘイビア」の概念である。このようにメソッドを持つオブジェクトからボタンコントロールにビヘイビアを適用するとき、二重丸のアイコン「アートボードピッカー」を利用すると直感的に適用することができる。アートボードピッカーをドラッグしてビヘイビアをコントロールしたいボタンオブジェクトにオーバーするのだ。&lt;/P&gt;
&lt;P&gt;パネルコントロールは複数のエレメントを子要素として持ち、グリッドを使ってデザインを決定することができる。動的にユーザーに操作させたくないグリッドエリアは、ロックアイコンを使って動かないように固定することができる。&lt;/P&gt;
&lt;P&gt;画面を遷移するコンテンツを作りたいときは、FrameコントロールとPageコントロールを使う。Frameコントロールの中に複数のPageコントロールを作成し、切り替えるという手法だ。&lt;/P&gt;
&lt;P&gt;データの取り扱いについては、SilverLightで扱うことができるデータはXMLデータソースかオブジェクトデータソースである。データを利用したアプリケーションを作るときは、サンプルデータツールを使ってデザインすることができる。&lt;/P&gt;
&lt;P&gt;最後に実用的なSilverlightアプリケーションとして、写真を表示する「フォトビューワー」を作るデモが行われた。&lt;/P&gt;
&lt;P&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27076.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 2 - 1 - T6-302「Visual Studio 2010の新しいテスト機能によるソフトウエア品質の向上」</title><link>http://sqljp.com/hotikisu/archive/2010/08/26/27075.aspx</link><pubDate>Thu, 26 Aug 2010 23:48:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/26/27075.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27075.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/26/27075.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27075.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27075.aspx</trackback:ping><description>&lt;P&gt;Visual Studio 2010はテスト機能が充実している。数多くの新機能をもつVisual Studio 2010のテスト機能について、マイクロソフトのエバンジェリスト近藤和彦氏がセッションを行った。&lt;/P&gt;
&lt;P&gt;IntelliTraceはデバッグの履歴を保持し、デバッグの途中で過去の状態を確認することができるものだ。今日的なソフトウエア開発では、作成したプログラムのテストを開発者だけでなく他のテスト実行者によって行われることもある。このとき、開発者ではないテスト実行者が行ったテスト結果も、統一的に管理してみることができるものだ。&lt;/P&gt;
&lt;P&gt;アプリケーションを作ってテストをするとき、変数などの値を見たいことがある。あるアプリケーションのテストをし、何らかのエラーがおこったとき、もう一度最初から実行しなおし、気になる変数の値を参照したいと思ったとする。このとき調べたい変数がアプリケーション内部の固定された変数であればいいが、データベースの値であって、しかも実行のたびに変化するようなデータであったときには、再度実行した場合でも最初の結果と同じ結果を得ることはできない。このようなとき、IntelliTraceでは実行ステップを順番に元に戻りながら値を確認することができる。&lt;/P&gt;
&lt;P&gt;IntelliTraceでは、ツールのオプションで収集する情報を取捨選択することができる。ただし収集する情報が多ければ、記録されたデータサイズも大きくなるので、データサイズには注意が必要である。&lt;/P&gt;
&lt;P&gt;次に「コード化されたUIテスト」がある。「テスト」メニューの「新しいテスト」で「コード化されたUIテスト」を実行すると、画面の右下にいくつかのコントロールのアイコンが表示される。このアイコンのうち「レコーディング」のアイコンをクリックすると、アプリケーションの動作を記録することができる。これを「記録されたステップの表示」で見ることができ、ビルドして実行するとUIテストの操作が再現される。「アサーションの追加」オプションを利用すれば、テキストボックスの値などアプリケーション中の特定のコントロールの値が正しいかどうかを決めてテストすることもできる。&lt;/P&gt;
&lt;P&gt;これだけでは単にあるテスト操作の記録にすぎないが、自動生成したパラメーターを変更し、テスト条件を変えて数多くのテストケースのテストを自動実行することもできる。テストしたいパラメーターの値をCSVファイルで作成しておき、データ接続文字列の定義をして異なる条件でのテストの自動実行を実現できる。&lt;/P&gt;
&lt;P&gt;Visual Studio LabManagement 2010は、テスト環境の仮想化と一元管理を実現するサーバーだ。ソフトウエアのテスト環境は、個々のテストマシンの状態によって結果が異なる場合がある。あるテスト環境でエラーが報告されても、別のテスト環境ではエラーが再現されないこともあるだろう。開発者とテスト担当者が異なるとき、これらの問題は深刻である。そこで複数のテスト担当者がいても同じテスト結果が得られるように、テスト環境を仮想化し一元管理することに意味があり、問題の再現性が向上する。またOSのバージョン違いなど様々なテスト環境を作ってテストすることもやりやすい。具体的にはバーチャルマシンを作り、組み合わすことでテスト環境を構築する。バーチャルマシンはいつでも復元することができるので、常にクリーンな環境でテストを繰り返すことができ、問題発生の瞬間のレジストリの値などスナップショットを記録することもできる。&lt;/P&gt;
&lt;P&gt;Microsoft Test Manager 2010は、テストの計画、実施、追跡などのテストプロセスを包括的に管理するものだ。まずテスト機能としてテストの計画を立て、それぞれのテストに対して具体的なテスト項目を記述していくことでテストプロセスを組み立てていく。できたテストプロセスは「夜間バッチ」によって全体テストを自動で行うことができる。もっとも上位にあるのはTeam Foundation Serverで、その下にチームプロジェクト、テスト計画、テストスイート、テスト計画、と構築していく。「構成の定義」でテストしようとするマシン環境のハードウエアとOS、ブラウザなどソフトウエアの構成を定義する。また具体的なテストケースを「テスト設定の定義」で作成する。この「構成の定義」と「テスト設定の定義」をマトリクスで組み合わせ、さまざまなケースに対応するテストを実行させる。テストケースやテストスイートをグループ化してまとめてテストをしたり、テストケースに優先順位を割り当てる、手動テストの担当者を割り当てる、などのマネジメントもできる。&lt;/P&gt;
&lt;P&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27075.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 1 - 5 - Attendee Party</title><link>http://sqljp.com/hotikisu/archive/2010/08/26/27074.aspx</link><pubDate>Thu, 26 Aug 2010 16:28:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/26/27074.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27074.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/26/27074.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27074.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27074.aspx</trackback:ping><description>&lt;P&gt;昨年はなかった「アテンディーパーティー」が今年は復活した。TechEd2010第一日目が終わった18:05から食事が用意された懇親パーティで、ThehEd2010の参加者とマイクロソフト社員、スピーカー、MVPとの交流を深めるチャンスだ。&lt;/P&gt;
&lt;P&gt;このアテンディーパーティでは懇親会場にXbox 360 Kinectの展示体験コーナーがあった。「写真撮影は禁止」の張り紙のある体験コーナーでは、実に面白いゲームが用意されていた。参加者は順番に列に並んでゲームに参加し、驚愕のゲーム体験をした。これは「Kinect」というXbox 360の新しいテクノロジを使ったゲームなのだが、担当者から「あまり詳しく書かないでください」と釘をさされたので、これ以上具体的に書くのは我慢しておく。とにかく面白い。発売が待ち遠しい。&lt;/P&gt;
&lt;P&gt;パーティの時間になると、会場ではロックバンドの演奏が始まった。パーティのオープニングを飾る演奏のあと、TechEd2010の基調講演で登壇したマイクロソフト株式会社執行役デベロッパー＆プラットフォーム統括本部長の大場章弘氏が登壇し、TechEd2010の成功と参加者への祝辞を述べたあと「みなさんのように私も自分の能力を発展させようと思います」といったような挨拶のうえ、なんと自前で購入のサックス演奏を披露した。バックバンドの演奏にあわせてサックスを吹く大場章弘氏は、とても素人とは思えない素晴らしい演奏で、参加者の大きな拍手で賞賛を浴びた。&lt;/P&gt;
&lt;P&gt;TechEd2010の参加者とマイクロソフトのエバンジェリスト、MVPがパーティ会場で和気あいあいと語りあう姿は、まさに技術者の交流がダイナミックに行われる場であることを実感した。&lt;/P&gt;
&lt;P&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27074.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 1 - 4 - T6-309「詳説！Visual Basic 10、C# 4.0の新機能～Visual Studio 2010で進化したコーディング環境～」</title><link>http://sqljp.com/hotikisu/archive/2010/08/26/27073.aspx</link><pubDate>Thu, 26 Aug 2010 08:59:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/26/27073.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27073.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/26/27073.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27073.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27073.aspx</trackback:ping><description>&lt;P&gt;マイクロソフトのエバンジェリスト新村剛史氏によるセッションである。まず「開発言語の今とこれまで」として、1957年のFortranから約50年の間にあらわれた様々な開発言語についてざっくりまとめられた。数多くの開発言語には「オブジェクト指向」などプログラミング概念の変遷がある。そしてC#はJava、Visual Basic、C++のそれぞれの特徴を取り入れて作られた開発言語だ。Visual Basicは2002年の.NETフレームワークによりVB7として大きく変化し、同時にC#1.0が公開された。そしてVB8とC#2.0でジェネリクス、VB9とC#3.0でLINQの技術を取り入れながら、両者は互いに歩み寄りながら進化している。そしてVB10、C#4.0でさらに近くなったのが現在である。&lt;/P&gt;
&lt;P&gt;ここでVB10とC#4.0を取り上げて開発言語の新機能について、これまでC#でできたこと、できなかったこと、VBでできたこと、できなかったことを表の形でまとめながら説明される。&lt;/P&gt;
&lt;P&gt;C#の新機能として、まず「オプション引数」と「名前付き引数」が紹介された。「オプション引数」は引数にデフォルト値を設定し、記述されなかった引数はデフォルト値が渡されたものとして処理する、というものである。「名前付き引数」は引数に名前を付けて記述し、引数の順番を入れ替えることができるというものだ。&lt;/P&gt;
&lt;P&gt;「遅延バインディング」は実行時に型を確定して実行するもので、コンパイル時には静的型チェックをバイパスしてエラーを出さずにコンパイルする。型としては異なっていても、同様の機能を利用する場合に使い、ダックタイピングと言われる。これはCOM相互運用を簡単にするために実装された。&lt;/P&gt;
&lt;P&gt;VBの新機能としては、自動実装プロパティ、コレクション初期化子、アンダーバーなしの改行が可能になる暗黙の行連結、複数行のラムダ式とラムダ式によるサブルーチンなどがある。&lt;/P&gt;
&lt;P&gt;VB、C#共通の新機能としては、PythonやRubyなど動的言語との連携サポート共変性と反変性が紹介された。特に共変性と反変性については、図で示しながらコードサンプルも例示し、かなりの時間を割いて説明がなされた。実際に自分でコーディングしながら理解しなければならない概念である。&lt;/P&gt;
&lt;P&gt;Visual Studio 2010のエディターとしての新機能は、強化された検索機能、参照の強調表示、C#だけではあるが呼び出し階層のツリー表示、コードの自動生成がある。コードの自動生成は、定義されないクラスや型を書いたとき、エディタが自動生成してくれる機能であり、とても便利だと感じた。またヒントチップで追跡したい値をコードの近くにピン止めできる機能が追加され、地味ではあるが便利な機能である。またブレークポイントにラベルを付けることができる機能、ブレークポイントのインポートとエクスポートの機能が追加された。これなどは実際に開発者の意見を取り入れた機能強化だという印象を受けた。&lt;/P&gt;
&lt;P&gt;このセッションを終えて思ったことだが、C#1.0が2002年、C#2.0が2005年、C#3.0が2006年、そしてC#4.0が2010年と言語仕様が拡充している。このような言語仕様の拡充は開発者が煩雑に思うコーディングの負荷を減らすために行われるので、新しい仕様を知らなければ、いつまでも手間のかかるコーディングをそれと気づかずにしてしまうことになるだろう。また逆に、あまりないケースかもしれないが、最新の言語仕様でコーディングに慣れたプログラマーが、古い言語仕様でしか開発できない環境に出会ったとき、思わぬトラブルに遭遇する可能性もあるということだ。いずれにせよ開発者は、言語仕様の拡充に注意を払いながらプログラミングスキルを磨き続けなければならない時代である、ということだろう。&lt;/P&gt;
&lt;P&gt;それにしてもクラウド技術が中心のTehcEd2010だが、このようなプログラミング技術のセッションも大人気である。このセッションはルームCで行われたが、びっしりと並べられた椅子のほぼ全席が参加者で満員となり、熱気で会場の空調も力不足に感じられるほどだった。&lt;/P&gt;
&lt;P&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27073.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 1 - 3 - BOF-02「SharePoint Serverで実現する業務改善と導入のコツ」 </title><link>http://sqljp.com/hotikisu/archive/2010/08/25/27072.aspx</link><pubDate>Wed, 25 Aug 2010 22:11:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/25/27072.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27072.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/25/27072.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27072.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27072.aspx</trackback:ping><description>&lt;P&gt;BOFは「Birds of Feather」で「類は友を呼ぶ」といった意味だ。このセッションでは、SharePointを利用しているユーザーが、互いのノウハウをもちよって情報交換するものだ。&lt;/P&gt;
&lt;P&gt;司会の山崎愛さんは「オフィスアイ株式会社」の代表で、SharePointのMVPでもある。SharePointの導入支援や開発トレーニングなどを行っている、SharePointの大家である。このセッションは山崎愛さんと同じくSharePoint MVPの及川紘旭さん、北端智さん、西田良映さんの4人のMVPで開催された。&lt;/P&gt;
&lt;P&gt;参加者はいくつかの円陣になって椅子に座り、簡単なアンケートをもとにそれぞれの利用方法などを交流した。社内の「お知らせ」の運用、社内規定の共有、一般文書管理、社内システムと連動した販売管理や在庫管理、Excel Serviceの利用、など様々な利用場面があった。&lt;/P&gt;
&lt;P&gt;電子メールに過度に依存したNotesをやめたいのでSharePointの導入を考えて評価している、というケースもあった。実際にNotesからの移行事例は多いようだ。Notesは自由にユーザーがカスタマイズできるところが逆に問題になり、きちんと管理できるシステムに移行したいという。&lt;/P&gt;
&lt;P&gt;運用面のケースも議論になり、一般的な文書管理をファイルサーバーではなくてSharePointで行う利点は何か、ファイルサーバーとSharePointとの文書管理の使い分けはどう運用しているか、などが話題になった。「通常の一般文書はファイルサーバーで管理し、人に見せるに値するものだけをSharePointにあげる」といった運用から、「完成した文書はファイルサーバーで、未完成でバージョン管理しなければならないものはSharePointで」といった運用まで多様だった。また一年たったら情報はすべて捨てるといった割り切った運用で成功している事例も報告された。社内アンケートに威力を発揮している、という報告もあった。&lt;/P&gt;
&lt;P&gt;これら参加者の報告を聞くと、まさに会社の運用ポリシーや既存システムとの併用など、様々な利用形態があるのだとわかった。BOFもMicrosoft TechEdの大きな魅力のひとつだ。&lt;/P&gt;
&lt;P&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27072.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 1 - 2 - T1-302「次世代Microsoft Online Serviceの最新情報」 </title><link>http://sqljp.com/hotikisu/archive/2010/08/25/27071.aspx</link><pubDate>Wed, 25 Aug 2010 21:42:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/25/27071.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27071.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/25/27071.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27071.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27071.aspx</trackback:ping><description>&lt;P&gt;このセッションでは現行のMicrosoft Onlineについて俯瞰し、2010年前半の追加機能についてのまとめ、そして次世代Microsoft Online Serviceについての説明があった。&lt;/P&gt;
&lt;P&gt;現行のMicrosoft Online Serviceは、Exchange Online、SharePoint Online、Office Comminications Online、Office Live Meeting Onlineの4つがサービスされている。これらは「安価」「便利」「安心」をキーワードに提供されるサービスだ。データセンターは世界中に分散しているが、アジアパシフィック圏のユーザーには、シンガポールと香港のデータセンターが割り当てられるという。これらのデータセンターは地理的にも二重化されており、各センターも物理対策、ネットワーク対策など二重化、冗長化されており、9階層にわたるセキュリティ対策が施されている。&lt;/P&gt;
&lt;P&gt;2010年前半の追加機能としては、メールボックスを5Gから25Gに大容量化したこと、Office 2010のサポート、Macサポート、BlackBerryサポートである。次世代Microsoft Online Serviceは、新しい認証とシングルサイオンを実現するもので、企業内のAD認証を利用してMicrosoft Online Serviceにもシングルサインオンできる仕組みを作れるとのことだ。またIDカードなどを併用した「2因子ユーザー認証」も可能となっている。&lt;/P&gt;
&lt;P&gt;ユーザー認証はMicrosoft Onlineポータルによって行い、ユーザー管理やセキュリティグループ管理、ライセンス管理はWindows Power Shellスクリプトが利用できるようだ。大量のユーザーを追加するなどの作業が、Windows Power Shellによって一括で行えることになる。&lt;/P&gt;
&lt;P&gt;デモでは、Windows Power Shellを使ってユーザー情報を取得すること、電子メールを組織内から組織外に出す場合などで「個人情報」などの文字列をキーワードとしてメールの送信を上司に承認するプロセスの実演、チームサイトの作成、タグクラウドの使い方、パワーポイントのドキュメントをチームサイトに発行し、クライアントにパワーポイントアプリケーションがインストールされていなくても編集できるという実演、Office Communications OnlineとOffice Live Meeting Onlineを使って、遠隔地の同僚のプレゼンス情報を確認しながらチャットでメッセージを送り、テレビ会議で相談の上でデスクトップを共有して遠隔の相手に自分のPCのExcelシートを編集してもらう、といったデモが行われた。これらのデモはまったくスムーズに行われ、離れたところにいる同僚との仕事のコラボレーションがストレスなくできる時代の到来を感じさせた。&lt;/P&gt;
&lt;P&gt;これら次世代Microsoft Online Serviceは近いうちに限定ベータが始まるという。また現行Microsoft Online Serviceは30日限定トライアル版があるので、試してみることができる。&lt;/P&gt;
&lt;P&gt;「Microsoft Online Services製品情報ホーム」&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/online/default.mspx"&gt;http://www.microsoft.com/japan/online/default.mspx&lt;/A&gt;&lt;BR&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27071.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Microsoft TechEd 2010 レポート - Day 1 - 1 - 基調講演「現実解としてのクラウドを支える最新テクノロジ」</title><link>http://sqljp.com/hotikisu/archive/2010/08/25/27070.aspx</link><pubDate>Wed, 25 Aug 2010 20:54:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/08/25/27070.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27070.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/08/25/27070.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27070.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27070.aspx</trackback:ping><description>&lt;P&gt;2005年から毎年欠かさずMicrosoft TechEdに参加しているが、このパシフィコ横浜に来ると、技術的な知識を得ることができると同時に、いや、それ以上に大きなエネルギーをもらうことができる。最新の技術を自分の仕事の上で利用する可能性、近い将来やってくる新しい技術を使うための準備、まったく新しいアイデア、これらの技術に果敢に取り組むエンジニアの姿に触れると、自分にももっとできることがあるはずだ、という勇気を与えられる。&lt;/P&gt;
&lt;P&gt;さて今年のTechEd2010の基調講演は「現実解としてのクラウドを支える最新テクノロジ」と題されたもので、壇上に立ったマイクロソフト株式会社執行役デベロッパー＆プラットフォーム統括本部長の大場章弘氏は「最大のテーマはクラウドです」と挨拶の冒頭で宣言した。確かにクラウドは今回のTechEd2010の重要なテーマだが、必ずしもクラウド一色ではなく、地味だが実用的で味のある様々な新しいテクノロジが紹介された基調講演だった。&lt;/P&gt;
&lt;P&gt;まず大場章弘氏からは、実際にWindows Asureが利用された事例として、今年の甲子園、第92回全国高校野球選手権大会の模様をSilverlightを使って動画配信した事例や、大量の画像情報をSilverlightで素早くズームイン、ズームアウトしながら目的のコンテンツを探す「Netflixインスタント・ウォッチ・ムービー」のデモなどが行われた。この「Netflixインスタント・ウォッチ・ムービー」は実際に見てみないと実感しにくいが、従来のWebアプリケーションからは想像を絶する表現力を持っている。&lt;/P&gt;
&lt;P&gt;また東芝からlibrettoの25周年モデルの実演も行われ、クラウドを利用した電子出版のプラットフォーム「書蔵（しょぐら）」の紹介も行われた。&lt;/P&gt;
&lt;P&gt;「Netflixインスタント・ウォッチ・ムービー」&lt;BR&gt;&lt;A href="http://netflixpivot.cloudapp.net/"&gt;http://netflixpivot.cloudapp.net/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;「書蔵（しょぐら）」&lt;BR&gt;&lt;A href="http://shogura.jp/"&gt;http://shogura.jp/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;次いで「株式会社バンテック」のBPOSとAsureの利用、「株式会社パソナ」のプロジェクト案件の予実管理システムの紹介、「ブルーオーシャンシステム」の岡本健治氏からは、介護、支援、医療、保育の現場を支援する記録管理システムの紹介、「日本電子計算株式会社」の谷藤一氏からは金融分野のコマーシャルペーパーを扱うシステムの紹介、「NTTコミュニケーションズ株式会社」の栗原秀樹氏からはプライベートクラウドの構築支援の報告があった。いずれの事例も、まさにクラウド時代に突入したのだ、という実感を持てるものだった。もう走り出しているのだ。&lt;/P&gt;
&lt;P&gt;基調講演の後半は「クラウド時代をリードし続けるマイクロソフトのビジョン」として、マイクロソフトのクラウドテクノロジのロードマップが示された。コードネーム&amp;#8221;Dallas"で呼ばれるデータ配信ビジネスは、NASAや米国政府、国連など大規模利用が始まっている。例えばNASAでは大量の火星の写真を組み合わせて3D表現するサービスができている。さらにWindows Asureにおける大規模並列処理の実際、Internet Explorer 9の実演などが行われた。このうちInternet Explorer 9では、HTML5、CSS3、SVGをサポート、IE内部に持ち高速で動作する新しいJava Scriptエンジン「Chakra」、GPU Powerd HTML5などが説明された。デモでは熱帯魚がIE画面上を泳ぐものが実演され、IE7や他社製のブラウザとの動作比較は、一目瞭然、IE9のパフォーマンスが良いことがわかった。&lt;/P&gt;
&lt;P&gt;続いてエバンジェリスト高橋忍氏の「Windows Phone 7開発」のデモがあった。このデモでは、まだ日本には数台しかないWindows Phone 7を使って専用のTwitterクライアントを作るというもので、高橋氏の鮮やかな手さばきでさくさくとWindows Phone 7専用アプリができるところは見事だった。できた専用クライアントを入れたWindows Phone 7は執行役の大場章弘氏に手渡され、「飲み屋で忘れないようにしてください」という高橋氏の突っ込みに会場が沸いた。&lt;/P&gt;
&lt;P&gt;そしてエバンジェリストの近藤和彦氏によるVisual Studio「Light Switch」による開発デモがあった。そのコンセプトは「簡単な開発」「迅速な開発」「柔軟な開発」であり、まったくコードを書かずにデータベースアプリケーションを作ることができるものだ。開発は2段階で行われ、まず「データソースの定義」そして「画面レイアウトの定義」と行う。この開発スタイルのうち、データソースの定義は、まさに表面的にはInfoPathのフォーム開発のような手軽さだった。この「Light Switch」は大いなる歓迎をもって開発者に受け入れられるに違いない。&lt;/P&gt;
&lt;P&gt;最後に「クラウド時代に求められるIT技術者」として、クラウド時代におけるIT技術者の重要性とは、基本的な管理業務の効率化、ツールとテクノロジの進化、コンピューティングリソースのコモディティ化、より使いやすくニーズの変化に素早く対応できるシステム開発、より高度なIT全体設計、があげられた。技術者はこれらテクノロジの進化に対応しながら自らをブラッシュアップしなければならない。そしてマイクロソフトはクラウド時代の技術者コミュニティを支援する、とのまとめがあった。&lt;/P&gt;
&lt;P&gt;Microsoft TechEd 2010 Japan 公式サイト&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/teched/2010/"&gt;http://www.microsoft.com/japan/teched/2010/&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27070.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>エクセルのマクロで図形を操作する（３） - オートシェイプに名前をつける</title><link>http://sqljp.com/hotikisu/archive/2010/07/19/27046.aspx</link><pubDate>Mon, 19 Jul 2010 10:07:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/07/19/27046.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27046.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/07/19/27046.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27046.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27046.aspx</trackback:ping><description>&lt;P&gt;エクセルのシート上に作成したオートシェイプは番号がついているが、番号ではなく、オートシェイプに名前を付けて区別することもできる。例えばこんな具合だ。&lt;/P&gt;
&lt;P&gt;Sub smaile()&lt;BR&gt;ActiveSheet.Shapes.AddShape msoShapeSmileyFace, 10, 20, 100, 100&lt;BR&gt;ActiveSheet.Shapes.AddShape msoShapeSmileyFace, 120, 20, 100, 100&lt;BR&gt;ActiveSheet.Shapes(1).Name = "taro"&lt;BR&gt;ActiveSheet.Shapes(2).Name = "hanako"&lt;BR&gt;Sheet1.Shapes("taro").IncrementRotation (-20)&lt;BR&gt;Sheet1.Shapes("hanako").IncrementRotation (20)&lt;BR&gt;Sheet1.Shapes("taro").Adjustments.Item(1) = 0.5&lt;BR&gt;Sheet1.Shapes("hanako").Width = 160&lt;BR&gt;Sheet1.Shapes("hanako").Height = 160&lt;BR&gt;End Sub 
&lt;P&gt;&lt;A href="https://efmmuq.bay.livefilestore.com/y1mjOF3SdO4ubqrj47MVlDTyNGCWLqbbaT23gRkEItmkwiUDjDVlSSghbH1yRaLRg2eL5gmY9BwSMUGzPXanvjDgOlJ-ucarEMt4TZ6zfN1yeUlw5LbvcBwnWC86vjH2habVwtHjKpzQNSsKogRsSwB2g/excel_macro_002[3].png?download&amp;amp;psid=1" rel=WLPP&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=excel_macro_002 border=0 alt=excel_macro_002 src="https://efmmuq.bay.livefilestore.com/y1mdaa5ILiM6TyLQ2oLfiAHhEdw_6U6xjJKxzlmTbACKptDRI3BNMdPnfScCMLgVrb7TeXw4i6nO7pzIbzQWJBwVWT7Km3salTmcBdnDEfLEk6ptcJGZMWPQwGECziBrSliOwAIHVM4ke0lgyJxiymXUA/excel_macro_002_thumb[1].png?download&amp;amp;psid=1" width=453 height=314&gt;&lt;/A&gt;&amp;nbsp;&lt;BR&gt;(Fig.1 オートシェイプを2つ作成し名前を付けて角度や変形、大きさを変えた) 
&lt;P&gt;ここでは作成した2つのオートシェイプに「taro」と「hanako」という名前をつけている。「taro」に操作をするときはShapes("taro")、「hanako」に操作をするときはShapes("hanako")と記述して区別できる。ここでは「taro」を左に20度（つまり右に-20度）回転、変形を0.5、「hanako」は右に20度回転、幅と高さを160に拡大している。&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27046.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>エクセルのマクロで図形を操作する（２） - 作成したオートシェイプには番号がついている</title><link>http://sqljp.com/hotikisu/archive/2010/07/19/27045.aspx</link><pubDate>Mon, 19 Jul 2010 10:05:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/07/19/27045.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27045.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/07/19/27045.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27045.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27045.aspx</trackback:ping><description>&lt;P&gt;エクセルのシート上に作成されたオートシェイプは連番で管理されている。たとえば次のようなマクロを作って実行する。結果はこんな具合だ。&lt;/P&gt;
&lt;P&gt;Sub smaile()&lt;BR&gt;ActiveSheet.Shapes.AddShape msoShapeSmileyFace, 10, 20, 100, 100&lt;BR&gt;ActiveSheet.Shapes.AddShape msoShapeSmileyFace, 120, 20, 100, 100&lt;BR&gt;Sheet1.Shapes(1).IncrementRotation (-10)&lt;BR&gt;Sheet1.Shapes(2).IncrementRotation (10)&lt;BR&gt;Sheet1.Shapes(1).Adjustments.Item(1) = 0.5&lt;BR&gt;End Sub 
&lt;P&gt;&lt;A href="https://efmmuq.bay.livefilestore.com/y1moOBZZc1y5mGLwJT-22X53nbAoPXRLdjs17PEcBxjFMWxDqwC3AovUo34C_CNHgtsM5bezvNffXiYKAdB44MI5fnHbwZDBQ8X45M8k5k545DLePjt03ZqZha6hURajiAMBgggh2EvjTcGkr1H7m1Iyg/excel_macro_001[3]%20178BD684.png?download&amp;amp;psid=1" rel=WLPP&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=excel_macro_001 border=0 alt=excel_macro_001 src="https://efmmuq.bay.livefilestore.com/y1mnnA86rQFxAm3J5VzP4eG7Q8r5sr3RbHKRGaxfDjSBXU9C7T9HUkdyIdNe-yTVCeBBFjEMNMr3PnCkLlLjHQrjsgS4JR5ZBchBeZF-xpLodZo5DBXh07YMsUpzzJ3ZWKddvNaaRJll-cXF_8LxJKxBg/excel_macro_001_thumb[1].png?download&amp;amp;psid=1" width=382 height=252&gt;&lt;/A&gt;&amp;nbsp;&lt;BR&gt;(Fig.1 マクロによって作成した2つのオートシェイプ) 
&lt;P&gt;ここでは2つのオートシェイプを作っているが、それぞれ作成された順番でShapes(1)、Shapes(2)という連番で管理されている。最初に作成したオートシェイプは図の左側のもので、こちらはShapes(1)、次に作成したオートシェイプが右側で、Shapes(2)である。Shapes(1)を左に10度（つまりマイナス10度）回転させ、Shapes(2)を右に10度回転させる、そして右側のShapes(1)については、Adjustment.Itemの値を変えて変形している。&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27045.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>エクセルのマクロで図形を操作する（１） - マクロでオートシェイプを作成する</title><link>http://sqljp.com/hotikisu/archive/2010/07/19/27044.aspx</link><pubDate>Mon, 19 Jul 2010 10:01:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/07/19/27044.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27044.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/07/19/27044.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27044.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27044.aspx</trackback:ping><description>&lt;P&gt;あることを思い立ち、エクセルのマクロで作ってみたものがある。そのため、図形を操作するマクロについて調べている。&lt;/P&gt;
&lt;P&gt;エクセルのマクロは習得が簡単だ。その理由のひとつに「マクロの記録」がある。マクロで自動化したい操作を「マクロの記録」を実行してマウスやキーボードで操作すると、その操作がマクロとなって記録される。これはいわばユーザーの操作を記録しているわけで、このマクロを分析し加工すれば思いのままに操作を自動化できる。&lt;/P&gt;
&lt;P&gt;例えばMicrosoft Excel 2003でオートシェイプを作り、形を変化させ、回転する、という操作をマクロに記録すると、次のようなマクロができる。&lt;/P&gt;
&lt;P&gt;------------------------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;Sub Macro1()&lt;BR&gt;'&lt;BR&gt;' Macro1 Macro&lt;BR&gt;' マクロ記録日 : 7/19/2010? ユーザー名 :&lt;BR&gt;' 
&lt;P&gt;'&lt;BR&gt;??? ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, 124.5, 87.75, 126.75, 53.25).Select&lt;BR&gt;??? Selection.ShapeRange.Adjustments.Item(1) = 0.5&lt;BR&gt;??? Selection.ShapeRange.IncrementRotation 35.28&lt;BR&gt;End Sub 
&lt;P&gt;------------------------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;ActiveSheet.Shapes.AddShape()によってシートにオートシェイプが作られる。()の中には5つの引数があり、最初のmsoShapeRoundedRectangleがオートシェイプの種類、続く4つの数字はオートシェイプの大きさと位置を決めている。これらの数値を変更したマクロを作り実行すると、引数は「オートシェイプの種類、横の位置、縦の位置、横の大きさ、縦の大きさ」であることがわかる。 
&lt;P&gt;Selection.ShapeRange.Adjustments.Item()はオートシェイプの変形だ。オートシェイプの中には黄色の菱形アンカーポイントを持つものがあり、変形することができる。 
&lt;P&gt;Selection.ShapeRange.IncrementRotationはオートシェイプの回転であり、右回りの回転角度で指定する。右回りに90度回転させるなら値は「90」だ。 
&lt;P&gt;ここで自動的に作成されたマクロでオートシェイプを作ることができるが、より実際的にオートシェイプを操作するためには、次のように書くこともできる。 
&lt;P&gt;●オートシェイプを作成する 
&lt;P&gt;ActiveSheet.Shapes.AddShape msoShapeRoundedRectangle, 10, 20, 50, 60 
&lt;P&gt;●作成したオートシェイプを右に5度回転させる 
&lt;P&gt;Sheet1.Shapes(1).IncrementRotation (5) 
&lt;P&gt;●作成したオートシェイプの横の大きさを100に変える 
&lt;P&gt;Sheet1.Shapes(1).Width = 100 
&lt;P&gt;●作成したオートシェイプの塗りを半透明化する 
&lt;P&gt;Sheet1.Shapes(1).Fill.Transparency = 0.5 
&lt;P&gt;●作成したオートシェイプの変形を0.5にする 
&lt;P&gt;Sheet1.Shapes(4).Adjustments.Item(1) = 0.5&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27044.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>SQL Serverのユーザー定義関数を使おう～（９）日付に関するユーザー定義関数を作る</title><link>http://sqljp.com/hotikisu/archive/2010/06/15/27024.aspx</link><pubDate>Tue, 15 Jun 2010 00:10:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/06/15/27024.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27024.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/06/15/27024.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27024.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27024.aspx</trackback:ping><description>&lt;P&gt;日付に関するユーザー定義関数を作った。この関数を作った目的は、今年度の範囲で処理をする場面が多かったので、「今年度の最初の日」と「今年度の最後の日」を知るユーザー定義関数を作ろうと思ったためだ。例えば日付が「2010年6月15日」だと、この日に対して「今年度最初の日」は「2010年4月1日」であり、「今年度最後の日」は「2011年3月31日」である。&lt;/P&gt;
&lt;P&gt;2010年であっても、4月1日以前は前年度である。日付が「2010年3月15日」だと、この日に対して「今年度最初の日」は「2009年4月1日」であり、「今年度最後の日」は「2010年3月31日」なのだ。&lt;/P&gt;
&lt;P&gt;そこでこの関数の中では、まず「日付」に対して「年度」を求めている。「年度」さえ判定できれば、その年の4月1日が「今年度最初の日」であり、次の年の3月31日が「今年度最後の日」である。&lt;/P&gt;
&lt;P&gt;使い方は、select dbo.fx日付('2010/06/15','年度最初日')、のようにする。最初の引数が日付で、次の引数がパラメーターだ。パラメーターは「年度最初日」と「年度最後日」を実装しているが、これも拡張可能である。日付に関するいろいろな処理を一括してこの関数に盛り込もうと思ったので、パラメーターによって拡張可能にしている。&lt;/P&gt;
&lt;P&gt;また、今日の日付で「今年度の最初の日」を求めたいなら、select dbo.fx日付(getdate(),'年度最初日')、にすることもできる。&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;create function [dbo].[fx日付]&lt;BR&gt;&amp;nbsp;(&lt;BR&gt;&amp;nbsp;@P_日付 smalldatetime,&lt;BR&gt;&amp;nbsp;@p_パラメータ varchar(10)&lt;BR&gt;&amp;nbsp;)&lt;BR&gt;returns smalldatetime&lt;BR&gt;as&lt;BR&gt;begin&lt;/P&gt;
&lt;P&gt;declare @thisnendo int&lt;BR&gt;declare @thisyear41 smalldatetime&lt;/P&gt;
&lt;P&gt;/*年度の取得*/&lt;BR&gt;set @thisyear41 = cast(cast(datepart(year,@p_日付) as varchar) + '/' +'4/1' as smalldatetime)&lt;BR&gt;if @p_日付 &amp;gt;= @thisyear41&lt;BR&gt;&amp;nbsp;begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;set @thisnendo = datepart(year,@p_日付)&lt;BR&gt;&amp;nbsp;end&lt;BR&gt;if @p_日付 &amp;lt; @thisyear41&lt;BR&gt;&amp;nbsp;begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;set @thisnendo = datepart(year,@p_日付)-1&lt;BR&gt;&amp;nbsp;end&lt;/P&gt;
&lt;P&gt;/*今年度最初の日を求める*/&lt;BR&gt;if @P_パラメータ = '年度最初日'&lt;BR&gt;&amp;nbsp;begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;return cast(cast(@thisnendo as varchar) + '/' +'4/1' as smalldatetime)&lt;BR&gt;&amp;nbsp;end&lt;/P&gt;
&lt;P&gt;/*今年度最後の日を求める*/&lt;BR&gt;if @P_パラメータ = '年度最後日'&lt;BR&gt;&amp;nbsp;begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;return cast(cast((@thisnendo + 1) as varchar) + '/' +'3/31' as smalldatetime)&lt;BR&gt;&amp;nbsp;end&lt;BR&gt;return null&lt;BR&gt;end&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27024.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>SQL Serverのユーザー定義関数を使おう～（８）生徒情報を取得するユーザー定義関数を作る </title><link>http://sqljp.com/hotikisu/archive/2010/06/14/27023.aspx</link><pubDate>Mon, 14 Jun 2010 23:33:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/06/14/27023.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27023.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/06/14/27023.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27023.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27023.aspx</trackback:ping><description>&lt;P&gt;システムを作っていくと、多くの場所で同じ処理をすることに気づく。例えば生徒の基本情報を記録する「生徒」テーブルには、生徒の氏名を「姓」と「名」のフィールドで記録している。しかし帳票では「姓＋名」で表示をしたいので、至る所で「姓＋'　'＋名」のような処理をすることになる。このような似たような処理はユーザー定義関数を作っておくとよい。&lt;/P&gt;
&lt;P&gt;ここでは生徒基本情報である「生徒」テーブルから、学籍番号をキーにして生徒の情報を関数で取り出すものを作ってみた。&lt;/P&gt;
&lt;P&gt;使い方はこうだ。生徒の姓名が欲しいときには「select dbo.fx生徒('1234567','姓名')」のようにする。最初の引数が学籍番号で、次の引数はパラメータだ。性別を知りたいときは「select dbo.fx生徒('1234567','性別')」のようにする。関数の作りは簡単で、パラメータによってif文で条件分岐しているだけである。&lt;/P&gt;
&lt;P&gt;この関数はパラメーターを増やすと改正可能である。増やす分には既に作ったクエリやストアドプロシージャに影響を与えない。&lt;/P&gt;
&lt;P&gt;------------------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;create function [dbo].[fx生徒]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @p_学籍番号 char(7),&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @p_種類 varchar(50)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR&gt;returns varchar(50)&lt;BR&gt;as&lt;BR&gt;begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if @p_種類= '姓名'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (SELECT 生徒姓+ '　' + 生徒名 FROM dbo.生徒 where 学籍番号 = @p_学籍番号)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if @p_種類= '姓'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (SELECT 生徒姓 FROM dbo.生徒 where 学籍番号= @p_学籍番号)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if @p_種類= '名'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (SELECT 生徒名 FROM dbo.生徒 where 学籍番号= @p_学籍番号)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if @p_種類= '性別'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (SELECT dbo.kbn_性別.区分名 FROM dbo.生徒&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INNER JOIN dbo.kbn_性別 ON dbo.生徒.性別 = dbo.kbn_性別.区分コード&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where dbo.生徒.学籍番号 = @p_学籍番号)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if @p_種類= '性別コード'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (SELECT 性別 FROM dbo.生徒 where 学籍番号= @p_学籍番号)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;BR&gt;return null&lt;BR&gt;end&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27023.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Kindle2利用レポート（１０）Windowsのメモ帳で作ったテキストファイルをKindle2に入れるときは文字コードを「UTF-8」にするのが良い。</title><link>http://sqljp.com/hotikisu/archive/2010/05/30/27015.aspx</link><pubDate>Sun, 30 May 2010 11:52:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/05/30/27015.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27015.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/05/30/27015.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27015.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27015.aspx</trackback:ping><description>&lt;P&gt;いままでPDF形式をKindle2に読み込ませる、ということばかりやっていたが、実は英語のテキストファイルなら、そのまま送り込んでKindle2で読めるのだ。さらにテキストファイルなら文字の大きさも変えることができるし、Text-to-Speech機能も使うことができる。英文をKindle2が読み上げてくれるのだ。&lt;/P&gt;
&lt;P&gt;ロック・バンドの歴史を調べるには、日本のWikipediaよりも米Wikipediaのほうがいい。とても詳しい歴史や、様々な逸話が紹介されている。そこでサンプルに米Wikipediaでロックバンド「ディープ・パープル Deep Purple」を調べ、テキスト形式にしたものをKindle2で読むことをやってみた。&lt;/P&gt;
&lt;P&gt;やり方は簡単だ、米WikipediaでDeep Purpleを検索し、ページの本文を選択してコピーする。そしてWindowsの「メモ帳」を起動し、テキストを貼り付ける。ただそれだけだ。ただし、保存するときに注意が必要だ。文字コードの違いによってはKindle2で表示したときに文字化けがする場合がある。&lt;/P&gt;
&lt;P&gt;例えばWindows XP SP3で「メモ帳」を起動したときには、4つの異なる保存形式を利用できる。「ANSI」、「Unicode」、「Unicode big endian」、「UTF-8」である。「メモ帳」で保存するとき、「文字コード」のオプションでこれら4つの形式を変えることができる。&lt;/P&gt;
&lt;P&gt;ファイル名は「半角英語」あるいは「直接入力」で英語のファイル名にする。ファイル名が日本語では、Kindle2に送り込んだときにメニュー画面に表示される文書名がわからなくなるからだ。同じテキストを4つの異なる文字コードで保存し、それぞれ文字コード形式がわかるように「wp_deep_purple_ansi.txt」、「wp_deep_purple_unicode.txt」、「wp_deep_purple_unicode_big_endian.txt」、「wp_deep_purple_utf8.txt」というファイル名にした。&lt;/P&gt;
&lt;P&gt;ファイル名は英語フォントでなければならないが、Kindle2の「documents」フォルダの中に自分でフォルダを作って入れることもできる。ファイルが多くなると収拾がつかなくなるので、自分なりにフォルダを作って整理するのがいいだろう。このとき、フォルダ名は日本語を使っても差し支えない。&lt;/P&gt;
&lt;P&gt;まず本文の中から文字化けの具合が比べられる部分を選んでみる。違いがわかったのは、「-（ハイフン)」のように見える記号の表示と改行の具合だった。ちなみに他の部分の「-（ハイフン）」のように見えるところで文字化けしていないところもあるし、改行も全ての行でおかしくなるのではないようだ。&lt;/P&gt;
&lt;P&gt;違いを比べるために、まずコンピュータの画面で正しい表示具合を確認しておく。本文中にバンドの歴史を時代ごとに箇条書きにまとめた部分があり、行の最後に括弧書きで(1967-68)といった記述のある部分があった。この部分で文字化けと改行の不具合が出ることがわかった。&lt;/P&gt;
&lt;P&gt;まず「ANSI」コードで保存されたものは、年号の間をつなぐ「-（ハイフン）」のように見える記号が全く表示されず、スペースとして表示される。次に「Unicode」と「Unicode big endian」で保存されたものは、いずれも「-（ハイフン）」のように見える記号が全く表示されず、スペースとして表示されるとともに、これらの行だけ2行分に改行されて見える。そして「UTF-8」コードで保存したものは、PCの画面上のテキスト表示と同じように表示された。&lt;/P&gt;
&lt;P&gt;これらのテキストファイルは、文字コードの違いによって一部の文字に文字化けがおこり、改行の具合がおかしくなることがわかった。そして最も正しく表示されるコード形式は「UTF-8」であるようだ。だがどの文字コード形式であっても、基本的なアルファベットはちゃんと読むことができる。そのために違いがわかるまでは、どの形式で保存しても同じではないか、と思ったくらいだ。したがってここで得られた知見は、ある文書を試験的にKindle2で保存した経験的なものであって、技術的な裏づけを持っているわけではないが、これらの結果からはWindowsの「メモ帳」で保存する文字コード形式としては「UTF-8」を選ぶべきだ、と言っていいだろう。&lt;/P&gt;
&lt;P&gt;テキストファイルとしてKindleに保存したファイルは、「AA」ボタンをクリックしてフォントの大きさを変えることもできるし、Text-to-Speechも使うことができる。テキスト形式のドキュメント保存は、Kindle2でドキュメントを扱う方法として、簡単でしかも実用的な使い方だと思う。&lt;/P&gt;
&lt;P&gt;またKindle2で当該のファイルを表示すると、documentフォルダにドキュメントファイル名と同じ名前で拡張子が「.mbp」というファイルが自動的に生成する。これはドキュメントを読んでいる場所を記録したり、Kindle2が利用するためのファイルであると思われる。&lt;/P&gt;
&lt;P&gt;こちらのblogには同じ内容を画面キャプチャや写真を使って説明している。こちらも参考にしてほしい。&lt;BR&gt;&lt;A href="http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!207.entry"&gt;http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!207.entry&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27015.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>ZUNE、Windows Mobile、Kindle、iPod TouchのためにSANYOのeneloop USB出力付リチウムイオンバッテリーKBC-L2を使う。</title><link>http://sqljp.com/hotikisu/archive/2010/05/29/27013.aspx</link><pubDate>Sat, 29 May 2010 11:37:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/05/29/27013.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27013.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/05/29/27013.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27013.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27013.aspx</trackback:ping><description>&lt;P&gt;ZUNE、Windows Mobile、Kindle、iPod Touchなどモバイル機器を複数持ち歩くようになると、充電のことも考えなければいけない。出先でバッテリーが放電すると悲しいからだ。これらのモバイル機器は単なる文鎮と化してしまう。&lt;/P&gt;
&lt;P&gt;最近のモバイル機器は、ほぼUSB充電に対応しているので嬉しい。パソコンがあればUSB接続ケーブルでパソコンから充電することができる。たいていの場合はモバイルPCを持っているので、PCからの充電で間に合うことが多い。&lt;/P&gt;
&lt;P&gt;しかし場合によってはPCを持っていない、あるいは持っていてもPCのバッテリーそのものを確保しておきたい、移動中なのでPCを起動できないなどの理由でUSB充電ができない場合がある。そのため俺はこれを持ち歩いている。SANYOのeneloop USB出力付リチウムイオンバッテリーKBC-L2だ。&lt;/P&gt;
&lt;P&gt;これさえあれば、ZUNE、Windows Mobile、Kindle、iPod Touchなどモバイル機器など、それぞれ対応するUSB接続ケーブルを使って充電することができる。USPポートは2つあり、同時に2台のUSB機器を充電できる。ケーブルを接続したら「DC OUT」ボタンを押すだけだ。出力はDC 5.0V、500mAであり、USBの規定電圧、電力であり、USB接続に準拠している機器なら問題ない。&lt;/P&gt;
&lt;P&gt;このバッテリー自身の充電は、USB接続でPCなどから充電する方法と、添付のACアダプターを使って充電する方法がある。USBを使えるということは、PCがあればUSBケーブルさえあれば充電できるので機動性が高い。&lt;/P&gt;
&lt;P&gt;この記事と同じ内容だが、こちらのblogでは写真入で紹介している。こちらも参考にしてほしい。&lt;BR&gt;&lt;A href="http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!195.entry"&gt;http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!195.entry&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27013.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Kindle2利用レポート（９）3G通信回線を介してAmazonのKindle Storeから本を買う。</title><link>http://sqljp.com/hotikisu/archive/2010/05/28/27012.aspx</link><pubDate>Fri, 28 May 2010 18:50:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/05/28/27012.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27012.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/05/28/27012.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27012.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27012.aspx</trackback:ping><description>&lt;P&gt;Kindleは3G回線を使ってインターネットに接続し、AmazonのKindle Storeから本を買うことができる。3G回線、ということは、要するに携帯電話の通信回線を利用するということだ。米AmazonはKindleおよびKindle Storeを世界展開するにあたり、各国の携帯電話会社とローミングサービスを結んだようだ。俺の周囲でも「日本でKindleを使うのは違法ではないか」といった勘違いを言っている人もいたが、そんなことはない。Amazonの正式な発表を見たことはなく、個人のblogなどから入手した情報でしかないのだが、米AmazonはAT &amp;amp; Tと契約し、日本ではNTT DocomoとAT &amp;amp; Tが契約しているローミングサービスを介して接続できるようにしているらしい。念のため、これはあくまでも二次情報からの推測だ。&lt;/P&gt;
&lt;P&gt;各国で利用できるKindleは米本国で発売されているものとは違い「US &amp;amp; International Wireless」バージョンというらしい。昨年秋に全世界で一斉展開され、100カ国以上ので発売されるようになった。&lt;/P&gt;
&lt;P&gt;3G回線を使う、つまり携帯電話の通信回線を使うということは、Kindle2本体が一個の携帯電話端末と同じ無線接続機能を持っていることを意味する。ということは、電話番号に相当する機器固有の番号があり、Kindle2でKindle Storeに接続する行為は、いわば電話をかけてインターネットに接続し、Webサイトにアクセスすることと同じであるといえる。これが通信料の負担なしでできるのだ。よほど田舎なら別だが、ある程度の都会ならば携帯電話に繋がらない場所は少ないだろう。つまり、たいていの場合は、いつでもどこでも思いついたときにKindle2はKindle Storeに接続することができ、書籍を検索してダウンロードすることができる、ということだ。実際、今回Kindle Storeから購入したのは、通勤途中の電車の中だった。&lt;/P&gt;
&lt;P&gt;Kindle2で通信回線を介してKindle Storeに接続するには、本体右側にある「MENU」ボタンをクリックし、表示されたメニューから「Shop in Kindle Store」を選択する。選択するには「5 - Way Controller」を押す。&lt;/P&gt;
&lt;P&gt;Kindle Storeのトップメニューが表示されると、画面の下部にテキストボックスが表示される。ここにKindle2本体のアルファベットキーを使って検索したい文字を入力し、5 - Way Controllerを押して「Search Store」をh実行することができる。試しに「ZUNE」のキーワードで検索すると、8冊の書籍を検索することができた。&lt;/P&gt;
&lt;P&gt;多くの書籍は購入する前に「サンプル」を無料でダウンロードできるようになっている。書籍の一部を無料で読むことができ、読み続けたければ購入すればいい。サンプルをダウンロードするには「Try Sample」、購入するには「Buy」を選択する。ここで注意したいことは、「Buy」ボタンを押すと次のステップを踏むことなくいきなり購入してしまうことだ。これは当然と言えばそうであり、いかにもアメリカ的な直球処理である。「本当に購入しますか」、「次の支払いを実行します」、「本当によろしいですか」など2つも3つもステップを踏んで購入手続きを行う一般的なネット上の処理に慣れていると、拍子抜けするほどである。さらにKindle2本体のレスポンスが遅いので、ページ遷移を確認する前にクリッククリックをしていると、自分で意図せず誤って書籍を購入してしまうことも起こり得る。「起こり得る」と人事のように書いたが、実は俺も間違って小説をひとつ購入してしまった。だから今回の購入は、俺にとってKindle Storeｂにおいて2冊目の書籍購入となった。&lt;/P&gt;
&lt;P&gt;今回購入した書籍は「Zune&amp;nbsp;Game Development using XNA 3.0」という解説書である。日本でもXNA Game Studioの発表にあわせてXNAを使ったプログラミングの書籍は何冊か出ているが、俺が探したところではZUNE開発について解説している本はない。そこで洋書を買うことにした。Kindle2を利用する利点は、いつでもどこでも思いついたときに数多くの洋書を検索し、購入することができるところだが、値段が安いことも魅力だ。今回購入した書籍は、通常の書籍価格で49.99 USDだとある。しかしKindle価格は15.57 USDであった。輸入コストを加味すると、極めてお得な価格であるといえる。&lt;/P&gt;
&lt;P&gt;Kindle Storeで「Buy」をクリックすると、数秒から数十秒で書籍がKindle2にダウンロードされる。ダウンロードが完了すると「HOME」メニューに書籍名が表示されるので、5 - Way Controllerを使って選択するだけだ。&lt;/P&gt;
&lt;P&gt;以下のblogにはこの記事と同じ内容を写真入で紹介している。こちらも参考にしてほしい。&lt;A href="http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!189.entry"&gt;http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!189.entry&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27012.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Kindle2利用レポート（８）文庫本を裁断してスキャナScan Snap S1500にかけPDF化してKindle2で読む。</title><link>http://sqljp.com/hotikisu/archive/2010/05/12/27002.aspx</link><pubDate>Wed, 12 May 2010 23:32:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/05/12/27002.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27002.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/05/12/27002.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27002.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27002.aspx</trackback:ping><description>&lt;P&gt;紙ドキュメントをPDFにすることに特化したScan Snapという製品がある。そこで手持ちの文庫本を裁断機にかけてばらばらにし、このスキャナにかけてPDF化してKindle2で読むことができるかどうか試してみた。使用したスキャナは富士通製のScan Snap S1500だ。&lt;/P&gt;
&lt;P&gt;文庫本を選んだのは、Kindle2のディスプレイ面積からである。Kindle2本体は縦205mm、横135mmほどの大きさだが、ディスプレイは縦122mm、横90mmである。これは文庫本のサイズより小さい。このディスプレイサイズでは文庫本をPDF化してなんとか読めるサイズであり、仮にA4サイズの書籍をPDF化すると字は小さくて読めないだろうと思われる。Kindle2に入れたPDFファイルは、用紙サイズがいくらであろうとも自動的に縮小されて画面に表示されるからだ。ちなみに今回使った文庫本をキッチンスケールで量ってみると、重さは282gだった。Kindle2の実測が290gだったので、ほとんどKindle2と同じ重さということになる。&lt;/P&gt;
&lt;P&gt;まず文庫本を裁断機にかけ、背表紙の部分を断ち切る。これで本はばらばらになる。そしてばらばらになったページをScan Snap S1500に入れてスキャンする。本は奥からスキャンされるので、始めのページが奥にあたるように装填する。Scan Snapのソフトウエアには上下を自動的に判定する機能があるが、誤判定する場合があるので、自動判定機能はOFFにするのがいいようだ。その場合は本を逆さにして装填する。スキャンは両面を一度にスキャンしてくれるので一回通すだけでいい。ただ一度に装填できるのは、約50枚くらい、つまり両面ページ数にして100ページくらいなので、厚い本をスキャンする場合は50枚ずつ分けて装填しなければならない。文庫本サイズで50枚のスキャンには2分くらいで終了する。この速さがScan Snapの魅力だ。&lt;/P&gt;
&lt;P&gt;スキャンが終了すると自動的にフォルダにPDFファイルが生成する。一度にスキャンするごとに一つのPDFファイルにまとまって保存されている。生成したPDFファイルはデフォルトで作成した日付と時間になっている。スキャンが完了するとPDFファイルと同時にスキャン時の状態をレポートしたドキュメントも生成する。&lt;/P&gt;
&lt;P&gt;今回やってみた文庫本は、全部で600ページほどあったので、全部スキャンするためには100ページずつ6回スキャンする必要があった。一冊の本が6つのPDFファイルになったのだ。これを結合するには、Scan SnapにバンドルされているAdobeのAcrobat 9を利用した。生成した6つのPDFファイルを読み込んで結合し、ひとつのPDFファイルに出力するのだ。&lt;/P&gt;
&lt;P&gt;こうしてできたPDFファイルをKindle2の「documents」フォルダにコピーする。するとKindle2で読めるようになった。今回、ページ数が多い本だったこともあり、スキャンのクオリティを白黒モードでやってみた。もしかしたらグレースケールでスキャンすれば見やすかったかもしれないと思ったが、Kindle2の表示は全く問題ない。快適に読むことができる。&lt;/P&gt;
&lt;P&gt;こちらのblogには写真を使って説明しているので、こちらもぜひ見て欲しい。&lt;A href="http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!182.entry"&gt;http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!182.entry&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27002.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Kindle2利用レポート（７）Kindle2のmp3再生機能はどうか。 </title><link>http://sqljp.com/hotikisu/archive/2010/05/03/27000.aspx</link><pubDate>Mon, 03 May 2010 23:52:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/05/03/27000.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/27000.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/05/03/27000.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/27000.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/27000.aspx</trackback:ping><description>&lt;P&gt;Kindle2にはmp3再生機能がある。これを使うのは簡単だ。だが残念ながらこの機能はあまり良いとはいえない。&lt;/P&gt;
&lt;P&gt;まずKindleをPCに接続すると、外付けドライブのように認識されるが、そのドライブを開くと「audible」、「documents」、「music」という3つのフォルダがあらわれる。このうち「music」のフォルダにmp3ファイルを入れると、Kindle2本体で再生できる。ちなみにWindows7に標準で入っている「Kalimba」、「Maid with the Flaxen Hair」、「Sleep Away」の3つのmp3ファイルを入れてみた。&lt;/P&gt;
&lt;P&gt;これらのMP3ファイルを再生するには、5-way Stickを操作し、「Experimental」のメニューを開く。すると「Play MP3」というメニューが出るので、そこを選択してクリックするだけだ。&lt;/P&gt;
&lt;P&gt;ただし曲の選択などの操作はできない。「Play MP3」メニューをクリックすると、Kindle2に送り込まれたmp3ファイルをただ順番に再生するだけである。全くBGMとしての使い方に徹しているのだ。さらに再生機能は貧弱で、ときどき音が飛んでしまう。&lt;/P&gt;
&lt;P&gt;こちらのblogには写真入で紹介している。ぜひこちらも見て欲しい。&lt;A href="http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!174.entry"&gt;http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!174.entry&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/27000.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Kindle2利用レポート（６）Kindle2をキッチンスケールに乗せて量ってみる。</title><link>http://sqljp.com/hotikisu/archive/2010/04/29/26997.aspx</link><pubDate>Thu, 29 Apr 2010 14:18:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/04/29/26997.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/26997.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/04/29/26997.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/26997.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/26997.aspx</trackback:ping><description>&lt;P&gt;Kindle2は軽くて薄い。実際にKindle2をキッチンスケールに乗せて重さを量ってみた。すると実測値で290gだった。&lt;/P&gt;
&lt;P&gt;軽いことも魅力だが、薄いところもいい。通勤鞄のポケットにするりと収まってくれる。UNIQLOで買ったDIMEビジネスバッグにMicrosoftのタグを付けて愛用しているが、この鞄の外側ポケットにKindle2は居心地よく収まってくれる。この鞄は軽いこと、ポケットが使いやすいこと、などでとても気に入っている。&lt;/P&gt;
&lt;P&gt;Kindleに限らず、このような電子デバイスは軽くて薄いことが重要だ。重ければ手に入れたときしばらくは嬉しくて持ち歩くが、そのうちに鞄に入れるのが億劫になってくる。&lt;/P&gt;
&lt;P&gt;鞄に入っていることを意識しなくてもよい軽さと薄さ。電子デバイスの開発メーカーは、このところを究極に追求して欲しい。&lt;/P&gt;
&lt;P&gt;この記事は別のblogに写真入で紹介してる。こちらも見て欲しい。&lt;/P&gt;
&lt;P&gt;「ホチキス先生のプログラマーと呼ばれたいーWindws Live Blog」&lt;A href="http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!169.entry"&gt;http://matsumotoyoshio.spaces.live.com/blog/cns!DFEC2D26B603327D!169.entry&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/26997.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Windows PowerShellに関する書籍</title><link>http://sqljp.com/hotikisu/archive/2010/04/29/26995.aspx</link><pubDate>Thu, 29 Apr 2010 11:25:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/04/29/26995.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/26995.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/04/29/26995.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/26995.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/26995.aspx</trackback:ping><description>&lt;P&gt;Windowsのシェル、スクリプト実行環境は.NET Framework 2.0の提供とともにWindows PowerShellに移行した。とりわけWindows Server 2008にはWindows PowerShell環境が標準実装であり、今後はWindows PowerShellを使うことになるだろう。&lt;/P&gt;
&lt;P&gt;そこでWindows PowerShellについての書籍を探しに本屋へ行き、次の2冊を見つけた。&lt;/P&gt;
&lt;P&gt;「PowerShellによるWindowsサーバ管理術」著者：永尾 幸夫、 小鮒通成、 国井傑、竹島友理、牟田口大介/出版社：ソフトバンククリエイティブ/発行年：2009/8/4&lt;/P&gt;
&lt;P&gt;「Windows PowerShell ポケットリファレンス」著者：牟田口大介/出版社：技術評論社/発行年：2008/4/11&lt;/P&gt;
&lt;P&gt;著者はいずれもWindows Server管理では名前の通った著名人である。特に牟田口大介氏は2004年からMicrosoft MVPを受賞しており、現在はWindows PowerShellカテゴリで活躍している。&lt;/P&gt;
&lt;P&gt;これ以外にもMincrosoft公式解説書などもあったが、ほとんど仕様書に近い感じの書籍でまとまりがないと感じられた。まず読むべきは上記の二冊だろうと思い買って帰った。&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/26995.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ホチキス先生</dc:creator><title>Windows Serverにおける管理のためのバッチ処理の手法についてまとめる</title><link>http://sqljp.com/hotikisu/archive/2010/04/29/26993.aspx</link><pubDate>Thu, 29 Apr 2010 10:48:00 GMT</pubDate><guid>http://sqljp.com/hotikisu/archive/2010/04/29/26993.aspx</guid><wfw:comment>http://sqljp.com/hotikisu/comments/26993.aspx</wfw:comment><comments>http://sqljp.com/hotikisu/archive/2010/04/29/26993.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/hotikisu/comments/commentRss/26993.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/hotikisu/services/trackbacks/26993.aspx</trackback:ping><description>&lt;P&gt;4月になって勤務する学校のシステムを再構築することになった。そこで問題になったのは、一括で大量にユーザー作成する方法だ。俺が勤務する学校には常勤の教職員が100名以上、生徒が1100名以上いる。つまり1200のユーザーアカウントを作成する必要がある。&lt;/P&gt;
&lt;P&gt;インターネットでWindows ServerのActiveDirecrtoryにユーザーを一括作成する方法を検索すると、主として3つの方法が見つかる。ひとつはAddusersユーティリティーを使う方法、もうひとつはWSH環境でVBScriptを使う方法、そして最後はWindows PowerShellを使う方法だ。&lt;/P&gt;
&lt;P&gt;addusers.exeはコマンドライン上で実行するユーティリティープログラムで、「Windows NT 4.0 Resource Kit、Supplement 3」や「Windows 2000 Serverリソースキット」に含まれている。このツールを使うにはリソースキットを買わなければならない。俺もWindows 2000 Serverを管理していたときは、このaddusers.exeを使ってユーザー登録していた。このツールは当時の管理者にとって、たいへんありがたいツールであり重宝されていたので、今でもインターネットでユーザー一括作成の方法を調べると、たくさんの情報が得られる。だがこのツールで登録できるActiveDirectoryの情報には制約がある。全ての情報を登録することができないのだ。&lt;/P&gt;
&lt;P&gt;Microsoftは1998年にWindows 98でWindows Script Host、略してWSHを提供した。WSHでは言語としてVBScriptとJScriptが利用でき、これらの言語を使ってスクリプトを書くことができる。コマンドラインに比べて強力な機能を発揮でき、VBScriptはVisualBasicに近い構文を利用できるのでスクリプトを作成しやすい利点がある。インターネットにはWSHを利用したスクリプトの情報もたくさんある。&lt;/P&gt;
&lt;P&gt;Windows PowerShellは2006年にマイクロソフトが提供したWindowsにおける本格的なシェル環境である。スクリプト言語はオブジェクト指向に基づいて設計されており、。NET Framework 2.0を基盤としている。Windows PowerShellはWindows XP、Windows Server 2003、Windows Vista、Windows 7などで利用でき、Windows Server 2008では標準で含まれている。&lt;/P&gt;
&lt;P&gt;サーバー管理の仕事ではユーザー作成など一括処理を自動的に行いたい場面が多い。これらバッチ処理は今後Windows PowerShellを使って行うことになるだろう。&lt;/P&gt;&lt;img src ="http://sqljp.com/hotikisu/aggbug/26993.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>