1月 2012
9件の投稿
突然の加盟店契約解除の理由につきまして株式会社JCBに問い合わせましたところ、加盟店解除の理由として伝えられましたのは、「常識から考えて、ホメオパシーは効果がある...
– クレジットカード決済中止についてのお知らせ - ホメオパシージャパン株式会社 (via shibata616)
素晴らしい。
(via yoosee)
#しみずかわ できちゃった
logiq:
しみずかわ語録botが空気を読みまくり、新婚の#しみずかわを襲う!
aodag 16: 19
buchoはTENGAつけっぱなしなんでしょ?
AE35 (Yosuke IKEDA) ( ´aωe`) 16: 20
はやくUSB TENGAでないかなー
TAM(Isopa) 16: 20
aodagに弊社でTENGAの話をしてほしい
aodag 16: 21
buchoに頼めよ
TAM(Isopa) 16: 21
初心なaodagの装着感がしりてえんだよ
やまぐち/ymotongpoo 16: 21
wwwww
aodag 16: 22
ミ
TAM(Isopa) 16: 22
共通化する方法とか、簡単に使い回す方法を教えてけれ
feiz / azuma 16: 22
TENGAを?
aodag 16: 22
共通化ってどういうことだよw
TAM(Isopa) 16: 23
aodagなら共通化のプロでしょ
feiz / azuma 16: 23
BUCHOのあとのtengaとかやだなー
aodag 16: 23
共通化とかしないよ
AE35 (Yosuke IKEDA) ( ´aωe`) 16: 23
コンドームしてから装着すれば、簡単に使い回せるね
TAM(Isopa) 16: 23
え
aodag 16: 24
アダプターを使えってことか
TAM(Isopa) 16: 24
なるほどな。しかし、Adapterは破損することがあるぞ!!
やまぐち/ymotongpoo 16: 24
片栗粉をお湯で溶かしてこねてからコップに入れたら
aodag 16: 24
そこは制御の反転で
やまぐち/ymotongpoo 16: 24
自作TENGAができるよ
aodag 16: 25
依存性を注入するんだよ
TAM(Isopa) 16: 26
Adapterが破損して注入してしまった場合に女の子に怒られないためにはどうしたらいいですか
aodag 16: 26
それは結合段階ですか?
TAM(Isopa) 16: 26
そうです
aodag 16: 26
最終的には受け入れ条件を満たせばいいんじゃないですかね
AE35 (Yosuke IKEDA) ( ´aωe`) 16: 27
このログは保存しておこう
やまぐち/ymotongpoo 16: 28
だれか、Tumber、はよ
aodag 16: 28
まて
16: 28
まって!
16: 28
やめて
やまぐち/ymotongpoo 16: 28
http: //tumblr.mozo.jp/post/1073643689/10-33-19-am-ymotongpoo
16: 28
tumblrの被害者
TAM(Isopa) 16: 28
あきらめろ>aodag
aodag 16: 28
ちょ、まじすんません
どうか誤解しないで欲しいんだけど、僕は「全てを疑ってかかれ」なんていうつもりはない。いちいちなにもかも疑っていたら大変だし、なによりそんなのすごくつまらない。大切...
– Junkyard Review - 検索サイトから来た君へ (via nanashino)
デコレータについての諸々
Pythonにおけるデコレータにはメリットとデメリットがある。それらを解説しつつ、そのデメリットをうまいこと回避するようにしているライブラリVenusianの紹介につなげます。
デコレータについて
まずはおさらい
デコレータとは何か。一言で言えば関数をラップする関数を返す関数です。(以下、関数とメソッドを一括りに関数といいます。)
例えば、こんなメモ化デコレータ。
def memorize(func):
cache = {}
def _func(*args):
if args not in cache:
result = func(*args)
cache[args] = result
else:
print("hit cache!: %r" %...
会社をやめるので仕事の引継ぎをしているが、自分の後任の人が引き継がれた仕事をやりたくないという理由で自分より早く退職するという、訳のわからない状況になっている。
– Twitter / @Hirowa3 (via shibata616)
【コピペして使ってね】 さっきマックで女子高生が「彼氏が( )だったんだけど」「マジで別れた方がいいよ」「そうだよね・・・私も( )なんかやめて( ...
– マック女子高生メソッドの威力 - さまざまなめりっと (via komatak)
12月 2011
7件の投稿
sqlalchemy-migrate
チュートリアルみれば一発だけど、備忘録にメモしておく。
準備
インストール
% pip install sqlalchemy-migrate
migrateコマンドができる。名前があれなのでvirtualenvがあったほうがいいと思う。
リポジトリ作成
% migrate create リポジトリパス リポジトリ名
my_repositoryってパスで作成するとこんな構成になる。
% find...
PyPy Advent Calendar 2011 八日目 - What is...
この記事はPyPy Advent Calendar 2011の八日目の記事です。まとめ
総帥に続きまして、ユウスケ@jbkingです。
普通の奴らの下を行け
皆さんももうご存知のこととは思いますが、CPythonはCで書かれており、PyPyは(R)Pythonで書かれています。今回はPyPyの仕組みのうち、ObjectSpaceについてです。
What is ObjectSpace?
ObjectSpaceとは簡単にいうと環境や空間と表されるもので、その中にオブジェクトを閉じ込め、その内の空間とグローバル空間とを分けるもの、です。
...
Mercurial Advent Calendar 2011 八日目
hgrc
この記事はMercurial Advent Calendar 2011の八日目の記事です。
皆さんhgrcでMercurialカスタマイズしてますか?
今回は私の~/.hgrcからいつも使ってる設定をいくつか紹介します。
晒してみる
extensionsは皆さんご存知ですね。エクステンションを有効にします。
[extensions]
hgext.mq=
hgext.convert=
color=
graphlog=
rebase =
aliasはhg [sub_command]の部分を独自に定義できます。既存のコマンドの再定義もできるので強力ですね。1.x時代に定義したので、いくつかもっとスマートに定義しなおせる気もします。
[alias]
glog = glog --color=always
latest = glog -l 5
diff =...
Python3 Advent Calendar 二日目 - What is ABC?
ということで、@shomah4aさんから引き継ぎました、@jbkingです。
ABCって何だ?
三行で。
AbstractBaseClassesの略でPEP 3119に仕様があります。
組み込み関数であるisinstanceやissubclassに作用を与える紳士協定的(Pythonらしい!)フレームワークです。
動的言語に静的言語のメリットの一部を取り込んだかんじ。
論よりコード
ということで、動きを見てみましょう。
% ipython3
Python 3.2.2 (default, Sep 6 2011, 16:21:14)
Type "copyright", "credits" or "license" for more information.
IPython 0.11 -- An enhanced Interactive Python.
? ...
10月 2011
1件の投稿
なぜ私がTuningathon 2で4位に入ったか?
初参加のTuningathonで4位に入りました。これといった特別なことが出来なかったので、スコアが発表されたときは正直何が起こったのかよくわからずキョドってしまいましたが、一つ仮説が浮かんだので書いておきます。
今回の環境とレギュレーション
今回はAMIが2インスタンス提供され、それぞれにapache+mysql構成のWikipediaクローンがインストールされていました。レギュレーションは、
/var/www/html/mediawiki配下の編集と、
データベース内のデータの改ざんが不可。
それ以外は何してもよし、2フロントエンドも可。
そして計測は紆余曲折がありつつですが、
http_load -parallel 4 -fetches 100 urlsで、urlsは元のクローンが200を返すURLがランダムに1000件入ったもの。
...
8月 2011
3件の投稿
ack
ack?
ackは一言で表すならば高機能版のgrepです。
環境によっては、ack-grepという名前になっていることもあります。
grepに比べ以下のような特徴があります。
ack patternがgrep -r pattern .タイプ量が減る!!
検索対象をタイプ(後述)で識別し、余計なファイルを検索しないため、効率良く結果を得られる。
よく知られてるPerlの正規表現を使える。
~/.ackrcでデフォルトの挙動を設定できる。
私のファイルFOOが検索対象にならないんだけど
前述のとおりackは検索する対象をタイプで絞るので、もしかしたら未定義のタイプかもしれません。:
$ ack -f --show-types unknown.foo
unknown.foo => binary
このようになったらタイプを指定しましょう。:
$ ack -f...
noseがbranch...
はじめに
ベースはkuma8のこの記事JenkinsとPythonの連携だが、ただしいくつかアップデートがある。
現時点でのnoseのリリースバージョンは1.1.2なので、それを対象にする。
noseにパッチをあてる
coverage(ver. 3.5)はbranch coverageをサポートするがnoseはリポジトリにパッチが取り込まれただけなので必要に応じてこのパッチをあてる。
noseを実行してcoverage.xmlとnosetests.xmlをえる
こんなかんじに:
nosetests --with-xcover --cover-branches --with-xunit --with-doctest # --cover-branchesが対象のオプション
実はnosexcoverを入れなくても.coverageは出来てるので:
nosetests...
7月 2011
1件の投稿
2タグ
MacVim...
MacVim KaoriYa バージョン Custom Version 7.3 (KaoriYa 20110630)
pathogenで追加したプラグインがいくつかちゃんと認識されていなかったようなので調査した。
結論からいうと、
vimrc_example.vimが$VIM/vimrcのロード中に読まれており、
そのなかでfiletype.vimが初期化され、
$HOME/.vimrcが読みこまれたタイミングでは runtime! ftdetect/*.vim が実行されない状況
になっていた。
解決方法は、
$VIM/vimrcを編集し:
if 0 && exists('$HOME') && filereadable($HOME . '/.vimrc_first.vim')
となっているところを:
if 1...
5月 2011
2件の投稿
卜部昌平のあまりreblogしないtumblr:... →
shyouhei:
確かにCでしか書けない類のプログラムは存在する(例を挙げるならKernel)が、それはCの存在を赦す理由にはならない。
確かにCに輪をかけてさらにダメな類のプログラミング言語は存在する(例を挙げるならC++)が、それはCの存在を赦す理由にはならない。
確かにCでしか書けないダメプログラマは存在する(例を挙げてほしければここにおまえの名前を入れろ)が、それはCの存在を赦す理由にはならない。
結論:C死ね。 …
The following characters are consider to be line terminators:
\u000A - Line...
4月 2011
1件の投稿
「念力デバッグ」という仕事があって、ごく稀にお仕事を頂く。...
– サーバ管理者日誌 続・クロールとDoSの違いと業務妨害罪と
ナニコレすごい (via toby-net)
2月 2011
2件の投稿
1タグ
Debug it-python-hack-a-thon-2011.02 →
デバッガ使いましょう、という話。
名刺作りました
このたび前川印刷さんのブロガー名刺を利用し個人名刺を作成しました。
プランナの宮本さん、デザイナの林さんともに丁寧に対応していただき、
また出来上がった名刺もいいかんじに。気持ちよく名刺を渡せそうです。:-)
(デザインで使用したアイコンまでもらっちゃいました。)
まだまだ注文受けてらっしゃるようなので、気になったら気軽に申し込んでみてはいかが。
ブロガー名刺、送料込みで1000円じゃすと! -...
1月 2011
3件の投稿
1タグ
A quiz about pickle
The code is
import sys
import pickle
F_PATH = '/tmp/f'
def f():
pass
def main():
if len(sys.argv) > 1 and sys.argv[1] == 'store':
pickle.dump(f, file(F_PATH, 'w'))
else:
past_f = pickle.load(file(F_PATH))
print 'same? %s' % (f == past_f)
if __name__ == '__main__':
main()
When you run the code with ‘store’ then run without it, are the...
1タグ
デコレータでラッピングした関数はPickleできない
随分長い間Pythonでプログラム書いてても知らなかったのですが、デコレータで包んだ関数はPickleできませんでした。
>> import pickle
# 普通の関数はPickable
>>> def add10(n):
... return n + 10
...
>>> add10(15)
25
>>> pickle.dumps(add10)
'c__main__\nadd10\np0\n.'
# デコレータで包むとUnpickable!
>>> def dec(func):
... def _f(*args, **kwargs):
... return func(*args, **kwargs)
... return _f
...
>>>...
2タグ
gaedeferred 0.2.1 リリース
gaedeferredはGoogle AppengineのTask Queue APIを使用したext.deferredモジュールをさらに使いやすくするモジュールです。
例えばこんなケースを考えてみましょう。
あるコールバックの処理中にエラーが発生したら何か別の処理を行いたい。
いくつかのコールバックを連続で呼びたい。
この場合、gaedeferredが有効です。
まずext.deferredモジュールだけだとこうなるでしょう。
from google.appengine.ext import deferred
def callback1():
try:
# do something
# then
deferred.defer(callback2)
except KeyError:
# do something in KeyError...
11月 2010
1件の投稿
2タグ
SIMBLで実行時にアプリケーションにパッチをあてる
イントロダクション
Mac OSXではいくつかの方法でインストールされているあるアプリケーションの実行時に、そのアプリケーションのオブジェクトを操作する任意のコードを実行させることができます。代表的なのはインプットメソッドを自作する方法ですが、今回はそこのローディングを肩代りしてくれるSIMBLというプログラムを利用します。
SIMBL http://www.culater.net/software/SIMBL/SIMBL.php
SIMBLをインストールし、これから作成するバンドルを置くディレクトリ”~/Library/Application Support/SIMBL/Plugins”を作成すればセットアップは完了です。
$ mkdir -p "~/Library/Application Support/SIMBL/Plugins"
...