ミニ四駆でPython on Windows Azure

Post on 28-May-2015

6.798 views 3 download

description

PyConJP 2012の発表資料です。ミニ四駆とWindows Azureを繋げて、ラップタイムを取ってみました。

Transcript of ミニ四駆でPython on Windows Azure

PyConJP 2012

藤原 敬弘/高橋 道也/武田 正樹

ミニ四駆の作り方

Takahiro Fujiwara

お前だれよ

• 名前o 藤原敬弘 (Takahiro Fujiwara)

• 仕事

o Fuller, Inc. CMO

• 作ってるサービスo ぼく、スマホ

o KINECTミニ四駆

• 使ってるライブラリ

o Python

Pyramid / Fabric / Cornice / Cuisine / Scrapy /

Gunicorn ...etc

ミニ四駆に必要なもの

それは

グレードアップパーツ!

グレードアップパーツの紹介

KINECTミニ四駆グレードアップパーツ

ミニ四駆PRO x1

¥700

Arduino Pro Mini x1

¥2,500

Hブリッジモジュール x1

¥300

Bluetoothモジュール x1

¥6,000

カメラ用リチウム電池 x2

¥400

KINECT

¥12,000

ネットワークラップタイマーグレードアップパーツ

Arduino UNO x1

¥2,500

赤外線LED

¥100

赤外線センサー x1

¥500

Ethernetモジュール x1

¥3,500

ミニ四魂

priceless

ミニ四魂priceless

大事なことなので二回言いました

ミニ四駆 Python on

Azureアーキテクチャ

ミニ四駆 Python on Azure アーキテクチャ

KINNECT ミニ四駆

ソースコード

https://github.com/wutali/mini4wd_motor_drive

ネットワークラップタイマー

https://github.com/wutali/mini4wd_lap_timer

ソースコード

使用上のご注意

• この改造はミニ四駆のスピードアップを目的としていません。o ミニ四駆のスピードはモーターと電池、ガイドロー

ラー、タイヤに依存します。

• 公式大会には出場できません。o ArduinoとHブリッジモジュールがタミヤから発売さ

れれば、出場できる可能性があります。

• 隠し機能が搭載されています。o ソースコードを読むとわかりますが、無駄にバック

出来ます。

• 組立には高度なテクニックが必要です。o Arduino Pro Miniを埋め込むために肉抜きのテクニ

ックが必要です。

Sep. 2012

高橋 道也

お前だれよ

名前: 高橋 道也

勤務先: 東洋ソフトウェアエンジニアリング株式会社

Twitter: @michiyata

Windows AzureでPython

今年6月よりWindows Azureのサポート言語にPythonが正式に追加、今のところ2つの実行方法がある

1. Virtual Machines (IaaS)初期状態のLinux/Windows Serverに対し、必要なソフトウェアのセットアップとアプリ配置を自力で行う

2. Cloud Services (PaaS)専用のSDKでパッケージングしたアプリをクラウド専用構成のWindows Server上に配布

Virtual Machines (IaaS)

• Linux OSを選択した場合はおそらく多くのPythonエンジニアにとってお馴染みの方法

• 複数インスタンスへのアプリ配置の仕組みなどは必要に応じて自作する必要あり

Cloud Services (PaaS)

• 独特の世界、ある程度の慣れが必要

–インスタンスの構成、設定ファイル、ツール

• 複数インスタンスへのアプリ配布やOSセキュリティパッチ適用は自動で行われる

開発用端末について

• PaaS用アプリのパッケージングにWindows Azure SDK(無償)が必要なため、PaaSの場合はWindows端末が必須

• Azure SQL DatabaseやAzure Storage等の周辺サービスを使う場合はWindows専用のツール類が使えると便利だが、Mac/Linuxの場合でもWebベースのツールが利用可能

• サービス管理用のCUIツールはMac/Linux用向けにも提供されている

Python Tools for Visual Studio

• Visual Studio開発チームが作成・公開している、VS 2010にPython IDEとしての機能を追加するためのアドオン

• Windows Azure関連のアプリ設定やデプロイもVS上で行える

• 無償のIntegrated Shell版VS+PTVSをWeb Platfrom Installerより入手可能

今回のデモアプリの構成

• PaaSで構築

• Python 2.7

• Django 1.4

• IIS 7.5

• Windows Azure SQL Database

• Windows Azure Storage

PTVSでPaaS用Pythonアプリを作る際の注意点

• Djangoアプリのみ作成可能

• Python2.7(32bit)、Django1.4固定

• Djangoプロジェクトのフォルダ構成がなぜか古い

• インスタンス上にデフォルト導入されているSQL Serverドライバが古い

など

VSなしでPaaS版Pythonを使いたい場合

Django用のパッケージ雛形をGitHubで公開していますのでご興味のある方はどうぞ

https://github.com/michiya/azure-django-role

• VS不要、ただしWindows Azure SDKは別途必要

• インスタンス上でのフォルダ構成が多少異なる以外、VS+PTVSを使った場合とほぼ同一の構成で動作

• パッケージを少しカスタマイズすればWSGI準拠フレームワークは動く(はず)

まとめ

• IaaSでLinuxを使う場合はWindows Azureだからといって特別なことはほとんどない

• PaaSを使う場合は多少の慣れが必要かも

「Windows AzureでPython」ハンズオン

9/17 Sprintにて行います!• 所要時間は1〜2時間程度です• 全3回、各回10人程度まで• Windows Azure初心者の方向けの内容です• サブスクリプションの準備は不要です• Macの方でも参加頂ける内容です

お気軽にお越しください!

Thank you!

• ご興味のある方はぜひこの機会にWindows Azureを試してみてください!

お前、誰よ

武田 正樹(たけだ まさき)

日本マイクロソフト株式会社

@masakit555

Windows Azure エバンジェリスト

Windows Azure のデータセンター

Windows Azure

大規模〜小規模の様々なニーズに対応可能

VM with persistent drive

データの可用性

VM with persistent drive

VM with persistent drive

> 500 miles

スケーラビリティ- スケールアップ -

VMサイズ CPU コア数 メモリ 帯域 データディスク

Extra Small 共有 768MB 5Mbps 1

Small 1 1.75GB 100Mbps 2

Medium 2 3.5GB 200Mbps 4

Large 4 7GB 400Mbps 8

Extra Large 8 14GB 800Mbps 16

スケーラビリティ- スケールアウト -

学びの秋はハンズオンでスキルアップ♪