http://www.python.jp/Zope/workshop/201012/
●Session 01
■mixiアプリとGoogle App Engine(7時より30分)
山下
@weboo
mixi Plugin イイネ!ボタン
mixi Graph API
mixi アプリ
mixi OpenID
■通常のWebサイトとの違い
一般的なWebサイトで人を集めるのは難しい→人気が出た場合は一気にユーザが増える
■なぜソーシャルアプリは流行るか?
◯理由
・ユーザ登録を擦る必要がない
・ユーザが勝手に宣伝してくれる
・バイラルマーケティング【viral marketing】のための手段が整っている(企業の商品やサービスを消費者に口コミで宣伝してもらい、利用者を広げるマーケティング戦略。「バイラル」は「感染的な」という意味で、マーケティングの仕組みをウィルスの感染・増殖に例えている。)
Activity Voice invite Request Message
◯サードパーティがリクエストを返す
◯人気のあるアプリは1000万人〜数億PV/日
■あなたのサーバは耐えられますか?
・各社がインフラ構築支援サービスを続々提供
・ニフティクラウド
・GMO
・DSAS
・DC Frontier
→ほぼ無料からできる
■python & GAE
松尾 Google
App Engine for mixi application
◯朝と昼と晩にアクセスが多い
◯メリット:Googleのインフラ上でmixiアプリケーションを動かせる
→人気が出なければ0円で済んでしまう。
・オートスケーリング(サーバの負荷に応じて必要なリソースが自動的に割り当てられます。)
・データベースの部分も自動でスケールする仕組み
1.4.0 数字を公表した→週間15万 10億ページビュー
1600QPS
Billable Quota(お金を払うと増えるクォータ)
・Minimize work(1000ms rule)
ユーザに1秒以内に返す→システム全体を守るため
Avoid datastore contention
Love Task Queue and Memocache
Put a deadline on DB opperarion
→データベースにデッドラインを設定 タイムアウト
■1.4.0リリース
・ロードマップ
GAE 1.4.0 で常時起動インスタンスが可能
・データストアオペレーションに関して、アバイラビリティーを設定
■
バスキュール 田中
サーバのエンジニアはいない
女性ターゲット→mixi
■mixiアプリ 華麗なる女優たちは
・ハリウッド女優体験
・Python&GAE
DAU:10万以上
ピークタイム:200〜300rec/sec
GAE/Javaの経験は社内にあったがリソースの確保ができない
→新たにパートナーを探した
大阪 テラポート
ビープラウドCTO@shin_no_suke
JOIN停止(ペナルティ)
404 not foudの大量発生
InportErrorno発生に起因し、不完全な状態でインスタンスが立ち上がり
404 not foundで返していた。
HTTP QUEのタイムアウト制限10→7秒
makeququestキューで
→1.4.0で改善した
ただし、mixiアプリでは減らした方がいい
■GAEのメリット(2つ)
・スケーラビリティ
→スケーラビリティを気にせずに参加できる
→諦めていたことが可能
・
ユーザーにはドキドキ
我々はウキウキ
→運用保守のことを考えずにチャレンジ
■Session 02
・Harvester - CG映像制作用ジョブディスパッチシステム(7時30分より30分)
レンダリングは画像が1枚1枚に描きおろし
cronで定期的な再起動をかけたりDBの内容にチェック
Push型からPull型の設計へ
JSONを使って通信を行う
Python2.6ベース
Windowsを基本、Linuxでもテストしている
・タグを割り振ることにより、特定のノード群のみで実行されるように可能
・ジョブテンプレートによりフレームごとに行う処理を簡易的に記述できる
GUIはExtJSで構築
HTMLを入れることでアーティストに
サーバ間はJSONベースのAPI
■JSON
・ベースがHTTPなので安定している
・Firebugででバック可能
・
Apacheのdeflateを使ってみたところjson通信が700kb/sから20kb/sまで圧縮
WindowsでWMIを使っているが安定性に欠けている
■Session 03
Pythonのイケてるところ/イケてないところ(8時5分より40分
・Java : 庄司嘉織さん 浅草Rubyより
イケてる:インデント守っている(守らない人と仲良くできない)
Javaと比べるとすべてイケてる
インタプリタがある
数字の0、空の配列がFalse
イケてない:後方互換していたのにlen、strオブジェクト指向ではない。
予約語が少ない、True、False、None(ナン)あまり使わない?
Java→コンカレントキー、スレッド(Webはあまり関係ない?)
Pythonのselfはインスタンスメソッドを呼んだ時の引数の数が分かりにくい
・Perl : 松野徳大さ 2.4使っていた
イケてる:インデント
SVG
ライブラリが多い(ACPクライアントライブラリがない)
イケてない:正規表現リテラルがない
Python→静的スコープ
・PHP : 小泉守義さん
イケてる:インデント
標準関数があるが長くて覚えられない
ドキュメントが充実
イケてない:インデント
テンプレート言語として向いてない、HTMLと混ぜてかけない
Perl→スコープの範囲がいろいろ切り替えられる言語
・Ruby : 高橋征義さん Perl PHPを仕事 Rubyは学生時代
電子書籍Squirrelの言語の本を出す
イケてる:海外ではRailsはWebが強いが、他はPython
Rubyにあるような変に英語っぽいDSLはPythonはない
イケてない:Pythonは蛇だらけ、Railsは見栄えのあるロゴを作った
PHP→===の完全一致がキモイ
・Python : 西尾泰和 さん
イケてる:Javaコンパイラのエラーが
IDE充実、Javaほどではない
→JavaVMが素晴らしいのではない
予約語するより、分かりやすいもののほうが良い
PHP→数学的な規則がよくわかる言語(==)
Pythonのselfは?、明示的に渡しているだけ
■ライトニングトーク
●ケーベルラボ 小林
python sf
Python sf は計算に特化したソフト、ワンライナー
●遷移図生成ツール
小宮
タイムインターメディア
遷移図つくってますか?
自社ではExcelやVisioでつくることが多い
追加、削除が大変
ずれる
Excelのバージョンが合わない
blockdiag(ぶろっくだいあぐらむ)
遷移図生成ツール
Subversionで管理しやすい
インストールeasy_install blockdiag
diagram {
A->B->C
}
SVGが表示できるブラウザ上でできる。
→ノードの形状切り替え
→レイアウトエンジンの見直し
■SciPy-Japan2011 Project
「Python書いてたら英語くらいできる。」
David
NOUVEL
SciPyのカンファレンスを2011に日本で開きたい
Europe
#pw1012
開催のための協力やボランティア募集中
http://www.python.jp/Zope/workshop/201012/
●Session 01
■mixiアプリとGoogle App Engine(7時より30分)
山下
@weboo
mixi Plugin イイネ!ボタン
mixi Graph API
mixi アプリ
mixi OpenID
■通常のWebサイトとの違い
一般的なWebサイトで人を集めるのは難しい→人気が出た場合は一気にユーザが増える
■なぜソーシャルアプリは流行るか?
◯理由
・ユーザ登録を擦る必要がない
・ユーザが勝手に宣伝してくれる
・バイラルマーケティング【viral marketing】のための手段が整っている(企業の商品やサービスを消費者に口コミで宣伝してもらい、利用者を広げるマーケティング戦略。「バイラル」は「感染的な」という意味で、マーケティングの仕組みをウィルスの感染・増殖に例えている。)
Activity Voice invite Request Message
◯サードパーティがリクエストを返す
◯人気のあるアプリは1000万人〜数億PV/日
■あなたのサーバは耐えられますか?
・各社がインフラ構築支援サービスを続々提供
・ニフティクラウド
・GMO
・DSAS
・DC Frontier
→ほぼ無料からできる
■python & GAE
松尾 Google
App Engine for mixi application
◯朝と昼と晩にアクセスが多い
◯メリット:Googleのインフラ上でmixiアプリケーションを動かせる
→人気が出なければ0円で済んでしまう。
・オートスケーリング(サーバの負荷に応じて必要なリソースが自動的に割り当てられます。)
・データベースの部分も自動でスケールする仕組み
1.4.0 数字を公表した→週間15万 10億ページビュー
1600QPS
Billable Quota(お金を払うと増えるクォータ)
・Minimize work(1000ms rule)
ユーザに1秒以内に返す→システム全体を守るため
Avoid datastore contention
Love Task Queue and Memocache
Put a deadline on DB opperarion
→データベースにデッドラインを設定 タイムアウト
■1.4.0リリース
・ロードマップ
GAE 1.4.0 で常時起動インスタンスが可能
・データストアオペレーションに関して、アバイラビリティーを設定
■
バスキュール 田中
サーバのエンジニアはいない
女性ターゲット→mixi
■mixiアプリ 華麗なる女優たちは
・ハリウッド女優体験
・Python&GAE
DAU:10万以上
ピークタイム:200〜300rec/sec
GAE/Javaの経験は社内にあったがリソースの確保ができない
→新たにパートナーを探した
大阪 テラポート
ビープラウドCTO@shin_no_suke
JOIN停止(ペナルティ)
404 not foudの大量発生
InportErrorno発生に起因し、不完全な状態でインスタンスが立ち上がり
404 not foundで返していた。
HTTP QUEのタイムアウト制限10→7秒
makeququestキューで
→1.4.0で改善した
ただし、mixiアプリでは減らした方がいい
■GAEのメリット(2つ)
・スケーラビリティ
→スケーラビリティを気にせずに参加できる
→諦めていたことが可能
・
ユーザーにはドキドキ
我々はウキウキ
→運用保守のことを考えずにチャレンジ
■Session 02
・Harvester - CG映像制作用ジョブディスパッチシステム(7時30分より30分)
レンダリングは画像が1枚1枚に描きおろし
cronで定期的な再起動をかけたりDBの内容にチェック
Push型からPull型の設計へ
JSONを使って通信を行う
Python2.6ベース
Windowsを基本、Linuxでもテストしている
・タグを割り振ることにより、特定のノード群のみで実行されるように可能
・ジョブテンプレートによりフレームごとに行う処理を簡易的に記述できる
GUIはExtJSで構築
HTMLを入れることでアーティストに
サーバ間はJSONベースのAPI
■JSON
・ベースがHTTPなので安定している
・Firebugででバック可能
・
Apacheのdeflateを使ってみたところjson通信が700kb/sから20kb/sまで圧縮
WindowsでWMIを使っているが安定性に欠けている
■Session 03
Pythonのイケてるところ/イケてないところ(8時5分より40分
・Java : 庄司嘉織さん 浅草Rubyより
イケてる:インデント守っている(守らない人と仲良くできない)
Javaと比べるとすべてイケてる
インタプリタがある
数字の0、空の配列がFalse
イケてない:後方互換していたのにlen、strオブジェクト指向ではない。
予約語が少ない、True、False、None(ナン)あまり使わない?
Java→コンカレントキー、スレッド(Webはあまり関係ない?)
Pythonのselfはインスタンスメソッドを呼んだ時の引数の数が分かりにくい
・Perl : 松野徳大さ 2.4使っていた
イケてる:インデント
SVG
ライブラリが多い(ACPクライアントライブラリがない)
イケてない:正規表現リテラルがない
Python→静的スコープ
・PHP : 小泉守義さん
イケてる:インデント
標準関数があるが長くて覚えられない
ドキュメントが充実
イケてない:インデント
テンプレート言語として向いてない、HTMLと混ぜてかけない
Perl→スコープの範囲がいろいろ切り替えられる言語
・Ruby : 高橋征義さん Perl PHPを仕事 Rubyは学生時代
電子書籍Squirrelの言語の本を出す
イケてる:海外ではRailsはWebが強いが、他はPython
Rubyにあるような変に英語っぽいDSLはPythonはない
イケてない:Pythonは蛇だらけ、Railsは見栄えのあるロゴを作った
PHP→===の完全一致がキモイ
・Python : 西尾泰和 さん
イケてる:Javaコンパイラのエラーが
IDE充実、Javaほどではない
→JavaVMが素晴らしいのではない
予約語するより、分かりやすいもののほうが良い
PHP→数学的な規則がよくわかる言語(==)
Pythonのselfは?、明示的に渡しているだけ
■ライトニングトーク
●ケーベルラボ 小林
python sf
Python sf は計算に特化したソフト、ワンライナー
●遷移図生成ツール
小宮
タイムインターメディア
遷移図つくってますか?
自社ではExcelやVisioでつくることが多い
追加、削除が大変
ずれる
Excelのバージョンが合わない
blockdiag(ぶろっくだいあぐらむ)
遷移図生成ツール
Subversionで管理しやすい
インストールeasy_install blockdiag
diagram {
A->B->C
}
SVGが表示できるブラウザ上でできる。
→ノードの形状切り替え
→レイアウトエンジンの見直し
■SciPy-Japan2011 Project
「Python書いてたら英語くらいできる。」
David
NOUVEL
SciPyのカンファレンスを2011に日本で開きたい
Europe
#pw1012
開催のための協力やボランティア募集中
帰ってきた Python Workshop 2010/12
2010年12月8日(水) 午後7時より午後9時ごろまで
●Session 01
■mixiアプリとGoogle App Engine(7時より30分)
山下
@weboo
mixi Plugin イイネ!ボタン
mixi Graph API
mixi アプリ
mixi OpenID
■通常のWebサイトとの違い
一般的なWebサイトで人を集めるのは難しい→人気が出た場合は一気にユーザが増える
■なぜソーシャルアプリは流行るか?
◯理由
・ユーザ登録を擦る必要がない
・ユーザが勝手に宣伝してくれる
・バイラルマーケティング【viral marketing】のための手段が整っている(企業の商品やサービスを消費者に口コミで宣伝してもらい、利用者を広げるマーケティング戦略。「バイラル」は「感染的な」という意味で、マーケティングの仕組みをウィルスの感染・増殖に例えている。)
Activity Voice invite Request Message
◯サードパーティがリクエストを返す
◯人気のあるアプリは1000万人〜数億PV/日
■あなたのサーバは耐えられますか?
・各社がインフラ構築支援サービスを続々提供
・ニフティクラウド
・GMO
・DSAS
・DC Frontier
→ほぼ無料からできる
■python & GAE
松尾 Google
App Engine for mixi application
◯朝と昼と晩にアクセスが多い
◯メリット:Googleのインフラ上でmixiアプリケーションを動かせる
→人気が出なければ0円で済んでしまう。
・オートスケーリング(サーバの負荷に応じて必要なリソースが自動的に割り当てられます。)
・データベースの部分も自動でスケールする仕組み
1.4.0 数字を公表した→週間15万 10億ページビュー
1600QPS
Billable Quota(お金を払うと増えるクォータ)
・Minimize work(1000ms rule)
ユーザに1秒以内に返す→システム全体を守るため
Avoid datastore contention
Love Task Queue and Memocache
Put a deadline on DB opperarion
→データベースにデッドラインを設定 タイムアウト
■1.4.0リリース
・ロードマップ
GAE 1.4.0 で常時起動インスタンスが可能
・データストアオペレーションに関して、アバイラビリティーを設定
■
バスキュール 田中
サーバのエンジニアはいない
女性ターゲット→mixi
■mixiアプリ 華麗なる女優たちは
・ハリウッド女優体験
・Python&GAE
DAU:10万以上
ピークタイム:200〜300rec/sec
GAE/Javaの経験は社内にあったがリソースの確保ができない
→新たにパートナーを探した
大阪 テラポート
ビープラウドCTO@shin_no_suke
JOIN停止(ペナルティ)
404 not foudの大量発生
InportErrorno発生に起因し、不完全な状態でインスタンスが立ち上がり
404 not foundで返していた。
HTTP QUEのタイムアウト制限10→7秒
makeququestキューで
→1.4.0で改善した
ただし、mixiアプリでは減らした方がいい
■GAEのメリット(2つ)
・スケーラビリティ
→スケーラビリティを気にせずに参加できる
→諦めていたことが可能
・
ユーザーにはドキドキ
我々はウキウキ
→運用保守のことを考えずにチャレンジ
■Session 02
・Harvester - CG映像制作用ジョブディスパッチシステム(7時30分より30分)
レンダリングは画像が1枚1枚に描きおろし
cronで定期的な再起動をかけたりDBの内容にチェック
Push型からPull型の設計へ
JSONを使って通信を行う
Python2.6ベース
Windowsを基本、Linuxでもテストしている
・タグを割り振ることにより、特定のノード群のみで実行されるように可能
・ジョブテンプレートによりフレームごとに行う処理を簡易的に記述できる
GUIはExtJSで構築
HTMLを入れることでアーティストに
サーバ間はJSONベースのAPI
■JSON
・ベースがHTTPなので安定している
・Firebugででバック可能
・
Apacheのdeflateを使ってみたところjson通信が700kb/sから20kb/sまで圧縮
WindowsでWMIを使っているが安定性に欠けている
■Session 03
Pythonのイケてるところ/イケてないところ(8時5分より40分
・Java : 庄司嘉織さん 浅草Rubyより
イケてる:インデント守っている(守らない人と仲良くできない)
Javaと比べるとすべてイケてる
インタプリタがある
数字の0、空の配列がFalse
イケてない:後方互換していたのにlen、strオブジェクト指向ではない。
予約語が少ない、True、False、None(ナン)あまり使わない?
Java→コンカレントキー、スレッド(Webはあまり関係ない?)
Pythonのselfはインスタンスメソッドを呼んだ時の引数の数が分かりにくい
・Perl : 松野徳大さ 2.4使っていた
イケてる:インデント
SVG
ライブラリが多い(ACPクライアントライブラリがない)
イケてない:正規表現リテラルがない
Python→静的スコープ
・PHP : 小泉守義さん
イケてる:インデント
標準関数があるが長くて覚えられない
ドキュメントが充実
イケてない:インデント
テンプレート言語として向いてない、HTMLと混ぜてかけない
Perl→スコープの範囲がいろいろ切り替えられる言語
・Ruby : 高橋征義さん Perl PHPを仕事 Rubyは学生時代
電子書籍Squirrelの言語の本を出す
イケてる:海外ではRailsはWebが強いが、他はPython
Rubyにあるような変に英語っぽいDSLはPythonはない
イケてない:Pythonは蛇だらけ、Railsは見栄えのあるロゴを作った
PHP→===の完全一致がキモイ
・Python : 西尾泰和 さん
イケてる:Javaコンパイラのエラーが
IDE充実、Javaほどではない
→JavaVMが素晴らしいのではない
予約語するより、分かりやすいもののほうが良い
PHP→数学的な規則がよくわかる言語(==)
Pythonのselfは?、明示的に渡しているだけ
■ライトニングトーク
●ケーベルラボ 小林
python sf
Python sf は計算に特化したソフト、ワンライナー
●遷移図生成ツール
小宮
タイムインターメディア
遷移図つくってますか?
自社ではExcelやVisioでつくることが多い
追加、削除が大変
ずれる
Excelのバージョンが合わない
blockdiag(ぶろっくだいあぐらむ)
遷移図生成ツール
Subversionで管理しやすい
インストールeasy_install blockdiag
diagram {
A->B->C
}
SVGが表示できるブラウザ上でできる。
→ノードの形状切り替え
→レイアウトエンジンの見直し
■SciPy-Japan2011 Project
「Python書いてたら英語くらいできる。」
David
NOUVEL
SciPyのカンファレンスを2011に日本で開きたい
Europe
#pw1012
開催のための協力やボランティア募集中