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

shell-modeでのヒストリ検索

shell-modeではC-p C-n(or allow key)が使えない.どうやってヒストリ検索するんだろうと思ったらM-p M-nだったらしい. キーマップの変更はshell-mode-hookへフックをかける. (add-hook 'shell-mode-hook (function (lambda () (define-key shell-mode-ma…

単語カウント用のハッシュクラスをつくる

やらなければいけないことがあるときほど,関係のないことをしたくなる. bag-of-wordsをつくったり,ナイーブベイズを実装したり,ありとあらゆるところでめちゃくちゃハッシュを使う.そういう意味でJavaはきちっとしているけれど使いづらいなー,と思って…

バックグラウンドプロセスを立ち上げる方法

評価実験用にCGIを作っていて,処理がかかるプロセスの場合,時間オーバーでCGI自体がエラーを返してしまう.また,ずーっと読み込みに時間がかかるのは反応がなくて心配になる.というわけでバックグラウンドでプロセスを立ち上げたい.Perlで別プロセスと…

Encode::Guessではまる

いつものパターン Wide character in print at ...これはUTFフラグがついた文字列をprintしようとしているから.encodeしてあげればよい. use Encode; #これいるのかな?要確認 print encode('utf-8', $string); これは瞬殺.次は見慣れないエラー shiftjis…

はじめてのjavadoc

最近はPODドキュメントを書くことが多いのだけれど,確かJavaにはもっと綺麗なjavadocがあったはず.ということで,使い方を知ろう知ろうと思っていたjavadocを勉強してみた.といってもめちゃくちゃ簡単だった. 基本事項 「/**」で始まり,「*/」で終わる …

TreeMapのキーに注意

同期がJavaではまっていて,ミイラを取ろうとしてミイラになっちゃった.なんとか解決したのでメモ.今思えば当たり前なのだけれど,TreeMapのキーObjectはComparableを実装しておく必要がある.TreeMapはキーをソートしておいて,探索効率をあげてくれる.…

ハッシュのスライス

ハッシュにもスライスがあるということを最近知った.使う場面が思いつかないけれど,覚えておこう. 使い方はハッシュ変数のキーの部分にリストを入れるのみ,スライスはリストなのでsigilは@になる.関係ないけれどPerl6からこのsigilが%のままなんだよな…

手作業でslurp

Perl6::Slurpは便利だけれど標準でないモジュールを多用するのは気が引ける.仕方ないので手作業でやろうと思った.ので,これからは手動で書くことにする.しかし,実はslurpに頼りっぱなしで,手動の方法を知らなかった.<>がリストコンテキストとスカラー…

||=を使った代入

なんと||にも省略記法があるということを知った.そういえばどこかで見たPerlコードで||を使ってサブルーチンの引数のデフォルト値を代入している文があったような... $hoge ||= $bar # => $hoge = $hoge || $bar なので$hogeがundef or 0に限り$barを代…

mapについての基礎知識(Schwartz変換のために)

実はずーっとSchwartz変換について知ったかぶりしていた.mapを使えるようになったので,そろそろ解釈してやるかと眺めて違和感. my @names = map $_->[0], sort { $b->[1] <=> $a->[1] } map [ $_, ask_monkey_about($_) ], @castaways; あれ,mapって第一…

ウェブ国産力

ウェブ国産力―日の丸ITが世界を制す (アスキー新書 047)作者: 佐々木俊尚出版社/メーカー: アスキー発売日: 2008/01/10メディア: 新書購入: 2人 クリック: 134回この商品を含むブログ (63件) を見る (2008-01-20読了)今年初読了. フラット革命の佐々木俊…

mapによるリストの変換

mapのイメージって入力リストの要素数=出力リストの要素数だったのだけれど,別に制限がないらしい.例えば配列からハッシュをつくるときにこんなことだってできる. my %hash = map {$_, $_ * $_} @input_numbers; これは,入力リストの要素をキー,それぞ…

ダブルクォートによるはてなダイアリー文字化け

最近はhatena-modeから投稿しているが,なぞの文字化けをした. 本文に"の全角を入力していたのが影響しているのかもしれない.この事実を忘れないようにメモ. その後検証をしてみたが,やはり全角のダブルクォーテーションが影響してるっぽい.以後気をつ…

行頭にスペースを挿入,指定した文字を挿入

昔からずっと疑問に思ってた行頭に文字を挿入する方法 過去に見つけた方法は,regex-replaceを使って行頭表現をマッチさせるもの &gt;をすべての行頭に挿入する - 睡眠不足?! これがまさに探していたもの C-x C-i リージョンの行頭にスペースを挿入 C-x r …

Storableを用いた複雑なデータの保存と復帰

最近になって多重ハッシュをYAMLで吐き出したらデータをそのまま眺めてもよいし,便利じゃね?ということに気がついてYAMLでオブジェクトを保存していた.(ちゃんとbless情報まで保存される,Perl素敵) 容量が大きくなる場合はGDBMやらRDBMSやらを使ってい…

管理工学的見地

管理工学科のOBならば誰でも当たり前に使っているのかと思いきや,検索しても出てこなかった.同期の間でにわかに使われている言葉らしい.管理OBとしてこの言葉は広めにゃあいけんのぅ. 管理工学的見地にもとづいて,あらゆる問題解決してやんよ. 明らか…

あしたのために(その1 英語ライティング)

気に入った英語表現を記録しておくべし 英語書く力をつけたいんです,と言ったら「自分の気に入った表現を記録しておく」というようなことをいわれた. なるほど,確かにいままでも「この文テラクールww」みたいな文に会ったことはあるけれど,もうすっかり…

Gmailで論文管理(思いつき編)

論文管理の方法をずっと悩んでいた.最近は手元に保存しておかなくても,ネット上に残り続けることが多いのでそんなに気にせずともいいのだろうけれど,ルーチン化できたらいいな,ともんもんと考えていた. 誰もが思いつくんだろうけれど,Gmailで保存して…

箇条書き(enumerate, itemize)の行間を狭くする

tex

意外と知らなかった. \begin{enumerate} \setlength{\parskip}{0cm} % 段落間 \setlength{\itemsep}{0cm} % 項目間 \item ほげほげ \item ほげほげ \end{enumerate} だそうだ. (引用元:enumerateの行間調整)

EmacsでGmailのIMAP

が使えるようになっていたのは以前から聞いていたけれど,自宅,研究室等,いろんなPCからメールの読み書きをする自分にはIMAP利用がGmailがもっとも活きる活用方法なんじゃね?と思う. というわけでMewで使えないか調べるが,どうやらWanderlustの方が使い…

mapの使い方~基本編~

c++

早く使えるようになりたいC++.STLとかヨクワカンネのレベルなので,ちょこちょこ勉強.

arrayの最後の要素($#)

よく出てくるが,実は$#の意味をわかっていなかったのでメモ.これはarrayの最後の要素のindex numberを取得する. my @array = qw/hoge foo bar/; print $#array; # => 2 配列の大きさは@arrayのスカラーコンテキストで取得できるし,最後の要素は$array[-1…

リストのつくり方(ひねくれ編)

Perl Cookbookより my @list = (<< "EOD" =~ /^\s*(.+)/gm); I sit beside the fire and think of all that I have seen, of meadow-flowers and butterflies and summers that have been; EOD foreach (@list){ print $_ . "\n"; } その発想はなかったわw…

rsyncを使ってバックアップ

HDDがいっぱいになって実験用ファイルが消えたので,いい加減バックアップを本気で考える.一応tar.gz圧縮したファイルをバックアップサーバに保存していたものの,tarボールを作成するのに容量が必要&時間がかかるので面倒くさい. 巷で常識になっているrs…

文字の大きさの変更

tex

いつも忘れてしまうのでメモ.通常,文字の大きさを変更する場合は {\tiny とても小さい}{\small 小さい}{\large 大きい} というように{}でくくって使用するが,もっと広い範囲を指定して大きさを変更したい場合は,単純に\tiny, \smallと書けばいい.すると…

ファイルを読み込んで処理

sh

プログラムの引数に与える文字列等をファイルに保存している場合,それを読み込んで行を読み込んでプログラムを実行というプログラムを書きたい.shスクリプトを書くようになってからも,ファイルを読み込むものはPerlプログラムで書いていた. いちいちopen…

mkdirの-pオプション

知らなかった...パスに含まれるディレクトリが存在しなかったら,つくってくれるオプション.pの意味はparentsらしい. % mkdir ./hoge/bar mkdir: hoge: No such file or directory % mkdir -p ./hoge/bar % tree hoge hoge `-- bar 1 directory, 0 files…

Emacsで正規表現置換

そういえばEmacsで正規表現を避けてるような気がする.\を沢山つけなければいけない気がするから. 使えれば絶対に便利なので,ちょっとだけできるようにした. TeXの\hoge{ほげほげ}というタグ部分だけはずして,ほげほげという文字に置換する. M-x query-…

YAMLの読み込みと書き出し,ときどきunbless

2008-01-18 訂正・加筆 簡単だけれど多分忘れるからメモ use YAML; print Dump($hoge_ref); use YAML::Syck; my $hoge_ref = YAML::Syck::LoadFile("hoge.yaml"); # 2008-01-18加筆 # これだけでよい.Syckのほうが高速のはず use YAML::Syck; my $hoge = Lo…

常に追加したいヘッダの設定

mew

Mewを本格的に使うようになったが,まだメインのメーラはBecky!なのでそちらに全ての送信済みメールを保管しておきたい. なのでMewで必ず Dcc: piyo@hoge.com というヘッダを挿入するようにしたい.これは変数mew-header-alistを設定すればよい. (setq mew…