2013-09-01から1ヶ月間の記事一覧

pythonでリストを一定の長さに分割する

前にやってた気がするんだけど、とっさにでてこなかったのでググって調べてた。 How do you split a list into evenly sized chunks in Python? - Stack Overflow # coding=utf-8 def chunks(l, n): """ Yield successive n-sized chunks from l. """ for i …

csvkitでcsvとjsonを相互に変換する

昨日ちょっと試したcsvkitをもう少し触ってみる csvファイルをjson形式に変換する 例えばこんなcsvファイルを $ head japan_pref_population.csv pref,people,size,population 愛知県,"7,425,952","5,165.12","1,437.71" 愛媛県,"1,414,996","5,678.33",249.…

Python製のcsvファイルを処理するためのコマンドラインツール「csvkit」

csvファイルを扱うためのコマンドラインツールを集めたライブラリ。python製。csvkit 0.6.2 (beta) ― csvkit 0.6.2 (beta) documentationいろいろ試してみた。まずcsvファイルを用意。 以下のサイトからガンバ大阪の年間試合スケジュールをcsvファイルでDLさ…

Class Based Viewのシンプルな実装「Django Vanilla Views」

Django Vanilla Views - Beautifully simple class based views DjangoのClass-Based-Viewは継承関係が複雑で、ちょっとソースを見てフックポイントを確認したいっていうときに結構めんどくさい。Django Vanilla Viewsは機能はそのままで実装をシンプルにし…

Go言語でファイルの読み書きにioutilを使う

