2011-01-01から1年間の記事一覧
2011 年は仕事面で色々変化があった年だった。 4 月からコードを書くというより、システム全体を設計するという方にシフトしたが、全然達成できてない。 アウトプットできるような物が殆どなかった。 作ってはリジェクトをくらい作ってはリジェクトをくらい…
jQuery だけでサイトを作っているとちょっと規模が大きくなると見え辛くなってくるので Backbone.js を使おうと思い情報収集している。 以下自分の為のリンク集。 オフィシャルサイトのドキュメント http://documentcloud.github.com/backbone/ チュートリア…
Google Analytics のタグを埋め込む場合、テスト環境に入れてるとそれもカウントされるそうなので、正確な値を取る為にプロダクション環境かどうかという判定を行う必要がある。 Google Analytics のタグは全ページに入れる必要があるので、大元となる layou…
普段 Vim と Pylakes を連携しているけど pep8とpyflakesのvimプラグインを入れた - 十番目のムーサ を読んで使っている Vim プラグインとは違う事に気付いた。 普段使ってるのは、こちらで最後に少し紹介されているもの。 vimでPythonのコードを書いている…
メモ。 Python の MySQLdb で like 検索を行う場合。 import MySQLdb connector = MySQLdb.connect( host=host, port=port, db=db, user=user, passwd=password, use_unicode=0, charset='utf8' ) cursor = connector.cursor() param = 'python' sql = """SE…
PHP の便利関数の一つに number_format というのがある。 PHP: number_format - Manual 同じ事を Python でやろうとすると、以下が見つかった。 number_format filter | Flask (A Python Microframework) http://ndiblog.mezquita.jp/archives/96 ロケールを…
Flask で開発時は debug = True にし app.logger を使用するとログを標準出力する。 本番環境では標準出力じゃなくて、ファイルに出力するようにしてた。 import os import logging from logging.handlers import RotatingFileHandler from flask import Fla…
PostgreSQL にはストアドプロシージャ(ファンクション)に Perl や Python といったスクリプト言語で記述できる。 これを使えば Perl/Python で外部のサーバにメッセージを飛ばせないかやってみた。 まずは MacPorts で PostgreSQL8.4 をインストール(9.x を…
昨日遭遇した現象。 仕様なのこれ? app.py #!/usr/bin/env python # -*- coding: utf-8 -*- from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/<arg1>/<arg2>/<arg3>/', stri</arg3></arg2></arg1>…
前回の続き WTForms の model_form を使えば一々フォームクラスを作らなくて良いが、各フィールドに対して独自の処理をしたい場合に困る。 例えば、特定のフィールドに対して別のバリデーションを追加したい場合や、エラーメッセージを変更したい場合。 そん…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
材料 Flask の Snippet に載っている Simple Pagination Jinja2 のインポート Twitter Bootstrap の Pagination css Flask の Snippet にある Simple Pagination を utils/pagintion.py とかにして保存する。 # -*- coding: utf-8 -*- from flask import Fla…
SQLAlchemy で like 検索をしたい時は以下のようにするらしい。 # DB は MySQL def search(query): rows = Session.query(Items).filter(Items.title.like('%\\' + query + '%', escape='\\')).all() return rows バインドしてないのが気になったけど、大丈…
WTForms でラジオボタンを使うメモ。 # オフィシャルサイトに書いてるけど…。 フォームクラス # -*- coding: utf-8 -*- from flaskext.wtf import Form, RadioField, validators from flaskext.babel import gettext as _ class(Form): active_flag = RadioF…
Redis の Python クライアントの redis-py で以下のような事をやってみた。 # -*- coding: utf-8 -*- from redis import Redis client = Redis(host=localhost) data = {u'foo': u'bar', u'baz': ['aaa', 'bbb', 'ccc']} client.set('sample', data) ret = c…
Twitter Bootstrap という css フレームワークは管理画面やちょっとしたデモサイトで体裁を整えたいという場合にとても便利だと思う。 特に自分の場合デザインが良く分かってないのでこういうのは便利。 リリースのアナウンスが出た日に Github から css を…
自分用のメモ。 Flask はマイクロフレームワークを詠っているが、大きめのアプリケーションを作る事が出来る。 自分で色々組み合わせて行くのが好きなので Flask を使う。 メンドクサイのなら、素直に Django とか Pyramid なフルスタックを使えば良い。 Mod…
Flask でログインして認証したい。 公式のドキュメントには Login/Logout のサンプルが載ってる。 Blueprints and Views — Flask 1.0.2 documentation ユーザ名とパスワードが一致したらセッション変数のフラグを立てる。 これとデコレータを使った例を使っ…
Flask でモジュール機構を実現するには Blueprint を使うが、こいつが Flask のインスタンスを持っていない。 # -*- coding: utf-8 -*- # manage.py from flask import Flask from views.admin import app as admin app = Flask(__name__) app.register_blue…
Python で文章中に含まれる半角記号(;/?:@&+,()[]!"#%'~\`)と半角スペースを全て特定の値(-)に置換したい。 例えば、「エメラルド Tour 2010(初回限定盤) [DVD] 」は「エメラルド-Tour-2010-初回限定盤---DVD-」といった感じ。 str.replace をするのか、re.s…
AnyEvent::MPRPC から MessagePack-RPC Java の接続 - Memo の続き。 id:gfx さんに捕そく頂けたようで、直したよというメンションを頂いた。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; i…
Github 上の OSS なプロダクトをデザイナーさんが奇麗なデザインを当ててくれる「デザインテロ」なるものがあるそうな。 http://www.slideshare.net/machidanohimitsu/ss-6678537 で、昨日 Twitter でこんなんが流れてきた。 window.twttr = (function(d, s,…
2011/08/08 追記 AnyEvent::MPRPC を修正して頂いた。ver 0.10 では解消済み。 Perl の AnyEvent::MPRPC::Client を使用して MessagePack-RPC Java サーバに接続した際にメソッドコールを行っても何もデータが応答がない。 クライアント側の実装。 #!/usr/bi…
MessagePack-RPC の PHP をクライアントにした時にこんなエラーが出る。 call('echo', array('PHP PHP')); var_dump($ret); PHP Fatal error: Uncaught exception 'Exception' with message 'hello PHP PHP' in /path/to/msg…
MessagePack-RPC の Java を試してみようと格闘している。 サーバ側のコード。 package jp.heavenshell; import org.msgpack.rpc.Server; import org.msgpack.rpc.loop.EventLoop; public class ServerApp { public String echo(String msg) { return "hello…
SQLAlchemy 0.7 からどうやら Integer(3) みたいな形は警告がでるようになった。 # -*- coding: utf-8 -*- from sqlalchemy import Column, Integer, String Base = declarative_base() class User(Base): __tablename__ = 'users' id = Column(Integer, pri…
Python のデプロイツールである Fabric を普段から使っている。 で、Fabric で rsync をする場合は以下のように書く。 #!/usr/bin/env python # -*- coding: utf-8 -*- import os from fabric.api import env, run, roles, cd from fabric.contrib import pr…
Mac や Linux を使っていると自分の rc ファイルが増えてきて一々手動で管理するのもメンドクサイし、外部リポジトリに管理したくないような物もある。 ていことで Dropbox にスクリプトで保存するのを書いた。 #!/usr/bin/env python # -*- coding: utf-8 -…
id:sotarok さんに紹介いただいてフォロワーさんが増えて少しビックリしてたが、 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s…
サーバサイドからのクライアント(ブラウザ)に push するのを色々調べていた。 最初 Twitter や Facebook がやっているように、Transfer-Encoding: chunked を試していて、Node.js を使ったら chunked なデータを送信するのは割と簡単にできた。 が、ある程度…