タグ

rubyに関するuchoのブックマーク (20)

  • Rubyの魔術 数々の“スペル”で高度なプログラミング − @IT

    2010/09/13 元JavaプログラマのPaolo Perrotta氏は、Rubyを使い始めた頃のことを振り返り、こう話す。 「私はJavaの世界からRubyに来た当初、とてもハッピーなプログラマでした。Rubyっていいね、かっこいいじゃん! と。ところが、最先端のイケてるライブラリの中を覗いてみたら、分からないところだらけだったんです……」。 RubyKaigi2010で「A Metaprogramming Spell Book」(あるメタプログラミング魔術の書)と題した講演を行ったイタリア人プログラマのPerrotta氏は、Ruby on Railsのソースコードを覗いてみたときの驚きをこう表現する。 「例えばalias_method_chainというメソッドは、一体どこにあるんだと探しました。どこにあるか分からないんです。こんなことJavaではあり得ません。結局、テキスト検索で発

  • quanpで使われている分散ストレージシステム·Castoro MOONGIFT

    CastoroはRuby製のオープンソース・ソフトウェア。知名度はまだ高くはないが、日のサービスにしては非常に魅力的なオンラインストレージサービスなのがquanpだ。月額980円で100GBまで使えるストレージで、iPhoneやWebブラウザから使うためのサービスも用意されている。 オンラインストレージを構築する上で書かせないのが堅牢なストレージシステムだろう。既にいくつかのソフトウェアは存在するが、quanpでは独自のストレージシステムが構築されている。それがCastoroだ。 Castoroの特徴として、HTTPでのアクセスに加えてNFSをサポートしているということが挙げられる。これによってImageMagickやXPDFをサポートし、ファイルやドキュメントを画像化することができる。さらに100GBといった巨大なファイルも扱えるのが特徴的だ。 遅延レプリケーションになっているので、他

    quanpで使われている分散ストレージシステム·Castoro MOONGIFT
    ucho
    ucho 2010/09/06
    へー
  • Rubyでディープコピー

    Rubyでオブジェクト(配列)を変数に代入すると、「shallow copy(浅いコピー)」されます。 これは、C++で言う参照コピーであり、Cで言うポインタ渡しと同じ挙動です。 ◆exp. shallow copy a = [0,1,2] b = a b[1] = 3 p "a = " + a.to_s p "b = " + b.to_s 実行結果は、 "a = 032" "b = 032" となります。『"a = 012"』で無い所に注意が必要。 shallow copyなのでbを変更すると コピー元のaも変更されます。 では、bを変更しても『"a = 012"』としたい場合はどうするか。 『deep copy(深いコピー)』すれば良いのです。 deep copyを実装するのに Marshalモジュールを使います。 Rubyリファレンスマニュアル#Marshal ◆exp. deep

    Rubyでディープコピー
    ucho
    ucho 2009/11/08
    Marshalを使う
  • Route 477(2009-09-03)

    ■ [ruby][git] githubを10倍便利にするgithubコマンド 現在はgit-hub gemの方がおすすめです:Route 477 - github gemからgit-hub gemに乗り換えた (2011/1/13追記) githubはよく使うけど、プロジェクト作るのにブラウザ開かないといけないのが 面倒だなーとか思っていませんか?githubコマンドをインストールすると、 ターミナルからgithubプロジェクトを新規作成できるようになります。 インストール $ gem install defunkt-github -s http://gems.github.com リポジトリの作成 新しく作る: $ github create foobar -> foobar/ 以下にgitリポジトリができ、githubにも登録される 既存のgitリポジトリから作る: $ github

    Route 477(2009-09-03)
    ucho
    ucho 2009/11/07
    HTMLを表現するためのマークアップ言語2種。Markdownは生テキストの見た目が自然、Textileは高機能
  • ATOK で ruby の実行結果を返すプラグイン - 川o・-・)<2nd life

    http://www.atok.com/useful/developer/api/ ATOK ダイレクト API が公開され、Ruby/PerlATOK プラグインが作れるようになったので、早速簡単かつ何でもできるプラグインを作ってみました。 http://rails2u.com/misc/atok_plugin_ruby_eval.zip セットアップし、ATOKダイレクトAPIがつかえ、Ruby の実行環境があると、ATOK で入力中に Ctrl + Insert で Ruby の実行結果が変換されて返ってきます。たとえば電卓っぽくりようしたいときには 24*24と入力したときに Ctrl+Insert を打つと 576な文字列が返ってくるので、電卓としてつかえて便利! また 'korehabenri'.split(//).join(' ')をCtrl+Insert で変換すると

    ATOK で ruby の実行結果を返すプラグイン - 川o・-・)<2nd life
    ucho
    ucho 2008/10/31
    ATOKすごい
  • 設定項目をオブジェクト的に設定、取得する·Configatron MOONGIFT

    Ruby on Railsで開発している際に設定ファイルを利用することがある。その場合に利用されるのがYAML形式での保存だ。これは汎用的なフォーマットで、XMLに比べると分かりやすい表記で使い勝手は良いのだが、読み込んだ後の利用がHashや配列になっているのがあまり好きではなかった。 一例 だが設定のために一つクラスを用意する、というのも面倒だ。簡単に項目を追加したり変更したりできる、柔軟なクラスを必要としているならこれを使おう。 今回紹介するオープンソース・ソフトウェアはConfigatron、設定用のクラスライブラリだ。 Configatronを使えばまさに前述のようなニーズが満たされる。config.email = "hogehoge"のように設定、取得ができる。コードのサンプルとしては以下のようになる。 configatron do |config| config.email =

    設定項目をオブジェクト的に設定、取得する·Configatron MOONGIFT
  • RDoc をインクリメンタルサーチする greasemonkey スクリプト - 2nd life (移転しました)

    http://rails2u.com/misc/rdocincsearch.user.js 今現在、ruby ライブラリのドキュメントは rdoc で生成するのが一般的です。その中のドキュメント生成の方法の一つのフォーマットに html があり、ライブラリドキュメントの Web の公開形式といえば rdoc が生成した html がスタンダードな感じです。また rubygems をインストールすると使える、ローカルで httpd(webrick) を起動してライブラリドキュメントを閲覧できる gem_server も rdoc の html を利用して表示しています。 しかし、rdoc の出力する html は検索ができないので、たくさんのメソッドから必要なメソッドを探すのに苦労します。そんなわけで rdoc を JavaScript でインクリメンタルサーチできるようにする grease

    RDoc をインクリメンタルサーチする greasemonkey スクリプト - 2nd life (移転しました)
  • quanp mail magazine

    「日Ruby会議2008」会場レポート 6/20〜6/22にかけて、つくば国際会議場で開催された「日Ruby※1会議2008」に協賛企業としてリコーが初参加しました。その模様をレポートします。 ※1オープンソースの動的なプログラミング言語で、 シンプルさと高い生産性を備えています。 エレガントな文法を持ち、自然に読み書きができます。 ■quanpとRubyの深いつながりとは・・・ リコーのWebサービスquanpは、サーバーシステムの構築においてRubyを採用しています。Rubyを採用することで短期間での開発が可能となり、皆さまにいち早くご提供することができました。quanp開発のなかでリコーが得た知識や技術を、今後はRubyの発展に貢献していきたいと考え、「日Ruby会議2008」への協賛企業として参加。quanp開発者によるRubyを用いた開発技法についての講演やquanpブース

    ucho
    ucho 2008/07/04
  • RSpecを日本語の仕様っぽくするには - ナマケログ

    仕事Railsアプリケーションを組むときに、test/unitじゃなくてRSpecを使ってる。mock周りの使い勝手がいいとか、語彙が馴染みやすいとかいろいろ魅力があるんだけど、その「可読性」を保つにはなかなかコツがいると思う。言うまでもなくRSpecはRubyのコードを「英語の表現として自然に見える」ようにすることを意図して語彙や書き方を決めている。これは英語圏のエンジニアには非常に素敵なことではあるんだけど、英語が苦手で英作文なんて始めて数分で泣きたくなるようなへたれ外国語学部生にとっては正直やっかいだし、周りの人達の大半は英語に慣れていない人達*1だったりするので、せっかく可読性が高い綺麗な表記でさえむしろ意図を理解する妨げになったりする。いっそドイツ語で書いて「お勉強」に活用してやろうかという衝動に駆られたけども、誰一人として読めない上に一週間後の俺ですら理解に苦しみそうなので

  • ヽ( ・∀・)ノくまくまー(2007-11-02) GoogleCalendar を使う ~ ライブラリ編 ~

    ● [Rails] GoogleCalendar を使う 〜 ライブラリ編 〜 昨日の昼御飯は言うに及ばず、兎にも角にも物忘れがヒドイ現実。切ないけど幸せです。いや、幸せちゃうけど、IT化とか言うけど全然予定をまとめられてない!思えば mew(imls)+mhc の時代が一番自動化できてた気がする。てことで、MJのBuonoを録画し忘れた今だからこそ、さらなる悲劇を生む前にカレンダーを実装するんだ!車輪の再発明は大好きだけど、まずは Google Calendar で何ができるのか、何ができないのかぐらいは調べてみる。てことで Ruby から Google Calendar を使うためのライブラリを探してみる。最低でも、予定の読み込みや書き込みするメソッドが欲しい。理想を言えば、CalendarクラスにCRUDできると最高だ。 GoogleCalendar のライブラリ (Google 1

  • Ruby開発者まつもとゆきひろ氏 「Rubyからのメッセージ」

    最近トレンドとなりつつあるRubyであるが、その原点はいち技術者の願望の結晶であった。講演ではRubyの開発者人が、Rubyの設計に込めた思いを語る。また、RubyRubyたらしめる特徴や機能についても解説する。2007年10月16日にミラクル・リナックス株式会社主催で実施された「Asianux Road Show in Tokyo」の特別講演の内容。

    Ruby開発者まつもとゆきひろ氏 「Rubyからのメッセージ」
  • [Think IT] Rubyチャンネル

    いま注目されているRubyを取り上げたThink ITの連載。もう一度まとめ読みして、もっとRubyを理解しておこう!

    ucho
    ucho 2007/10/14
  • Rubyで作るGUIアプリケーション·Shoes MOONGIFT

    MemotuneはRuby on Railsで開発されている。そして、FlashPaper生成部分ではWindowsを利用している。そのため、GUIアプリケーションに関しても触れる必要がある。 言語を全て同じもので開発できれば効率はぐっと向上するだろう。それを実現するのがこのライブラリだ。 今回紹介するオープンソース・ソフトウェアはShoes、RubyGUIツールキットだ。 Shoesの最大の特徴はWindowsMac OSXLinux全てに対してGUIアプリケーションが提供できる点にある。一つのコードで数多くのOSをサポートするのはJavaのようでもある。 値の入力内容を受け取る事や、ファイルを開くダイアログを出す事もできる。Shoes.appというオブジェクトに対して追加する処理はごくシンプルで分かりやすい。 画面デザインについて細かな指定がないのと、コンパイル等でソースの隠蔽化

    Rubyで作るGUIアプリケーション·Shoes MOONGIFT
    ucho
    ucho 2007/10/12
  • RubyCocoa がすごい - Psychs's blog

    RubyCocoa で LimeChat for OSX を作ってみて感じたのが、RubyCocoa の着眼点がすばらしくいいということ。 Cocoa には結構つらいところがある。 文字列処理が面倒 配列やハッシュを扱うのが面倒 正規表現がない (OgreKit があるけど) GC がない たとえば、文字列を連結するだけでも、 s = [s stringByAppendingString:t];というようにかなり長くなってしまう。配列やハッシュの処理も同じようにメソッド名が長く、GC がないのでリファレンスカウントの挙動を常に気にする必要がある。 しかし、これらの問題点は RubyCocoa を使うことで一気に解消してしまう。どれも Ruby が得意にしてるところだからだ。そして、Cocoa の楽しいところだけが純粋な形で浮き彫りになっているのだと思う。

    RubyCocoa がすごい - Psychs's blog
    ucho
    ucho 2007/07/04
  • オープンソースと“適当さ”で便利になる「Pragger」:ITpro

    写真1●うまいものシリーズ つくばの飯屋「ホワイト餃子つくば店」 とても大きい餃子があります。もう餃子だけでお腹が一杯になります。焼きたてはとても熱いので、注意が必要です。 [画像のクリックで拡大表示] 前回からネット上の情報を集める「Pragger」について説明しています。前回は、Praggerの「入力」「加工」「出力」という3つの機能のうち、「入力」について説明しました。今回は残りの「加工」と「出力」を説明して、Praggerの便利さを紹介したいと思います。 前回説明した「入力」では、Praggerにある多彩なプラグインを使って、様々なサイトから情報をPraggerに取り込めます。その取り込んだデータを加工するのが、「加工」プラグイン群です。加工プラグインの用途の典型例は、情報の「抽出」です。例えば、こんな風に使います。 使いやすさを生み出すプラグイン 私のある友人はブログを書いていま

    オープンソースと“適当さ”で便利になる「Pragger」:ITpro
    ucho
    ucho 2007/04/07
    http://private.ceek.jp/のことだろうか
  • PRagger - Trac

    Shun Ikejima Contact email ostatus Skype LINE: ikejixx WeChat: ikejix Article blog Wiki Tropy Accounts Github twitter Facebook Tumblr Instagram Linkedin mixi Steam MyAnimeList Sites langdev Smile calender WhoIsMe Projects

  • ホワイの(感動的)Rubyガイド

    このはホワイ・ザ・ラッキースティフ(why the lucky stiff)により愛情を込めて書かれた。 ~ 目次 ~ このについて コンニチハ、Ruby このを開く 犬の話 赤い太陽が昇る はどのように始まるか (漫画のキツネと学ぶ)短時間の(そして願わくは辛くない)Rubyコース 言語と、言語で意味しているもの 品詞私がまだあなたのことを十分子供扱いして いなかったなら あなたの成長を促すための例題 そして短い旅はそっとクッション停止する 浮いている小さなコードの葉っぱ アンブローズにおけるステータスシンボルとしての葉っぱ 小さくてほとんど価値のないもの 妄想をつなぎ合わせる ブロックの奇跡 ルールを作るものと夢を生きるもの これは権利を奪われた人のため コンピュータのある城 娘のオルガン教師の話のつづき ヤギは映画を全部見たがっている 盗まれたくじ主 ルールを作る者たち 夢を

  • Collection & Copy - RubyについてJavaプログラマが知るべき10の事柄

    翻訳原文:10 Things Every Java Programmer Should Know About RubyJim Weirichコンサルタント / Compuwarejim@weirichhouse.org Copyright 2005 by Jim Weirich (All Rights Reserved)自己紹介ジム・ワイリック (Jim Weirich)Compuware社コンサルタントJavaのプログラマRubyの熱狂的支持者大事なことを、まず先に私は以前、大規模製造会社の従業員に就業後のC言語コースを教えていました。提出されたCのコードのスタイルをちょっと見ただけで、生徒が以前にどんな言語を利用していたかを簡単に当てられました。全くもって当のことです。「どの言語でも、君はFORTRANを書けるね」 Rubyを調査中のJavaプログラマなら、Rubyが色々な点でJav

  • rails's Wiki - AjaxOnRails

    Founded by . This Wiki is running on fdiary.net wikifarm. Powered by NaCl and security-keeper. Generated by Hiki 0.9dev (2009-08-24). Powered by Ruby 1.8.7 (2012-02-08).

  • 満足せる豚。眠たげなポチ。:Rolling on Ruby on Rails - Japanese Translation - p1

    見知らぬ極東のRubyistへ丁寧で親切な対応をしてくれたCurtとONLamp.comへ最大級の感謝を込めて。 元記事はこちら。(You can read the original article from here!) nak2kさんからのご指摘で、リンク先を修正しました。'Seeing is Believing'の箇所の表記を修正してみました。どうもありがとうございました。 kdmsnrさんからの情報で、リフレクションによるRailsの自己解析の辺りの話が理解できました。文章修正しました。どうもありがとうございました。 おおやさんからのご指摘で、ideaに関する訳を修正しました。どうもありがとうございました。 匿名希望さんからのご指摘で、家でのedit.rhtmlのコードへの修正を反映しました。どうもありがとうございました。 2008.7.28 追記 Rolling with Ru

  • 1