タグ

rubyに関するtakuma510のブックマーク (180)

  • Robert Sosinski » Understanding Ruby Blocks, Procs and Lambdas

    Blocks, Procs and lambdas (referred to as closures in Computer Science) are one of the most powerful aspects of Ruby, and also one of the most misunderstood. This is probably because Ruby handles closures in a rather unique way. Making things more complicated is that Ruby has four different ways of using closures, each of which is a tad bit different, and sometimes nonsensical. There are quite a f

  • 『Rubyソースコード完全解説』不完全解説 YarvManiacs

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    takuma510
    takuma510 2011/09/10
    言語処理系のお話
  • Rubyのリフレクション解説(eval族のはなし) - このブログは証明できない。

    Rubyのリフレクションについてステキな記事を見つけてしまいました。 no title 前提知識 Rubyでは何でもオブジェクトだと言われます。まずは、この辺について。 最初に思い浮かぶのはこれですね。 5.class #=> Fixnum "hello".class #=> String class自体はどうでしょうか? class Foo;end #=> nil Foo.class #=> Class ここから2つのことが解ります。Fooは定数であるということ。そしてClass型のオブジェクトを参照しているということ。 これはどうでしょう? Foo = Class.new (irb):8 warning: already initialized constant Foo => Foo 予想通りエラーになります。定数 Foo を再度初期化しようとしたからです。 Fooクラスを定義したい時

  • UnicornでSinatraアプリをデプロイしてみた - 射撃しつつ前転 改

    最近は仕事でSinatraアプリを書いたりしているので、Sinatraアプリを動かすためにはどのHTTPサーバを使うのがベストなのかが気になっている。(先に結論を書いておくけれど、どれがベスト、という唯一の選択肢は今のところありません。適材適所です。) SinatraはRackの上に構築されているので、Rackに対応したHTTPサーバーを使って動かす事になるのだが、この数がやたらと多く、どれを使えばいいのか迷う。代表的なものを挙げただけでも、WebRick, Mongrel, Thin, Unicorn, Passenger(Apacheとかに組み込んで使うやつ), FastCGI, (普通の)CGI、これぐらいは選択肢がある(いくつかHTTPサーバじゃない物も混ざっているが、Rackが対応してるという点は共通している)。 WebRickはそもそもパフォーマンスに重点を置いていないし、Mo

    UnicornでSinatraアプリをデプロイしてみた - 射撃しつつ前転 改
  • library net/http

    要約 汎用データ転送プロトコル HTTP を扱うライブラリです。 実装は [RFC2616] に基きます。 使用例 ウェブサーバからドキュメントを得る (GET) 例1: GET して 表示するだけ require 'net/http' Net::HTTP.get_print 'www.example.com', '/index.html' 例2: URI を使う require 'net/http' require 'uri' Net::HTTP.get_print URI.parse('http://www.example.com/index.html') 例3: より汎用的な例 require 'net/http' require 'uri' url = URI.parse('http://www.example.com/index.html') res = Net::HTTP.st

  • Overview

    Overview Overview API Support Tutorials Changelog About Nokogiri¶ Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby. It provides a sensible, easy-to-understand API for reading, writing, modifying, and querying documents. It is fast and standards-compliant by relying on native parsers like libxml2, libgumbo, and xerces. Guiding Principles¶ Some guiding principles Nokogiri

    Overview
    takuma510
    takuma510 2011/08/23
    rubyのhtmlパースライブラリ
  • library test/unit

    要約 ユニットテストを行うためのライブラリです。 test/unit は minitest/unit を使って再実装されましたが、完全な互 換性がある訳ではありません。1.9 系で test/unit を使いたい場合は、以下の test-unitRubyGems でインストールしてください。(ドキュメントでは、 1.9 系については minitest/unit で再実装された test/unit につい て記述しています) Test::Unit - Ruby用単体テストフレームワーク: http://test-unit.rubyforge.org/index.html.ja 使い方 Test::Unit は以下のように使います。 まずテスト対象のソース(foo.rb)が必要です。 class Foo def foo "foo" end def bar "foo" end end 次

    takuma510
    takuma510 2011/08/23
    テストライブラリ
  • Rubyist Magazine - 標準添付ライブラリ紹介 【第 7 回】 net/http

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • 備忘録 [Ruby]net/httpでPOST

    net/httpを使用して、シンプルなPOSTからファイルのアップロードまで試してみました。 まずはシンプルなパターン。 require "net/http" require "uri" uri = URI.parse("http://www.mysample.com/index.php") Net::HTTP.start(uri.host, uri.port){|http| #ヘッダー部 header = { "user-agent" => "Ruby/#{RUBY_VERSION} MyHttpClient" } #ボディ部 body = "id=1&name=name" #送信 response = http.post(uri.path, body, header) } 次に、HTTPRequestのサブクラスであるNet::HTTP::Postを使用したパターン。 require

    takuma510
    takuma510 2011/08/22
    POST
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    takuma510
    takuma510 2011/08/21
    yamlの取り扱い
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    takuma510
    takuma510 2011/08/20
    Loggerライブラリ。デバッグとかに
  • Ruby で openssl を使う(インストール) | 変なヤバいもんログ

    Posted on 2007年7月16日 Posted by ちゅう コメントする Posted in Development Tags: Ruby RubyNet::HTTPS を使おうとしたら、require ‘net/https’ でエラー。どうやら、 require ‘net/https’ した時に、中で require ‘openssl’ を呼べてないぽい。環境はDebian sarge 。 Rubyをソースから入れたので、zlibのインストール の時のような手順で入れたら入った。 Rubyforge からダウンロードした ruby のソースコードのディレクトリへ移動。ディレクトリ名を ruby-1.8.5 とする。openssl は既にインストール済みだった。以下のようなコマンドでインストール出来た。 $ cd ruby-1.8.5/ext/openssl $ ruby e

    Ruby で openssl を使う(インストール) | 変なヤバいもんログ
    takuma510
    takuma510 2011/08/17
    自宅鯖でrails 上の rake -Tで同様のエラー。で、ここの方法で解決。
  • 数万のソースコードから目的の一行を一瞬で見つけ出す、Milkode - おんがえしの blog

    最新バージョンはコチラです。 Milkode(ミルコード)はソースコード検索エンジンです。手元にある大量のソースコードを登録し、ブラウザで閲覧したり検索することが出来ます。20000ファイル位であれば1秒位で特定の一行を見つけることが可能です。 Rubyで書かれており、使っているライブラリも含めてRubyGem経由でインストールすることが出来ます。 OSX, Unix $ sudo gem install milkode Windows(32bit) $ gem.bat install rroonga --platform x86-mingw32 $ gem.bat install milkode Windows(64bit) ※ 事前に64bit版rroongaのインストールが必要です。 $ gem.bat install milkode詳しいインストール方法はホームページをご覧下さい。

    数万のソースコードから目的の一行を一瞬で見つけ出す、Milkode - おんがえしの blog
  • まつもと直伝 プログラミングのオキテ 第6回 メタプログラミング:ITpro

    今回は「プログラミングをプログラムする」メタプログラミングについて学びます。メタプログラミングを利用すると,動的にメソッドを追加するなど,実際のアプリケーション作成に役立つ処理が簡単に実現できます。メタプログラミングと小言語の関係についても解説を加えました。 今回はメタプログラミングを扱います。メタとはギリシャ語で「間に,後に,越える」などを意味する接頭辞「meta」に由来する言葉で,「超越」,「高階」などの意味があります。例えば,Rubyをはじめとする多くのオブジェクト指向プログラミング言語では,「クラスのクラス」のことを「メタクラス」と呼びますし,他のオブジェクトを支えるクラス・オブジェクトなどのことをメタオブジェクトと呼ぶこともあります。 メタプログラミングとは,プログラミングをプログラミングすることです。そんなことが何の役に立つのかと感じる方もいらっしゃるでしょう。今回は一見して何

    まつもと直伝 プログラミングのオキテ 第6回 メタプログラミング:ITpro
  • class << selfを調べてたら特異メソッドとか特異クラスとか出てきた - マグネシウムライト

    普段マジメにソース読みをしないせいで自分の書き方以外のコードが読めない読めない。もっとマジメにコード読もうと思う。 てなわけで今日はclass << selfってなんだよって思ってた。結論はクラスメソッドを複数作成したいときに便利な構文。 で、"class << hoge"というイディオムを調べてたら「特異クラス」の一種だとか。ああ、特異クラスという言葉は聞いた事あった。特異メソッドというのもあったね。 ということでRubyリファレンスから勉強。 6.4 特異メソッドとは何ですか foo = Foo.new def foo.hello print "Hello\n" end foo.hello つまりクラスを拡張することなくオブジェクトにメソッドを追加しちゃうわけっすね。 じゃあ、特異クラスって? 6.6 特異クラスとは何ですか class Foo def hello print "hel

    class << selfを調べてたら特異メソッドとか特異クラスとか出てきた - マグネシウムライト
    takuma510
    takuma510 2011/07/31
    特異クラス。class << selfでクラスメソッドの追加。 agile web development with rails 読んでたらでてきた。
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • the erb way

    I like Ruby. (07-05) 借り物人生 (07-05) 通販生活 (07-05) I like iPod (05-24) RWiki (05-14) Download (05-14) ソフトウェア・シンポジウム 2003 (04-28) ruby-amazonAmazonWebService (04-16) DI ary (04-05) KoyaなTropy (03-29) このページではERBをライブラリとして使用する、ERBらしい応用を紹介します。 はじめに部品を説明し、サンプルを示します。 binding ERBはeval()を利用してeRubyスクリプトを実行します。 eval()には実行環境を示すbindingを指定できますが、 ERBでも同様にbindingを指定することができます。 bindingを指定することで、任意のスコープでeRubyスクリプトを実行でき

  • 1時間でツイッターサービスを作ろう!

    はじめに どうもKRAYの芳賀です。 今日はツイッターサービスをスピーディーかつ無料で作るお話です。 僕は日頃趣味でツイッターサービスを作っているのですが、アイデアを着想したその日のうちにプロトタイプを作って動かすことができるくらいにノウハウが溜まってきました。 仕事が終わってからのプライベートな時間だけでも、1週間から1か月もあれば1つサービスがリリースできる感覚がつかめたので、必要最低限の機能を備えたサービスを短時間で作れないだろうか?と時間を計測しつつ実践してみたところ、なんと1時間で完成できたので、その手順を紹介します。 開発の流れ まずは開発の流れを説明します。 ツイッターアカウントの用意 まずツイッターのアカウントが必要になるので、まだ持っていなければ取得しましょう。サービス用に改めて取得してもいいですね。 サーバの用意 作成したウェブアプリを設置するサーバを準備します。PHP

    1時間でツイッターサービスを作ろう!
    takuma510
    takuma510 2011/06/22
    twitter
  • 実力を測るのにFizzBuzzも二分探索も使えない:Rails Hub情報局:エンジニアライフ

    FizzBuzzをサービスにする「CodeEval」が面白い、というエントリーは、プログラマ採用に必要なスキル判定とリクルーターのマッチングをサービスとして提供するベンチャーの紹介でした。 しかし「良いプログラマ」というのがいるとして、それを見るのに、アルゴリズムのコーディングなんか必要なのか、そんなもので測れるのかという根的な問題があるように思えます。 最近、RubyInsideで見かけた「Practical Tips for Hiring Ruby Web Developers」(RubyのWeb開発者を雇うための実践的なティップス)と題されたエントリは、まさにこれに答える内容で興味深いです。オーストラリア人開発者のTim Gohさんは、CのatoiだのQuickSortだのを書かなきゃいけなかったことなんて最近ないでしょ、Fizzなんてプロダクション環境で出力したことねぇよとして、

    実力を測るのにFizzBuzzも二分探索も使えない:Rails Hub情報局:エンジニアライフ