2011-12-01から1ヶ月間の記事一覧
タイトルが長い。compojure(clojureでsinatra likeなことができる)でwebサイトを作っていたが、RubyやらClojureやらのコードを埋め込みたい。要ははてなのsuperpre記法っぽいものが欲しかったのである。clojureに標準でヒアドキュメント的なことはできないが…
プログラムのファイルとかだったらgitのpush&pullでどうにかなるし、データだったらscpとかでよくね?と思っていたが、結構容量を食うようなデータについてscpをしていると死ぬから差分だけ更新したいみたいなことがある。そういうときはrsyncが結構便利そう…
0が大量に並ばれても僕にはよく分からないので単位変換して出してくれるとうれしい。特にファイル置きすぎてMBなのかGBなのかも分からなくなったようなディレクトリだと。lsの場合オプションにhを付けるだけで、BMだったりGBだったりを付けてくれる。便利。 …
機械学習とかで隠れ変数を扱っているときに、「隠れ変数zに割り当てたサンプルの数を保存しておきたい」みたいな要望に答えるにはvectorやhashmapを使うのが上等手段だと思うが、隠れ変数が2段、3段となっていくとそれらの構造もネストしていってしまうわけ…
関数の引数やletの中で"vec"とかっていう変数を使った後で戻り値を返すときに関数としての"vec"を使ったりするとエラーが意味分かない感じになってしまうので無駄に解読に時間がかかってしまった(例えば"Key must be integer"とかと言われる)。かれこれ3回目…
Clojureの1.1から使えるようになった機能。Clojureの公式サイトから引用すると If a tree falls in the woods, does it make a sound? If a pure function mutates some local data in order to produce an immutable return value, is that ok? Clojure - T…
取る引数が複数あって、どれかだけ固定して残りはまだ引数になってる(説明の仕方が悪い)ようなときにはpartial関数が便利。"+"とか"*"のような順序を交換しても結果が変わらないような関数に関してはpartialはとても便利なのだが、"-"とか"/"とかはどっちを…
Clojureは基本的にmutableなものを許さない設計になっているので、do-syncなどのトランザクションの中でrefを変更するコストは結構高い(はず)。ドランザクションではないけど、atomの場合でちょっと実験してみる。atomの配列と配列のatomを用意。要素をラン…
clojureを書いていると(reduce f4 (filter f3 (map f2 (map f1 lis))))みたいなのがネストしまくって、ソースが横に長くなるときがある(というかよくよくある)。clojureにはそういうのを解決してくれるマクロがいてそれは"->"と"->>"。名前はthread-first ma…
大分前から使っている白MacBookのHDD容量が最近足りなくなってきていて、走らせてたプログラムが容量足りずに途中で死んだり、Emacsのバッファが保存できないレベルまできていたので、データを退避させることに。Ubuntuのサーバーに取り敢えず置いておくこと…
最近でこそ使わなくなったものの、自分にとってRは母国語(第一言語?)みたいなもので結構影響を与えている。Rの言語として好きなところ(例えばapplyで行毎にばさっと関数適用してplotしてデータの様子をさくっと眺めるとか)もあるが、データ解析言語としてのR…
NLPの下のレイヤー(segmentationやparsing)で公開されているプログラムはC++やJavaであることが多い。XXXの(Ruby|Python|Perl) bindingみたいなのが用意されていることもあるが、そうでないものも多い。あるいはbindingには公開されてない情報も使いたいとか…
最近Clojureに手を出してみようかなぁと思っているので、On Lispを読み返してみた。On Lisp作者: ポールグレアム,野田開,Paul Graham出版社/メーカー: オーム社発売日: 2007/03メディア: 単行本購入: 10人 クリック: 146回この商品を含むブログ (128件) を見…