タグ

ブックマーク / rubikitch.hatenadiary.org (9)

  • Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました

    基礎文法最速マスターブームにのっかってみる。Ruby基礎文法最速マスターをだいたいEmacs Lisp(elisp)に置き換えてみる。 Emacs LispはEmacsで使われているLisp方言のひとつだ。他の言語をある程度知っている人はこれを読めばEmacs Lispの基礎をマスターしてEmacs Lispを書くことができるようになるかもしれない。無保証ではあるが。 ある程度はCommon Lispにも応用できると思うよ。 更新情報 [2010/02/03] 注釈の誤りを修正。 let*について加筆。 基礎 対話的にEmacs Lisp式を評価する Emacsを起動したときに生成されている、スクラッチバッファ(*scratch*)を使うと、Emacs Lispの式を簡単に評価することができる。M-Tabで補完できるぞ。 式を書いたらC-jを押すと、式の値が出てくるぞ。 (+ 1 3) 4

    Emacs Lisp基礎文法最速マスター - http://rubikitch.com/に移転しました
  • 僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました

    Rubyでは、簡単にデーモンが記述できる。その方法は簡単!Ruby 1.9だと Process.daemon と書くだけだ。その行の後は制御端末が切離され、デーモンとして実行される。Ctrl+Cで終了できないので、永遠に実行を続けるスクリプトは「pkill -f」などで殺す。 既存のスクリプトをデーモン化するには、この一行を加えればいいだけなのだが、常にデーモンにしてしまうとデバッグが困難になってしまう。そこで、テスト時はふつうに実行して、普段はデーモンにしてしまえばいい。その方法もまた簡単!上の一行を daemonize.rb というファイルに保存すればいい。だけどこれだけだとつまらないので、ついでにRuby 1.8にも対応させてみる。 if Process.respond_to? :daemon # Ruby 1.9 Process.daemon else # Ruby 1.8 req

    僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました
  • anything.elのメンテナになりました - http://rubikitch.com/に移転しました

    この度anything.elのメンテナになりました。原作者がコードを書く暇もないほど多忙なため、僕が開発を引き継ぐことになりました。 anything.elを一言で言うとEmacsで動くQuickSilverです。 今後の予定として、俺設定のうち安定しているコードを取り込もうと思います。 anything起動時のカレントバッファ anything-current-buffer の新設。需要が大ありなのに取り込まれてないのが不思議。 anything.elを終了せずにアクションを実行する機能(persistent action:チラ見)。 膨大なanything.elの設定を公開! - http://rubikitch.com/に移転しましたのうちのinvariantキーワード。バッファが変更されていない場合は候補のキャッシュを使うことで高速化を図る。 anythingの隣のウィンドウのスク

    anything.elのメンテナになりました - http://rubikitch.com/に移転しました
  • Rubyでwebにアクセスするならhttpclientが手軽 - http://rubikitch.com/に移転しました

    http://d.hatena.ne.jp/willnet/20080626/1214487378 httpclientはopen-uriの手軽さと、Net::HTTPの機能を両立させてる使い勝手のいいライブラリだ。クッキーやkeep-aliveもサポートしている。ただし、Ruby 1.9未対応。Ruby 1.9だとParseDateなんてないぞーってエラーがでてしまう。→最新版でRuby 1.9対応 POSTの場合はpost_contentを使う。串、User-Agent、FromヘッダはHTTPClient.newの引数で。 require 'rubygems' require 'httpclient' require 'kconv' hc = HTTPClient.new query = "ruby" html = hc.get_content("http://www.google.

    Rubyでwebにアクセスするならhttpclientが手軽 - http://rubikitch.com/に移転しました
    sirocco
    sirocco 2008/06/27
  • Rubiniusすげー - http://rubikitch.com/に移転しました

    Rubinius で、Ruby にインクリメント演算子モドキを実装 - Smalltalkのtは小文字です Rubiniusって実行中のバイトコードにアクセスできんのかよ!すげー。 だったらBinding.of_callerとか簡単に実装できるんかな。裏山シス。

    Rubiniusすげー - http://rubikitch.com/に移転しました
  • Ruby初心者〜初中級者が読むべきコードについて - ’(rubikitch wanna be (a . lisper))

    Rubyの初心者にたいして「これは読むべき」だと思うコードを教え… - 人力検索はてな 今北産業ではないが超要約してみる。 Ruby初心者はまず文法や基的なクラスを習得せよ。 初級者ならばmailread.rbなどの簡単なライブラリを読んでみよう。 中級くらいからはWEBrickやBitChannelのソースがよい。 そして、なんといっても、力をつけたいならばソースを改造してみるのが一番だ。改造するんだからソースを理解しないといけないし、書く力も養われる。俺は「興味あるプログラム、気に入ったプログラム」をおすすめする。なぜなら、好奇心があるからモチベーションを保ちやすい。 やっぱり改造一番だよなぁ…書籍のサンプルコードはスペースの関係でミニチュア版になってるし、あくまで「作られた例(contrived example)」に過ぎないんだよね。生きたソースコードにはかなわない、うん。 俺はe

    Ruby初心者〜初中級者が読むべきコードについて - ’(rubikitch wanna be (a . lisper))
    sirocco
    sirocco 2008/05/21
  • Ruby 1.8.7で使えるようになったRuby 1.9のメソッドたち - ’(rubikitch wanna be (a . lisper))

    Ruby 1.8.7ではRuby 1.9からのbackportがとても多い。つまり、Ruby 1.9のあのメソッドがRuby 1.8でも使えるようになったということだ!! これがすごいという機能がもりだくさん、ちょっと大人になったRuby 1.8をお楽しみに。 Enumeratorは組み込みになり、eachなどのイテレータメソッドはブロックをつけないとEnumerable::Enumeratorを返すようになった。おかげでブロック付きメソッドの柔軟性が飛躍的にアップ! expectationsテスティングフレームワークによるテストで書いているので「gem install expectations」してから実行してみよう。手軽にユニットテストが書けるからおすすめ。書式は…見ればわかるよねw ChangeLogで現在からRuby 1.8.6リリースまでを読んだので、ほとんどカバーしていると思わ

    Ruby 1.8.7で使えるようになったRuby 1.9のメソッドたち - ’(rubikitch wanna be (a . lisper))
    sirocco
    sirocco 2008/05/11
  • Ruby 1.8とRuby 1.9の変更点の生成を半自動化 - http://rubikitch.com/に移転しました

    http://eigenclass.org/hiki/mechanically-verified-ruby19-changelog クリスマスリリースされるであろうRuby 1.9はかなり久々の大きなバージョンアップだ。Ruby 1.8時代がかつてないほどに長かった。これからは1.8、1.9が共存していく。安定を望む人はこれまで通り1.8を使えばいいし、よりパワーアップしたRubyを使いたければ1.9を使えばいい。 Ruby 1.9では新しい文法やいろいろな非互換性がある。進化する上で非互換性は仕方ない。変更点がどうなったのか気になっている人は多いだろう。eigenclass.orgの中の人は今まで時間をかけて変更点のチェックしていた。しかし、1.9開発中にはいろいろな機能ができては消えてきた。だから手作業でチェックしていたら内容の信憑性が怪しい。そこで、彼は変更点を自動生成することにした

    Ruby 1.8とRuby 1.9の変更点の生成を半自動化 - http://rubikitch.com/に移転しました
    sirocco
    sirocco 2008/03/11
  • 2007-09-25

    http://read-eval-print.blogspot.com/2007/09/blog-post_25.html 俺もアーロンチェア使っている。TDDの教科書にも「安い机と高い椅子を使え」という教えがあるように長時間座りつづける以上椅子大事。 extended_globは **/* とか以外にほとんど使わないので、いざ欲しいときに忘れてしまう。プロセス置換もしかり。ここでワンキーでチートシートの表示ができたら嬉しい。普段Rubyばかりでシェルスクリプトを書かないので、苦労すると思うけど、シェル関数で書いてみようかな。 やってみるとあっさりできた。以下を.zshrcに追加してC-M-hを押すと ~/zsh/cheat-sheet.conf が表示されるようになる。当然補完候補の表示同様編集中のコマンドラインは消えない! cheat-sheet () { zle -M "`cat ~

    2007-09-25
    sirocco
    sirocco 2007/09/27
  • 1