ナラタージュ読了.
- 作者: 島本理生
- 出版社/メーカー: 角川書店
- 発売日: 2005/02/28
- メディア: 単行本
- 購入: 2人 クリック: 69回
- この商品を含むブログ (403件) を見る
明日からのサークル合宿@有馬でこの作品について話し合ってきます.
著者の他の作品についても時間があったら読んでいこうと思ったけど,無理だったorz
以下,メモ的に感想.ネタバレもあるかも. 続きを読む
今更だけどvimperatorが便利すぎる.
dでタブを消したときにtabかescを押さないと
フォーカスがvimperatorを離れているような気がする.
そこだけ改善されたらいいのだけど,どこかに情報ないかしら.*1
以下,.vimperatorrcと入れてるプラグイン
[更新:2009/04/19]
echo "Loading...." set titlestring=Fx3 set guioptions= set hlsearch set visualbell set wildoptions=auto set complete=sl set focuscontent set ignorecase set ui.key.generalAccessKey=0 set verbose=1 set history=5000 set hintmatching=custom let g:ex_ime_mode = "inactive" let g:textarea_ime_mode = "inactive" let g:hintsio="iO" let g:hintchars="HJKLASDFGYUIOPQWERTNMZXCVB" colorscheme sweets noremap j 20j noremap k 20k noremap <C-j> gt noremap <C-k> gT cnoremap <C-j> <Tab> cnoremap <C-k> <S-Tab> map <C-C> :copy titleAndURL<CR> map c :copy<Space> map s :gsearch<Space> " copy.js javascript <<EOM liberator.globalVariables.copy_templates = [ { label: 'titleAndURL', value: '%TITLE%\n%URL%' }, { label: 'title', value: '%TITLE%', map: ',y' }, { label: 'url', value: '%URL%' }, { label: 'anchor', value: '<a href="%URL%">%TITLE%</a>' }, { label: 'selanchor', value: '<a href="%URL%" title="%TITLE%">%SEL%</a>' }, { label: 'htmlblockquote', value: '<blockquote cite="%URL%" title="%TITLE%">%HTMLSEL%</blockquote>' }, { label: 'ASIN', value: 'copy ASIN code from Amazon', custom: function() content.document.getElementById('ASIN').value}, { label: 'hatena', value: '[%URL%:title=%TITLE%]' }, ]; EOM " Google Reader autocmd LocationChange .* js modes.passAllKeys = false autocmd LocationChange www\\.google\\.(co\\.jp|com)/reader js modes.passAllKeys = true " disable accesskey " javascript <<EOM " liberator.options.setPref(’ui.key.generalAccessKey’, 0); " EOM " Gmail js <<EOF autocommands.add('LocationChange',/mail\.google\.com\/(mail|a)\//,[ 'js plugins.feedKey.setup(', '"c / y j k n p o u e x s r a # [ ] z ? gi gs gt gd ga gc".split(/ +/).map(function(i) [i, "4" + i])', ');' ].join('')); EOF echo "done" " vim: set ft=vimperator:
- 入れたplugin
- char-hints-mod.js
- commandBookmarklet.js
- copy.js
- feedSomeKeys.js
- googlesuggest.js
- 入れたtheme
- sweets
*1:ぐぐれかすですね,わかります
読む本,読んでいる本,読んだ本
ナラタージュ
9月のサークル合宿で行われる読書会の課題本.
Amazonであらすじを確認.甘い甘い,青い春の物語のよう.
こういう小説って背中のあたりがかゆくなる.
甘ったるいのは苦手なので,さっさと買ってさくっと読みたい.*1
- 作者: 島本理生
- 出版社/メーカー: 角川書店
- 発売日: 2005/02/28
- メディア: 単行本
- 購入: 2人 クリック: 69回
- この商品を含むブログ (403件) を見る
サイ本
今更ながら,JavaScript絶賛入門中.
サイ本をひたすら読んでは,コードを書いている.
いつも通り「こう書けるんじゃないかな?」と思ったコードが書けたり書けなかったり.
もう慣れしかないですね.あとは,愛.
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/08/14
- メディア: 大型本
- 購入: 52人 クリック: 1,011回
- この商品を含むブログ (270件) を見る
はがれん20巻
読んだ後に読まなくても良かったかなと思った.
その理由として,
- この先に「転」があることがわかると,「承」になかなか価値を見いだせないからなのか
- 単純に,読んで満足してしまったからなのか
よくわからない.でも,はがれんは良い作品です.
誇って輸出していい作品だと俺は思う.
- 作者: 荒川弘
- 出版社/メーカー: スクウェア・エニックス
- 発売日: 2008/08/22
- メディア: コミック
- 購入: 18人 クリック: 91回
- この商品を含むブログ (256件) を見る
*1:とか言いつつ,読んで切なくなってほろりときたりするんだろうなぁ
Pythonでのエンコーディングの設定
Pythonで,日本語を用いる場合や文字列処理を行う場合には,エンコーディングの設定めも
Pythonのsite-packagesの場所確認方法
site-packagesの場所はOSやPython のインストー ル場所によって異なるのでまずは場所の確認.
シェル上から以下のコマンドを実行する.
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
Pythonのエンコーディング
site-packagesディレクトリ以下にsitecustomize.pyというファイルを作成する.
sitecustomize.pyの内容は、UTF-8の場合には下記のようにする.
import sys sys.setdefaultencoding('utf-8')
辞書でvalueからkeyを引く
valueが数値のとき,
「valueがもっとも小さいものから5つkeyが知りたい」
「valueがもっとも大きいものから5つkeyが知りたい」
という場合.*1
testdic = {'hoge':5, 'fuga':50, 'piyo':25} testlist = zip(testdic.keys(), testdic.values()) #[('fuga', 50), ('piyo', 25), ('hoge', 5)] testlist.sort(lambda a, b: cmp(a[1], b[1])) #[('hoge', 5), ('piyo', 25), ('fuga', 50)]
もっと簡単にもかけるようです.(コメントでアドバイスいただきました)
testdic = {'hoge':5, 'fuga':50, 'piyo':25} testlist = testdic.items() #[('fuga', 50), ('piyo', 25), ('hoge', 5)] testlist.sort(key=lambda a: a[1]) #[('hoge', 5), ('piyo', 25), ('fuga', 50)]
(うーん,items()とかいつも使っているのに,不覚...)
あとはスライシングするとか.
for k, v in testlist[:2]: print k
とかとか.
たまーにvalueからkeyを引きたいんだけど,
どうしようと思うときがあるのでめもめも.
*1:任意のvalueをもつkeyが複数有る場合は知らない
virtual-pythonとsetuptools
id:cubicdaiyaに「日記をいつ書くんだ」と言われ,
毎回「来月になったら本気出す!」と言っているid:aircastleことワサビこと木浦でございます.*1
突然ですが,大学でvirtual-pythonを入れて作業をしなければならないことになりました.
virtual-pythonだけではなくて,setuptoolsも入れることになったので,インストールの覚え書きです.
なお,ここでは手元のMacBookでテストを行ったことについて書きます.
virtual-python
virtual-pythonとは
virtual-pythonはサーバなどにインストールされたpython環境を
ホームディレクトリ内などに構築するためのものです.
「どういう場合に必要なんだ!」という人のために説明を書くと,
例えばレンタルサーバなどがあります.
レンタルサーバでsetuptoolsを使おうとすると,
権限の関係でpackageをインストールできなかったりします.
こういう場合には,自分のホームディレクトリ内などに,
python環境を作り,ホームディレクトリ内のpython環境を用いてsetuptoolを実行すれば,
ホームディレクトリ内の特定フォルダにpython packageをインストールすることが可能です.
なので,ここに書くことはさくらインターネットなどにも,まま応用可能です.
インストール方法
先にコマンドを書いてしまうと下記の通りです.
%pwd /Users/wasabi/ %wget http://peak.telecommunity.com/dist/virtual-python.py %mkdir python %python2.5 virtual-python.py --prefix=/Users/wasabi/python
複数バージョンのpythonをインストールしていてなおかつ,
特定のバージョンに対してvirtual-pythonをインストールしたい場合は,
virtual-python.pyを実行するpythonコマンドを明確に指定しましょう.
ここでは,上記の通り,python2.5コマンドを用いて実行します.
デフォルトエンコーディングの設定
これでインストールができたので,デフォルトエンコーディングの設定を行っておきます.
ホームディレクトリ以下のpython環境のsite-packagesの中にsitecustomize.pyというファイルを作ります.
%pwd /Users/wasabi %cd python/lib/python2.5/site-packages %touch sitecustomize.py %emacs sitecustomize.py
sitecustomize.pyには以下のように書きます.
import sys sys.setdefaultencoding('utf-8')
日本語を用いた処理などを行わないのであれば,この設定は必要有りません.
作った環境についての詳しいこと
%ls -R ~/python
などとすると,ディレクトリ構造がわかります.
binフォルダには,各種コマンドがインストールされ,
libフォルダには各種ライブラリがインストールされていることがわかります.
setuptools
setuptoolsとは
setuptoolsはpythonでのパッケージ管理システムです.
setuptoolsをインストールすれば,easy_installというコマンドができ,
pythonで作られた便利なパッケージをpythonから利用することが可能です.
インストールの前に!
setuptoolsのインストールをする前に,以下の2つを設定する必要があります.
- setuptoolsを用いてパッケージをインストールする場所
- setuptoolsを用いてインストールしたコマンドを入れる場所
これらを.pydistutils.cfgとして設定します.*2
%pwd /Users/wasabi/ %touch .pydistutils.cfg %emacs .pydistutils.cfg
このファイル内に設定を行います.
virtual-pythonを用いて設定したのはホームディレクトリのpythonフォルダでしたね.
このフォルダの下のほうには先に示したようにsite-packagesフォルダがあります.
また,binフォルダの中にコマンドが入っているので,
ここにsetuptoolsでインストールしたコマンドを入れるのがよいでしょう.
というわけで,.pydistutils.cfgには以下のように設定してみました.
[install] install_lib = ~/python/lib/python2.5/site-packages install_scripts = ~/python/bin
インストール
やっとこれでsetuptoolsのインストールができます.
%pwd
/Users/wasabi
%wget http://peak.telecommunity.com/dist/ez_setup.py
%~/python/bin/python ez_setup.py
これで,setuptoolsのインストールができました.
~/python/bin以下にeasy_installがあればインストールは成功です.
%~/python/bin/easy_install simplejson
などとして,simplejsonがインストールできるかどうか確認しましょう.
%~/python/bin/python
として,インタラクティブシェルからimport simplejsonができることも確認しておきましょう.
最後にPATHの設定をして,終了です.