アーカイブ

投稿者のアーカイブ

SQLAlchemyでMySQL独自のDDL方言を使う

2011 年 9 月 14 日 コメントはありません

例えばDDLでBIGINT使いたい場合は下記のように sqlalchemy.dialects.mysql から import する。
あと engine = InnoDB したい場合は __table_args__ を使うらしい。詳細はSQLAlchemyのドキュメントを参照。

from sqlalchemy import Column, Unicode
from sqlalchemy.dialects.mysql import BIGINT
from sqlalchemy.ext.declarative import declarative_base
 
Base = declarative_base()
 
class User(Base):
    __tablename__ = 'user'
    __table_args__ = { 'mysql_engine':'InnoDB' }
    id = Column(BIGINT, primary_key = True, server_default = '0')
    name = Column(Unicode(255), nullable = False)

Python クックブック 第2版

著者/訳者:Alex Martelli Anna Martelli Ravenscroft David Ascher

出版社:オライリー・ジャパン( 2007-06-26 )

大型本 ( 652 ページ )


カテゴリー: SQLAlchemy タグ:

Flask + python-oauth2 + python-twitterでTwitter APIを叩く

2011 年 9 月 11 日 コメントはありません

いろいろ面倒だった。

カテゴリー: Python タグ:

JavaのString.format()とStringBuilder#append()の文字列結合速度比較

2011 年 9 月 4 日 コメントはありません

Javaで文字列を結合するときは一般的にはStringBuilderを使うけど、個人的には結合後の文字列がより直感的になるString.format() が好き。ただ、ソースを見ると明らかにString.format()は遅そうなのでベンチを取ってみた。

1万回ループを実行した場合の結果は

  • StringBuilder: 76 ms
  • String.format: 615 ms

となってStringBuilderの方が圧倒的に速い。個人的にはLL慣れしているのもあってString.format()の方が圧倒的に見やすくて好きなんだけど、スピードが要求されるときはやっぱりStringBuilder使わないと駄目だと思った次第。

ちなみに測定環境は下記。

  • CPU: Intel Core i5 2.3Ghz Macbook Pro
  • OS: Mac OSX SnowLeopard
  • Java: java version “1.6.0_26″, Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425), Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)

Java並行処理プログラミング ―その「基盤」と「最新API」を究める―

著者/訳者:Brian Goetz Joshua Bloch Doug Lea

出版社:ソフトバンククリエイティブ( 2006-11-22 )

単行本 ( 480 ページ )


カテゴリー: Java タグ:

MySQL Casual Talks Vol.2 で話してきた

2011 年 8 月 11 日 コメントはありません

MySQL Casual Talks Vol.2で20分枠をもらって話してきた!こんなに長い時間人前で話すのは初めてだったので緊張しまくりでした。話した内容は仕事(ピグ)で利用しているMySQL上で運用しているNoSQLのやり方について。MySQLの設定とかの話は一切せずJavaのコードがメインでした。

正直、myfinderさんに声をかけられたときはどうしようかと悩んだけど、こういう経験はなかなかできないので良かったです。場数を踏むっていうのも重要ですしね。懇親会では riywo さんとシステム運用のガチトークをできたし、DeNAの人とたくさん絡めてよかったですw riywo さんが「MySQL Formal Talksやっても来るメンバーって変わらないよね」って言ってたのがなんともこの勉強会を象徴していて妙に印象に残っていますw

Vol.3 があったら今度は弊社メンバーの誰かにFusion-IOの話をしてもらいたいなぁ。

カテゴリー: MySQL, 日記 タグ:

rednoseを使ってnoseの出力をわかりやすくする

2011 年 7 月 28 日 コメントはありません

下記のようにテスト結果をカラフリャにしてくれる。ただし0.2.4はテストに失敗すると”TypeError: enumerate() takes exactly 1 argument (2 given)”というエラーになるので、こんな感じで修正が必要。

びふぉー

rednose_before

あふたー

rednose_after

エキスパートPythonプログラミング

著者/訳者:Tarek Ziade

出版社:アスキー・メディアワークス( 2010-05-28 )

大型本 ( 416 ページ )


カテゴリー: Python タグ:

Pythonでファイルを読み込むスマートなやり方

2011 年 6 月 13 日 コメント 4 件

結論から言うと下記が最もスマートでモダンな書き方っぽい。

f = open('/tmp/test.txt')
for line in f:
    print line
f.close()

※追記
Python2.5以降ならwithを使うともっとモダンというのをコメントやらブクマコメントで教えてもらった。

from __future__ import with_statement
 
with open('/tmp/test.txt') as f:
    for line in f:
        print line

下記は古いやり方。(ってPythonクックブックに書いてあった)

f = open('/tmp/test.txt')
while True:
    line = f.readline()
    if not line:
        break
    print line
f.close()

下記はファイルの中味が全部メモリに乗っちゃうから危険。

f = open('/tmp/test.txt')
for line in f.readlines():
    print line
f.close()

まとめ(イテレータ)

for line in f:
    print line

という書き方ができるのはfileが__iter__()とnext()を実装しているおかげ。詳しくはPEP-234に詳しく書いてある。

Python クックブック 第2版

著者/訳者:Alex Martelli Anna Martelli Ravenscroft David Ascher

出版社:オライリー・ジャパン( 2007-06-26 )

大型本 ( 652 ページ )


カテゴリー: Python タグ:

自宅サーバからso-netのSMTPにリレーする

2011 年 6 月 12 日 コメントはありません

そういえばISPをso-netに変えてからSMTPの設定変更してなかったのでメモ。

まずは /etc/postfix/main.cf に以下を追記。

relayhost = [mail.so-net.ne.jp]:587
smtp_sasl_type = cyrus
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/so-net_password
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = PLAIN

/etc/postfix/so-net_passwordはこんな感じ。

[mail.so-net.ne.jp]:587 @.so-net.ne.jp:

$ sudo chmod 640 /etc/postfix/so-net_password
$ sudo postmap /etc/postfix/so-net_password
$ sudo /etc/init.d/postfix restart

でおk。あとはメール送信のテストする。

echo test | mail *****@gmail.com

これでメールが送られていれば成功。

Postfix実用ガイド

著者/訳者:Kyle D. Dent

出版社:オライリージャパン( 2004-08-15 )

大型本 ( 307 ページ )


カテゴリー: SysAdmin タグ:
Pages: << 1 2 3 4 5 6 7 8 ...23 24 25 >>