タグ

ブックマーク / blog.udzura.jp (9)

  • PHP のテストを Ruby で書く « blog.udzura.jp

    皆さん、楽しくテスト書いてますか~~~ 今日は、 rack-legacy を使うことで、 PHP のアプリケーションなのになぜか Ruby のコードでテストできて(受け入れテストのあたりですけど)、そうすると物の RSpec とかが使えて楽ですよ、と言う話をします。 rack-legacy とは。 まず、 Rack とは、 Ruby 製のウェブアプリケーション(Ruby on Rails、Sinatraなどをご存知かもしれません)とサーバ(Apache/Passenger、NginX、Lighttpdなどなど…)をつなぐ一種の規格です。 PerlPython にも似たような仕組みがあります。 ここで、 Rack::Legacy というミドルウェアを使うと、他の言語の CGI や、 PHP のアプリケーションが Rack の上で動かせます。 そして、 Rack の上で動くということは

  • Ubuntu desktop を使う際は入れているパッケージ12個+ « blog.udzura.jp

    Time to Read 3分 近いうちに環境をお引越しする必要が出てきたので、自分向けにまとめ。 Ubuntu だと割と色々最初から入ってるし、こんなもんかなあ……。 git パッケージ詳細ページ 大変有名な分散型バー [...]

  • Sinatra 1.3.0 & Padrino 0.10.3 がリリースされました。ざっくり紹介(1)。 « blog.udzura.jp

    スィナトゥラとパデュリ~ノの最新バージョンがめでたく リリースされました。 1.3.0 は大変難産だったようなので、おめでとうございます。 ブログ、CHANGELOG等を見て、まずはざっくり Sinatra 1.3.0 を紹介させていただきます。で、こっそりとリリースされ続けてきた Padrino 0.10.0~0.10.3 での主な変更点は明日紹介させていただきます……。 ということで。 stream API の追加 一番の目玉はこれです。きっと。 get '/' do stream do |out| out << "It's gonna be legen -\n" sleep 0.5 out << " (wait for it) \n" sleep 1 out << "- dary!\n" end end 要するに、「レスポンスボディをちょっとずつ返す」ことが出来るようになりました、た

  • Ubuntu ではじめる「7つの言語 7つの世界」 « blog.udzura.jp

    最近、微妙に身内な感じで、プログラマ風の人たちで集まり『7つの言語 7つの世界』の読書会などをやっている。 で、僕はとりあえず一通り読み終わって、今後は読書会の場などで手を動かしながら、サンプルコードを写経などしながら、課題を解いていったりする段階だと思ったので、先日 Ubuntu Natty マシンを用意してセットアップを行った。その際の作業メモ。某勉強会界隈はどうせみんな Mac でしかも Book Air なので、 Lion / homebrew 版の手順書を誰か作っていただけると幸甚です。 処理系を入れる Io 以外は一気に入れることができる。 apt 最高!!!!

  • byobu をはじめよう « blog.udzura.jp

    ずっと GNU screen を使ってギ~クを気取りたかったんですが、複雑怪奇な .screenrc などに関するバッドノウハウが怖くて(この辺 zsh 移行とかでも同じようなことが言えそう)何度か挑戦しては挫折していたんです。 でも、ここ数か月ぐらい byobu を導入していて、普通に長いこと使えているし大変快適なので、今回ざっくり紹介してみようかな~とか思います。 byobu とは Ubuntu Manpage: byobu byobu in Launchpad Byobu is a Japanese term for decorative, multi-panel screens that serve as folding room dividers. As an open source project, Byobu is an elegant enhancement of the

  • PHP しか書けなかった僕が Ruby を始めたころに思ったこと10点 « blog.udzura.jp

    RubyKaigi とか色々あって、ふと、僕がプログラミングを始めたころのことを何となく思い出したので走り書きしておきます。特に PHP に関しては記憶が曖昧なところがおおいので、 PHPer モヒカン族によるツッコミを歓迎します。 配列とハッシュが違う PHP においては、配列も連想配列もすべて array() と言う関数で生成する。むしろ、配列というものがキーを数字にしているだけの連想配列と言う位置づけだと思う。 Ruby ではもちろん、主たるコレクションには Array と Hash の二種類が存在し、区別される。最初はこの区別に若干戸惑いを覚えた。 ちなみに Python だとリスト・タプル・辞書ともっと増えるわけで、Javaのコレクションクラスに至ってはさらに多いし、この辺はどの実装が正しいとか適切とかではなく慣習なのかなあ、と思ったりする。 型(クラス)がより厳格 PHP では

  • Grailsの開発環境を作った – emacsの場合 « blog.udzura.jp

    ゆとりRubyistの僕なんですけど、最近それではいけないと思い、Groovy/Grailsを始めました。しばらく格闘記録でも付けていこうかな~と。 今回は、emacsで環境構築してみます。GMateも微妙にbuggyでちょっと使い続けるのが辛くなってきましたからね。。。 elisp一式をインストール groovy-mode, grails-mode, nxhtml-mode http://code.google.com/p/emacs-grails-mode/ http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html flymake (for groovy) https://gist.github.com/630992 auto-complete-mode http://cx4a.org/software/auto-complete/inde

  • etckeeperのつかいかた(インストール、サブコマンド追加) « Coding Suicidal

    Time to Read 2分 etckeeperと言うものがあり、要するに /etc 以下をリポジトリにして変更履歴を管理してくれる、大変大雑把と言えば大雑把なソフトウェアがあります。大雑把ですが、結構便利です。 インストール 1 sudo aptitude install git-core etckeeper そしたら、 /etc/etckeeper/etckeeper.conf と言う若干くどい名前の設定ファイルを編集。 1 2 3 4 5 # The VCS to use. #VCS="hg" VCS="git" #VCS="bzr" #VCS="darcs" Gitの他、MercurialやBazaarなんかが使えます。ただし、Subversionなどのような、中央リポジトリが必要なバージョン管理システムは使えませんね(ローカルにコミットしていくため)。 VCSを決めたら: 1

  • emacs23始めました on Ubuntu 9.10 « **deadwinter**

    標記のとおり。遅まきながら,ですが。 普段,NetBeansのRailsモードで開発してたんですが,Rinariなる凄く便利なelispができたようなので,試すついでに色々設定してみました。emacsは23.1.1です。パッケージで言うとemacs23、と明示的に指定します。単純に23のほうが日フォントの設定がしやすいからです。。 インストールと設定 一部,emacsとRinariで快適Rails開発! と言う素晴らしい記事を激しくコピペしつつ,以下の手順です。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 sudo aptitude install \ emacs23 emacs23-common emacs23-bin-common emacs23-el \ emacs-goodies-el \ ruby1.8-elisp \ yaml-mode c

  • 1