ステートフルJavascriptを読んでのまとめ
ステートフルJavascriptを読んであとで思い返すためのメモ。
フロントエンドでMVCをやるという今流行りの知見における走りなのかと思う。
コントローラーはURLハッシュの変化を検知する。ビューはテンプレート使い、モデルと対応する。モデルの更新でビューが同時に更新される。このへんのMVCの役割を把握しておけばあとはFWで処理する感じ。紹介されてたBackborn.jsのサンプルをいつでも見れるようにしておいた。
https://github.com/arvelt/backborn-sample
以下メモ
・クライアントでMVCをやる
・モデル、ビュー、コントローラーの役割とは。
・JavascriptのProttypeの仕組み
事実上の継承とみなせる。それを用いたクラスっぽい定義。
・要素の外側から内側の順にイベントが発生していくイベントキャプチャリング。要素の内側から外側へイベントが発生していくイベントバブリングがある。実際にはイベントバブリングが使われることが多い。
・イベントに関係するプロパティ。bubbles,button,ctrlKey,altKey,shiftKey,metaKey,isChar,charCode,keyCode,which,pageX、pageY,screenX、screenY,currentTarget,target、originalTarget,relatedTarget。
・非Domにも使用できるパブリッシュ/サブスクライブパターンについて。
・ORMを用いてサーバーのデータをモデルとして扱う。モデルのインスタンスをDomと関連付けて扱う。
・コントローラーの内部状態をローカルスコープに保存し、モジュール内にカプセル化するやりかた。
・コントローラー1つにビュー1つを対応させる。
・URLのハッシュを検知することでルーティングをする。
・モデルの更新をすることで、テンプレートで定義されたビューが更新されるようにする。
・RequireJSで依存性を管理する。
・WebSocketで表現するリアルタイム性。Node.jsとSocket.IO
・Xunit系のQUnitやSpec系のJasmineを用いたユニットテスト。
・開発コンソールで使用できる。consoleオブジェクト。log()、trace()、profile()、time()など
・デプロイ時に有効的な、YUI Compressorを用いたコードの最小化。
ステートフルJavaScript ―MVCアーキテクチャに基づくWebアプリケーションの状態管理
- 作者: Alex MacCaw,牧野聡
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/06/09
- メディア: 大型本
- 購入: 7人 クリック: 356回
- この商品を含むブログ (10件) を見る
2013年を振り返って
2013年にやったことを振り返っています。
・前年度にたてた目標
以上を踏まえると来年は、もっとコードを書くこと、を目標にしていこうと思います。こういうのなら書いたことあるからなんとなくわかる、っていうストックをたくさん作りたい。
・今年やったこと
1月、JavaでTODOアプリ素振りっていうのやった。思いつきすぎて他に生かせてない。
2月、借りてるVPSにRuby入れてRedmine入れることを試す。自分の個人プロジェクト作業用にRedmine on VPSはかなり良い感じ。RubyKaigi行ってみた。
3月、シムシティやってた。市長、市長官邸を市の中央部に置くのはいかがなものでしょう。
4月、Sinatraでアプリ作成。VPS上において公開。
5月、美術館に行ったりしてた。転職活動的なこと。
6月、何してたっけ。転職活動的なこと。転職することを決めた。
7月、新職場はWeb系なのでMBAを購入して勉強。Vimを触ってみるがなじまないので諦める。
8月、新職場にて勤務し始めた。Javascriptで死ぬ。arvelt.netという独自ドメインを取得。VPSサーバを独自ドメインでアクセスできるので、俺の城感がすごくて楽しい。何につかうんだ?
9月、モンスタハンター4やってた。ランサーの誇りを胸に片手剣を使用する。Pycon行ってみた。
10月、ポケモンYやってた。私のギャラドスに勝てるやついんの?
11月、サイ本読んだ。Javascriptの気持ち悪さを知って暗い未来に思いを馳せる。
12月、ステートフルJavascript読んだ。仕事で使ってるFWがこれに沿っていることに気づき始める。美術検定3級とった。
転職活動といってはいますが、以前は受け入れられる状態じゃなかったけど今は大丈夫になったからうちに来ないかい、というお誘い的なことされただけですね。それにホイホイ乗っかかって決めた。
形に残せた成果としては、Sinatraアプリ作ったこと。独自ドメインとってみた。転職した。美術検定3級とった。
・目標を達成したか?
転職する、は達成したが、コードを書こう、は微妙なところ。1つでは十分とは言えないだろし、こうしたいならこう書くんだよのストックはできていない。
・振り返り
こう見てみると、コード書くとか言っておきながら全然書いてないのがダサいですね。それでも転職できたのはありがたいことです。つまり実力ではなく今後の活躍に期待して買われたという感じですね。これからがスタート。
・来年の目標とか
というわけで今こそコード書かなくてはなりません。来年の目標もコードを書くこと。目標は具体的にしましょう。サービスやライブラリを合わせて3つ作るとかそんな感じで。規模は前のTODOみたく小さくてもいいので、完結したものちゃんとやるということを目指しましょう。勉強ってことなので、上から下まで全部自分で1つ、Paas使ったのが1つ、ライブラリが1つ。みたいに形態の違うものにそれぞれ挑戦したいですね。
それと、退職しました記事書いたらホッテントリ入りしてしまいましたので、SIerからWebに転職したよアフターもぜひ書きたいです。8月頃に。
最近品質管理とかテスティングとかそういう感じのことに興味持ってるのでちょっと突っ込んで勉強したいです。体系的な知見として自分の中にまとめたい。前職だと品質強化イコールチェックリストでクロスチェックする、みたいな会社だったのでその反動でしょう。なんか違和感合ったけど実践としてどうすればいいのかはわからないし従うしかないみたいなストレスがありました。
具体的に触れていきたいものは、優先度順に、Python、Javascript、Git、GoogleAppsEngine、品質管理、アジャイル、Redmine。少し下げてRuby周り、Java周り、Android周り。あと個人的興味に基づくゲーム作成のいろは。
あと大きいカンファレンスに参加してみて。本物たちのの凄さを目の当たりにして圧倒されましたね。大きいのは聞くだけでも行くと意識高まるし、知らないこといっぱい見つかるので積極的に参加していきたいです。普通の勉強会の方は聞くだけだとあまり時間を使う意味がないということに気づいたので、発表する内容を用意して行くようにしたいです。
そんな感じでがんばっていきたいと思います。
Javascript本を読んでのメモ
いわいるサイ本。結構前に買ったやつなので第5版。
これ知らなかったなーって思ったトピックについてあとで思い出すためのメモ。
特に文法関係はいまだ理解できてないので何度でも読もう。
FlashとかJavaとの連携とかはほとんどスルー。
1.Javascriptの文法
・オブジェクトとプロパティ
・プロトタイプと継承
・nullとundefined
・変数のスコープ
・グローバルオブジェクトとCallオブジェクト
・thisの指すもの
・演算子。等値と同値
・javascriptでクラスを表現する
・ダックタイピングについて
2.クライアントサイドJavascript
・グローバルオブジェクトはWindowになる
・thisの指すもの
・基本的にイベント駆動
・同一出身ポリシー
・クロスサイトスクリプティング
・ドキュメント構造とノード
・JavascriptとCSS
・プロパティとして設定するイベントハンドラ
・イベント伝播
・Cookie
・XMLHttpRequestオブジェクト
・Ajaxの注意点
・XPath
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/08/10
- メディア: 大型本
- 購入: 12人 クリック: 252回
- この商品を含むブログ (15件) を見る
システムテスト自動化カンファレンス2013
http://kokucheese.com/event/index/118294/
行ったので書く。
公開されたスライドはここで見られるっぽい。
https://sites.google.com/site/testautomationresearch/event#TOC-2013-
まとめとか、感じたこと。
・システムテストの自動化で何が解決できるか考える。
・ROIを考え自動化するのがハッピーならばやる。ROI評価のコストも考慮する。
・手動テストと自動テストは主にコストの発生タイミングが変わることを考慮する。
・自動化やりすぎ自動化ハイに気をつける。なんのためのテストなのか。
・AndroidテスティングはRobotuimおすすめ。非エンジニアならMonkeyTalkおすすめ。
・受け入れテスト駆動開発は、誰にとっての受け入れかを考える。ユーザーがテストスクリプトを書けるのか問題。
・シナリオBDD系ツールのCucumber、Spec系BDD系ツールのRspec
・業務モデルからテスト詳細設計を起こすやりかたもある。
・モデルには、状態遷移モデル、論理モデル、組み合わせモデルがある。
・ツールにはAstash(有償)、CEGTest、Pictmaster等がある
・単純操作のテストは自動化に向いている。
・設計実装の段階でテストしやすいかを考慮する。一意のID、Classを振る
・HPのQTP+ALMは色々できる。それなりに高いので大規模PJでないと見合わない。
以下発表のメモ。敬称略。
「よりよいテスト自動化のためにちょっと考えてみませんか?
―スコープ、ROI、プロセスを中心に―」近江 久美子
ROIの評価
品質・コスト・スコープ
ツール、テストプロセス、人、プロダクト
・手動テストと違って、初期コストと運用コストが異なる
・ツールは外部のものか内部のものか
・自動化すると、必要なプロセス・人材が変わる
・自動化するための制約
評価
・ROI評価にこだわりすぎてしまって割高になってしまわないように、必要な部分のみ
プロセスを見直す
手動テストと自動テストで変わるものはなにか
テスト実行の例
実行するための設計・実装・セットアップ、そのための構成管理は増える
実行する、レポートを作るを手間は減る
テスト条件は事前に確定させる必要
・負荷が変わるもの
・タイミングが変わるもの
スキル、チーム
テスト自動化に必要なもの
プログラミング、テスト、プロジェクト管理、
・自動化されたテスト実行のバグの分析
結果で分類
テスト対象のバグ
テストのバグ
原因による分類
プログラムの問題
環境の問題
スクリプトの問題
テストツールの問題
「事例から見るテスト自動化のポイント」TABOK関西
自動化のパターン
1,部分的な自動化
2,システム肥大化
3,システム不適合
4,過剰な自動化
ファクトリオートメーション
信頼性が最も重要視する
システムテスト自動化の歩み
思ったより効果がなかったとき
テスト設計の観点
多品種大量生産
既存システムの強化
新システムの展開
自動化の前に、テストとしての認識を持つ
不健全な数値目標は捨てる
自動化の難しさ
従来、人がやる仕事は、すごく賢いし、情報の流れとかは見えてこない
無意識にやってることは見えるようにすることすら難しい
成功の秘訣
生産システムは構造化設計されている
プロセス全体の流れが最適になるようになっている
現場には効果計測振り返りをベースにした、たゆまぬ改善がある
無意識の意識化
テスト自動化に必要な技術の整理
テストシステムとして最適化・構造化
テスト工程の自動化を行う未来
自動化とは?
「機会にできることは機会に任せ、人間はより創造的な分野で活動を楽しむべきである」オムロン創業者
「スマートフォンアプリのテスト自動化をはじめよう」長谷川 孝二 @nowsprinting
http://www.slideshare.net/nowsprinting/starcon2013-mobile-testautomationkeynote6
テスト自動化の現状
ユニットテスト
Ios
Xcode標準にOCUUnit
android
AndroidTestingFramework
UI操作のRobotium
Mockito、EasyMock、Robolectric
システムテスト
理想の高い利益
正しい画面表示
OS機種依存バグを検出できる
投資
ツール
スクリプト
保守
データ、スタブサーバー
現実的な利益
テスト実行時間の短縮
複数のOSバージョンで実行できる
テストの目的
血管を摘出
品質レベルが十分か
意思決定のための情報
欠陥の作り込み
欲張らないROI
頑張らないテストスクリプト
乱数起因のテストはユニットテストでモックで頑張る方が楽
レイアウト崩れを頑張ろうとするとつらい
機種依存の問題を狙ってテストしようとしない
頑張らない事例
UIAlertView
UIPickerView
UITableView
AndroidのDrawRect
Viewのヒエラルキーが多い時に、ソフトウェアキーボードが出るとStackOverFlowError
抑えたいポイント
すべての画面遷移、ハッピーケースだけじゃなくエラーケースも含める
CIにのせたときとかのSSの比較はImageMagickなどで自動化する
実行時間もかかるから、テストケースの絞込は意識する
利益を拡大する
テスト実行時間の短縮
4−6習慣でリリースするのが理想
複数OSバージョンでの実行
テスト実行環境を増やす
手動ではできないこと
ロードテスト
メモリリーク
低メモリ
コンカレンシーテスト
再現率低いテスト
Android MonkeyRunner
Androdi Robotuium
Seliumライクにかける
端末回転、スクリーンショットとかかとれる
UiautoMator
Robotuiumuより楽になってる
Espresso
Android
IOS
UIAutomation
Xcode同梱
Appium
両刀
スクリプトとでかける
Calabash
CucumberのテストをIos/Androidで実行できる
MonkeyTalk
専用のIDEでテスト作れる。スクリプト詳しくなくてもいける
選定のポイント
スクリプトを書けるかどうか
Ios/androidでテストを共有したいか
何が実行できるか、の差は縮まりつつある
Genymotion(早いエミュレーター
MonkeyTalkデモ
TestFlight
AppKitBoxRemoteTestKit
まとめ
欲張らない
頑張らない
MonkeyTalkではWebViewのテストもできる
「ATDD実践入門」きょん@Kyon_mm
テストなくしたいからテスト勉強してる
ATDD→受け入れテスト駆動開発
TDD
KentBeck
レッド、グリーン、リファクタリング
UncleBob
失敗するテストを書く、失敗するなら追加してはいけない、成功させるプロダクトがあるならプロダクト
T_wada
開発の健全さを保つプラクティス
レッド、グリーン、リファクタリングを回す
Kyon−mm
開発者支援フレームワーク
開発者の意図を確認する、開発者が心地よいコードを書く
Fit/Fitness
BDD
常にユーザーの立場でテストを実装する
実装のテストをしてしまうのはよくない
シナリオBDD
Cucunber
SpecBDD
Rspec
Scrum
Readyの定義、Doneの定義
SpecificationByExsample
仕様を例示する生きたドキュメント
ATDDはハッピーケースに限定するわけじゃない
目的
ユーザーと共通の一枚絵のようなものを得ること
十分に対象のソフトウェアの仕様を把握できること
その仕様が満たせているかどうかがいつでもわかること
Fitness
シナリオBDD
Cucumber
SpecFlow
Spec
Rspec
Spock
Groovyによって実装されたフレームワーク
アンチパターン
開発者がAcceptanceTestを書くことはいけない
補助者する人がいない
理想と現実
DDDとATDD
ATDDはユビキタス言語(お客様がわかる言い方)を得られる機会にはなるが、ドメインモデリングには適さない
Role
開発者が行うATDDはSTDDにしかならない。Userが理解できる言葉でのみ実装されたものこそである、しかしほんとうにそれはできるか?
まとめ
誰にとてのAccptanceTestなのか
XDDはツールではなく、プロセスと態度で決まるもの
コンテキストに合わせて取り組まなくてはいけない。現状ではXPを実践できるチームの成果物でしかない
ATDDはやらないよりましだが、間違うと自分たちの生産性を下げる
開発者向けの範囲でより広いTDDを考える GOOS By Stev
テストケースの設計を考える方法 ソフトウェアテスト技法
最高のATDDをやりたい人 つくりましょう
「モデルベースドテスト入門ーテスト詳細設計」 朱峰 錦司(あけみねきんじ)@kjstylepp
http://www.slideshare.net/kjstylepp/ss-28784815
内容
テスト詳細設計お自動化できる
設計モデルから作ります
デモします
テストとは
JSTQBでの定義
テスト分析と設計
テスト実装と実行
終了基準の評価とレポート
Test.SSFでの定義
テストの要求分析
テストアーキテクチャ設計
その先は同じ
テスト詳細設計
方針にもとづいてテスト対象の仕様からテストケースを作る作業
方針や仕様が決まっていれば自動でつくれるんじゃね!?
モデル
テスト対象の振る舞いや正スツを到底の観点抽象化して表現したもの
ひとつのモデルで全ての仕様を表現することはできない
・状態遷移モデル
・論理モデル
・組み合わせモデル
・フローモデル
・台数モデル
状態遷移モデル
状態の変化に着目してシステムの振る舞いをモデリング
論理モデル
構成要素間の論理関係に着もk空いてロジックをモデリング
組み合わせモデル
構成要素のバリエーションや制約に着もk水、構成要素間の組み合わせ元をモデリング
注意点
特性に応じて適切なモデリング手法を選択
モデルベースドテスト
モデルを活用してテスト成果物を作成(ブラックボックステストになる
モデル→抽象化されたテスト→実行可能なテスト
テストの抽象表現
テストモデリングのための規格
UML Testing Profile
Testing and ContorolNotation version3
状態遷移列にによるテストシナリオ
論理パターンによるテストシナリオ
組み合わせパターンによるテスト条件
注意点
テストパターンが多くなる
詳細化が必要
モデルベースドテストの適用例とツールデモ
状態遷移テスト
Astash品質スイートの活用(有償
論理モデル
デシジョンテーブルテスト
CEGTestの活用
組み合わせテスト
Pictmasterの活用
導入のポイント
設計モデルの記述によるメリット
自動化によるメリット
必要なスキル
モデルベースドテストのスコープ
まとめ
テスト対象の理解
ミス防止
テストエンジニアが書くしかない
まずモデリングからしていこう
「手動テストからの移行大作戦」浦山 さつき
テストつまらない
刺し身たんぽぽのテスト→自動化に向いてます
なぜ定着しなかったのか
よく止まる
バグが出そうなやつを自動化
時間の制約があるものを自動化した
→スコープを間違えた
作った人にしかわからない
→可読性が低かった
テスト自動化システムの3要素と照らし合わせる
入力値が曖昧→テストケースのフォーマット改修
操作内容があいまい→1通りの操作をトレース
判定方法があいまい→どんなときに・どこが・どうであればを決める
わかりやすいログ
「激しいUI変更との戦い」玉川 紘子
http://www.slideshare.net/hirokotamagawa/20131201-lt
自動テストの保守性を高めるにはどうするか
なぜ保守が大変なのか
テストしづらい製品コードは指摘する
要素にIDClassがない
純粋なテスト対象を切り分けられない
テストケースのもとをメンテナンスする
テスト対処のアプリケーションと会話するための基本動作を定義する
スクリプトの元をメンテナンスできるようにする
「テスト自動化の事例紹介による有償ツール選択のポイント」藤井 暢人
投資したら取り返す!
HP所属
短期間でROIのを得られた事例
ツール
QTP;GUIのテスト実行の自動化
ALM;QTPスクリプトの管理、レポート
ポイント
QTPスクリプトのメンテナンス
QTP+ALMの連携
デモ
がんばるところを間違えずに自動化しよう
テスト自動化の目的を実現できる投資を見極める
有償ツールの昨日は、ツール連携、サービスも確認しよう
「組み込み開発での実機テストの自動化」井芹 洋輝
http://www.slideshare.net/goyoki/ss-28809804
組み込み開発の制約
リアルタイム性
物理的なインターフェース
実行環境が変わる
内部観測井の低さ
テストの責務を分散する
テスト自動化の負荷を分散する
「テスト自動化のこれまでとこれから」辰巳 敬三
http://www.slideshare.net/Bugler/2013-28786846
テスト自動化のこれまで
テスト自動化の今
テスト自動化のこれから
Seleniumの名前の由来
Selenium、セレン
水銀中毒 MercuryPoisoning
JasonHuggins MerecuryPoisonを治療するSelenium
まとめ
テスト自動化の歴史は古いが、専門家され始めてから15年程度
自動化はテスト技術者の必須知識。開発に関わる
ツールを使うだけではなく、自動化ノウハウを方法論としてまとめたり、新しいツール開発を行うこと
Pycon APAC 2013の感想メモ
Pycon2013にいったので、講演のメモなど。
2日目は台風のせいで帰れなくなるじゃないかと思って行かなかったんですが、実際そうでもなかったようで惜しいことをしました。
おぼえたこと。英語わからない、Sphinxおもしろそう、Pythonの環境はVirtualenvおすすめ、WindowsAzureは途上感ある、英語わからない。
GoogleComputeEngineとAmazonSebServiceとWindowsAzureで競争して、どんどんプログラマブルな仮想環境が使いやすくなってほしいと思いました。
「基調講演」Georg Brandl
python and Neutrons
python3.Xのパッケージ増えている
The FRM2で pythonを使用している
中性子をX線の用に使って走査することができる
中性子の計測装置
いろいろな条件、いろいろな操作
それらの装置をしっかりコントロールしたい
たくさんのハードウエア
自動化
新しい機器が増える
使いやすくないといけない
プログラマと物理学者
NICOS
新しいPythonも挙動
デーモンをキャッシュするとき
ドキュメンテーション
ユーザー体験
NameSpaceハック
デバッキング
PyEval_SetTrace()
メタクラス
デコレーター
コンパイルについて
「パッケージングの今と未来」@Odagiri
http://www.slideshare.net/aodag/ss-26183017
パッケージングの基礎知識
なぜパッケージングするのか?
人に使ってもらうため
distutils
setup.pyに情報書いて実行すればいい
パッケージングの今
Pypaツール群
Pypa PythonPackagingAuthority
パッケージングツールをメンテナスしてる
pypaツール
virtualenv ←これ入れればOk
setuptool
pip
setuptools/distrivute
distributeはsetuptoolsにマージされた
entry-point
起動時点を指定する仕組み
setuptoolsの使い方
setup.pyの書き方とか
パッケージの未来
wheel
distlib
まとめ
今はSetuptoolsとsetup.pyの使い方を覚えておく
今後はwheelとかに注目する
「Sphinx入門」@tell_k
Sphnx概要
ドキュメンテーションツール
pipでインストールできる
.rstファイルが元データとなる
いろんな形式に出力できる
テーマを設定できる。
変更できるし、改造できる。
ドキュメント作成に
自動ビルドにはWatchdogを使う
自動ビルドにjekins
そういうことをやってくれるサービスReadTheDocs
APIリファレンス
sphinx.etx.autodoc
DB定義
よく使う拡張
参考
Sphinxx-User.jp
アドベントカレンダー
カンファレンス
QA
電子書籍特化ならRubyのReview使うと捗る
「Django逆入門」Nozomu Kaneko
https://speakerdeck.com/knzm/pyramid-karafalse-django-ni-ru-men
pyramid(ピラミッド)
django
自前でパッケージ持ってる
Pyramid
都度読み込んでる
Requestオブジェクトのとりかた
だいたい同じ
ORマッパー
相違点いくつか
ビュー
相違点いくつか
デバッグツール
django-debug-toobar
ルーティング
スキーママイグレーション
djangoはsouth
sqlalceammyはalembic
フォーム
テストランナー
「VFX業界におけるPython活用例」@alpaca3
CGプロダクションのプログラマ
映像制作の支援
VFXの製作工程
プリプロ
脚本
絵コンテ
絵の方向性
レイアウト
モデリング
3Dデータを作成
リギング
動かせるようにする
アニメーション
動かす
エフェクト
ライティング
コンポジット
各素材を合成
ルックを決める
編集
タイミング
カラコレ
いろんな作業でいろんなソフトを使う
無駄な作業
クリエイティブでない作業
自動化・効率化
効率化のための機能拡張
業界として
デザイナーが圧倒的多数
スクリプト出来る人いない
現場とツール制作兼任
DSLの弱いところ
クラスの概念なし
ネットワークなし
Maya8.5
Python対応
Pythonの恩恵
ソフトに依存させないで使える
実現可能な幅の広がり
ネットワークやDB、ライブラリを使える
ツール2
スクリプトを整理するためのアプリ
GUIへの影響
Qtの採用
PyQt、PySlide
Pythonベース、Pythonで書かれたソフト
Nuke,Katana、Trac、TACTIC
インハウスをOSSにしていたり
プロダクションの論文検証・実装活用
NumPyやSciPy
Python2.Xが主流
TDとTR
TD
現場に近いプログラマ
納期が短い(今日中とか
デザイナーとプログラマ
元デザイナー
RD
プロジェクトには属さない
長期開発
海外だともっと細かく分類
VFX業界にPythonは普及してる
プログラマを専業で雇うところは少ない
海外では多い
「Programing AWS with Python」@understeer
http://www.slideshare.net/understeer/20130914-py-conapacawspublic
AWSをPythonで使う話
AWSのSDK
AWSのサービス操作
ManagementConsole
コマンドラインツール
AWSCLI
いずれのツールもAPIを操作しているだけ
AWSSDK
現在はPerl以外のメジャーな言語版で出ている
Boto
Python用のAWSSDK
AmazonWebServiceだけではなく、GoogleStorage、OpenStack、Eucalyptusでも使える。
JavaとBotoはAPI全てにほぼ対応している
DynamoDBの操作例
デモ
例
DyamicDNSとして使える
ServerSwapping
ScaleUp
まとめ
SDKを使うことでAWSをアプリのバックエンドで利用可
AWSはコーディングする方の力を最大限に引き出せる
「Python on WindowsAzureの心得」高橋和也
WindowsAzure概要
仮想マシン
汎用IaaS
WindowsServer
CentOS
Ubuntu
SUSE
クラウドサービス
汎用PaaS
専用SDKで作成したアプリをWindowsServer上にデプロイできる
Webサイト
Git,FTP等でデプロイ可能
最大10サイトまで
Django/flaskをサポート
開発ツール
PythonToolsForVisualStudio
WindowsAzureSDKforPython
仮想マシンの注意点
Linux仮想マシンの初期状態ではスワップ領域が構成されてない
/etc/waagent.cfgを編集しないといけない
一時領域ディスクにファイルを置かない
再起動で消される
インスタンス上のPythonは2.7
クラウドサービス独特のルール
SDK
設定ファイル
デプロイ
ライフサイクル
パッケージの作成方法によりデプロイ後のPythonインタプリタの構成が異なる
PythonToolsForVisualStudio
Virtualenvの内容をまとめてデプロイ
WindowsAzurePowerShell
必要なライブラリでも自動デプロイされないので、自分でいれる
Djangoのバージョンが古い
メンテナンスダウンへの対策
仮想マシン
可用性セットを構成して、ダウンを回避
クラウドサービス
Webサイトの注意点
Python2.7
Django1.4
pip等実行できないため、必要なライブラリはすべて抱え込まないといけない
AzureStorageの注意点
複雑な検索は遅い
SQLDatabaseの注意点
1DBで150GB
サポートされないSQL
コネクション強制切断されることがあるため、リトライロジックが必須
SQLserver2008以降のデータ型が使えない(datetime2)
同名DBでも作成のたびに日割り料金が発生する
仮想ネットワークの注意点
IPアドレスの永続期間
IPはDHCP割り当て
仮想マシンを停止すると変わる(再起動はOK)
まとめ
WindowsAzureでPythonを使える。ツールもある。
注意点がいくつかある。
「Running your Python applications on Google Computer Engine」BrainDorsey
UsingComputeEngine
Demo
VirtualMactine
BlockStorage
snapshot
Networking
Building&PortingYourApplication
QA
Windowsを新規インストールしたときに行うことメモ
Windows新規インストールする。デバイスドライバ入れる、グラフィックドライバ入れる、サウンドドライバ入れる。
そのあとでいれとくアプリのメモ。有償ソフトとかも入っているし完全に自分用。
google日本語入力
chrome
firefox
discord
skype
sonar
初音ミク
Dropbox
Box
ウイルス対策
itunes
dropbox
steam
origin
Open Broadcaster Software
1password
clip studio
東方
Honeyview
・基本のソフト
google日本語入力
Clanch
Orchis
chrome
firefox
thunderbird
skype
sai
picasa
秀丸
sublimetext
sonar
domino
初音ミク
kingsoft
winamp
Dropbox
Box
(foobar)
ウイルス対策
itunes
・開発のソフト
eclipse
virtual box
unity
teraterm
7zip
visualstudio
dropbox
・開発環境
java
python
ruby
directx9cSDK
windowsSDK
cygwin
git for windows
・ツール類
アーカイブしてるフリーソフト
flash media live encoder
SCFH
1password
clip studio
・ゲーム
steam
origin
東方
2013年にDirectXでゲームを作りたいときに知っておくべきこと
2013年9月現在は、Windowsの過渡期であるためか開発環境がややこしいことになっている。注意することをまとめたメモ。
1. Visual studio 2012で使用する環境の構築。
- オフィシャルページで配布されているDirectXデモプロジェクトをVS上で開くには、Windows8 上でVisualStudioExpressForWindows8を使用するか、有料のPro以降のエディションを使用する必要がある。
まず、マイクロソフトの公式のページを見る。
DirectX ゲーム開発とサンプルのチュートリアル (Windows)
http://msdn.microsoft.com/ja-jp/library/windows/apps/hh465149.aspx
このページを辿って行くと、DirectXゲームのでもプロジェクトをダウンロードすることができる。しかし、VisualStudio2012 Express For Desktopをダウンロードしてこのプロジェクトを開こうとしても開くことはできない。それは仕様であり下記でアナウンスされている。
http://support.microsoft.com/kb/2756246/ja
よって、デモプロジェクトを開くためには、VisualStudio2012 Express for Windows8か、有料のPro以降のVisualStudioのエディションが必要なる。
デモプロジェクトを開く環境が用意できるのであれば、公式のチュートリアルを粛々と進めていけば問題無い。ただし、Windows8ストア向けアプリのための話なのか、DirectXの機能そのものの話なのか、ゲームのロジックに関する話なのか、なんの話題なのかに気をつけること。
2.DirectXについて
「DirectX 入門」とかでぐぐると出てくる情報は、ほとんどがDirectX8やDirectX9をもとに書かれている。そしてDirectX9以前のAPIは、Windows8で、WindowSDKとして統合されたのだと思われる。
例えば、Direct9で必要な”d3d9.h”のヘッダファイルはWindlwsSDKはあったが、同様に必要なはずの”d3dx9.h”のヘッダファイルは含まれていなかった。
以前のDirectSDKはWindowsSDKに統合され、なくなっているものもある。ということなのだろう。
3.じゃあどうすればいいか?
- DirectXSDKを別途インストールすればDirecx9のAPIが使える
- 最新のDirectX11で3Dゴリゴリやりたい場合は、Pro以降のエディションを購入する。もしくはWindos8上でVSExpressを使う。ただしその場合はWindows8用ストアアプリしか作れない。
例えば2Dゲームを作りたいならDirectX9の機能で十分。かつての名著なども安く手に入る。過去のAPIを使うためには、マイクロソフトのUSサイトからDirectXSDKをダウンロードして、追加のインクルードファイルとしてVSに認識させればいい。
Download DirectX Software Development Kit from Official Microsoft Download Center http://www.microsoft.com/en-us/download/details.aspx?id=6812
これをインストールすれば、”d3d9.h”や”d3dx9.h”などをインクルードできるようになるので、開発が行える。