Kinect v2 本を出版しました
Kinect v2 開発本を2冊ほど出版しました!
自分自身がエバンジェリストになる前は、先輩エバや他社のエンジニアさんの書籍を見て「かっこいいなぁ。いつか自分も書きたいなぁ」と思っていたのですが、ついにその念願が叶って結構感動しています。
いろいろな本に影響を受けてきましたが、「自分を著者に変えた」という意味で、この2冊は自分の人生に最も影響を与えてくれた本ですね。
どちらも力を入れて書いているので、Kinect 開発に興味のある方は購入をご検討くださいませ!著者ページはこちら
1冊目
Windows 8.1, C#, Kinect v2 を使って開発をするための入門書籍です。
環境構築から、Kinect プログラミングをするために必要な概念 (xxFrameSource, xxReader, FrameArrivedイベント)、実際のソースの書き方まで丁寧に解説しています。
# 2015年9月現在で Kinect SDK は Windows 8.1 対応なので Windows 8.1 対象で執筆しています。
Kinect 開発って何を揃えればいいの?どういうふうにプログラミングを始めたらいいの?という方にオススメです。
必要な情報のみに絞って執筆しているため 90ページほどの書籍ですが、その分 Kindle 版では 900円と手に取りやすい価格設定にしています。
Kinectv2楽しいプログラミング入門 (NextPublishing)
- 作者: 大田昌幸,江田周平
- 出版社/メーカー: インプレスR&D
- 発売日: 2015/09/11
- メディア: Kindle版
- この商品を含むブログを見る
2冊目
JavaScript のみで 3D インタラクティブ Web コンテンツを開発できるようになるための入門書籍です。具体的には、以下のような処理のすべての実装方法を紹介しています。
- Kinect v2 でモーションを取り
- Milkcocoa でリアルタイムに情報を送信し
- jThree という3Dモデル描画ライブラリで好きな 3Dモデルを描画します (URL さえ教えれば誰のブラウザからでも見れます。)
JavaScriptでインタラクティブ3Dコンテンツを作ろう―Kinect+jThree+Milkcocoaを使って東北ずん子と踊る (NextPublishing)
- 作者: 大田昌幸,落合渉悟,菅原のびすけ,中佳博,山本允葵
- 出版社/メーカー: インプレスR&D
- 発売日: 2015/09/11
- メディア: Kindle版
- この商品を含むブログを見る
Kinect v2 開発のために Windows 8.1, Visual Studio は必要ですが、実装は JavaScript のみなので Web 開発者にとっても非常に馴染みやすい書籍になっています。私以外の著者が Web 系なので、Web開発者に馴染みやすくなっているという理由もあります。
昨年から私はマイクロソフトの中でスタートアップ系ビジネスを担当していたのですが、「スタートアップのエンジニアと一緒に面白いアプリを作れる本をかけたら面白いかも」ということで、4名のスタートアップのエンジニアの皆様と書籍執筆を企画・出版させていただきました。
この書籍を通して、jThird や Milkcocoa が多くの方に知られ、また多くのエンジニアが具体的なアプリを作る経験をしていただけましたら幸いです。
この書籍は Web サーバーが必要ですが、Azure の無償版などを活用いただくと良いと思います。
Mac をお持ちの方は、以下の記事を参照してください。
今後、この書籍を書いたメンバーと書籍出版を通して得られた経験を共有するイベントを企画しているので、楽しみにしていてください〜
サービスで使用するデータの保存先は Azure Storage を使いましょう
案件でデータの保存先に関するご質問をいただくことが多いため、ブログにまとめました。案件ごとにご質問が異なるため、それをここにまとめれば、色々な方の役に立つはず。
データの保存先はAzure Storage
Microsoft Azure にはデータを保存するサービスとして Azure Storage があります。Azure Storage には下記4つのサービスがあります。
- Azure Blobs
- Azure Tables
- Azure Queues
- Azure Files
それぞれ解説したいところですが、本投稿では案件でご質問の多い Azure Blobs に的を絞って説明します。
ファイルの保存先は Azure Blobs
Web アプリをはじめとした独自サービスでは、HTMLファイル、動画や画像などのファイルを保存する場所が必要です。その保存先としては Azure Blobs を活用してください。
ユーザーが動画/画像などのファイルを日々アップロード/視聴するアプリをはじめとした、大量のデータを扱うサービスの基盤に最適です。その理由をいくつか挙げてみます。
- 自動的にスケールするため管理が楽
- データの多重化できるので、データ損失対策ができる
- アクセスが高速
- 柔軟なアクセス制限ができる
- アプリケーション開発するための API が充実している
Azure Blobs はスケーラブルなストレージサービスなので、ユーザーが大量のデータをアップロードしたとしても、管理者側で仮想ディスクを追加したり、マシンを追加する必要がないです。
また、複数のデータセンターにデータを同時に保存できるため、データ損失対策も楽にできます(設定1箇所変更で OK です。)
アクセスは非常に高速で、ソチオリンピックのストリーミング配信にも活用されており、動画などの大きなファイルを扱うサービスでも活用できます。
性能の指標としては、最大受信速度は 5 ~ 10 Gbps、最大送信速度は 10 ~ 15 Gbps です。そのほか、最大サイズなどストレージの魅力的な性能についてはこちらを参照してください。
このファイルは、このユーザーからしかアクセスさせたくないというように、アクセスコントロールすることができます。
Blob Storage のデータは REST API 経由で操作できるため、どの言語でも呼び出しができ、アプリケーション開発者にとって便利です。
Azure Blobs を使用し始める
Blobs の魅力をご理解いただいた上で、実際に使用を開始してみましょう。
- Azure のストレージアカウントを作成しましょう。
- このページを参照して、Blob Storage へプログラムからアクセスしましょう。様々な言語でのサンプルがあるため、参考にしてください。
Azure のアカウントをお持ちでない方はこちらから無料評価版を作成してください。
料金については、こちらを参照してください。
Azure Machine Learning の入門情報まとめ
Azure Machine Learning のための学習情報をまとめています(現在進行形)。
私自身が学習するにつれて、このページも少しづつ更新していきますので、RSSリーダーなどで適宜更新をご確認いただけますと幸いです。
公式ドキュメントは入門情報が満載なので必ず確認しましょう
こちらの公式ドキュメントでは、Machine Learning や Azure Machine Learning についての詳細な解説が行われています。初めて学習する方は、このドキュメントを確認するようにしましょう。
最新情報を確認したいときには公式ブログをフォローしましょう
新機能の提供など、最新の情報は Machine Learning Blog にて公開されています。
自身のプロジェクトに役立つ新機能が追加されるかもしれないので、RSSフィードを登録することをお勧めします。
疑問点はフォーラムで
疑問点があれば Azure Machine Learning のフォーラムで世界中のユーザーとディスカッションしましょう。
機能のフィードバックを行いたいときは専用のフォーラムで
「探しているアルゴリズム、データ ソース、データ形式、データ変換操作が Azure ML Studio で見つかりません。」という時には、ユーザーフィードバック フォーラムを活用しましょう。
機能の要求をしたり、既に要求されている機能へ投票することができます。
オフラインイベント
日本国内でのイベントも開催されています。
セミナーで学びつつ、講師や他のユーザーたちと情報を公開して、自身のプロジェクトに役立てましょう。
2015 年 8/8 (土) 15:00 - 19:00
Azure Machine Learning + Azure を連携させて、実際のシステム内に組み込むためのノウハウを学べるイベントです。
過去のセミナー資料も活用しましょう
過去のセミナー資料もこのページに適宜掲載していきますので、ご活用ください。
Azure Machine Learning の入門者向けハンズオン資料です。この資料を活用することで、価格予測システムを構築可能です。
協調フィルタリングを例にした機械学習の解説資料です。この資料を活用することで、「推薦システムの基礎」「Azure Machine Learning を活用するか、独自実装するかの判断基準」を理解することができるようになります。
Azure Machine Learning を使って、推薦システムを構築するための資料です。この資料を活用することで、「推薦システム構築方法」「推薦システムを Web アプリから呼び出す方法」を理解できます。