ちょっと前にbufioを使ったファイルコピーのサンプルを書いた。どうも普段慣れてるpythonと比べて面倒だなと思ったけど、ioutilという便利パッケージがあって、そちらを使うと楽だった。 package main import ( "flag" "io/ioutil" ) func main() { flag.Par…

Go言語のdeferでファイルリソースをクローズする

この間、Goでファイルを読み書きするサンプルを書いてみたけど、そういえばCloseとか何もしてなかった。 調べてみるとFileオブジェクトにCloseメソッドがあって、deferで呼ぶと関数の一番最後に実行してくれるらしい。Effective Go - The Go Programming Lan…

Go言語でcsvファイルの読み書き

昨日の延長で、csvファイルの読み書きを試してみた。 encoding/csvパッケージを使う。 以下はcsvファイルを読み込んでtsvにして出力するサンプル package main import ( "encoding/csv" "flag" "io" "os" ) func main() { flag.Parse() var reader *csv.Read…

Go言語でファイルの読み書き

ファイルのオープン、読み出し、書き出しあたりの勉強のためにサンプル書いてみた。 引数1で渡されたファイル名でファイルをオープンし、1行ずつ読みだして、引数2のファイル名に書き出してるだけ。 エラーはほとんど無視で、EOFだけはチェックしている。 p…

golangのflagパッケージでコマンドラインオプションを扱う

Goでコマンドラインオプションを扱う場合はflagパッケージを使う。 以下はechoの例 package main import ( "flag" "fmt" ) var ( nflag = flag.Bool("n", false, "print the trailing newline character") ) func main() { flag.Parse() var s string = "" f…

jsonをcsvに変換する「json2csv」

go製のjsonをcsvに変換するコマンドラインツールjehiah/json2csv インストール go get github.com/jehiah/json2csv 使い方 $ json2csv --help Usage of json2csv: -i="": /path/to/input.json (optional; default is stdin) -k=[]: fields to output -o="": …

django-devserver を試す 2

ちょっとずつしか試せてませんが。 sqlを省略しない デフォルトだとログに出力されるsqlはカラムが省略されます。以下の設定を追加することで省略されなくなります。 DEVSERVER_TRUNCATE_SQL = False ajaxレスポンスをログ出力する AjaxDumpModuleを追加 DEV…

第1回大阪Go勉強会

go

書くのが遅くなりましたが、9/17に開催された大阪Go勉強会に参加させてもらいました。第1回 大阪Go勉強会 on Zusaar資料はこちら https://github.com/todoa2c/hango/blob/master/vol01.mdグランフロントがでかすぎて辿り着ける気がしなかったので最初から受…

django-devserver を試す

django標準のrunserverを置き換えて、開発時に便利な機能を使えるようにしたものらしい。django-devserver 0.6.2 : Python Package Index インストール pip install git+git://github.com/dcramer/django-devserver#egg=django-devserver 設定。INSTALLED_AP…

mockを使って「関数が実行されないこと」をテストする

mockを使ってテスト書いてて、「関数が実行されたこと」をテストするのに、assert_called_withとかassert_called_once_withとかいろいろ用意されていて便利だったで、「関数が実行されなかったこと」をテストするのはどうするのかと思って調べた。例えばある…

DeprecationWarning: You have no filters defined on the 'mail_admins' logging handler

こんなWarningが出てたので調べた。 DeprecationWarning: You have no filters defined on the 'mail_admins' logging handler: adding implicit debug-false-only filter. See http://docs.djangoproject.com/en/dev/releases/1.4/#request-exceptions-are-…

jsonをHTMLに変換して見やすくしてくれる「json.human.js」

jsonを返すようなAPIのテストフォームを作るときに便利かもjson.human.js - Json Formatting for Human Beings

anything-resumeの設定メモ

最近emacsをインストールし直したり、.emacs.dを作り直したりしてたので、ついでに今まで使ってない機能もちゃんと設定して使っていこうと考え中。 今日は存在は知ってたけど、特に使ってなかったanything-resumeを使うようにしてみる。 anythingのセッショ…

chardet.detectでWarning

あるプロジェクトでテスト実行したら以下のようなwarningが出てたので、発生箇所を調べた UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal if aBuf[:len(chunk)] == chunk:ソ…

MacOSXで高速にファイルを検索する「mdfind」

以下のエントリで初めて知った5 Unix Commands I Wish I'd Discovered Years EarlierSpotlightのインデッスを使って高速に検索することができる参考 :Macのターミナルからファイルを高速に検索参考 :Spotlightが簡単に見つけられないファイルを発見する方法 …

PyCharm 3.0 EAP build 131.91

やたらとリマインドがくるので、3.0 EAPを使ってみることにした。わかりやすいところで、Python Consoleでvariablesが見れるようになってた。当然Django Consoleでも使える。 他にもいろいろ機能あるらしいけど、調べてない。PyCharm 3.0 EAP build 131.91 a…

faviconにバッジをつけるfavico.js

favico.js - Make a use of your favicon 面白い。+1ボタンを押すと、faviconについたバッジの数値がアニメーション付きで上がっていく。 9を超えると9+になる。Play Videoを押すと、faviconが動画になる。音が鳴るので注意。safariだと動かなかない模様。

djangoでfactory_boyを使ってみる

軽くさわってみて雰囲気をみてみたfactory_boy ― Factory Boy 2.1.2 documentation rbarrois/factory_boy インストール $ pip install factory_boyこんなエラーがでたけど、pip install -U setuptoolsしてリトライしたら成功した pkg_resources.VersionConfl…

Emacsをtoggle-frame-fullscreenで全画面表示

toggle-frame-fullscreenで全画面にできなかったので、調べたところHEADからインストールしないとだめだった。HEADから入れなおし brew install emacs --cocoa --HEAD --use-git-headかなり時間がかかった。 あとはこの設定をいれたら全画面表示できるように…

MacOSXでEmacsを入れなおした

前はソースにパッチ当ててビルドしてってやってた記憶があるけど、brewで入れてみた。 日本語は入力できるし、右上の全画面アイコンもちゃんと効いた。 $ brew install emacs --cocoa ==> Downloading http://ftpmirror.gnu.org/emacs/emacs-24.3.tar.gz Alr…

Pythonで上書きせずに辞書をマージする

dict_a.update(dict_b)だと、dict_aの値をdict_bの値で上書きしてしまうので、上書きしないでマージする方法を調べてた。 # coding=utf-8 DEFAULT_OPTIONS = {'foo': 1, 'bar': 2} def sample_method(options=None): if not options: options = {} # 入力値…

Backbone.Eventsのメモ

function greet (){ console.log('I am ' + this.name)} // 発行者を作成 var publisher = _.extend({name: 'publisher'}, Backbone.Events); // 購読者を作成 var observer = _.extend({name: 'observer'}, Backbone.Events); // 発行者にgreetイベントが発…

シェルコマンドの意味を教えてくれるexplainshell.com

explainshell.com - match command-line arguments to their help text 開発時、ドキュメントとかwikiになにかの手続きのシェルコマンドが貼りつけてあって、意味が解らなかったり、ど忘れした場合はこれでみるとよさそう。例 ssh -i keyfile -f -N -L 1234:…

Mac OSXでGoogleドライブのディレクトリ名を変更

ホームディレクトリに「Google ドライブ」という名前でディレクトリが作られていたので、GoogleDriveに変えたかった 設定には項目がなく、ちょっと調べたけど見つからず。結局以下の手順で無理やり変えることができた。1. Google ドライブを終了 2. ディレク…

Intellij IDEAで言語ごとにシンタックスハイライトのカラーを指定する

golangのpluginいれて、goのソース開いてみたらDarculaだとかなり見づらかったので、いろいろ変えてみた。変更前 変更後 設定はsettings->Editor -> Colors & Fonts -> Google Goで行う

ダミーデータ一覧

クレカはわりと有名だけど、とっさにでてこないのでメモしておく日本の全エンジニアに捧ぐ!現在公開されているテスト用ダミーデータ一覧 | Find Job ! Startup