前回の記事で使用したPythonのlxmlモジュールについて調べていたら、XMLデータの検索に用いるXPath式をプリコンパイルできるらしいことが分かったので、どのくらい速度が向上するのか試してみた。 テストデータは前回のものと同じ。 $ ls -hl | grep yahoo_l…
pythonのlxmlを使ってXML文書内を検索するとき、XPathの書き方でどのくらい速度に影響するのか、簡単に試してみた。 まず、検索対象とするテストデータとして、Yahooからrssをダウンロードした。 $ wget -q http://blogs.yahoo.co.jp/rss.xml && mv rss.xml …
pythonのSocketServerモジュールを使っていて、前回bindしたソケットは閉じているのに再実行時に以下のようにsocket.errorが発生した。 $ python -V Python 2.4.3 $ python test_srv.py server start server close $ python test_srv.py Traceback (most rec…
先日pytc-0.7について書いた件 http://d.hatena.ne.jp/stog/20090504#1241451199 を、 id:gunyara-python さんに連絡してみたところ、速攻で対応(pytc-0.8をリリース)してもらえました。というわけで 前回setup.pyにパッチを当ててインストールしたpytc-0.…
CentOS 5.3がリリースされたということで、何気なく yum update したところ、cpanインストールが失敗するようになった。 # cpan -i JSON::XS ...(色々出力される) LWP failed with code[500] message[Errno architecture (i386-linux-thread-multi-2.6.18-…
以下のように、tokyocabinetの ./configureで --prefixに/usr/local以外を指定してインストールすると、easy_installによる pytcのインストールが失敗するようです。 $ cat /etc/redhat-release CentOS release 5.2 (Final) $ python -V Python 2.4.3 (toky…
別にビンゴカードを作りたいわけじゃないけど、Ruby1.9のArray#sampleの使いどころを考えてたらビンゴカードが思い浮かんだのでやってみました。最初は単純に (1..75).to_a.sample(24) で良いのかなーと思ったんですけど、wikipediaを読んでみたら なお、通…
こちら(http://d.hatena.ne.jp/spider-man/20080802/p4)を参考に ./configure --program-suffix=1.9 としてruby1.9をインストールしてみました。 $ ruby -e'puts RUBY_VERSION' 1.8.6 $ ruby1.9 -e'puts RUBY_VERSION' 1.9.1 irb、gemもそれぞれ irb1.9、g…
http://d.hatena.ne.jp/s-n-k/20080630/1214836026 必ず偶数番目に数値がくるっていうのが目からウロコ Rubyでもやってみる。おお、確かに目からウロコ。 RUBY_VERSION #=> "1.8.6" DIGITS = /(\d+)/ pieces = '123a4bcd56e'.split(DIGITS) #=> ["", "123", …
Perlで文字列から数字を抜き出すのはこんな感じか? #!/usr/bin/perl use strict; use warnings; my $DIGITS = '(\d+)'; my @pieces; # 文字列を数字と数字以外に分ける。 @pieces = split(/$DIGITS/, '123a4bcd56e'); print join(", ", map{"'$_'"} @pieces…
どういう場合に嬉しいのか、Structを使いどころがよく分からない。 class StructPerson < Struct.new(:name, :age) end foo = StructPerson.new("taro", 20) #=> #<struct StructPerson name="taro", age=20> class ObjectPerson attr_accessor :name, :age def initialize(name, age) @name = name @a</struct>…
RubyでSSH経由でリモートのLinuxマシンを操作するとかいうので、net-sshを練習している。 いかんせんドキュメントが英語なもんで進みが悪い。 http://net-ssh.rubyforge.org/ require "rubygems" require "net/ssh" host = "example.com" port = 22 user = "…
会社のとあるマシンにインストールしてあるRailsを1.2.3から1.2.6にして動かしてみたら、ログの中に「この書き方はRails2.0では使えないよ。」みたいなWARNINGがいっぱい出てた。まあ、これ以上いじる予定の無いアプリだから放置することにした。
イニシャライズ中に他のメソッドを呼ぼうとしたら Can't call method "hoge" on unblessed reference at .... ってエラーが出た。しばらく悩む。 package Human; sub new { my $class = shift; my $name = shift; my $age = shift; my $self = {}; $self->{n…
Pythonでソケット通信するとき ソケットオブジェクト.recv(受信バイト数) とすると受信できるみたいなんだけど、行単位で処理しようとすると何かと不便を感じたので調べたらあった。 import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s…
↑で初めて使ってみた。ハイライトされてかわいくなった。いいね。
今日、Perlでハマッたのでメモ。 use strict書いたら、関数にソケットハンドルを渡せなくってしばらく悩んだ。 use strict; use Socket; sub func { my $socket = shift; my $data = shift; .... } my $data = "any data"; socket(SOCKET, PF_INET, SOCK_STR…
普段、PerlやRubyでスクリプト書くときは2スペースでインデントしてるんだけど、 Python標準添付ライブラリをいくつか見てみたら4スペースでインデントしてたので、 エディタの設定いじってPythonファイル(*.py)のときはTabキーで4スペース挿入されるよう…
やっぱり集中してるときに声かけられるとウザイ。 全速力でキーボードぶっ叩いてるのに、空気を読まずに作業を遮る奴ら方々がいて困る。やっぱり今の会社はもの作りするところじゃない。って思った。
若い子がwikiを設置してくれたんで、何回か書いてたら少し慣れてきた。
職場で何か作りたいって気持ちは辛うじて残っているけど、1行たりともコード書いてない。 モチベーションは明らかに下がってる。前の上司にはとても申し訳なく思う。
ほとんど寝てた。
日記の書き方の練習してみます。太い文字斜めの文字 あああ いいい ううう えええ 見出し 見出し テーブル テーブル