emacsではてなダイアリーへの投稿

会社の目標でfluentd, dstat, scala, node.jsの辺のキーワードについて
週一でブログにポストしていくという目標を掲げたものの
気がつけば投稿する環境にはまってしまうという自体に。。。。
一発目なのでご容赦ください。。。


最近とある人の影響でEmacs利用し始めています
せっかくなのでブログ投稿もできたらなぁ。。。
と調べてみるとまぁあるんですよね、、、すごいっす、、
ということでそれらを利用して投稿できるとこまで持っていったので
設定について書きます

利用したツール達

simple-hatena-mode.el
hatena-helper-mode.el
はてダラ

設定

該当のelとはてダラを取得
simple-hatena-mode.el
http://svn.coderepos.org/share/lang/elisp/simple-hatena-mode/tags/release-0.15/simple-hatena-mode.el
※auto-installを利用してインストール

hatena-helper-mode.el
http://d.hatena.ne.jp/amt/20060115/HatenaHelperMode
※ダウンロードが上手く行かなかったので↑のページからelの部分を切り取ってelispディレクトリに配置

はてダラ
git://github.com/hyuki0000/hatena-diary-writer.git
※emacs-bundleを使ってインストール(perlなのでcloneしてくるだけですが。。。)
はてダラ設定
実行権限追加
chmod +x ~/.emacs.d/bundle/hatena-diary-writer/hw.pl

