2012-01-01から1年間の記事一覧

cajonでjavascriptを分割管理

JavaScript module loader for the browser that can load CommonJS/node and AMD modulesrequirejs/cajon · GitHub cajon(カホンって読むっぽい。ペルー発祥の打楽器の名前らしい)なんてものを見つけた。require.js上に構築されてるとかなんとか。require.…

Ubuntu serverに入れてるDropboxが変なメッセージを出すようになった

ちょっと前くらいからこんなメッセージが出るようになった $ Unable to monitor entire Dropbox folder hierarchy. Please run "echo 100000 | sudo tee /proc/sys/fs/inotify/max_user_watches" and restart Dropbox to correct the problem. わけもわから…

コミット時にpdb消し忘れてないかチェックするhg hook

チェック用のスクリプト こんな感じのスクリプト作成 #!/usr/bin/env python import os import sys COMMAND = r"find . -name '*.py' | xargs grep -lr '{pattern}'" INFO = '{filename}: pdb found.' def check(pattern): return os.popen(COMMAND.format(p…

インスタンスに動的にメソッドを追加する

追記: 記事を公開してからおんなじような記事あったりするかなと思ってググったら2年前にIanさんがほとんど同じ内容書いてた。 Pythonでメソッドをクラスまたはインスタンスに動的に追加する - Ian Lewis しかも僕その記事はてブしてたよ… Interactive Shel…

celeryのPeriodic Taskについてのメモ

必要になったので自分用にメモ。今必要な部分だけざっくりと把握しただけなので間違ったこと書いてたらごめんなさい。 Periodic Taskとは Periodic Tasks — Celery 3.0.9 documentationceleryにはPeriodic Taskというタスクをある一定時間ごとに実行してくれ…

sftpserverモジュールをforkしていじった件

諸事情によりテスト用のsftpサーバーが必要になったのでsftpserverなるモジュールを見つけてきた。しかしこいつシングルスレッドなので、やりたいことのためにはmultiprocessingと併用する必要があったわけなんだけど、そうするとなんかエラーが出る。 raise…

Djangoの発行する生SQLが見たい

ForeignKeyとfilterのメモ - AtAsAtAmAtArA DjangoのORマッパーでSQL文を簡単に出力するサンプル - 十番目のムーサというやりとりを見て。シェルで確かめるのが楽だし便利。 django.db.connection.queriesで見られます。おもむろにdjangoのシェルを起動 $ py…

シェル操作課題をPythonでやってみた

はてブのマイホットエントリーを眺めてたらこんなものを見つけた。 シェル操作課題 (cut, sort, uniq などで集計を行う) 設問編 - Yamashiro0217の日記 awkとか全然知らないから勉強になるかなと思って覗いてみたんだけど… いっそpythonのワンライナーで実行…

Python2.7のunittestのassertRaisesはコンテキストマネージャーとして使用出来る

テスト対象 def add(x, y): return x + y 適当すぎだけどご勘弁。異なった型同士を足そうとすれば当然TypeError吐きますよね。 本題 Python2.7以前のunittestのassertRaisesは assertRaises(exception, callback, *args, **kwargs) というように呼び出す必要…

Grubのデフォルト起動OSを変更する

あまり使わなくなったWin/Ubuntuデュアルブートマシンを同居人が使いたいということで、デフォルト起動OSをWindowsになるようにしなくてはいけなくなった。で、いちおうぐぐってみたらすぐ見つかったんだけど、同じくらいのタイミングでこんなアドバイスをい…

Django 1.4 で新しくプロジェクトを作成した際にしておくsettings.pyの設定

django 1.4 からはプロジェクトを作成した際のディレクトリ構成が変わったのでどのように設定するのがいいかを、まだ数の少ないネット上のサンプルを参考にしつつまとめてみた。ちなみに以下の様な構成を想定してます。 └── project_root ├── app1 │ ├── __i…

デコレータを作ってみる

