サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
wtnb.mydns.jp
表題の通りのどうでもいい話だが、S式のContent-Typeってどうすればいいのかな。ぐぐってもS式をPOSTしている人が世の中では少数派のようだった。なんでだろう。不思議だ。 有力候補はこの2つかな。 application/x-s-expression text/x-s-expression
Go(golang)はかなりいろいろなことがよく考えられた良い言語だが、大きな欠陥がある。その欠陥はやはりimport。gitやmercurial等のリモートリポジトリを指定できてそれはそれで大層便利ではあるのだが、タグやブランチ、バージョン等を指定できない(常にmasterのHEADが使われる)ことがしばしば問題となる。 このimport問題の中でもとりわけ大きなものが、local importの問題だ。 リポジトリ上で開発していて、同じリポジトリのサブディレクトリを対象にimportしたいとする。 import "./subdir" 通常はこれで良いのだが、$GOPATH/src以下もgo getでcloneしてくるリポジトリになっていて、ここのソースに対して作業をしていると、相対パスによるimportがエラーになる。 can't load package: /path/to/go/s
EPELに入ってる。CentOS6系で普通に使える。これは便利。docker自体の使い方はググってもらうと分かりますが、非常に便利です。LXCを苦労して使おうとしていた時代が嘘のようで、なんて快適なんだと思える。 まずはEPELを有効にしておく。 yum localinstall http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm docker-ioをインストールして、、、 yum install docker-io sudo service docker start sudo usermod -Ga docker $USER logout/login docker pull busybox docker run -t -i busybox /bin/sh 普通に使える。CoreOSについてくるd
Pythonでネイティブコードを簡単に呼ぶ方法として、ctypesとboost.pythonがある。ctypesは最近はPython本体に含まれるし、boost.pythonもBoost本体に含まれているようだ。この2つは、swigや自力でインタフェースを書く場合と比べてだいぶ楽に呼び出せる。 で、どのくらいコストが違うのか、試してみようと。ネイティブコードを呼んだ先では大差ないと思うけど、ネイティブコード呼び出しにかかるコストによっては、インタフェースの粒度を考えないといけなくなる。 そこで、ためしに 何もしない math.sinを呼ぶ cmath.sinを呼ぶ boost.python経由でstd::sinを呼ぶ ctypesでlibmのsinを呼ぶ という呼び出しの速度を測ってみた。cmathは複素数に対応した数学関数のパッケージです。sinが複素数を返すことはない…と思いますけど、
Firefox3から入るらしいAPNG(Animated PNG)。MNGみたいに複雑すぎず、アニメーションGIFと同じくらいの機能が入っており、既存のPNGと互換性を保つ。互換性というのは、既存のPNG対応アプリで何も変更することなしに普通に特定のフレームが画像として見えているということ。これは大きい。 MNGは機能を詰め込みすぎたせいでもう死んでいる。APNGはモメたようでこの後もすったもんだがあるかもしれないけど、Firefoxが強引に入れてしまうようなので、デファクトスタンダードになるかもしれない。フルカラーでアルファブレンディングもできる簡易アニメーション、というのはブラウザさえ普及すれば需要があると思います。 というわけで、APNG及びPNGについてちょっと調べつつサンプルプログラムを書いてみた。まずPNGはシグニチャがあり、その後にチャンクの形式でずらずら続く。圧縮は全部zl
ここ最近、mod_pythonに凝りはじめてます。 mod_pythonではPHP等と同様、セッション管理を勝手にやってくれる。ということになっているが、デフォルトではセッションCookieにExpiresをつけて送信しないため、ブラウザを閉じるとまたログインし直す羽目になる。そういうわけで1ヶ月くらいは、この状態でセッションを使っていた。 まあそれはそれでポリシーとしては問題ない場合が多いかもしれないけど、「おれはブラウザを閉じてもログアウトしたくないんだよ」という人にとっては迷惑な仕様になる。単に自分だけで使うために簡単な認証をかけているだけなのだが、私の場合は京ぽんのOperaでログインして遊んだりしているが、電話はメールを使うためにもブラウザはすぐに閉じてしまう。そうやっていると毎回パスワードを入力する羽目になり、非常に面倒だった。しかも京ぽんOperaの場合、ユーザ名を漢字かな、
PythonからMySQLdbやpg(PostgreSQL)やsqliteを使う場合、それぞれモジュールがあってそれを通して使うことになっているが、これらはだいたいPython Database API Specification(python.org)に準拠している(日本語訳はこちら(python.jp))ことになっている。 そしてこのAPI仕様では、DBのcursorへのexecuteメソッドでSQLを投げることになっている。私はこのexecuteメソッドに入れる文字列を作る際にescapeしなければ、いわゆる「SQLインジェクションなんとか」が起きるものと理解していた。MySQLdbにはescape_stringが定義されているのはそのためだと。 しかし、違うのですよ。sqliteモジュールにescape_stringメソッドがないので困るなぁと思ってみたけど、実際はexecuteメ
Linux、FreeBSDについて昔メモっておいたものをここに残しておく。 いまはもっと簡単なものもあるし、もっと複雑なものもある。あるいはgc使うのもいいだろう。 Linux(glibc): malloc(), calloc(), realloc() は失敗すると errno に ENOMEM が入る。 デバッグには環境変数 MALLOC_CHECK_ をいじる。値は、 0 ヒープの破壊を黙って無視 1 診断メッセージを表示 2 abort() を呼び出す 他にも MALLOC_TRIM_THRESHOLD_ MALLOC_TOP_PAD_ MALLOC_MMAP_THRESHOLD_ MALLOC_MMAP_MAX_ MALLOC_TRACE などの環境変数(?)があるようだ。 malloc 系の関数には hook をかけることができる。 変数 __malloc_hook, __rea
Fedora Coreにはdebuginfoパッケージというものがある。普通にrpmbuildなどでコンパイルすると、いつの間にかできてしまうので邪魔に思う人も多いかもしれない。実際、インストールしなくても全然構わない。 debuginfoパッケージを作らないようにするには、$HOME/.rpmmacrosに %debug_package %{nil} と書くとよい。…でも、たくさんあるってことは便利に使えるってことなんだろう、というのが本日の議題。書いとかないと忘れてしまうしね。 debuginfoが威力を発揮するのは正にデバッグのときだ。しかし普段はデバッグなどはしないわけなので、別パッケージにして塩漬けにしておく。それがdebuginfo。で、ゲロ(core)を吐いたときに使う。 例えば、bashがゲロを吐いて落ちたとしよう。「unlimit -c unlimited」としておかない
asciiの並びでは、「-」は数字やアルファベット、「/」や「.」よりも前、「_」は数字やアルファベット大文字より後ろでアルファベット小文字より前、という特性がある。 !"#$%&'()*+,-./0(略)9:;<=>?@A(略)Z[\]^_`a(略)z{|}~ そのため、あるものに追加して属性を書く目的では、「-」よりも「_」が適している。何を言おうとしているのかというと、以下の2つのファイルがあるとすると、 01234.jpg 01234-1.jpg 名前でソートしたときの並び順が 01234-1.jpg 01234.jpg である。「.(ドット)」よりも「-(ハイフン)」が前にあるためだ(拡張子を特別扱いするような面倒なソート方式を使っていれば別)。そのため、「_0」しかないときでも省略することができない。これが「-」ではなく「_」なら、 01234.jpg 01234_1.jpg
このページを最初にブックマークしてみませんか?
『wtnb.mydns.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く