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

pathlibはファイル操作の新標準!

Python Advent Calendar 2013の13日目です。 Python 3.4ではasyncio functools.singledispatchなど画期的なライブラリがいくつも追加されています。それはアドベンドカレンダーで皆さんが紹介されている通りです。 そして!その中で最も重要で画期的と言える…

Python3.4のSingle-dispatchでpprintをパワーアップさせてみた!!

前置き Python3.4のSingle-dispatchで遊んでみた - Python Advent Calendar 2013 — hirokiky's blog 読んだ瞬間、脳細胞に衝撃が! 「これはpprintのための新機能だ!」 「あの長いPrettyPrinter._formatがsingledispatchでプリチーに書ける!」 「自作クラ…

合計が均等になるようにグループ分けする

問題 製品のテストをJenkinsで並列に走らせていると想像して下さい。 実行するテストケースをノードに上手く割り振っていなかったので、 あるノードではテストが5分で終わるのに、別のノードでは40分もかかってしまっていました。 各テストケースの所要時間…

パスをシェルにコピペできる形で表示

問題 パスを表示するときは、ユーザーがシェルにコピペできる形で表示すると便利です。 基本的には、ダブルクォーテーション(「"」)で囲めばOKですが、 OSによって扱いが異なります。 解決 Windows(コマンドプロンプト)の場合 Windowsでは単にダブルクォ…

daemonコマンド

問題 LinuxでDropboxを使おうとしたらハタと困ってしまいました。 新規作成した.dropbox-distフォルダから Dropbox デーモンを実行してください。 ~/.dropbox-dist/dropboxd シェルからプログラム(dropboxd)をデーモンとして起動するにはどうしればいいんだ…

QtQuickとPyQt5で、最初のアプリを作る

とりあえず、Python & QtQuick についての箇条書き QtQuickってなに? Qt QuickはQML(JSを拡張したDSL)でコンポーネントを作れる Qt Createrも使える でも言語がシンプルなので、直接編集するのも簡単 C++をコンパイルせずUIを開発できる PyQt/PySideも(…

venvでpipを一緒にインストールする

ご存知のようにPython3.3でvenvモジュールが追加されました。 これは、virtualenv(サードバーティ)に似たもので、 使うpythonのバージョンを切り替えたり、(2.7 <-> 3.3 <-> PyPy 2.1など) プロジェクトごとに、使うライブラリを切り替える ことができます。…

AWKによるワンライナー7つ

AWKは、PythonやRubyに比べれば古くさいイメージがあります。 しかし、ワンライナーとしてはAWKは強力(という話)です。 そこで、一度覚えておけば、きっと役立つ機会は多かろうということで、 AWKワンライナーのよくありそうなパターンを7つ調べてみました…

Yet another git hook management tool 'git-hooker'を作ってみました

Gitのフックスクリプトの管理ツールには、Sho Kusanoさんが作ったgit hookコマンドがあって、私も使わせていただいていたんですが、自分の求めるものと微妙に違う気がしたので、自分が欲しいものを作ってみました。git hookから引き継ぎたい長所は: install…

コーディングミスの見逃しを防ぐスクリプト

git diffをブラウザに表示することで、コーディングミスの見逃しを防ぐ(ことを期待している)スクリプトを作りました。 プログラマーとして働き出してそろそろ1年になるのですが、そこで感じている自分の欠点は、コーディングの凡ミスが多いことです。 コ…