前回の記事(Pythonのデコレータを理解するときに残したメモ - kk6のメモ帳*)でデコレータについて理解したので、じゃあ今度はデコレータを作ってみようと思う。あんまり詳しくないけどflaskを題材としてみる。 # hello.py from flask import Flask from fl…

Pythonのデコレータを理解するときに残したメモ

Pythonのデコレータ(decorator)を理解する 3 - -を1,2,3全て読んで、以前僕がデコレータを理解するために残したメモもこんな感じだったなというのを思い出した。ずっと記事にしようと思いつつ忘れてたんだけどせっかくなので加筆修正しつつ公開してみる。 引…

集合演算の実行速度:メソッドと演算子

集合演算をメソッドでやる場合と演算子でやる場合、どちらが速いのか気になったので試してみた。なんとなくの予想だと、対象を全てset型に揃えないといけない演算子による計算よりも、メソッドの引数がイテラブルであればなんでもよいメソッド演算のほうが速…

DjangoでreStructuredText

探し方が悪かったのか、見つけるのに手間取った。でもその割に設定はすごく簡単だったというオチ。まあそもそも素のdjangoで出来るという考えが全くなかったのがいけない。まず、docutilsがインストールされてないと元も子もないので、無ければインストール…

pdbのデバッガコマンド

とりあえず自分用に。あとでちゃんとまとめ直す...かも。 コマンド h(elp) [command] コマンドのヘルプを表示。引数なしで利用可能コマンド一覧を表示| s(tep) 一行実行(ステップイン) n(ext) 一行実行(ステップオーバー)| unt(il) (Python2.6から)行番号が…

Ubuntuを12.04にupgradeしたらvirtualenv環境で'cannot import urandom'と出るようになった

Ubuntu 12.04 がリリースされたということで、僕も 11.10 から 12.04 にアップグレードしてみた。とりあえず仕事に支障がないかひと通り確認してみたところ、とある仕事用のvirtualenv環境をactivateした状態で、テストを走らせようとしたところ ImportError…

DjangoのモデルのManagerクラスのメソッドをメソッドチェインさせる

※追記:django-model-utils というパッケージの PassThroughManager が同じようなことしてくれるみたいです Model Managers — django-model-utils 2.3a1 documentation 例えば下記のような、書籍名・本棚登録済みかのフラグ・出版日を持ったモデルクラスがあ…

ログイン時に.bashrcが読み込まれなくなった

zsh使えっていうツッコミは(ry そろそろ検討しようかなぁ ubuntuの.bashrcには元々 alias la="ls -A" のようなaliasが設定されている。これがいつの間にか読み込まれなくなってることに気づいた。 bashrcとかの読み込み順 こんな感じらしい bashrcの設定の読…

Mercurial + less に色を付ける

mercurialを使っててlogとかdiffとか長くなるものだと "hg diff | less" とかするじゃないですか。でも、less使うと色が付かないので見づらくてしかたがなかった。 漢(オトコ)のコンピュータ道: lessでソースコードに色をつけるをやってもダメ。じゃあどうす…

VirtualBoxをコマンドラインからGUI無しで起動

会社のMacを立ち上げて毎回「VirtualBoxを起動→VMを選択→VM起動」というフローが面倒になってきたのでCUIで起動できないかなと思って調べてみた。あと、どうせssh接続しかしないからGUIもいらないのでそれもついでに。結論としては以下のコマンドでできた。 …

Ubuntuのskypeでチャットの通知をgrowl風にしたい

linuxバージョンのskypeはずいぶん質素ですよね。 まあ質素なのは別にいいんですが、チャットの通知のポップアップの文字がやたら小さくて目に優しくない。なのでMacのGrowlみたいな素敵な表示ができないかなーと思って調べてみたら、ありました。 skype-not…

import pdb;pdb.set_trace()と打つのがめんどくさい

vim

ゆとりなので普段はdebugモジュール使ってますが、debugは標準モジュールじゃないので無ければpdb使うことになります。 しかしこれがまあアンダースコアも混じってて微妙に打ちづらい。ならsnippesに追加すればいいじゃない。~/.vim/snippets/python.snippet…