サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
CES 2025
janus-wel.hatenadiary.org
RoR3 をはじめる準備としてとりあえず以下をやっておけばおk。 Ruby 1.9 http://d.hatena.ne.jp/janus_wel/20110503/1304454410 RubyGems http://d.hatena.ne.jp/janus_wel/20110504/1304461301 SQLite http://d.hatena.ne.jp/janus_wel/20110504/1304523699 で、 Rails 自体の install は root で以下の command を打てば終了する。 # gem install rails これだけじゃあれなので、 app を作るときの初期手順をまとめておこう。 > rails new appname appname が app の名前。 > cd appname > bundle check > bundle in
mercurial と lua, lua-devel は RPMforge から install する。下記の command で install できない場合は RPMforge が repository に加わってることを確認して --enablerepo=rpmforge option をつけてもっかい実行。 もっかいもっかいもっかい。なんか checkinstall について勘違いしてたらしい。 rpm さえあればいいような package をつくってくれるのかと思ってたんだけどあくまで rpm command で管理できるだけということらしい。 rpm の file size が 14KiB しかないので気づいたというオチ。 ついでに mercurial で vim の source を引っ張ってくるようにしてみた。 patch あてなくて済むので楽。 # yum install
C# の interface は Java の interface と同じようなもんらしいんだがそもそも Java をまともに書いたことがないのにその理解はどうなんだ。まぁ C++ の純粋仮想 class みたいなもんだという理解でいいか的な。 で、 C# の場合 interface のみで class library を作ることができる、ということに気づいて驚いた。いやまぁそもそも C# って #include がないから interface をどうにか外から参照できる方法がないとダメっていう制限からきてるというのはなんとなく想像つくんだけど。 それいったら #include がなくて project 間の参照ですべて解決してしまうというのはうーんわかりやすいがわかりにくい。 header や source を最終的に preprocessor が file ていう翻訳単位に落とすんだ
そういやまとめようと思っていながら今になってまとめる series 。 RTM の整理をしてたら出てきた task をつぶしてるだけとも言う。 で、実際のところは 'fileformat' と 'fileformats' の設定はどういう効果があるのかってハナシ。とりあえず :help 'fileformat' と :help 'fileformats' を読むと既存の file を buffer に読み込むときと新規に buffer を作るとき以外には関係ないようなのでその 2 つで分けてみる。それぞれ「読込」と「新規」という呼び方ね。まず表。 'fileformats' 設定あり 設定なし 新規 'fileformats' の最初の値 'fileformat' の既定値 読込 'fileformats' と file の内容による 'fileformat' の既定値 'fileform
そういやかなり前から vim を使ってはてダを書く設定をてろてろ書いていたんだけどまだまとめてなかったことに気付いたのでまとめてみる。 まず local で管理するときに専用の拡張子があると便利というかないと死ぬと思ったので Hatena NoTation の略で hnt という拡張子を使うという my rule を設定。具体的に explorer から選択するだけで編集が可能になるのと ftdetect によって filetype を決定しやすいのが利点。 さてで vim の設定 file 群が以下。 ftdetect http://github.com/januswel/dotfiles/blob/master/vimfiles/ftdetect/hatena.vim 前述の拡張子 hnt な file を filetype "hatena" に変更する。 もひとつ、はてダ上で vim
今なら C++98 読むよりゃ draft だけど C++0x の規格書読んだ方がいいだろうってことでカホカホ打っている感じ。 http://github.com/januswel/Cxx0xISja 完了してるところが偏りまくってるんだけど C++ の規格書を読む上で必要な語句が定義されているところを重点的に、あとおれの興味のあるところをいくつかという感じで。てかこの規格書語調が安定してなかったり語句定義がまとまってなかったり ( ごく一部でしか使われない語句はそこで定義してるとか書いてあるけど条項を越えて使われてる語句がかなり多い ) 非常に読みにくい。国際標準の文書ってのはこういうもんなのかと思いつついやでも W3C の出してる recommendation は普通に読めたしな…とか英語力の問題かと思いつついやでも RFC は普通に読めたしな…とかまぁそんな感じで。 自分で規格書を読
VC++ における NRVO について別 entry に書いた -> http://d.hatena.ne.jp/janus_wel/20100301/1267397791 昨日同じような title で entry 書いたら ( http://d.hatena.ne.jp/janus_wel/20100221/1266766850 ) comment でいいことを教えてもらった ( http://d.hatena.ne.jp/janus_wel/20100221/1266766850#c ) ので調べてみたら最終的に今回の entry の title になった。 id:k1m 、 id:tyru ありがとう。 RVO and NRVO まず klm くんの教えてくれた RVO ( Return Value Optimization の略。余談だけど Return"ed" じゃないのは "
MinGW 版だと wrapper が必要だったり必要な option がなかったりするのでやっぱり MSYS 版で。 autoconf, automake, libtool に関して MinGW 版があったことに気がついたのでそっち側に変更した。 とある理由で Windows native で GNU make の使える compile 環境が欲しくなった ( Windows binary を生成する cross compile 方法ってあるのかな ? ) ので探してみたところ今は MinGW と MSYS をいれるという選択肢があるらしい。 MinGW は GNU の提供する開発環境の最小構成 ( 要は gcc まわり ) の Windows 版で MSYS はその補助用の最小構成 system ( bash, make, tar, gzip, bzip etc ) という位置づけで両
いろいろいじってるうちに混乱してきたので以下は根本的に間違ってるかもしれない。 'encoding' を "utf-8" にした方が楽だといったけど ( http://d.hatena.ne.jp/janus_wel/20091203/1259837870 ) まだ Win32 環境 ( 具体的には Windows XP ) の default ではいろいろ不具合がある感じ。で、その不具合のうちのひとつが外との接点である shell 呼び出しとそれの上に乗っかっている機能なんだけどそこらへん何とかしようと思っていろいろやってみた結果。結論は「いじれば何とかなる」。まぁこれやる前から vim 内部で全部済ませるか ASCII characters しか使わないのが smart というのはわかりきっているんだけど。とりあえず Win32 の default shell である cmd.exe
さてそろそろ register に興味を持つお年頃になってまいりました。とりあえず :h registers を読んでおもしれーと思ったことをまとめ。けっこう独特というか local rule が多いというか、まぁ文化だよな。 unnamed register ( :h quote_quote ) 名前がないにもかかわらず "" で参照できるよくわからん register 。 black hole register への指定付き以外のあらゆる copy と cut 操作 ( yank と delete というのが canonical なんだけどまぁ ) はこいつを書き換えているらしい。で、 p や P で挿入されるのはこいつの中身、と。 numbered registers ( :h quote_number ) 番号付きってことは履歴みたいな感じで使ってんのかなと思いつつ大体そんな感じな
改めて自分の .mayu を見てみてけっこうひどいなぁと思ったのでちょと整理そのいち。そのにはいつになるかちょっとわからないけど継続してやっていきたいところ。とりあえず今回は vim な感覚 ( 一部 vimp の感覚 ) で Windows を使えるようにする設定を別 file に切り出してみた。まぁ切り出しただけじゃなくて状態遷移 ( http://d.hatena.ne.jp/janus_wel/20091113/1258064754 ) を使うことで擬似的に visual mode や Windows へそのまま入力を渡す mode ( そのまま Windows mode と呼んでる ) を作ってみたり Common Control ( とりあえず日常自分で使う部分 ) の level で対応してみたりしたんだけど、意外に使いやすくて驚いてるところ。まぁすでに誰かやってるとは思うん
Vim 7.2 の件 ( http://d.hatena.ne.jp/janus_wel/20090311/1236852798 ) と連動してというか Kaoriya さんとこを覗いたきっかけは C/Migemo だったんだけど ( vimp と同じように検索に Migemo を使いたいという歴史的には逆行している動機から ) 、配布されている dll package に同梱の辞書だと 'encoding' option を utf-8 にしてる場合使えなかったので自前で compile してみた経緯。対象は Windows の vim user だけど辞書の compile だけなら無理に Windows で頑張るよりも andLinux をいれてそちらで辞書 file を作って Windows 側に copy するという方法の方が絶対に速いと思うのでその方法も後述 ( [url] )
豆知識。どうも Linux console 版 vim で <C-Space> に何か map するには <Nul> か <C-@> を使うようで ( http://vim.wikia.com/wiki/VimTip285 ) 。ここには insert mode で <C-k> のあとに何か key stroke をうつと vim がそれを内部でどう認識しているかがわかるよ、とも書いてあるんだけど Linux console 版の vim で <C-k><C-Space> を試してみると確かに <Nul> が出てくる。で、 :help <Nul> してみると <C-@> が等価だともわかる。んだけどなんでなんだろう。 Windows だと <C-k><C-Space> の結果は <C-Space> なので OS の時点でそういう認識をしているんだろうか。 http://vim.g.hate
いやそんな大したことじゃないよ ? とりあえず sort と uniq くらいはできないもんかと思って調べたことをまとめておく。 sort Windows 標準の sort コマンドを使えば OK 。 :%!sort で今開いてるファイル全体を、 かなんかで範囲選択した後に :'<,'>!sort で任意の範囲を sort してくれる。まぁ基本が DOS prompt だから大したことはできないけど csv 程度なら /+N オプションを使えば任意の column で sort できる。 uniq Windows 標準では存在しないので自前で用意しなきゃいけない。 結論から行くと wsh / perl / ruby / gawk あたりで自分で書くのがいいのかもしれない。俺は JScript ( wsh ) と perl で書いたんだけど扱いやすさから JScript を選択。ていうか最初
そういや Windows から file を cp してきたときになぜか実行権限がついてんな、 umask は…、 022 だしあれー、何がおかしいんだろと思って調べてみた結果。 とりあえず mount まわりかなと思って fstab や cofs を調べたら正解だった。どうも Windows 側を mount するときに permission 指定をちゃんとしてなかったのが原因らしい ( http://scratchpad.fc2web.com/colinux/install-0.8/install-8.html の「マウント方法」のところにある fmask と dmask の記述 ) 。てか cofs の資料も漁ってみたんだけど http://colinux.wikia.com/wiki/Cofs くらいしか出てこなくてしかも fmask / dmask に関しては例しか載ってなかった
ここ最近 vim いじり倒してて今更ながら Google Docs 使いづらい ( 前々から日記その他もろもろ全部 Google Docs 使って書いてた ) と思ってしまったのではてなで日記を書くために色々整えてみた。まぁすでに先人はいるんだけど ( http://tokyoenvious.xrea.jp/b/vim/hatena_vim.html とか http://mattn.kaoriya.net/software/vim/20090116120815.htm とか ) ちょっと見てみたところおれの欲しいものがなかったので自力で。 ftdetect http://github.com/januswel/dotfiles/blob/cb60f26da7e84d56e1eb6f913945980d4aa32772/.vim/ftdetect/hatena.vim 自動的に 'filet
vim の color scheme をいじっていて cterm 8 色とかマジありえないわーてか無理と思ったのでどうにかならないかと思って調べてみたら簡単に 256 色化できることがわかったのでその方法まとめ。 とりあえず task tray にある陰陽玉から起ち上げることの出来る andLinux の terminal は xfce4-terminal という terminal emulator ( 今までなんで emulator ってつくのかわからなかったんだけど物理的な terminal を emulate する software 、ということらしい ) なんだけどそのままで 256 色化が可能なのでこれを使う。 mlterm とか rxvt-unicode とか別途 install して使ってるひとは知りません ( というかどっちも試してみたけど普通に xfce4-termina
Mitter の site design がいつの間にか変わっていたので ( いつも履歴編集 page を開きっぱなしなんだけど tag や comment がどうしてもつけられないので login し直し & top から見てみたら履歴編集 page の存在がなくなっていたというオチ ) いろいろ整えた。新 design で tag や comment をつけるには http://mitter.jp/username/videos ( おれの場合 http://mitter.jp/janus_wel/videos 。もちろんおれしか参照できない ) からやるらしい。ちょっとわかりにくい上にこの page にたどり着きにくいんだけど…。 AutoPagerize SITEINFO http://wedata.net/items/27287 http://wedata.net/items/2
1.5 系列で実際の patch を送る際の command 例。 patch file のうちひとつの名前が 0001-new-feature.patch という前提ね。細かい説明は http://d.hatena.ne.jp/janus_wel/20090210/1234441680 に。 remote から変更した分の patch を作る git format-patch --numbered origin/master patch をひとつ送る場合 ( このあとにどんな patch か説明する mail を送るといい ) git send-email --to [email protected] 0001-new-feature.patch From の確認。 In-Reply-To はそのまま Enter 。 上記で対話 prompt を出したくない場合 git send-e
まとめ。といっても 1.6 系列は使ったことないので 1.5.2.5 ( Ubuntu 7.10 gutsy で apt-get から install できる最新 package 。ちなみに pacakage 名は "git-email" ) の場合なんだけど、最新 ( 今のところ 1.6.1.3 ) でも使う option が多少変わるだけで ( format-patch に --cover-letter 指定して添え状を作ったり各 patch の説明を書くのに send-email に --annotate 指定をしたりするらしい ) おおまかな流れは変わらない。あとここで示した方法は一般的というか、こうしたほうが望ましいと思われることをまとめているだけなので project による別途指定がある場合はそっちに従うべき。 まず以下の流れで進むということで。 いくつか commit する
http://d.hatena.ne.jp/janus_wel/20090116/1232075595 でうまくいかないと言っていた git send-email だけどちょっとググってみたら Gmail 経由で patch を投げる方法が見つかった ( http://git.or.cz/gitwiki/GitTips#head-a015948617d9becbdc9836776f96ad244ba87cb8 ) ので設定した。結果うまくいったのでやり方のメモ。思いっきり andLinux というか Ubuntu 向けなので他の distribution の方は主にサーバ証明書の位置と msmtp の実行 binary の位置を適宜変更してください。 まず必要なものの install 。 root で操作。 msmtp http://msmtp.sourceforge.net/ 簡易 ma
git はおれの嫁 ( ないと生きていけない的な意味で ) 。まだ以下で足りてる感じ。最近 git のまとめが多いけど実際に自分でまとめないとわからなくなりそうというだけ。 git init / git clone <repository> 新しく file を作った場合 git add <filename> git commit 既存 file の編集のみの場合 git commit -a さっきまでの変更をなかったことにしたい場合 git checkout -- <filename> ( 個別に file 指定 ) git reset --hard HEAD ( 変更すべてを一気に ) 直前の commit を失敗した場合 ( add を忘れたとか commit message ミスったとか ) git reset --soft HEAD^ 変更は残したまま commit をなかったこ
svn に比べると細かい作業ができるんだけど色々覚えなきゃいけないことも多い。 TortoiseSVN から入ったおれにはちとつらいぜ。てか tutorial とか読んでても管理がしたいだけなのに仕組みについて説明されても…、と思わないでもないんだけど管理って行為自体が精度と手間に関して trade-off なのかもしれない。ここらへんもう少し user-friendly というか heuristic な感じでこなれた client が出てくると習得 cost も下がってもっと普及するのかもしれないなぁとか何とか。 とりあえず現在までの流れは大体以下のような感じみたいなので ( きちんとした ) TortoiseGit が作られないかなぁと思いつつ。 手動で source 管理 管理は software がやればいいじゃない ( CVS, subversion ) 直感的な操作で管理するの
git に関する文書。っても全部 http://git-scm.com/documentation にあるのなんだけど。とりあえず全部読んでおくべきなんだけど個人的にこの順番で読むと理解が進むと思う順に挙げる。てかつくづく導入の敷居が高い tool だな。と思ったけど習得曲線ののびが悪いだけで習熟する範囲はそんなに広くないから一度覚悟を決めてしまえば何とかなる感じ。まず local での操作を覚えてそれで生活しつつ branch や remote の管理を覚えていくというのが鉄板な気がするなぁ。 SVN Crash Course http://git-scm.com/course/svn.html svn 関係触ったことのあるひと ( TortoiseSVN 含む ) はまず真っ先に読むべき。というのも svn を使ったことのあるひとにとっては git は紛らわしい単語の使い方をしているの
参考にならないわけではありませんがこのエントリの内容は古いです。 echo の挙動については http://wiki.livedoor.jp/shin_yan/d/liberator#content_17 により詳しい内容がまとめられていますので参照してください。 vimperator のコマンドライン領域が面白い件。主に liberator.echo() に関しての話題。 :echo だと一行しか受け付けないのでちょっとわきにおいとくよ。ちなみに liberator.echo() の実装を行っているのは ui.js ( http://www.mozdev.org/source/browse/~checkout~/vimperator/src/content/ui.js?rev=1.72;content-type=application%2Fjavascript ) 。 とりあえずモードに
http://www.k3.dion.ne.jp/~jod/mayu.html で配布されてるやつでちょっと足りなくなってきたので自分で書き直してみた。 syntax file 書くのはじめてだったけど :syntax とか :highlight link の 2 つおさえておけば大体なんとかなるね。 version の違いを吸収する script もひな形に含まれてるから難しいこと考えずにひたすら正規表現書くだけだ。 http://github.com/januswel/dotfiles/blob/05abb771732748be371c511256216211cca584b6/.vim/syntax/mayu.vim
http://d.hatena.ne.jp/janus_wel/20090131/1233609383 の続き。とりあえず以前の記事 ( http://d.hatena.ne.jp/janus_wel/20080527/1213598995 ) が紹介された ( http://blog.blueblack.net/item_342 ) のでちょいと見直してみた。使える tag は omni 補完でなんとかして閉じ tag も適当に補完させながらガリガリ書く。で、最後に HTML Tidy に整形させて :make で文法的におかしいところをつぶしていく感じ。ちゃんと設定したら quick reference とか開かなくてよくなった。 vim 実はすごい子。 http://github.com/januswel/dotfiles/blob/05abb771732748be371c51125
昨日イチからやり直したのではまらないための tips をすべておさえてまとめ直してみた。まぁおまえらみてってくださいよ的な。まず andLinux 自体の install と最低限の設定から。開発環境の整備に関しては後編 ( http://d.hatena.ne.jp/janus_wel/20090130/1233304359 ) に。 Beta1 minimal / XFCE version を http://www.andlinux.org/downloads.php から download 。 install option はすべて好み。うちの場合以下のような感じ。 install C:\Program Files\andLinux memory 192MB sound no start up manually access Windows shortcut file share C
hatebuize も 1.00 です。以下羅列。 モノ http://www012.upp.so-net.ne.jp/legio/distribute/hatebuize.user.js http://userscripts.org/scripts/show/34036 http://coderepos.org/share/browser/lang/javascript/userscripts/hatebuize.user.js? 操作用 vimperator plugin http://www012.upp.so-net.ne.jp/legio/distribute/ize_extention.js 過去の関連記事 http://d.hatena.ne.jp/janus_wel/20080916/1221573620 wedata.net http://wedata.net/datab
次のページ
このページを最初にブックマークしてみませんか?
『KBDAHOLIC - やぬすさんとこ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く