プロフィール


Live!Ads

カテゴリ

iPad (2)

スポンサー


検索(サイト内)

全タイトルを表示


最近の記事

最近のコメント

最近のトラックバック

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



【--/--/-- --:--】 スポンサー広告| tb(-) cm(-)

第12回 Python東海勉強会 に参加してきました

第12回 Python東海勉強会
   Hands-onでGoogle App Engine

に参加してきました。

 

アウトプットしておかないと何を学んだか忘れてしまってもったいないので、簡単ですがまとめておきます。

 

■メニュー

1. Zine は WordPress のキラーとなり得るか? by higebobo さん
2. web.py の利用例紹介 by yamamototetsuya さん

3. Hands-on で GAE by akihirox さん





■学んだこと

 

1. Zine は WordPress のキラーとなり得るか?

  • Zine (ざいん? じーん?)という Python製ブログエンジン。 
  • WordPress を強く意識している。
  • まだ開発途上であり、リッチなエディタや画像アップローダがない。
  • インストールが面倒。
  • テーマやプラグインの開発ができる(ドキュメントはない)
  • SQLite, MySQL, PostgresSQL が利用可能
  • 一般利用には耐えないが、Pythonista がいぢるのには良い。
  • WordPress のキラーアプリとなり得るか?
    → (今のところは)No!
  • 他のブログエンジンに、Zope+Squishdot、Plone、PyBlosxom といったものがある。

今のこのブログ FC2 だけどそろそろどうよ、って思ってまして、どうせ GAE 勉強するなら Python や GAE で動くブログエンジンないかなーと思ったのですが、Zine さんはどうもまだまだ途上な世界のようで…。今回 Zine 初め、いろいろなエンジンがあるのを知ることができました。

あと、TinyMCE というのも初めて知りましたし、それを以外はあっさりプラグインとして利用できるんだなぁ、と。


2. web.py の利用例紹介

  • 手書き風フォント → ホントに手書きだった!
  • web.py=ちっちゃいWebフレームワーク
  • チーム内情報共有システムの開発に便利に使った
  • ユーザー毎にフォルダ切ってテキストファイルを置き、ログインユーザー毎に、参照するフォルダを切り替えるのみの簡単なシステム
  • 認証は はてな認証API を利用(デモ用)。
  • はてな認証API はこんなかんじ
    ユーザーがWebアプリへ認証要求→はてなに飛ばす→はてな認証APIで認証→おみやげにcertもらう→certをもってWebアプリに認証要求→Webアプリがcertをもらって裏ではてなに確認を取る→はてなからuseridもらう→「うむ、確かにあなたはXXXさんですね」→終わり
  • web.py がお決まり文句を実装してくれてるので、ロジックを非常に簡単に(200行くらい?で)実現できた。

Django などの Webフレームワークを知らないのでどれほどのものかはわかりませんが、web.py は軽量なもので簡単なシステムをちゃちゃっと作るには適していそうだなと思いました。

Python も Java もそうですが、フレームワークに選択肢がある、という状況があることを再認識しました。(今まで C# ばかりだったので
フレームワーク= .NET Framework って感じで…)

はてな認証API はとても分かりやすい仕組みで、すぐに使えそうだなと思いました。

 

3. Hands-on で GAE

  • zc.buildoutによる作業環境の構築
  • zc.buildout = Ant みたいなもの
  • バージョン管理ツールの使い方
  • 自分は Git を使ってみました。てっきり GitHub とかにリポジトリ使っておかないといけないと思っていましたが、「ローカルのリポジトリだけでやれば」と言われ「あ、そっか」と。自分はそういうレベル(汗
  • GAE のスタートガイド を 「データストアの使用」までハンズオン形式で実施。
  • http://localhost:8080/_ah/admin/ で管理コンソールが起動する。自分 Google App Engine Launcher から起動してました。
  • Python では http://localhost:8080/_ah/ などの _ah は特殊なパスで、サーバーで処理される。
  • Python ではインデントを合わせないとブロックと認識されない。スペースでもタブでも良いが、混在は NG。普通はスペースを使うみたい。
  • ローカルのGAEデータストアはサーバーを落としても消えない。
  • データ抽出は GQL かメソッドで行うことができる。
  • キーでない項目を条件にすることもできるが、遅いしタイムアウトするかも知れない。
  • 続き(テンプレートの使用 以降)は次回(11月?)ということで。

GAE スタートガイド の手順は、前日に一通り試していたので、個人としては復習のような感じで行ないました。Python にも慣れてない身としては、どれが Python の機能でどれが GAE の機能なのかを説明しただけるとさらに分かりやすかったなあと。

基本スタートガイドのソースをコピペして動かす、という流れでしたが、ソースの流れは説明して頂きながらだったので分かりやすかったです。

また Python や GAE, BigTable の小ネタもいくつか聞けました。

 

懇親会にて

飲みの席なんで何話してたかよく覚えていませんが…

  • 知識レベルがみんな広ーい、高ーい
    自分なんてMSの庭で暮らしてきたものだから、OSS 系のツールやテクノロジなど知らない言葉がたくさん。いろいろ勉強しないとなぁ。
  • 業務と趣味(?)の差がスゴい
    プライベートでは Python とか使っていながら、業務では C++ や VB6 って、ギャップすごすぎ…
  • 書籍「リファクタリング」と「レガシーコード改善ガイド」はエンジニアにはマストリード!(リンクあってる?)
  • 企業は残業をなくすために社員に RedBull を支給すべき!
  • などなど・・・

GAE の本番環境にアップしてからのいろいろ使い倒してみたいので、また次回も参加したいと思います。

 

以上、なんかだらだらと長くなってしまいましたが、まとめでした。

スポンサーサイト
【2010/10/24 18:41】 勉強会| tb(0) cm(0)
タグ : Python
<<[Android]Android Screencast が激しく便利な件 | ホーム | IS03 予約しました>>
コメント
コメントの投稿

管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://oku2006.blog43.fc2.com/tb.php/1612-c3dc2624
| ホーム |
アクセスランキング
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。