タグ

Rubyに関するdragonetのブックマーク (37)

  • Rubyワンライナー入門 - maeharinの日記

    先日仕事中、一瞬の隙も見逃さずに情報収集できるRubyワンライナーとスクリプトというネタエントリを書いたのだが、その際Rubyのワンライナーをもう少しまともに理解したいと思ったので入門してみた。手元のRubyは1.9.2 はじめに Rubyのワンライナーは、rubyコマンドに色々なオプション(-eや-nなど)をつけて実行する。各オプションの網羅的な解説が見たければ、コマンドラインでは$ man rubyで閲覧できるし、webではるりまサーチで参照できる。ただ、これらは網羅的すぎるので、以下よく使うオプションとその周辺情報についてまとめた。 -e 一番基的なオプション。スクリプトを実行する。(ちなみに他のオプションと組み合わせる時は必ず最後に記載する) 例: hogeと表示 $ ruby -e 'puts "hoge"' -n プログラム全体がwhile gets ... endというルー

    Rubyワンライナー入門 - maeharinの日記
  • これからRubyを始める人たちへ

    (追記:2012-12-03) 記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。詳細は文末に追記しましたので、購入ご検討のほどよろしくお願いしますm(__)m 電子書籍「これからRubyを始める人たちへ」EPUB版 Rubyの特徴 Rubyは、まつもとゆきひろ氏(通称Matz)により設計されたオブジェクト指向プログラミング言語です。Rubyの特徴を一言で言うならば、それは「間口が広くて奥が深い言語」ということになります。 「間口が広い」というのは、インタフェースがシンプルで誰でもが簡単に使い始められることを意味します。「奥が深い」というのは、プロフェッショナルによる長期使用に耐えうる物の言語であるということを意味します。「間口が広い」ということと「奥が深い」ということは来競合する概念ではありませんが、その両方をバランスよく組み合わせるには、対象に対する

  • Rubyが国際規格に承認される

    情報処理推進機構(IPA)は4月2日、プログラム言語の「Ruby」が国際規格「ISO/IEC 30270」をして承認されたと発表した。日発のプログラム言語がISO/IECの規格となるのは初めて。 Rubyは、1993年にまつもとゆきひろ氏が提案し、国内外で広く活用されている。IPAは2008年に「Ruby標準化検討ワーキンググループ」を設置して、言語仕様の国際規格化に向けた事業を行い、2011年3月にはJIS規格化を完了。日工業標準調査会がISOとIECの合同技術委員会のISO/IEC JTC 1に提案していた。 3月31日までISO/IEC JTC 1の最終投票が行われ、「ISO/IEC 30270」として承認された。IPAは「Rubyが国際規格となったことで、Ruby言語仕様の安定性や信頼性が増し、Rubyを学ぶプログラマーの数、Rubyを採用する企業や組織の数が増大することが期待

    Rubyが国際規格に承認される
  • オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル

    トップ 目次 はじめに コマンド Rubyの起動 環境変数 Ruby 言語仕様 Ruby でのオブジェクト オブジェクト クラス プロセスの実行 Ruby プログラムの実行 終了処理 スレッド セキュリティモデル Ruby の文法 字句構造 プログラム・文・式 変数と定数 リテラル 演算子式 制御構造 メソッド呼び出し(super・ブロック付き・yield) クラス/メソッドの定義 その他 多言語化 正規表現 手続きオブジェクトの挙動の詳細 組み込みライブラリ Builtin libraries 標準添付ライブラリ All libraries C API All C API その他 pack テンプレート文字列 sprintf フォーマット Ruby用語集 Rubyで使われる記号の意味(正規表現の複雑な記号は除く) 疑似BNFによるRubyの文法 配布条件 このマニュアルのヘルプ

  • 223Soft -

    Document Data Structure in MongoDB Express MongoDB lets you easily store structured and unstructured data in a flexible and dynamic database schema. It supports CRUD operations on complex data objects using JSON as the main data type. Its an open source solution so it may not be as robust or well supported as commercial management tools. However it is easy to deploy and works well for most use cas

  • Why Ruby again by Matz

    そのビデオキーノートとして行われたMatzことまつもとゆきひろ氏のビデオが公開されています。テーマは「Why Ruby Again」(なぜRubyなのか、ふたたび)。まつもと氏が以前から訴えているコミュニティの重要性を説いた内容になっています。 英語で行われたビデオキーノートの内容を、かいつまんで紹介しましょう。 Why Ruby Again 今日は「なぜRubyなのか」というファンダメンタルな疑問について、あらためて話そうと思います。 Ruby関連のカンファレンスは数多くあります。多くは20人から30人程度の小さなものですが、Ruby Kaigiのように参加者が3000人を超える1000人規模の大きなものもあります。 1993年、Rubyのユーザーは私一人でした。1995年にネットに公開したとき、興味を持ってくれた人は100人程度、2000年にはRubyで最初の英語の解説書が登場し、20

    Why Ruby again by Matz
  • るびま

    『るびま』は、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 直

  • 第31回 RubyistのためのMongoDB入門(1) | gihyo.jp

    はじめに ここ最近、NoSQLというキーワードが注目を集めています。 リレーショナルデータベースは、一般的にスケールアウト(サーバの台数を増やして性能向上を図る手法)が難しく、特に大規模サービスにおいてパフォーマンス上のボトルネックとなりえます。また、タグやグラフ構造のようなデータは関係モデルに馴染みにくいため、それらを扱う際にはアプリケーションコードもぎこちないものになりがちです。 これらの問題を背景に、何にでもリレーショナルデータベースを使うのではなく、用途に応じてKVSなど他のデータストアを選択する流れが広まりつつあります。このムーブメントがNoSQL(Not Only SQL)と呼ばれているものです。 今回は、NoSQLなデータベースの1つであるMongoDBをご紹介します。 MongoDBとは MongoDBは高いパフォーマンスとスケーラビリティを特徴とするドキュメント指向型デー

    第31回 RubyistのためのMongoDB入門(1) | gihyo.jp
  • プログラマブルなインフラ、Ruby、JavaScriptなどが重要なテクノロジと評価される。ThoughtWorksのレポート

    プログラマブルなインフラ、RubyJavaScriptなどが重要なテクノロジと評価される。ThoughtWorksのレポート オブジェクト指向やアジャイル開発などを広めてきたMartin Fowler氏が所属し、アジャイル開発のコンサルティングなどを行っている企業としても知られているThoughtWorks。同社は、IT業界内のさまざまなテクノロジーの中から、重要性を増しつつあるテクノロジーや、逆に影響力を失いつつあるテクノロジーなどを紹介するレポート「Technology Radar」を不定期に公開しています。 そのTechnology Radarの2011年1月号が公開されました。いままでPDFバージョンしかなかったのですが、今回はHTML版も公開され、より見やすくなっています。 Technology Radarは、開発技法を対象とした「Techniques」、ツールを対象とした「T

    プログラマブルなインフラ、Ruby、JavaScriptなどが重要なテクノロジと評価される。ThoughtWorksのレポート
  • IPAが「Ruby研修用コンテンツ」を無償公開、活用法やプログラミング技術を遠隔から実習

    情報処理推進機構(IPA)は2011年1月31日、プログラミング言語RubyおよびWebアプリケーションフレームワーク「Ruby on Rails」の利用方法やプログラミング技法、最新動向などを遠隔からグループ学習するための教材と実習環境「Ruby研修用コンテンツ」を無償公開した。 実習環境は、IPAが提供しているインターネットを通じたオープンソースソフトウエア(OSS)実証評価環境「OSSオープン・ラボ」のサービスメニューの一つとして提供される。利用するには、OSSオープン・ラボの利用予約が必要となる。研修実施担当者が、同ラボのWebページ下部に記載されたメールアドレスあてに、予定人数や研修会場の場所と回線種別、実施予定日などを記入して申し込むことで利用できる。研修当日は、受講者ごとにラボ側で仮想OSが用意され、受講者はWebブラウザでアクセスしてコンテンツを利用する(図)。 Ruby

    IPAが「Ruby研修用コンテンツ」を無償公開、活用法やプログラミング技術を遠隔から実習
  • RubyistのためのMongoDB入門

    MongoDBとは 10gen社が中心となって開発している非リレーショナルデータベース。 特徴 MongoDBは("humongous"より)は、スケーラブル、ハイパフォーマンス、オープンソース、スキーマフリー、ドキュメント指向です。C++で書かれていて、機能としては: ドキュメント指向ストレージ (the simplicity and power of JSON-like data schemas) 動的な クエリー 組み込みのオブジェクトと配列をサポートした完全な Index のサポート。 クエリー プロファイリング 速い in-place アップデート バイナリデータの効率的な保存 large objects (例:写真や動画) レプリケーション とフェイルオーバーのサポート。 クラウドレベルのスケーラビリティな 自動的なsharding 複雑な集約のための MapReduce 商用

  • Rubyソースコード完全解説 / 青木峰郎

    $Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第

  • WebSocketサーバライブラリ rev-websocket リリース - Blog by Sadayuki Furuhashi

    いま WebSocket がにわかに注目を集めているようです。 ブラウザとサーバの間でリアルタイムな双方向通信を実現する機能で、HTML5に追加された(される予定の)新しい仕様です。 このWebSocketを使うには、ブラウザ側のJavaScriptの記述だけでなく、サーバ側の実装も必要になります。 そこで、Rubyで使えるWebSocketのサーバライブラリ rev-websocket をリリースしました。 gemでインストールできます:gem install rev-websocket 早速、デモアプリケーションを作ってみました:シャウッたー *1 WebSocket を使ったチャットシステムに、ちょっとした演出を加えたシンプルなアプリケーションです。速くタイプするほど大きく表示されるという趣向です^^; WebSocket に対応しているブラウザは今のところ Safari と Chr

    WebSocketサーバライブラリ rev-websocket リリース - Blog by Sadayuki Furuhashi
  • Rubyの実行速度をJITで最大20倍に高めたRubinius 1.0がリリース

    Engine Yardは、Rubyの実行環境であるRubinius 1.0の一般提供(General Availability)開始を6月9日付けで発表しました。 Rubiniusは、高速なRuby実行環境を目指してRubyC++で開発されたもの。内部はバーチャルマシンになっており、LLVM(Low Level Virtual Machine)を用いて実行時にバイトコードをネイティブコードに変換するなどで最大20倍の高速な実行を実現していると説明されています。また、モダンなメモリ管理も実装し、大規模なアプリケーションでの使用メモリ量の減少も実現。 現在のRubiniusがターゲットにしているのはMRI 1.8.7(MRI、Matz's Ruby Interpreter)。既存のRubyとの互換性はRubySpecによると93%。RMIのRuby実装と同様のC-APIを備えているため、MR

    Rubyの実行速度をJITで最大20倍に高めたRubinius 1.0がリリース
  • るびま

    『るびま』は、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で簡単、DBプログラミング - mixi engineer blog

    静かに暮らしたいmikioです。今回は、新進気鋭のDBMであるKyoto CabinetRubyバインディングを駆使してお手軽にデータベースプログラミングを行う方法について述べます。 Kyoto Cabinetのおさらい Kyoto Cabinet(KC)は、Tokyo Cabinet(TC)に比べて、最適化された性能よりも保守性を重視したDBMの実装です。オブジェクト指向プログラミングの技法を用いて、少ないコード記述量で容易に機能追加できるように設計しています。また、実装としては、空間効率の向上と並列処理性能の向上を重視しています。以下のプレゼン資料も参考になると思います。 TCでもハッシュ表やB+木などのデータ構造を動的に切り替えて同じインターフェイスで操作するための「抽象データベース」という機構がありましたが、KCでは同じことを「多相データベース(polymorphic datab

    京都収納棚紅玉束縛: Rubyで簡単、DBプログラミング - mixi engineer blog
  • SinatraでTwitter Streaming APIにアクセスする超簡単なWebアプリのつくりかた:Kenn's Clairvoyance

    Twitterには、ストリーミングAPIという、プッシュでリアルタイムに情報を受け取ることのできるAPIが用意されています。 これを使えば、定期的にポーリングをしたりすることなく、誰かが発言した時点で即座にメッセージを受け取れます。 しかし、これを使うためには、TCP接続をTwitterに対して張りっぱなしにしておく必要があり、Webアプリなどで使うのに敷居が高いと感じている人もいるのではないでしょうか。 今回は、「そんなことないよ、超簡単だよ」ということを、Rubyベースのサンプルで示したいと思います。 なぜそんなことが簡単にできるのか、その秘密を先に種明かしすると、Ruby用のWebサーバとして急速に人気を獲得し、デファクトの座をとりつつある「Thin」というWebサーバが、内部的にEventMachineという非同期サーバを使用しているので、その機能を使うことで、今までのWebアプリ

    SinatraでTwitter Streaming APIにアクセスする超簡単なWebアプリのつくりかた:Kenn's Clairvoyance
  • [ruby] RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize - Greenbear Diary (2007-02-05)

    ■ [ruby] RubyHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize 今日は、RubyでWebサイトを解析するときに強い味方となるライブラリ、HpricotとWWW::Mechanizeを紹介します。 どちらも非常に強力なので、覚えておいて損はないよ! 以下ではまずHpricotでHTMLを解析・編集する方法について解説します。 次に、「はてなダイアリーの自動更新」を例にWWW::Mechanizeの使い方を解説します。 Hpricot HpricotはHTMLを解析するためのライブラリです。 例えば「あるページのリンクだけを全部抜き出したい」と思ったとき、どうしますか?scrAPIを使う?でもscrAPIはやっぱり ちょっと使いたいだけなのにパーザ(Scrape)用のクラスを定義するのが面倒なんだよね! Hpricotなら、たったこれだけで

    [ruby] RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize - Greenbear Diary (2007-02-05)
  • 僕たちが待ち望んでいた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/に移転しました
  • コードに自信がある人もない人もまずはチェック·Reek MOONGIFT

    ReekはRuby製のオープンソース・ソフトウェア。まだプログラマをはじめたばかりの頃は自分のソースコードを人に見られるのが嫌だった。もっと良い書き方があるんじゃないだろうか、とかスタンダードに即していないんじゃないだろうかといった思いがあったのだ。 サンプルのコードでチェック 確かに幾つかの基的なルールはあるだろう。特に最近ではDRY(Don't repeat yourself)のルールが用いられることが多くなっている。そんな時に人に見せる前にちょっと自分のコードをチェックしたいと思ったならば使ってみたいのがReekだ。 ReekはRubyのコードを解析して問題がないか確認してくれるソフトウェアだ。コードを解析しているだけなので、問題がないからといってバグがないという訳ではないので注意して欲しい。とは言えチェックすることでよりエレガントなコードに近づくのは間違いないだろう。 公開前にチ

    コードに自信がある人もない人もまずはチェック·Reek MOONGIFT