cmscomさん主催の開発合宿に参加してきました
8/28, 29 の2日間、 CMSコミュニケーションズ さん主催の開発合宿に初めて参加してきました。
今回の10回目まで毎回合宿会場を変えているらしいのですが、今回は残念ながらネットワーク難民が大量に発生するサバイバルな合宿になってしまいました。どうやら、 初回以来の大遭難(ping的な意味で) だったようです。会場は、那須塩原の少し先の黒磯。UQ-WiMAXは圏外、emobileもホテルの居室内ではギリギリでした。室内にLAN口があったのでこれでなんとか。2日目に借りたホテルの会議室ではLAN口もなく、emobileもアウトでping通らず。自分は普段オフラインでも開発出来るようにしているので問題無かったのですが、他の皆さんはなかなかキビシかったようで...。それでも最後にはかなり濃い成果発表を聞くことが出来ました。
参加者の方々の成果発表ではiPhoneやiPadのアプリ開発や活用関係が多く、プログラムを書かずにiPhoneアプリっぽいものを作れる Sencha は非常に興味深かったです。最近手を広げすぎなのでしばらく触る予定はないけど、いつか触るかも。
一緒に参加した @tk0miya 先生は定義からWeb画面のモックを生成するツールを作ってました。つまり、Sphinxのディレクティブに実装すれば画面設計図を作れるという話ですね、期待してます@tk0miya先生!(geckoエンジンでWeb画面を画像ファイルにする仕組みにする予定なのでSphinxに組み込むには依存が多すぎるらしいですが...)期待してます。
あとは教育系の話題が多かったのが興味深い。アルゴリズムの学習とか。
自分はまたまた xdv の活用方法について色々とまとめていて、今回の合宿ではまずまずの成果を上げることが出来ました。この成果は近いうちに公開出来るんじゃないかなと思っています。
- カテゴリ
- Event
-
python
- Programming
- 旅行
- Web
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
BPStudy#36 に参加しました Jiemamyとbeproud-bot君の紹介
BPStudy#36 に参加しました Jiemamyとbeproud-bot君の紹介
BPStudy#36 に参加してきました。 前回35回にも参加してましたが疲れててメモ取らなかったからな……。
今回のネタは"Jiemamy"と"beproud-bot君"。
第一部「DB meets Jiemamy ? 「DBも、進化せよ。」」
- http://jiemamy.org/display/PORTAL/Home
- これはモデリングツールじゃないですよ!
Jiemamyとは
Jiemamyサイトから引用:
Jiemamyは単なるER図エディタではありません。ER図を使ってデータの編集を行いますが、大局的な目的は、データベース構成管理プロセスを改善し、より変更に強いソフトウェア開発を実践できる環境づくりをすることです。
- 機能
- データベース構成(スキーマ+データセット)情報のモデル化及びその操作
- アプリケーションの各リビジョンに対応する構成情報の管理
- アプリケーションのビルドに伴った、モデルに沿ったデータベース構成の自動構築
発表からポイントをメモ
Jiemamyは 開発モデル
SVNからプロジェクトを持ってきてもすぐ動く訳じゃない
antやMavenなどの スマートビルド はプロジェクトに必須
DB構成(スキーマ)もプログラムのリビジョンと合わせて管理が必須
JiemamyのデータはXML(マージの可能性)
ER図エディタが欲しいならJiemamy以外に良いのが色々あるよ
JiemamyのER図エディタはデータファイル形式を考え抜いている(まだ考えてる)
モデルエディタで開始スクリプト・終了スクリプトを設定出来る
- Jiemamyが究極的に目指すのは一つのjerからどのDB向けのSQLも生成できる
- だから開始スクリプト・終了スクリプトはあまり使わない方が良い
しみずかわの理解
- ああ、ジーマミーって沖縄の豆腐料理ですね。
- Jiemamyプロジェクトは概念を伝えるプロジェクト
- 概念を伝えるための矯正器具・サポートツールを提供する
- DBスキーマ管理をJavaで提供するための補助ツール(ER図エディタ等)を提供
- Rubyのmigration管理の概念と同じ感じ
質疑応答なかったので質問を書いておく
- dialectはエディタ上以外でも指定できますか?アプリが使うDBとJiemamyがはき出すDBのSQL形式が連動して欲しいので、DB形式指定は1カ所にしたいわけです
- モデル図のPDF出力や印刷など、納品物生成的な使い方はできますか?
結論
- Jiemamyは 開発モデル !
第二部 beproud-bot君の紹介
発表: @haru860
発表からポイントをメモ
「子は鎹」という言葉があるが「beproud-botは鎹」
メンバーの何名かがbot化されている
グループチャットにbeproud-botを招待するとコマンドに答えてくれる
- Skypeを中心に据える
みんなが入ってるグループチャットを作る
コミットやNagiosのアラートなどもSkypeのグループチャットに集める
同じ場所にいてもSkypeを見る
- そのうち違う場所に居ることに気づかなくなる
- 小さい会社だと場所の問題があるのでこれは重要
- 能力を分かっている協力メンバーは完全リモートで参加が出来る
- 週一回の進捗管理ミーティングなどが基本的に不要になる
- 常に進行状況が見えている
- 雑談の中にこそ会社のメンバーの要望などが潜んでいる
- BP4などの効果的な福利厚生を提供できる
beproud-botはオープンソースになっています
- カテゴリ
- Event
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
Zope/Plone開発勉強会#14 でxdvについてまとめました
8/21(土) は Zope/Plone開発勉強会#14 でした。
そこでxdvのQuickStartについてまとめたので、貼っておきます。
なお、xdvはDeliveranceから派生した互換プロジェクトです。概念についてはDeliveranceの紹介スライドを参照して下さい。 -> Deliveranceによるデザインカスタマイズ (Ploneを題材にしていますがPlone以外、Python以外でも利用できますよ!)
XDV クイックスタート
このクイックスタートでは、あるサイトの見た目を変化させて表示するHTTPサーバーを用意します。これで、xdvのルール設定をしながら画面がどう変わるかを確認することが出来るようになります。この目的のため、以下のパッケージを利用しています。
| xdv: | ルールコンパイラ |
|---|---|
| dv.xdvserver: | WSGIフィルタ |
| Paster: | WSGIサーバー, Proxy |
インストール: buildoutの場合
zc.buildoutを利用すれば、OS上の/usr/lib/pythonなどにあるsite-packagesにインストールせずに色々なpythonライブラリを利用した環境を構築する事が出来ます。詳しくは Python Hack-a-thon 4 ハンズオン 中級コース などを参照してください。
buildout環境
まずはbuildout環境を初期化します。
$ mkdir /tmp/xdvenv $ cd /tmp/xdvenv $ wget http://svn.zope.org/repos/main/zc.buildout/trunk/bootstrap/bootstrap.py $ python bootstrap.py init
buildout.cfg
つぎにbuildout.cfgが生成されているので、このファイルを以下の内容で記載します。
[buildout]
parts = xdv xdvserver
[xdv]
recipe = zc.recipe.egg
eggs =
xdv
dv.xdvserver
PasteDeploy
interpreter = py
dv.xdvserver-1.0b7 へのpatch
dv.xdvserver-1.0b7には日本語関連のバグがあるので、ちょっとパッチあてます。なお、これはxdvのバグではなくWSGI層のバグなので、Ploneで使われているcollective.xdvなどを使っている場合は、問題無いはずです。
--- C:/Project/buildout-eggs/dv.xdvserver-1.0b7-py2.6.egg/dv/xdvserver/filter.py.orig Sat Aug 21 17:05:44 2010
+++ C:/Project/buildout-eggs/dv.xdvserver-1.0b7-py2.6.egg/dv/xdvserver/filter.py Sat Aug 21 17:57:38 2010
@@ -66,10 +66,9 @@
def apply_transform(self, environ, body):
+ body = body.decode('utf-8') # add this line
content = etree.fromstring(body, parser=etree.HTMLParser())
transformed = self.transform(content)
- return etree.tostring(transformed)
+ return etree.tostring(transformed, encoding='utf-8') # add encoding
def __call__(self, environ, start_response):
設定ファイルの作成
wsgi.ini
動作確認用に設定ファイルを書きます。buildout.cfg等と同じディレクトリにwsgi.iniを作成して以下の内容を記載します。bin/pasterコマンド(PasteDeployのスクリプト)にこのファイルを渡すとWSGIアプリケーションを動的に作成してくれます。
[server:main]
use = egg:Paste#http
host = 0.0.0.0
port = 8000
[composite:main]
use = egg:Paste#urlmap
/static = static
/ = default
[app:static]
use = egg:Paste#static
document_root = %(here)s/static
[pipeline:default]
pipeline = egg:Paste#cgitb
egg:Paste#httpexceptions
xdv.theme
proxy
[filter:xdv.theme]
use = egg:dv.xdvserver#xdv
theme = %(here)s/static/theme.html
rules = %(here)s/static/rule.xml
live = true
[app:proxy]
use = egg:Paste#proxy
address = http://www.ruby-lang.org/
上記の例では最後の行でRubyの公式サイトを表示するようにしています。
最後に、上記設定ファイルで指定しているディレクトリやファイルを用意します。まずstaticディレクトリを作成して、その中にそれぞれ以下の内容でtheme.htmlとrule.xmlを置いて下さい。
theme.html
このファイルでこれから作成するサイトのデザインを定義します。このHTMLファイルに、動的に内容を埋め込んでいくルールを、次に説明するrule.xmlで指定します。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>XDVの練習中です</title>
</head>
<body>
ほげほげ
</body>
</html>
rule.xml
ルールです。取りあえず空。
<rules xmlns="http://namespaces.plone.org/xdv"
xmlns:css="http://namespaces.plone.org/xdv+css">
</rules>
プログラムの実行とルールのカスタマイズ
起動とアクセス
以下のコマンドで起動して下さい。前述の設定通りであれば8000番ポートで起動します。
$ bin/paster wsgi.ini
起動したら http://localhost:8000/ にアクセスして下さい。あ、対象サイトがリダイレクト応答を返してくる場合、今の設定ではリダイレクトしてしまうので、今回のrubyサイトの例では http://localhost:8000/ja/ にアクセスするなどしてください。
ルールのカスタマイズ
rule.xml を編集しましょう。例えば以下の行を追加します。
<append theme="/html/head" content="/html/head/link"/> <replace theme="/html/body" content="/html/body"/>
- カテゴリ
-
python
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
- エラー
- ポートレットをレンダリングしているときにエラーがありました。
| « | 2010 年 September | » | ||||
|---|---|---|---|---|---|---|
| Mo | Tu | We | Th | Fr | Sa | Su |
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||
- このBlogについて
- Zope, Python, FreeBSD, その他色々について。つまり日記か。
- 最近のエントリ
- cmscomさん主催の開発合宿に参加してきました taka 2010年08月29日
- BPStudy#36 に参加しました Jiemamyとbeproud-bot君の紹介 taka 2010年08月27日
- Zope/Plone開発勉強会#14 でxdvについてまとめました taka 2010年08月23日
- Pythonで入れ子Zip内のファイルを透過的に開く方法 - zip_openを使う taka 2010年07月19日
- Windowsでpyreadline-1.6を使うとCtrl+H押下で文字削除出来ない問題のパッチ taka 2010年07月18日
- 最近のコメント
- Re:Zope2 ドキュメントを Sphinx でビルドする手順 xiangxiang 2010年09月03日
- pyreadline-1.6対応 しみずかわ 2010年07月18日
- pyreadline-1.6対応 しみずかわ 2010年07月18日
- Re:日本語キーボードから英語キーボードへ TAZO 2010年07月15日
- Re:COREBlog2をPlone3で動かすための修正: portletのカレンダー akiko 2010年06月30日
- 最近のトラックバック
- [python] エキスパートPythonプログラミング 彷徨えるフジワラ 2010年05月30日
- ファミリーコンサート 2009 終了 takalog 2009年11月10日
- Tools@System @note (PukiWiki/TrackBack 0.4) 2009年07月12日
- Windowsのコマンドプロンプトをフリーソフトで便利にする ナレッジエース 2009年05月31日
- plone研究会(2009-05) takalog 2009年05月22日
- カテゴリ
- Agile(XP) (0)
- Event (12)
- Pattern (0)
- その他 (10)
- Zope (11)
- Memo (0)
- 食 (3)
- python (19)
- Programming (1)
- Game (0)
- OO (0)
- Unix (0)
- WZ (0)
- work (0)
- Plone (11)
- Windows (1)
- IT-PC (4)
- 自転車 (0)
- TurboGears (0)
- ダーツ (0)
- JavaScript (0)
- 旅行 (1)
- Web (4)
- セキュリティー (1)
- Django (0)
- LDAP (0)
- データベース (0)
- vi/vim/gvim (0)
- C/C++ (0)
- ボドゲ (0)
- RoR (2)
- pyspa (1)
- スタトレ (0)



