タグ

rubyに関するmfreeman59のブックマーク (9)

  • Ruby 初級者のための class << self の話 (または特異クラスとメタクラス)

    はじめに class << self って? class << self に出会うとき クラスメソッドの定義の仕方 class << self の仕組みを順に理解する 特異メソッドの定義の仕方 def object.method_name 形式 class << object 形式 class << self を解釈してみる まとめ 著者について たなべすなお (Sunao Tanabe / @sunaot) 書いた人: sunaot はじめに この記事は「最近 Ruby を始めたばかりで言語仕様についてよく知らない」という初級者や、「一通り記法は知っていて Ruby でプログラミングはできるが、その仕組みはよくわからない」という中級者へ向けて書いています。 Ruby を始めるならどんなを読めばいいの? とたびたび聞かれます。そんなときは決まって、「他の言語が使えるなら『はじめての Ru

  • 「RaptorはどのようにしてUnicornの4倍、Puma, Torqueboxの2倍の速度を達成したのか」を読んでまとめてみた - Qiita

    Help us understand the problem. What is going on with this article? 「RaptorはどのようにしてUnicornの4倍、Puma, Torqueboxの2倍の速度を達成したのか」を読んでまとめてみました。 原文はこちらです。紹介については許可を貰っています。 How we've made Raptor up to 4x faster than Unicorn, up to 2x faster than Puma, Torquebox とても読みやすい英語ですので是非原文も読んでみてください。 How Ruby app servers work Rackアプリケーションの構成についての紹介と、コネクションをどのように扱うのかについて。 prefork/threadingやBlocking I/OおよびEvent I/Oの組み

    「RaptorはどのようにしてUnicornの4倍、Puma, Torqueboxの2倍の速度を達成したのか」を読んでまとめてみた - Qiita
  • 1人Webサービス開発で使っているGemfileそのまま公開 - Qiita

    最近個人的に作った写真共有サイトを公開しました。 photoll - スポット写真共有サイト この写真共有サイトで実際に使っているおすすめGemを晒してみます。 あと、おまけで使ってないけど便利そうなGemとかも紹介。 一人で1からWebサービスを作る過程を書いた拙作のブログエントリもよかったら見てください。 【1人でWebサービス開発】新米Railsエンジニアが無謀にも写真共有サイトを作りました だいぶ長いですが、Gemfileをそのまんま載せました。簡易説明付き。 主要なGemをあとで説明します。 source 'https://rubygems.org' gem 'rails' gem 'mysql2' gem 'haml-rails' # HTMLを簡潔に書ける gem 'sass-rails' # CSSを効率的に書ける gem 'bootstrap-sass' # Twitte

    1人Webサービス開発で使っているGemfileそのまま公開 - Qiita
  • 川o・-・)<2nd life

    Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 p ご存じの人も多い Kernel#p メソッド。これを使うとオブジェクトの内容を見やすい形で出力してくれます。 >> p ({:foobar => :baz}) {:foobar=>:baz}Object#inspect を使うと、p で出力するときと同じ文字列を String として取得できます。 >> puts ({:foobar => :baz}).inspect {:foobar=>:baz}初心者の頃この p での出力を使う方法がわからなくて困った記憶が…。 pp pp というライブラリを使うと、p より、より見やすい形式で出力してくれます。たとえば >> a = Array.new(10) { {:foobar => :

    川o・-・)<2nd life
  • 知って得する!55のRubyのトリビアな記法

    Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt

  • あらためてRuby製のクローラー、"anemone"を調べてみた - プログラマでありたい

    3年ほど前に、Ruby製のクローラー"anemone"を紹介しました。その当時から完成度が高く、Rubyでクローラーを使う場合はanemoneを利用してきました。最近、他に新しくて良いのがないか調べましたが、機能面の網羅性という意味でanemoneを超えるものは見つけられませんでした。そこで改めてanemoneのソースを読んでみたところ、クローラーが必要とする機能を必要最小限で実装され、やはり中々良い出来です。冬休みの宿題ではないですが、勉強の意味を兼ねてソースを追っていくことにします。 Anemoneが利用しているライブラリ一覧 anemoneが利用しているライブラリは、4種類に分類できます。 Ruby標準or一般的なライブラリ データ取得で利用しているライブラリ データ解析で利用しているライブラリ データ保存で利用しているライブラリ この分類別に構造をみるとわかりやすいので、順番に追っ

    あらためてRuby製のクローラー、"anemone"を調べてみた - プログラマでありたい
  • RubyでSeleniumを使ってスクレイピング - Qiita

    JavaScriptバリバリなページはNokogiriなどのスクレイピングツールで扱うのが難しいですが、Seleniumでブラウザ自動操作すると大体のものはできるようになるので、使い方をまとめておきます。 Javaから使うのと比べて、Rubyバインディングだとずいぶんシンプルで良かったです。 リファレンス 【2015-11-12 追記】上記のリンクは更新停止しているようなのでこちらを見たほうが良さそうです http://www.rubydoc.info/gems/selenium-webdriver/ 使い方 gemをインストールする。

    RubyでSeleniumを使ってスクレイピング - Qiita
  • 2013年Rubyの話題を一挙に振り返るまとめ | Engine Yard Blog JP

    Chef、 PHPにつづき、Rubyの今年2013年を今年人気を集めた記事をテーマ別にまとめました。はてなブックマークの数と一緒に振り返っていきます。今年の2月24日にRuby20周年を迎え、ruby-2.0.0がリリースされました。他にもRails4のリリース、RubyKaigiの再開など多くのトピックがありました。 目次 Ruby20周年!そしてruby-2.0.0, ruby-2.1.0のリリース 言語実装への興味、ガベージコレクションほか Rubyのひろがり Rails4のリリースとRailsの成熟 テスト、CI 開発環境、手法、デザイン チュートリアル、Ruby, Railsを始める Ruby 話題の 作りました! 新しいライブラリ ログ・マネージメント fluentd Tips! コーディング クライアントサイドとバックエンド Rubyを取り巻く環境、組織 TwitterがR

  • Ruby 2.1.0リリース!注目の新機能を見てみましょう|TechRacho by BPS株式会社

    2013年12月25日。おめでとうございます、Ruby 2.1.0がリリースされました! 日時間で26日という細かい突っ込みをしている場合ではありません。 まだ使ったことがない方、簡単に変更点を見てみましょう。 文法の変更 デフォルト値を伴わないキーワード引数 Ruby 2.0が出たときから誰もが思っていた疑問、「なんでキーワード引数はデフォルト値必須なんだ?」がついに解消されました。以下の記法で、デフォルト値をつけないキーワード引数を宣言できます。この場合、呼び出し時に対応する実引数を渡さないとArgumentErrorになります。 def hello(name: ) puts name end hello(name: "taro") # => taro hello # => ArgumentError: missing keyword: name キーワード引数同士ではデフォルト引数

    Ruby 2.1.0リリース!注目の新機能を見てみましょう|TechRacho by BPS株式会社
  • 1