タグ

関連タグで絞り込む (194)

タグの絞り込みを解除

rubyに関するhkjのブックマーク (300)

  • 第19章 スレッド

    rubyスレッド スレッドは「みんな一斉に動く」というのが建前だが、実際には少しの時間ず つ順番に動いているわけだ。厳密に言えばマルチCPUのマシンでそれなりに工 夫すれば同時に二つ動いたりもできるが、それでもCPUの数以上のスレッドが あればやはり順番に動かなければならない。 つまりスレッドを作り出すためにはどこかで誰かがスレッドを切り替えてやら ないといけないわけだが、その手法には大きく分けて二種類ある。 カーネルレベルスレッドと ユーザレベルスレッドだ。これはどちらも読んで字の如く、ス レッドというものをカーネルで作るかユーザレベルで作るかという違いである。 カーネルレベルならマルチCPUを生かして複数のスレッドを同時に動かしたり もできる。 ではrubyのスレッドはどうなのかと言えば、これはユーザレベルスレッドで ある。 そして(それゆえ)同時に動けるスレッドは厳密にただ一つと制限

    hkj
    hkj 2011/04/16
  • Ruby 簡易チュートリアル

    スクリプト(プログラムファイル)がある場合はこのようにします。 $ ruby hello.rb Hello, world! $ 会話形式で進める場合はこのようにします。 $ irb irb(main):001:0> puts "Hello, world!" Hello, world! => nil irb(main):002:0> exit $ Rubyはコンパイルをしません。常にインタープリタとして動作します。 "Hello, world!"と表示するプログラムはこうなります。 puts "Hello, world!" Rubyは完全なオブジェクト指向言語ですが、C++Javaのように "main()" を定義する必要は ありません。起動するとmainとして作られるスレッドの中で文が 評価されます。通常1行1文として評価されるので、Javaのように行末に セミコロンを入れる必要はありま

    hkj
    hkj 2011/04/16
  • 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
  • text.ssig33.com - RSpec の書き方について

    RSpec の書き方について 要約:RSpec は単なるテストを英語っぽく書けるツールではなく開発の全プロセスを加速するツールであるのでプロジェクト初期から有効に利用する必要がある。 4/1 ですが気にせず真面目な話を書きます。 RSpec は多分 Ruby 界隈で一番使われているテストフレームワークの一つだと思います。であるので使い方の解説や概念の解説多いですが、個人的にはそれらの解説は的を外したものが多いと考えています。 RSpec の真髄を会得するには、 RSpec の spec をどのように書くかということを考えてゆく必要があると思います。 まず RSpec の特徴的な点とはなんでしょうか。 RSpec でテストは以下のように書かれます。 describe "肛門" do context "排便する時" do it "高速に排便されると肛門がすりきれる" do 肛門がすりきれるとい

  • gem ソムリエになる方法 - @kyanny's blog

    http://d.hatena.ne.jp/tokuhirom/20080520/1211292598の Ruby 版があるといいなと思ったので、自分で書いてみます。「もっといいやり方があるよ」という方からのフィードバックをお待ちしています。 ruby-toolbox.com をみる 僕の知る限り、 rubygems には search.cpan.org のような配布されているパッケージを Web 上で閲覧できるインターフェースがありません。 CPAN Ratings や CPAN Testers に相当するサイトもありません。 rubygems.org 上でパッケージを閲覧・検索できるとコメントをいただきました。また、 CPAN モジュールに比較してパッケージの名前を自由につける気風があるようなので (例: Web::Scraper vs scrAPI, Nokogiri, earthq

    gem ソムリエになる方法 - @kyanny's blog
    hkj
    hkj 2011/03/31
  • Ruby による Web/データベース・プログラミング

    kkaneko.com 2024 著作権. 不許複製 プライバシーポリシー

    hkj
    hkj 2011/03/05
  • 要チェックのRails関連情報源はここ!

    Ruby on Rails英語なら情報が豊富にあります。ただ、そもそもどこを見ていいのか分からないという方も多いのではないでしょうか。ここでは重要な情報源となり得るサイトを紹介します(この記事はRailsDevCon2010で西村が行った発表をベースにしています)。 家サイトは“ガイド”が要チェック まず当然、Ruby on Railsの公式サイトがあります。ここはRuby処理系や関連ライブラリのダウンロードページへのリンクやドキュメント、入門解説、ブログを始め、スクリーンキャストなどがあります。新バージョンのリリースやセキュリティ情報などは、やはり家ブログが第一の情報源です。 この後にも優良なスクリーンキャストサイトを紹介しますが、ここを起点にするのも良いでしょう。「15分でブログを作る」という、Rails一躍有名にしたプレゼンテーション動画も見られます。最初にDHH(Rails

    要チェックのRails関連情報源はここ!
  • ウノウラボ by Zynga Japan: サーバ情報を収集する Ruby スクリプトを書くには

    こんにちは。kyagi です。今回はサーバ情報を収集する Ruby スクリプトを書く方法をお知らせいたします。具体的には Facter モジュール(※1)の紹介と使い方になります。 Ruby にはサーバのホスト名、IP アドレス、OS、ハードウェアなど様々な情報を収集するために Facter というモジュールが提供されています。RPM では「facter」というパッケージ名で提供されています。ターミナルから実施できるインターフェイスとして同名の「facter」というコマンド(※2) が用意されており、以下のように実施するだけでそのサーバの色々な情報を一度に取得することができます。 $ facter (... snip ...) architecture => x86_64 domain => local.hoge.bar.net (... snip ...) ipaddress_eth0

  • Ruby の end 等を自動的に補完する Vim プラグインを導入した - LazyLoadLife

    ※ 追記したので最後まで読んでね。 「Ruby の end を自動的に入力する Vim スクリプト改め autoend.vim - ursmの日記」に従い、Ruby の end を自動補完する plugin を導入した。 コードを見て分かるとおり、VimRuby 拡張を使って書いてあるために、vim-ruby パッケージが必要。私の環境は Ubuntu なのだが、vim-ruby パッケージはダミーパッケージのようで、インストールしようとすると、vim-nox, vim-gtk, vim-gnome のどれかを入れろと言われた。Vim 自体をインストールするときに vim-full パッケージが見つからないなーと思っていたが、vim-full は生まれ変わって、環境別にこの3つのどれかを入れろってことらしい。VPS なので vim-nox 一択。 変更は特にない。 ふんげー便利! i

    Ruby の end 等を自動的に補完する Vim プラグインを導入した - LazyLoadLife
    hkj
    hkj 2011/01/30
  • 禅の公案(Koan)がプログラミング学習でプチブーム:Rails Hub情報局:エンジニアライフ

    ロンドンのRailsエンジニア、井上真さんに連載していただいている「Railsで目指せ、情熱エンジニア」の第3回、「DojoとKataでRubyを学ぼう」を公開しました。 海外Rubyistの間では、Dojo(道場)や、Kata(空手のカタ)という言葉を使って、ある種ストイックに、そして方法論を持ってプログラミングスキル向上に取り組もうというのが、ちょっと流行っています。詳しくは記事をご覧いただきたいのですが、記事内で紹介しているDojo、Kataのほかにも、Koan(禅の公案)のような学習コンテンツが、1つのスタイルとして、ちょっとした広がりをみせているようです。公案というのは禅問答ですね。nilとは何か? 何もないことだ。何もないのにオブジェクトとはこれいかに……? Rubyistなら、ご存知の方も多いかもしれませんが、「Learn Ruby with Edgecase Ruby K

    禅の公案(Koan)がプログラミング学習でプチブーム:Rails Hub情報局:エンジニアライフ
    hkj
    hkj 2011/01/24
  • blog.katsuma.tv

    (2011/1/23 23:00追記) macrubycはLLVMから入れなくてもmacrubyをインストールするだけで一緒にインストールされます。下記内容は誤りを含んでいますのでご注意ください。ご指摘いただいたwatson1978さん、ありがとうございました。 最近Macアプリケーションが気になっていて、Cocoa周りの話を調べています。その一環でRubyMacアプリを作る方法についての話です。 MacRuby Mac上でRubyでアプリケーションを作る場合、最初からインストールされてあるRubyCocoaと、最近盛り上がっているMacRubyの2通りの手段があります。 どちらもCocoaを含むいろんなフレームワークをRubyから直接叩けるのですが、RubyCocoaはプロキシオブジェクトを介してCocoaフレームワークを叩くのに対して、MacRubyはプロキシを必要とせずに直接Obj

  • Rubyのエンコード指定マジックコメントを##で挿入できるようにした - babie, you're my home

    Vim エディターのスクリプトの作成: 第 2 回 ユーザー定義関数 を読みながら見よう見まねで書いてみた。 ujihisa さんのコメントを受けてちょっと修正。 ~/.vim/ftplugin/ruby.vim function! MagicComment() return "# -*- coding: utf-8 -*-\<CR>" endfunction inoreabbrev <buffer> ## <C-R>=MagicComment()<CR> 挿入モードで ## を入力すると展開される。escのとこはspaceやcrでもいいみたい。 utf-8 のところを Vim の変数に置き換えればきっと汎用性があるんだろうけど知らん。 あと、新規 *.rb ファイルを開いた時に自動展開されると便利なのじゃろうがわからんちん。とか書いていたら、kumonopanyaさんがやり方を教えてくれ

    Rubyのエンコード指定マジックコメントを##で挿入できるようにした - babie, you're my home
    hkj
    hkj 2011/01/14
  • Localizing irb messages - 世界線航跡蔵

    Do you know rubyists in Japan use Irb in Japanese? % irb --help Usage: irb.rb [options] [programfile] [arguments] -f ~/.irbrc を読み込まない. -m bcモード(分数, 行列の計算ができる) -d $DEBUG をtrueにする(ruby -d と同じ) -r load-module ruby -r と同じ. Irb has had ability to localize the help message and some error messages, and has been shipped with Japanese localization by historical reason. Also I improved this localization mec

    Localizing irb messages - 世界線航跡蔵
    hkj
    hkj 2011/01/10
    irbのメッセージのローカライズについて
  • RubyでのMail送受信にGMAILを使う:お題目うぉっち

    2010年09月04日 RubyでのMail送受信にGMAILを使う Rubyでメールを送受信する処理をする必要があったので調べてみた。以前は Net::POP3にTMAILを組み合わせてゴニョゴニョやる感じだったけど、Rails3でも採用されている MAIL という gem を使うと非常にシンプルにメールを扱える。 デフォルトではローカルサーバー上の sendmail から送信するようになっているが、smtpサーバー経由でも送信可能。 汎用性を考えると GMAIL のサーバーを利用できると便利。RDOCと作者さんのBlogによると、下記のようにデフォルトを設定すればよいらしい。 require 'mail' Mail.defaults do delivery_method :smtp, { :address => "smtp.gmail.com", :port => 587, :doma

    hkj
    hkj 2011/01/01
  • rvm使用時irbで日本語使えないのを修正など - ほくの日記

    どうもreadlineが関連してるらしい。 $ rvm package install readline以上でreadlineのパッケージを入れてみました。そしてrvmでrubyをインストールしてコンパイルするときにそのディレクトリを教えてやりました。 $ rvm install ruby-1.9.2 -C --with-readline-dir=$rvm_path/usrhttp://rvm.beginrescueend.com/packages/readline/ 後でドキュメントみたら-Cっていらないっぽいですが、とりあえず今回はこうしたってことで $ irb Welcome to IRB. You are using ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.5.0]. Have fun ;) >> a

    rvm使用時irbで日本語使えないのを修正など - ほくの日記
    hkj
    hkj 2010/12/30
  • [rvm][ruby] ruby-1.8.7p330, ruby-1.9.2p136 リリース - HsbtDiary(2010-12-26)

    ■ [rvm][ruby] ruby-1.8.7p330, ruby-1.9.2p136 リリース クリスマスリリースで出てた。関係者の皆さんお疲れ様です! さっそく、rvmも対応したみたいなので rvm get head してからアップデート作業。 rvm install 1.9.2 rvm migrate 1.9.2-p0 1.9.2-p136 rvm use 1.9.2 rvm gemsets use 1.9.2-p0 rvm gemsets export この時点で 1.9.2p0 の gem の皆さんが default.gems というファイルでexport されるので、新しいシェルを立ち上げ直してから rvm gemsets import で再度インストールをし直して移行は完了。gemsets の移行でイマイチ良い方法が見つからなかったので上の方法でやったんだけど、だいぶ無駄が

    [rvm][ruby] ruby-1.8.7p330, ruby-1.9.2p136 リリース - HsbtDiary(2010-12-26)
    hkj
    hkj 2010/12/27
  • 地獄のRubyでOpenCV顔認識:Ruby Advent Calendar jp: 2010 - tmaeda 日記

    _ 地獄のRubyOpenCV顔認識:Ruby Advent Calendar jp: 2010 これは Ruby Advent Calendar jp: 2010 のエントリです。12/25分(今年のトリ)を担当します。 前日の担当は @ktou さんで 地獄のジェネレータでした。 えっ?もう12月26日だって?イタリアはまだ25日だけど。 さて、RubyからOpenCVを利用して顔画像認識をやってみます。 環境 Mac OSX 10.6.5 Xcode 3.2.4 一応、Xcodeの場所を正しく指定しておきます。 $sudo xcode-select -switch /Volumes/Macintosh\ HD/Xcode3.2.4 次にOpenCVのインストール。最新版はOpenCV2.2.0ですが、 2.2.0だとライブラリの構成などがだいぶ異なるようで、 ruby-opencv

  • 地獄のRuby札幌の「女に惚れさす逆引きレシピ集」

    これは Ruby逆引きレシピAdvent Calendar の参加エントリです。12月17日を担当します。前日の担当は @y_ogagaga さんで iCalendar形式のデータを読み書きしたいでした。 職場とか学校で、Rubyに詳しい頼りになる先輩がいるっていうのは、こんな感じなんじゃなかろーかと想像する。「こういうことしたいんですけど?」と聞いてみると「ああ、これでできるよ」と一瞬で返ってくるような。 レシピ先輩(仮称)はいろいろなライブラリを知ってる。だから第1章の1.1に書いてあるのはRubyのコードの書き方じゃあなくて、有無をいわさずrubygemsをインストールして使う、ということだ。レシピ先輩はIRCをばりばり使う。だから第6章 ネットワーク処理のはじめは、ウェブじゃなくってIRC BOTのつくりかただ。レシピ先輩はいろいろなコミュニティに参加している。だから最後の第24章

    地獄のRuby札幌の「女に惚れさす逆引きレシピ集」
  • Japanese Ruby books in 2010 - 思っているよりもずっとずっと人生は短い。

    Some people know the article "Coming From Ruby" by David Black, and some people may remember the photo of Japanese Ruby Books. http://www.infoq.com/articles/coming-from-ruby Yes, the all books on the photo are mine :) I brought them from Japan in RubyConf 2002. After 8 years, in 2010, there are tons of Ruby books published all over the world. Of course, so is in Japan. As Ruby book collector, I've

    Japanese Ruby books in 2010 - 思っているよりもずっとずっと人生は短い。
    hkj
    hkj 2010/12/21
  • mplexでソースコードレベルメタプログラミング - Blog by Sadayuki Furuhashi

    Webアプリケーションを作るとき、HTMLを生成するテンプレートエンジンをよく使いますが、これはパラメータに応じて様々なコードを生成する自動生成ツールであると言えます。 mplexは、プログラムを生成するためのテンプレートエンジンです。 実は MessagePack-RPC for C++ の実装に使っています。似たような関数をたくさんオーバーロードするために活用しています。(そろそろ可変長templateを使いたいですねぇ) 昔はeRubyを使っていたのですが、HTML用のテンプレートエンジンはソースコードがあまりに読みにくくなるので自作しました。 mplexを使うと、普通のプログラムの中にRubyのコードを埋め込むことができます: // クラスを4つ生成 %4.times do |i| class Test[%i%] { public: %if i % 2 == 0 int even;

    mplexでソースコードレベルメタプログラミング - Blog by Sadayuki Furuhashi