渋谷区在住のPh.D.一年生が独断と偏見で選ぶ気になるアレコレ
trip kind:document では、書類内のみで単語「trip」が検索されます。
author:tom では、Tom が作成したすべての項目が検索されます。
meeting date:tomorrow では、明日予定しているミーティングが検索されます。
kind:images created:5/16/07 では、特定の日付に作成されたイメージが検索されます。
kind:music by:”glenn miller” では、Glenn Miller による音楽が検索されます。
modified:<=6/29/07 では、特定日付以前に修正された項目が検索されます。
かなりいまさら感はありますが、FireFoxやFinderなどの、マックのネイティブなアプリをターミナル(Terminal.app)から起動すると、意外と便利なことに気がついた。* などのファイル指定と組み合わせると、結構便利。open コマンドでアプリを起動できますが、
$ open -a Firefox
まずはとりあえず、使いやすいエイリアスを、.zshrc や .bash_profile などに記述しておく。
alias emacs="open -a Emacs" alias firefox="open -a Firefox" alias safari="open -a Safari" alias prev="open -a Preview"
例えばウェブサイトのHTMLをデザインしていて、複数のHTMLのデザインをブラウザで確認する際に、Terminalで以下のように打てば、そのフォルダ内のHTMLを一気にブラウザで開ける。FireFox側で、新しいウィンドウを必ずタブで開くようにしておけば、なおよし。
$ firefox *.html $ safari *.html
あるディレクトリの画像ファイルをまとめてPreviewで見たり
$ prev *.jpg
emacs のバッファに、複数のファイルをまとめて開いたりもできる。
python のディクショナリは存在しないキーを参照すると KeyError が発生するんで使用前に has_key() を使ってキーの存在を調べたりする必要がある。複数のディクショナリを使ってるときに、 if 文をいっぱい書くのが面倒だなぁと思ってたんだけど、setdefault() を使えば面倒が一気に解消されることを知った。
存在しないキーを参照するとこうなる。
>>> d = {}
>>> d['hoge']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'hoge'
setdefault() を使用するとこんな感じ
>>> d = {}
>>> d.setdefault('hoge', 'fuga')
'fuga'
>>> d
{'hoge': 'fuga'}
>>> d.setdefault('hoge', 'fugafuga')
'fuga'
>>> d
{'hoge': 'fuga'}
キーが存在しない場合もエラーとならず、第二引数の値を返してくれる。(ディクショナリにも追加される)
キーが存在する場合は、ディクショナリに対しては何もせずにキーに対応する値を返してくれる。
get() っていうのもあるみたい。
>>> d
{}
>>> d.get('hoge')
>>> d
{}
>>> d['hoge'] = 'fuga'
>>> d.get('hoge')
'fuga'いまいち慣れない書き方。読みづらいけど、いいかもしんない。
あんまりこういう実装やらないな。見づらいからかな。