必要モジュール追加
cpan> install Crypt::SSLeay
init.elに設定追加
;; hatenahelper-mode
;; http://d.hatena.ne.jp/amt/20060115/HatenaHelperMode
;; C-c q 	引用記法(>>〜<<)
;; C-c C-q	二重の引用記法(>>>>〜<<<<)
;; C-c C-t	pre記法(>|〜|<)
;; C-c C-s	スーパーpre記法(>||〜||<)
;; C-c C-s	引用記法の中にスーパーpre記法をネスト(>> >||〜||< <<)
;; C-c d	下書き機能(><!--〜--><)
;; C-c k	キーワード([[〜]])
;; 
;; はてな記法と併用することの多い htmlタグを挿入する操作
;; C-c r	強制改行(<BR>)
;; C-c ^	センタリング(<CENTER>〜</CENTER>
;; C-c +	フォント拡大(<BIG>〜</BIG>)
;; C-c +	フォント拡大(<BIG>〜</BIG>)
;; C-c -	フォント縮小(<SMALL>〜</SMALL>)
;; C-c =	見え消し(<S>〜</S>)
;; C-c =	下線(<U>〜</U>)
(require 'hatenahelper-mode)
(add-hook 'simple-hatena-mode-hook
          '(lambda ()
             (hatenahelper-mode 1)))

;; simple-hatena-mode
;; http://svn.coderepos.org/share/lang/elisp/simple-hatena-mode/trunk/simple-hatena-mode.el
;; dependency
;; http://download.savannah.gnu.org/releases/baol-hth/html-helper-mode_3-0-4jolly.tar.gz
(require 'simple-hatena-mode)
(setq simple-hatena-default-id "xxxx hatenaID xxxx")
(setq simple-hatena-bin "~/.emacs.d/bundle/hatena-diary-writer/hw.pl")
参考にさせて頂いたサイト
http://d.hatena.ne.jp/mickey24/20081230/1230613382

quickrun.vimで実行したPHPUnitの結果にグリーンバーを出す

Vimテクニックバイブル ?作業効率をカイゼンする150の技

Vimテクニックバイブル ?作業効率をカイゼンする150の技


待ちに待ったVimテクニックバイブルで今までの環境を一気に変え始めています
TDDBCでid:t-wadaさんに道具の大切を教わったので
プログラマの命とも言えるエディタを鍛えていきます!


とりあえずVundleでプラグインをガンガン入れていたのですが
quickrun.vimPHPUnitの設定をしていると、、
テスト結果にグリーンバーが見えない。。。


色々格闘した挙句
自分でoutputterを書けば良い!ということで
以下の感じになりました

"" vim-quickrun
" init
let g:quickrun_config = {}

" set for phpunit
augroup QuickRunPHPUnit
  autocmd!
  autocmd BufWinEnter,BufNewFile *Test.php set filetype=php.unit
augroup END

" make outputter for coloring output message.
let phpunit_outputter = quickrun#outputter#buffer#new()
function! phpunit_outputter.init(session)
  " call original process
  call call(quickrun#outputter#buffer#new().init, [a:session], self)
endfunction

function! phpunit_outputter.finish(session)
  " set color 
  highlight default PhpUnitOK         ctermbg=Green ctermfg=White
  highlight default PhpUnitFail       ctermbg=Red   ctermfg=White
  highlight default PhpUnitAssertFail ctermfg=Red
  call matchadd("PhpUnitFail","^FAILURES.*$")
  call matchadd("PhpUnitOK","^OK.*$")
  call matchadd("PhpUnitAssertFail","^Failed.*$")
  call call(quickrun#outputter#buffer#new().finish, [a:session], self)
endfunction

" regist outputter to quickrun
call quickrun#register_outputter("phpunit_outputter", phpunit_outputter)

" PHPUNIT
let g:quickrun_config['php.unit'] = {
      \ 'command': 'phpunit',
      \ 'outputter': 'phpunit_outputter',
      \ }

*Test.phpに該当するスクリプトを編集中に
quickrun.vimを実行するとグリーンバー、レッドバーが出現します!
難しいことは特にやっていなくてhiglightのところを変えれば好きな色がだせます


今書いているvimrcはgithubで管理しているので
興味ある方は覗いてみてください


https://github.com/ukoasis/dotfiles


いや〜環境見なおすの大事ですね〜
次は何から手をつけようか。。

Test-Driven JavaScript Developmentを写経してみて(1回目)

夏休みの課題図書として

Test-Driven JavaScript Development (Developer's Library)

Test-Driven JavaScript Development (Developer's Library)

のchapter 14, 15を写経してみました


英語力、JavaScriptの理解力ともに乏しめなため
それぞれについての解説はまだ書けないので
写経してみてのKPTをやってみようと思います
インプットは沢山したので現時点でのできるだけのアウトプットを。。。

所感

とりあえずやりきってみたが不明点多数だった
ただ、わからないことがわかったことと JavaScriptでのTDDのリズムは少しつかむことが
できたことは収穫でした!
Chapter的には2つしかできてないがこの本は自分レベルにはかなりピッタリでした!
何回か繰り返してJavaScript + TDDをしっかり体にしみ込ませたい!!

KPTとは別に今回の写経を通して学んだこと

  • node.jsのモジュールの書き方
  • client sideのコードの切り出し方
  • node.js, client sideのコードのTDD環境

Keep

  • わからないながらも最後まで写経しきったこと
  • ポモドーロ
  • kindleを使う

Problem

  • 練習問題としてあるのに英語が理解できずに飛ばしまくってしました。。
  • 各モジュールをなぜ使ってるのかがわかっていない
  • stubの使い方がわかっていない。。

Try

  • 練習問題を読み込んで一個ずつクリアしてみる
  • 利用されていたモジュールを利用して利用方法を理解してみる
  • stubの使い方をその他の章とかtest系の情報をみて学ぶ

doxygenでmongodbのドキュメントを作ってみる


いつからか覚えてないが
自分の利用している(利用したい)オープンソースのソースを
読んで理解したい!という思いがあり、思うだけで終わって今に至る。。。
が、しかし、ひょんな事からmongodbに出会い、ソースコードリーディングが開催されると聞きつけ無謀にも手を上げてみた。。


で、とりあえず右も左もわからないが
参考にするべくdoxygenでドキュメントを作るところから
始めてみる

環境

mac osx snow leopard
mongodb 1.8.1
doxygen 1.7.3

手順

mac portsdoxygenインストール
sudo port install ptex +utf8
sudo port install doxygen
mongodbのソース取得
cd ~/Downloads/
curl -o http://downloads.mongodb.org/src/mongodb-src-r1.8.1.tar.gz
tar zxf mongodb-src-r1.8.1.tar.gz
mongodbに入っているdoxygen用config利用してdoxygen実行
cd ~/Downloads/mongodb-src-r1.8.1
cp doxygenConfig Doxyfile
vim Doxyfile
================================
※defaultだと出力先がdocs/doxygenになっているのでお好みで変更
自分はDesktop上にフォルダ作って吐き出しました
OUTPUT_DIRECTORY = docs/doxygen
↓
OUTPUT_DIRECTORY = /Users/oasis/Desktop/mongodb_docs
================================
/opt/local/bin/doxygen


一応問題なくできたので
つらつらと眺めてみながらどの辺から読み込むかを
考える。。。。

参考にさせていただいたサイト

http://www.kfield.co.jp/blog/2009/09/post20090925153832.html

zshでnvmを使うときに必要なこと(2011-05-10現在版)

node.jsの開発環境構築ではなくてはならない存在になったnvmですが
zsh環境だと色々面倒臭い。。。
今日(2011-05-10)取得した限りでは先人のtipsが結構取り込まれていたが
結局ちょいちょいはまったので備忘録ともしzshでnvmにハマっている方々の
ちょっとでも助けになれば。。。

変更点

進捗状況を表す#をzshが解釈してしまうので変更

zshが持っているextended_globという機能のため、
nvmで進捗を表す"#"がzshに解釈されてしまうようです。
なので、対応としてzshが持っている--progress-barというoptionを利用します。

curl -C - -# "http://nodejs.org/dist/node-$VERSION.tar.gz" -o "node-$VERSION.tar.gz" && \
↓
curl -C - --progress-bar "http://nodejs.org/dist/node-$VERSION.tar.gz" -o "node-$VERSION.tar.gz" && \
node.jsのバージョン取得がエラーになるのでzshでオプション設定

nvmでのnode.jsのバージョン取得のロジックが

VERSION=`(cd $NVM_DIR; ls -d v${PATTERN}* 2>/dev/null) | sort -t. -k 2,1n -k 2,2n -k 3,3n | tail -n1`

このようになっており、$PATTERNには「*.*[02468].」、「*.*.」が入るのですが
zshがdefaultだと文字列としてしか展開しないので
v*.*[02468].はありませんとかエラーを吐いてしまう。。。

そこでGLOB_SUBSTを有効にするするときちんとディレクトリにマッチングしてくれる

vim ~/.zshrc
============================
setopt globsubst
============================

ただし、unsetopt globsubstが既存の設定とぶつかることもありえるので
要注意な感じで。。。
自分は特に問題なかったのでそのまま利用しました

参考にさせていただいたサイト

progresss-barについて
http://d.hatena.ne.jp/cou929_la/20110417/1303029314

バージョン取得周りについて
http://www.ryuone.com/diary/20110312.html

linuxなゲストOSにparallels toolsをインストールする方法

きっかけ

来たるsymfony2勉強会に備えて開発環境をVM上に作ったものの
PDTで開発したいな。。とか思い始めて
sambaで。。とか思っていたらfolder shareできるんじゃね???
と気づき、設定してみる

手順

VMのメニューからparallels toolsのインストールを選択


Virtual Machine -> Install Parallels tools...
informationがでてくるのでcontinueを押下

dvdドライブをマウント


mount /dev/dvd /media

install実施


/media/install
画面上ではNextを連打するのみ!

注意!

インストール完了後はrebootを求められるので
切りたいサービスは切っておくべし!
ま、当たり前か。。。。

aptanaでvimキーバインドを使う方法

こういう小ネタ的なものはtwitterに投げてきたが
2011年はもう少しまとまった文章を書いていきたい!
ということでブログに書きますw

問題

最近のjavascript流行に乗って書き始めたのだが
これはいい!と思ったaptanaではvi pluginが効かない。。。。

対策

Vilikeを使え!

手順

以下のサイトから最新版をダウンロード

http://sourceforge.jp/projects/mitonan/releases/

eclipseのdropinsフォルダーにコピー


ex.
cp ~/Downloads/jp.gr.java_conf.mitonan.vilike_0.3.1.v201006110200.jar /Applications/eclipse/dropins

eclipse再起動

普通に落としてあげるだけ、、

設定


Prefrences -> General -> Keys
schemeを「ViLike Key Binding Scheme」に選択
Whenを「Aptana Editors」に選択

参考にさせていただいたサイト

http://journal.mycom.co.jp/column/ide/064/index.html


aptanaとviキーバインドの記事はどれもできないよー的な記事が多くて
正解がほぼありませんでした。。。
どなたかベストな方法があれば教えてくださいー!