タグ

rubyに関するyahihiのブックマーク (151)

  • Rubyのマジックコメントを自動で付加する - ひげろぐ

    VimRubyMine等のエディタやIDEで新しくファイルを作成した時にマジックコメントを付加することはできるが、既存のファイルに対して適用することができないので別途手段を講じる必要に強くかられた。 有り体に言うとRailsのジェネレータが作成したファイルに日語を含めたときにエラーになるという状況を繰り返すのにそろそろ飽きてきたという。 そこでまず自作しようとディレクトリを切ったところで、いやいや誰か作ってるのではないかと思い当たり、検索してみると案の定見つかった。 magic_commenter magic_encoding 両方ともコマンドラインツールとして使用する。コマンドを打つとそのディレクトリ以下のRubyファイルを検索してマジックコメントを付加してくれる。 まず最初にmagic_commenterを試してみたが、こちらはマルチバイト文字列が含まれているファイルにしかマジック

  • 素因数分解 - ツムジのひとりごと

    あるブログで「素因数分解の速度」を競っているような話題が出ていました。 二人が仲がよくてただじゃれあっているのか、真剣に競い合っているのかは、私の知るところではないのですが、「素因数分解の速度」については思うところがあるので、私も記事を書いてみようかな……。 もし、二人が「素数列をつくる速度」を競っていて、その延長線上で「因数分解の速度」の話になったのなら的外れになるかもしれませんが……。 「素因数分解」の速度を上げようと思ったら、素数を探して割っていくより、対象の数を 2 で割り続けて奇数にした後に、単純に小さい順に奇数で割っていくほうが速いと思います。 なにせ、素数を求めること自体にけっこう時間がかかるのですから。 (さらに、5 以上の素数 p は必ず p = 6 * n - 1 または p = 6 * n + 1 と表せる事を利用するとさらに割る数が少なくなります) と、いうことで奇

    素因数分解 - ツムジのひとりごと
    yahihi
    yahihi 2012/04/12
  • rubyでsortするときに注意すること - (゚∀゚)o彡 sasata299's blog

    2008年12月12日00:09 Ruby rubyでsortするときに注意すること 今日ちょっとはまったことのご紹介(*・ω・)ノ 複数の条件でsortしたいときってありますよね。例えばperlだとこんな感じです。 #!/usr/bin/perl use strict; use warnings; my @data = qw/hoge fuga foo hoge3 foo2/; my @sort = sort { length $a <=> length $b or $a cmp $b } @data; print "@sort\n"; 長さでsortして、同じ長さだったらascii順に並べる、みたいな。結果は foo foo2 fuga hoge hoge3 こういうことをrubyでやりたかったんです。まぁ、こういう感じで出来そうじゃないですか? #!/usr/bin/ruby dat

    yahihi
    yahihi 2012/04/12
  • rubyのirbが便利すぎる!! - (゚∀゚)o彡 sasata299's blog

    2008年12月13日11:32 Ruby rubyのirbが便利すぎる!! ruby には、irb という便利ツールがあります。ruby リファレンスマニュアルによると irb は interactive ruby の略です。 ruby の式を標準入力から簡単に入力/実行するためのツールです。 まぁ、この通りです。実際に使ってみればすぐにわかりますが、ruby のコマンドを手軽に実行して、結果を確認できるものなんです。最近はこれを使って ruby を勉強しています。デフォルトではこんな感じで動作します。 ただ、irb はこのまま使うとなると色々と不満が・・。 ・カーソルで左右に移動できない ・入力の履歴を参照することができない ・見づらい これは結構痛い。特に履歴が使えないとか致命的です。。 と思って調べてみると、.irbrc という設定ファイルがあって、色々と設定することが出来るようで

    yahihi
    yahihi 2012/04/11
  • irbとscript/consoleの超便利なTips - このブログは証明できない。

    これは便利だと思います。 no title Wirble: colors irbでシンタックスハイライト。 Wirbleをインストールします。 % sudo gem install wirble ~/.irbrcに下のコードを書きます。 require 'rubygems' require 'wirble' Wirble.init Wirble.colorize 出力がハイライトされます。ハッシュや配列は見やすいかも。 Wirble: history irbは、コマンドの履歴が残ります。[↑]や[↓]、[control] + [p]や[control] + [n]で履歴を見ることができます。しかし、いったんirbを終了すると、履歴がクリアされてしまいます。 Wirbleをインストールしておくと、履歴がクリアされません。再度irbを起動すると、前回の履歴を使うことができます。 Wirble:

    irbとscript/consoleの超便利なTips - このブログは証明できない。
    yahihi
    yahihi 2012/04/11
  • これからRubyを始める人たちへ

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

    yahihi
    yahihi 2012/04/11
  • OpenOffice.orgとRubyを使ってWordファイルをバッチ処理する - mikage014の日記

    RubyとCOM WordやExcel*1はCOM(Component Object Model)を通して外部から操作することができます。 ファイルを開く 文字列を置換する 印刷する 保存する 別名で保存する 形式を変更して保存する これらの操作を組み合わせてフォーマットの一括変換や定型文書の差し込み処理を行うことができます。 RubyにはWin32OLEライブラリが付属していてCOMオブジェクトを操作することができます。RubyからWord・Excelを操作する場合、通常はMicrosoft OfficeのCOMを呼び出すことになります。 つまりRubyでWord・Excelをバッチ処理したいマシンにはMicrosoft Officeがインストールされている必要があります。しかし、ここでMicrosoft Officeと互換性のあるOpenOffice.orgのCOMを使うことができます

    OpenOffice.orgとRubyを使ってWordファイルをバッチ処理する - mikage014の日記
    yahihi
    yahihi 2012/04/10
  • [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)
    yahihi
    yahihi 2012/04/08
  • 複数画像からScanSnap Organizer で検索可能PDFに変換可能なPDFを作成するRubyスクリプト - present

    ScanSnap を買って以降、書籍を読み終わると分解して PDF にしてきました ただ、PDF 形式で読み取る場合、途中で読み取りに失敗したら最初からやり直しなので、失敗しようものなら一気にやる気がなくなってしまいます。オライリーのなんて鬼門です。ページ数が多い上に紙が薄いので、何度失敗したことか。オライリーのPDF 版を購入しようかな。 失敗しても最初からやり直さなくて済む方法をいろいろ考えました そして思いついたのが、「全て JPEG で読み取ったあと JPEG から PDF を作成する」という方法。JPEG 形式なら1ページ1ファイルだし、ファイル名は読み取った時刻なので、失敗した部分だけをあとで読み取って、ファイル名を変更するだけで済みます。 問題は、作成した PDF を ScanSnap Organizer で検索可能 PDF に変換するとき 変換できるのは ScanS

    複数画像からScanSnap Organizer で検索可能PDFに変換可能なPDFを作成するRubyスクリプト - present
    yahihi
    yahihi 2012/03/27
  • Index of Files, Classes & Methods in Ruby 1.9.3 (Ruby 1.9.3)

    CARGF CArgumentError CArray CBasicObject CBignum CBinding CClass MComparable CComplex CContinuation CData CDir CENV CEOFError CEncoding CEncoding::CompatibilityError CEncoding::Converter CEncoding::ConverterNotFoundError CEncoding::InvalidByteSequenceError CEncoding::UndefinedConversionError CEncodingError MEnumerable CEnumerator CEnumerator::Generator CEnumerator::Yielder MErrno CException CFalse

    yahihi
    yahihi 2012/03/23
  • TEDの英語原稿を取得する - ギークを夢見るじょーぶん男子

    方針 http://www.ted.com/talks/subtitles/id/#{固有のID}/lang/en を叩くと、英語原稿のjsonが返ってくる。 TEDのビデオの固有のIDを取得して、API叩いて、jsonをparseして、出力すればいけそう。 jsonのパース gem install jsonrequire 'rubygems' require 'open-uri' require 'json' open("http://www.ted.com/talks/subtitles/id/1183/lang/en") do |f| json = JSON.parse(f.read) json['captions'].each do |j| puts j['content'] end end こんな感じで取得できそう。 固有IDを取得するために、nokogiriでHTMLをpars

    yahihi
    yahihi 2012/03/21
  • Rubyで理解するMapReduce - 働かないプログラマのメモ帳

    MapReduceの勉強と練習をかねてRubyでそれらしいことを書いてみます。 間違ったことをしてるかもしれないので、詳しい人がツッコミを入れてくれると嬉しいです。 ruby 1.8.7で動作を確認しています。 テーマ Apacheのログっぽいデータを分析して、それぞれのファイルへのアクセス数を算出します。 入力データはこんな感じ。 # Apacheのログっぽいデータの集合 input_data = [ '[04/01 00:00:00] "GET index.html HTTP/1.1" 200', '[04/01 00:00:00] "GET index.html HTTP/1.1" 200', '[04/01 00:00:00] "GET reduce.html HTTP/1.1" 200', '[04/01 00:00:00] "GET reduce.html HTTP/1.1"

    Rubyで理解するMapReduce - 働かないプログラマのメモ帳
  • RubyでN-gramを計算するメソッド - 働かないプログラマのメモ帳

    RubyでN-gramを計算するメソッドを作ったよーって言うメモです。 class String def ngram n characters = self.split(//u) return [self] if characters.size <= n return 0.upto(characters.size-n).collect do |i| characters[i, n].join end end end p "おぎやはぎですけど何か問題でも?".ngram(2) # => ["おぎ", "ぎや", "やは", "はぎ", "ぎで", "です", "すけ", "けど", "ど何", "何か", "か問", "問題", "題で", "でも", "も?"] ideoneで動かした結果 ※ 2012-02-11 12:14 追記 ちょっと改良しました - characters[i..(

    RubyでN-gramを計算するメソッド - 働かないプログラマのメモ帳
  • オープンソースのRubyのWebクローラー"Anemone"を使ってみる - プログラマでありたい

    Webサイトの調査をしようと思い、サイトクローラーが必要になりました。 各言語ごとに色々あるので何を使うか悩むところですが、Rubyでお手軽にということでAnemoneを採用しました。 ちなみに他の言語だと、下記のうちのどれかが良いのではないでしょうか? Java:Nutch、S2Robot Perl:Gungho 余談ですが日語で検索する場合、WEBクローラーで検索するかWEBスパイダーで検索するか悩みます。英語だとWeb SpiderかWeb Crawlerです。どちらかといえばWeb Spiderが一般的のようです。日だとWEBクローラーの方が目的のものに辿り着きやすいような気がします。うーん、悩ましい。 Anemoneのインストール手順 Anemoneは、nokogiriを使います。 nokogiriが入っていれば、すんなりインストールも出来ると思います。 ちなみにnokogi

    オープンソースのRubyのWebクローラー"Anemone"を使ってみる - プログラマでありたい
    yahihi
    yahihi 2012/03/14
  • rspec, factory_girl, spork, guardによる自動テスト環境の構築 - AnyType

    こちらの記事を参考に自分で自動テスト環境を構築した記録です。この記事はすごく参考になりました。感謝です。 Rails3+RSpec2+Spork+Guard(guard-rspec,guard-cucumber)で最速のBDD(振舞駆動開発)環境を作る - Curiocity Drives me 0.環境 # Gemfile source 'http://rubygems.org' gem 'rails' gem 'rake', '0.8.7' gem 'mysql2', '0.2.6' gem 'haml-rails' gem 'jquery-rails' $ bundle install --path vendor/bundle1.rpec-rails, factory_girl_railsのインストール # Gemfile source 'http://rubygems.org' g

    rspec, factory_girl, spork, guardによる自動テスト環境の構築 - AnyType
    yahihi
    yahihi 2012/03/13
  • 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 部「評価」 第

    yahihi
    yahihi 2012/03/09
  • SIOS "OSSよろず" ブログ出張所: 連載「libvirt を利用して日々の作業を効率化」第3回

    SIOS "OSSよろず"ブログ出張所はサイオスが新たにオープンしました「SIOS Tech.Lab」ブログに移設します。 新サイトのURLは下記となります。引き続きのご愛読をよろしくお願いします。 https://tech-lab.sios.jp/ こんにちは、OSSテクノロジーセンターの原です。 この連載も 3回目になりました。 連載「libvirt を利用して日々の作業を効率化」第1回 連載「libvirt を利用して日々の作業を効率化」第2回 前回は Web 上に list_domains と list_defined_domains で取得したゲストの一覧を表示するところまででした。 現在 webvirt ファルダ以下はこのような状態です。 # tree . |-- views | `-- index.erb `-- webvirt.rb 1 directory, 2 files

    SIOS "OSSよろず" ブログ出張所: 連載「libvirt を利用して日々の作業を効率化」第3回
    yahihi
    yahihi 2012/03/06
    sinatraで仮想マシンをブラウザ上で操作するUIをつくる
  • Ruby/Redisを使った高速、シンプルなレコメンドエンジン·Recommendify MOONGIFT

    RecommendifyはRuby/Redisによるリコメンデーションエンジンです。 RecommendifyはRubyとRedisを使ったレコメンドエンジンです。シンプルなメソッドで使うことができます。 インストールはRubygemsで簡単に。 まずRecommendifyのモデルを作成します。 例です。注文情報を設定します。 情報を確定します。 65番の商品を買おうとした時にポイントごとにお勧め情報をリストアップできます。 Recommendifyは何かのアクションに対してデータを紐づけて登録していきます。注文に対する商品、ユーザに対する選択した写真といった具合です。そしてそれらを点数付けして、その後同じ商品を選択した人に対して統計上、似たようなデータを点数とともに返してくれます。Redisなので高速にデータが取得できるのが魅力です。 RecommendifyはRuby製のオープンソー

    yahihi
    yahihi 2012/03/06
  • Vimでref.vimを使ってRubyのリファレンスをただちに検索する - アインシュタインの電話番号

    Vimで書いたコードを速攻実行できるquickrunプラグインがホッテントリで話題になってて、自分もこのプラグインを愛用させてもらってるんだけど、同じ作者さんのref.vimプラグインもコーディングするときにquickrunと同様に超絶便利なのでおすすめ。このプラグインは、Vim上からリファレンスやドキュメントをただちに検索できるプラグイン。調べたいクラス名やメソッド名にカーソルを当ててShift+Kを押すだけ。こちらもquickrunと同様に様々な言語やドキュメントをカバーしている。 今回はRubyリファレンスの導入手順 今回はRubyのリファレンス検索ツールrefe2をref.vimから使うためのrefe2導入手順。MacWindowsそれぞれの場合を書いてみた。どちらもRubyのバージョンは1.8.7。ちなみに自分の場合、Ruby以外にもPHPと英辞郎で英単語を検索できるalcでこ

    Vimでref.vimを使ってRubyのリファレンスをただちに検索する - アインシュタインの電話番号
  • 5 Minutes of Javascript

    Overcome complex cloud challenges and build cloud talent from within

    5 Minutes of Javascript