タグ

rubyに関するhaneimoのブックマーク (67)

  • DRuby - Home

    Overview Diamondback Ruby (DRuby) is an extension to Ruby that aims to bring the benefits of static typing to Ruby without compromising the expressiveness of the language. The main features of DRuby are: Type inference: DRuby uses inference to model most of Ruby’s idioms as precisely as possible without any need for programmer intervention. Type annotations: Methods may be given explicit type anno

    haneimo
    haneimo 2011/09/12
  • [CEDEC 2011]「Ruby」がやがてゲームエンジンに組み込まれるかもしれない。まつもとゆきひろ氏が語る,Rubyの過去と現在,そして未来

    [CEDEC 2011]「Ruby」がやがてゲームエンジンに組み込まれるかもしれない。まつもとゆきひろ氏が語る,Rubyの過去と現在,そして未来 ライター:米田 聡 ネットワーク応用通信研究所フェロー,まつもとゆきひろ氏。楽天株式会社楽天技術研究所フェロー,Rubyアソシエーション理事長,Heroku チーフアーキテクトも務める CEDEC 2011の最終日となる2011年9月8日,プログラミング言語「Ruby」の開発者として知られる,まつもとゆきひろ氏の講演が行われた。日を代表するソフトウェア技術者の一人といっていいほど高い知名度を誇る同氏だが,「Ruby=Webアプリの開発言語」というイメージが強く,ゲームの世界に深い関わりがあるようには思えないかもしれない。 だが,ソーシャルゲームなどのサーバーサイド言語として多くの採用実績があり,また,ゲームエンジンに組み込まれることの多い軽量言

    [CEDEC 2011]「Ruby」がやがてゲームエンジンに組み込まれるかもしれない。まつもとゆきひろ氏が語る,Rubyの過去と現在,そして未来
    haneimo
    haneimo 2011/09/10
  • mailread.rb - 書き捨て御免

    1.9ではなくなるらしい。 そんな使ってるわけでもないけど、ちっこいライブラリなのは知ってたので書き直してみた。 クラス名が変わっているので完全互換! とは謳えないが、中身は互換性があるはず。 どれくらいまで動くのかな。Ruby1.8.7系の新機能は使ってないからわりと動くと思うんだけど。 mailread.rb class MailRead def initialize(f) @header = {} @body = [] parse f end attr_reader :header attr_reader :body def [](field) @header[field.capitalize] end private FROM_LINE_RE = /^From / HEADER_PART_END_RE = /^$/ HEADER_BEGIN_RE = /^(\S+?):\s*(.*

    mailread.rb - 書き捨て御免
    haneimo
    haneimo 2011/09/09
  • DomainMarket.com, Claim Your Brand!

    #1 In Premium Domains 206,505 Of The World's Best .Com Domains Available For Immediate Purchase Safe & Secure Transactions 100% Satisfaction Guaranteed See our Testimonials

    DomainMarket.com, Claim Your Brand!
  • starruby.info

    starruby.info 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

    haneimo
    haneimo 2011/08/29
  • 「赤い影」鑑賞 - KingInK

    haneimo
    haneimo 2011/08/19
  • RubyKaigi2011でした - 旧札幌市西区

    ここで得たなにか文章を残すことはとても大事に思うんだけど、文章にするのがとっても大変です。 あと、これはわたしのブログなのでですます調とかぐちゃぐちゃだよ。 わたしと RubyKaigi (事実ベースのこと) RubyKaigi2008 (これ以前はRubyKaigiに関わりがなかった。Ruby札幌のひとたちからお話を聞いたくらい) RubyKaigi2008(つくば) に、上京して行きやすくなったので参加した。札幌でお世話になった方と再会できた。(谷口先生の結婚お祝い寄せ書きを書いた覚えがある) RubyKaigi2009 RubyKaigi2009(東京) の2ヶ月前くらいにしまださんから、gihyo.jp での当日レポート係を june29 と担当しないか、というお誘いが来た。 レポート班として RubyKaigi2009 の直前レポート、当日レポート3日間、開催後の運営委員長のかく

    RubyKaigi2011でした - 旧札幌市西区
    haneimo
    haneimo 2011/07/25
  • Ruby を利用した大規模ウェブサービスの開発・運用 - RubyKaigi 2011 発表資料 - クックパッド開発者ブログ

    技術部開発基盤グループの id:secondlife こと @hotchpotch こと舘野です。 先日の RubyKaigi 2011 で、「Ruby を利用した大規模ウェブサービスの開発・運用」という内容で発表させていただきました。 前半はクックパッドのサーバアーキテクチャ、各種サーバのアプリがどんな風に動いているのかの紹介を、後半では「開発」→「デプロイ」→「フィードバック」→「開発」…という、サービス開発で行われているサイクルを30人以上エンジニアが居るクックパッドでどう高速に回し続けているかのお話しです。 Ruby を利用した大規模ウェブサービスの開発・運用 [slideshare id=8630511&w=425&h=355&sc=no] View more presentations from hotchpotch 当日のRubyKaigi 2011 での発表の動画は、以下を

    Ruby を利用した大規模ウェブサービスの開発・運用 - RubyKaigi 2011 発表資料 - クックパッド開発者ブログ
    haneimo
    haneimo 2011/07/19
  • [NoSQL] Ohm (redis用のORM) の使い方 - ヽ( ・∀・)ノくまくまー - s21g

    redis とは Cで書かれた超高速なKVS オンメモリなので超高速 (約10万件操作/秒 @Xeon 2.5Ghz) 定期的に自動保存する永続化機能 (memcached に対する利点) 文字列以外にも集合型を扱える (TokyoCabinet に対する利点) 公式 http://code.google.com/p/redis/ ベンチ http://code.google.com/p/redis/wiki/Benchmarks インストール 1  % gem install ohm セットアップ 1  require 'ohm' 2  Ohm.connect(:port=>6379) モデル 1  class Video < Ohm::Model 2  attribute :url 3  attribute :created_at 4  set :tags 5 6  index :ur

  • メタプログラミングを1ミリも知らない俺がRubyの魔術に手を染めてみた - 反言子

    タイトルはただのミリしらリスペクトで深い意味はない。 何か新しいことを勉強するときに「○○を1ミリも知らない俺が〜てみた」と脳内でつぶやくとコンテンツ化される(仮説)。Tue Apr 12 04:24:00 via twicliぴをふし kiwofusi あ、 勉強会づくりに参考になる素敵資料を紹介します。椅子の並べ方や雰囲気の作り方。AsianPLoP2010で @JoshuaKerievsky が熱く語ってくれた「勉強会パタン言語」 http://bit.ly/ejek6iFri Apr 22 23:15:45 via TweetDeckKenji Hiranabe hiranabe 勉強会パタン言語 http://www.industriallogic.com/papers/khdraft.pdf わたしも勉強会づくりに参考資料紹介します。手前味噌ですが → リアルイベント開催のため

    haneimo
    haneimo 2011/04/23
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • B木の Copy-Modify 方式での実験的コード - Tociyuki::Diary

    id:naoya さんの Python 版B木に触発されて、Ruby 版の insert・delete だけを実装した B 木を書いてみました。 実装にあたり、標準的な教科書に良く掲載されている Overwrite 方式ではなく、現代的な Copy-Modify 方式、すなわち B 木の葉から根に向かって更新のおこなわれるノードを複製してから修正をおこなっていき、最後に根をすげ替える方式に挑戦してみました。こうすることにより、更新の途中でなんらかの例外が発生したとしても、直前の B 木を壊さずにすみ、安全にロール・バックすることができるようになります。また、更新の途中の元の B 木はいっさいがっさい元のままですから、根を変更バージョンごとに持つようにすれば、現代的なデータ・ベース・マネジメント・システムに採用されている Multi-Version Concurrency Control(M

    B木の Copy-Modify 方式での実験的コード - Tociyuki::Diary
    haneimo
    haneimo 2011/04/02
  • perftools.rb

    前回、ruby-profを使ってみたのですが、今回はperftools.rbというプロファイラを使ってみました。 もともと、google-perftoolsというプロファイリングツールがあり、それをRubyで使用できるようにしたのがperftools.rb。現在はCpuProfilerのみですが、TODOにはHeapProfilerと記述されています。 まずはインストール。 gem install -s http://gems.github.com tmm1-perftools.rb サンプルコードで試してみます。 1 2 3 4 5 require 'rubygems' require 'perftools' PerfTools::CpuProfiler.start("/tmp/add_numbers_profile") do 5_000_000.times{ 1+2+3+4+5 } e

    haneimo
    haneimo 2011/02/27
  • MVCとRailsの基本構成を学ぼう

    Web開発フレームワークとして人気の高いRuby on Railsの最新版、バージョン3を使ってWebアプリ開発の基を学びます。 人気のフレームワークでWeb開発を学ぶ Ruby on Railsは、いまやWebアプリケーションの開発フレームワークの有力な選択肢の1つとなっています。Ruby以外の言語のWebアプリケーションフレームワークも少なからずRailsの影響を受けているので、現在Rubyを使っていないエンジニアにとっても、Railsを知ることは大いに参考になるはずです。もうすぐRails3認定試験が格的に開始されるということもあり、この連載では、試験範囲の流れに沿って、Railsの基礎についてご紹介していきます(ただし、必ずしも試験対策というわけではありません)。 今回、連載第1回として記事では、Railsを理解する上で基となる考え方であるMVCについて説明した後、Rail

    MVCとRailsの基本構成を学ぼう
    haneimo
    haneimo 2011/02/23
  • はじめての並行プログラミング(1) - I am Cruby!

    第53回 社内勉強会に使用したテキストファイル「はじめての並行プログラミング(1)」 今回話すことスレッド? 並行プログラミングの難しさ 複数の仕事を同時に『並行プログラミング』とあるプログラムで何かの処理を同時におこないたい 方法は大きく分けて二つプロセススレッド(軽量プロセス)※ スレッド in プロセス の関係。プロセスとスレッドの違い(簡単に言えば)プロセスは「資源を共有しない」。スレッドは「資源を共有する」。スレッドが共有するもの メモリアドレス空間、ファイルハンドルなどスレッドが共有しないもの プログラムカウンタ、スタック、ローカル変数スレッドを使うメリットよいとこ 一つのプロセス内で並行処理が可能 非同期な処理とか 起動も低コスト データの同期が低コスト グローバル変数で受け渡しなどわるいところ 共有データの扱いが難しい(超重要)スレッドの安全性(safety)スレッドセーフ

  • Ruby/クラス/無名クラスを作る - 俺の基地

    クラスを生成する 通常のクラスを作る構文は class Hoge def piyo p "piyopiyo" end end だ。 RubyのクラスはClassクラスのインスタンスなので↑はClassオブジェクトリテラルということになる。リテラル表記があるなら通常の表記もある Hoge = Class.new do def self.piyo p "piyopiyo" end end Hoge.piyo #=> piyopiyo このように働く。なんかJavascriptチックでいいね。もしかしたらこっちのほうがRubyの性質を的確に現している構文かもね。 まぁ使わないと思うけど Hoge = Class.new do |fuga| def fuga.piyo p "piyopiyo" end end という風に表記して生成された原始のselfをfugaという変数で受けることもできる。

    haneimo
    haneimo 2011/02/07
    奇麗さに鳥肌立った
  • 本を読む RubyにYada Yada Operatorを追加してみる

    Perl 5.12では、Yada Yada Operatorというのが追加されています。コード中で未実装の部分を「...」と書いておくと、文法エラーにはならないけど、実行時にそこを通るとエラー(例外)が発生するというもの。いわば「あとで書く」機能です。 sub foo { ... } 遊びで、Ruby 1.9.1のソースをいじって同じようなことをしてみました。 ふつうのRubyで実行すると ためしに、ふつうのRubyで実行してみます。 $ ruby -e 'if true; ...; end' -e:1: syntax error, unexpected tDOT3 if true; ...; end ^ 「...」は範囲演算子なので、1つのトークンとして認識されるんですね。トークンとしてはtDOT3というもののようです。 方法1:メソッドとして定義 パーサーをいじってみます。文として認識

    haneimo
    haneimo 2011/01/27
  • Rubyで末尾再帰最適化をする。 - Homoiconic Days

    元ネタはPythonで末尾再帰最適化をする。 - wasabizの日記。Pythonのデコレータを使って、末尾再帰で書かれた関数に対して末尾呼び出し最適化(TCO)を行う、というものです(どうやってTCOを実現しているかの詳細についての説明はここでは割愛します)。 さて、元エントリでは「Pythonがすごいからこんなことができるんだ」という感じで書かれていますが、タネさえ分かればいろんな言語でできそうだということが分かったので、他の言語でも試してみることにしました。 まずはじめに、試しにScheme版を書いてみたものの、そもそもSchemeはTCOを勝手にやってくれるのであまり意味のない例になってしまいました。 その後、Scheme版をだいたいそのままRubyに書き直したのが以下のRuby版です。 class Module def tco(name) continue = [] first

    Rubyで末尾再帰最適化をする。 - Homoiconic Days
    haneimo
    haneimo 2011/01/19
  • JRuby最新版はRuby 1.9.2対応とC拡張導入、OLEにも対応 | エンタープライズ | マイコミジャーナル

    JRuby - Java powered Ruby implementation JRubyの最新版となるJRuby 1.6のリリースが迫ってきた。13日現在、JRuby 1.6 RC1が公開されており、ユーザからのフィードバックを得て最終的に仕上げてから正式リリースとなる見通し。JRuby 1.6はこれまでのJRubyリリースの中でもっとも大きなリリースになると説明されており、開発の進捗に自信が伺える。JRuby 1.6の主な特徴は次のとおり。 Ruby 1.9.2互換の実現。デフォルトは1.8.7のままになっている。コマンドラインから--1.9を指定することで1.9.2互換モードが利用できるようになる。Ruby 1.9.2互換モードではRuby 1.8互換では提供されていないUnicodeに関する機能が利用できるようになり、今回の目玉機能のひとつとなっている。 Windowsサポートの

    haneimo
    haneimo 2011/01/13
  • Exerb Project

    募集:ドキュメントを英訳してくれる人を募集中です。我こそはという方はyuyakato@gmail.comまでご連絡ください。 概要 Exerbは、オブジェクト指向言語Rubyのスクリプト/拡張ライブラリを 単一で動作可能なWindows実行形式ファイルに変換するソフトウェアです。 特徴 複数のファイル(スクリプト、拡張ライブラリ)を単一の実行形式ファイルに変換することができます。 生成された実行形式ファイルにはRuby体も含まれているため、Rubyがインストールされていない環境でも実行することができます。 実行形式ファイルを生成するのにコンパイラを必要としません。 ダウンロード 現在の最新バージョンは下記の通りです。 RAA(Ruby Application Archive)からもダウンロードできます。[RAA:Exerb]。 旧版はArchiveからダウンロードできます。 ドキュメント

    haneimo
    haneimo 2010/12/23