IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
2010/09/13 元JavaプログラマのPaolo Perrotta氏は、Rubyを使い始めた頃のことを振り返り、こう話す。 「私はJavaの世界からRubyに来た当初、とてもハッピーなプログラマでした。Rubyっていいね、かっこいいじゃん! と。ところが、最先端のイケてるライブラリの中を覗いてみたら、分からないところだらけだったんです……」。 RubyKaigi2010で「A Metaprogramming Spell Book」(あるメタプログラミング魔術の書)と題した講演を行ったイタリア人プログラマのPerrotta氏は、Ruby on Railsのソースコードを覗いてみたときの驚きをこう表現する。 「例えばalias_method_chainというメソッドは、一体どこにあるんだと探しました。どこにあるか分からないんです。こんなことJavaではあり得ません。結局、テキスト検索で発
写真1●楽天テクノロジーカンファレンスでソースコード公開を発表するROMAの開発者 西澤無我氏(左)と、Rubyの開発者で楽天技術研究所フェローのまつもとゆきひろ氏(右) 楽天は2009年10月24日、同社が独自開発した分散キー・バリュー型データストア「ROMA」をオープンソース・ソフトウエアとして公開した。ROMAはスケールアウトが容易で、耐障害性の高いデータストア。「楽天市場」と「楽天トラベル」で、ユーザーによる閲覧履歴の保存にROMAを使用している。同日に開催した「楽天テクノロジーカンファレンス」に合わせて、「github」でソースコードを公開した。 ROMAは、楽天技術研究所フェローのまつもとゆきひろ氏(プログラミング言語「Ruby」の開発者)と協力して、2007年から開発してきた分散キー・バリュー型データストアである(写真1)。Rubyを使った大規模システムを実現するための分散処
Flexが登場してから、Webの様相は大きく変わりました。本稿では、初めてFlexを触ってみる人や、軽量スクリプト言語の経験があるWeb系エンジニアにもわかりやすいように、Flexとサーバサイドの通信方法について説明したいと思います。 はじめに 必要なソフトウェアとファイル Flex Builder 3(Flex 3 SDK) 体験版 購入 サンプルコード Sample_code.zip(zip形式、26KB) この記事で使用する言語 Ruby 1.8.4以降 Python 2.3以降 PHP 5.2以降 事前知識 Flex又はFlashの基礎的な知識。上記の(サーバサイドの)言語の何れかの基礎的な知識。 サーバサイド? Flexが登場してから、Webの様相は大きく変わりました。FlexはFlashの表現力を持ちながら、データベースに代表されるサーバサイドのリソースとの融和性に優れ、まだ
Rails Dev DirectoryはRuby on Rails製のフリーウェア(ソースコードは公開されている)。開発者を探す際にどのような手段が考えられるだろう。知り合いを頼るのも手だし、求人するという手段もある。最近ではブログやTwitterを使って探すという方法も良く行われている。だがこれは相手がどこにいるか分からない場合の手法になる。 Rails開発者を探す 逆の視点で考えよう。対象になる開発者達を一つの場所に集めてしまうのだ。そうすれば探す手間がなくなる。Rails Dev Directoryはまさにそのためのソフトウェアで、Rails開発者を探すのにぴったりなプラットフォームになっている。基本的にビジネス向けで、仕事を依頼、受託するためのシステムになる。 登録するRails開発者は基本の単価であったり、住所や自分の情報を登録する。Rails開発は必須スキルで、さらにWebデザ
http://blog.labnotes.org/category/scrapi/ ruby でスクレイピングして web の情報を取得するのには、今まで正規表現か xpath でやってたので、わりと面倒でした。で、ふと scrAPI というスクレイピングツールキットを知ったのですが、これがかなり便利そう。 このツールキットを使うと、CSS3 なセレクタを記述することで、要素を取得することができます。たとえばとあるサイトのリンクを全部取得したければ、 require 'rubygems' require 'scrapi' require 'open-uri' require 'nkf' require 'pp' $KCODE = 'u' links = Scraper.define do process "a[href]", "urls[]"=>"@href" result :urls e
釣り師的なタイトルで申し訳ないです。 今仕事でリスト取得ツールを作っているのですが、 その応用としてニコニコを実験場としたサンプルを作ってみることにします。 スクレイピングというのはHTMLパースのことですね。 RubyのスクレイピングライブラリとしてはHpricotがあります。 Hpricotの名前の由来は不明ですが、エイチプリコットと呼んでいます。 このHpricotはCSS風の書き方で気軽にスクレイピングできるのでとても使いやすいです。 とりあえずいきなりコード。 ニコニコのデフォルトランキング、本日のマイリスト登録数ランキング100から 動画のタイトルをひっぱってくるサンプルです。 #! ruby -Ks require 'net/https' require 'kconv' require 'rubygems' require 'hpricot' sid = nil
スクレイピングのチュートリアルを書いてみた。 参考:http://nokogiri.rubyforge.org/nokogiri/Nokogiri.html まだまだたくさんのクラスやメソッドがあるが(読んでない)、HTMLのスクレイピングに限定すれば多分これくらいで十分。 2014-02-16追記 なんかたくさんブックマークされていることに気づいたので、サンプルコードのRuby1.9/2対応のアップデート。 Mechanize周りも修正。WWW::Mechanize → Mechanize 等 (0) 前提知識 Ruby、HTML、DOM、CSSセレクタまたはXPath (1) クラス構造の理解 Nokogiri::HTML::Document < Nokogiri::XML::Document < Nokogiri::XML::Node < Object Nokogiri::XML::
Hpricotは Ruby用の HTML パーサです。スキャン部分は C 言語で書かれていて高速に動作します。 HTMLの解析や書き換えに威力を発揮する便利なライブラリです。 rubygemsを使うのが簡単です。 # gem install hpricot すると以下のようにプラットフォームを聞いてきます。Unix系OSであれば 1 を、mswin32 であれば 2 を選びます。 Select which gem to install for your platform (i386-freebsd6) 1. hpricot 0.4 (ruby) 2. hpricot 0.4 (mswin32) 3. Cancel installation コンパイルが始まり、インストールが行われます。 Building native extensions. This could take a while.
Cloud CrowdはRuby製のオープンソース・ソフトウェア。大量のデータを処理しようと思った時にはMapReduceのような仕組みに注目が集まる。テキストのみならず、大量のOCR処理が必要になったり画像をサムネイル化したいといった時にはどのようなシステムを構築するのだが良いだろうか。 Rubyを使って分散処理 一時的に無数のシステムを立ち上げ平行で処理を走らせる時に注目したいのがAmazon EC2だ。以前、ニューヨークタイムズでは1,100万枚を越える画像をPDFに変換するという処理をAmazon EC2のインスタンスを100立ち上げて行ったという事例がある。どうようのシステムを構築するのがCloud Crowdだ。 Cloud Crowdも利用するのはAmazon EC2だ。アクションはRubyで定義するようになっており、テキスト処理のみならず画像変換などの柔軟なシステム処理が可
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く