タグ

Rubyに関するtsuwatchのブックマーク (137)

  • Rubyにコントリビュートした

    生まれて初めてRuby書いた。ChangeLogに僕の名前が載った。うれしい。 Bug #10706: Segmentation fault when change visibility of refined new method - ruby-trunk - Ruby Issue Tracking System Bug #10707: Segmentation fault when get refined new method in BasicObject - ruby-trunk - Ruby Issue Tracking System Comparing 759a31b…3f8ceab · ruby/ruby ruby-trunk-changes r49173 - r49185 - PB memo 経緯 Refinement周りでSEGVして落ちる現象を見つけた。 お正月で下調べした

  • An implementation of Streem in Ruby

    Ruby による Streem の実現 2014-12-19 (鈴) 1. はじめに 2. Streem クラスと Iter クラス 3. Seq クラスと seq 関数 4. 定数 STD_IN, STD_OUT, TO_ARRAY 5. zip 関数と cat 関数 6. おわりに streem.rb: Ruby による Streem の実現 streem.rb.zip: 上記の zip ファイル (1456 バイト) 1. はじめに Ruby の原作者 Yukihiro "Matz" Matsumoto 氏が設計しているストリーム・ベースのコンカレント・スクリプティング言語 Streem [githum.com] は Ruby に似た構文を備えており,LINQ to Objects に似たパイプライン的な動作を基としている。 設計者の意図はおそらくパイプラインの各構成要素を独立した

  • 「Rubyのここがイケてない」を論破したい - Qiita

    職場のPythonistaとプログラミングについての話をすると、ことごとくRubyディスの流れに持ってかれてしまいます。 Railsは流行ってるけど Rubyはそうじゃないよね 絶滅しそうなプログラミング言語にRubyが選ばれたのは 順当 GithubRailsで作られているというのは 都市伝説 (大規模開発に向いてるとは思えない) Rubyのrequireは 仕様不備 なぜそんなに嫌うのですか? TMTOWTDIは悪 TMTOWTDIとは"There's More Than One Way To Do It."の頭文字で、「やり方はひとつじゃない」という意味の、Perlのモットーです。 Rubyでは、その思想を受け継いでるためなのかわかりませんが、組み込みクラスの多くのメソッドに別名が定義されています。 例えば Enumerable#map,find,inject,select,inc

    「Rubyのここがイケてない」を論破したい - Qiita
  • 今更聞けないpryの使い方と便利プラグイン集 - Qiita

    Rubyのソースコードを読むとき、grepやctagsだけで読んでるとどこにどういう値が入るのか頭で考える必要があり大変。 そういう時、実際に動かしながらpryを使って中身を確認すると、どういう動きをしているのか楽に把握できる。 普通のエディタを使ってRubyを書いている人にとって、IDE的な機能を提供してくれるのがpryといえる。 稿では、この記事を書く前の私のように、この次の「最低限の使い方」くらいしかpryを使いこなせていない人向けに、便利な機能をひと通り説明する。 最低限の使い方 まだpryを使ったことがない人はこれだけ知ってれば十分な気がする。 binding.pryで任意の場所からREPLを立ち上げる ソースの任意の箇所にbinding.pryを書いてRubyのプログラムを走らせると、実行中にその行でストップしてpryのREPLが立ち上がり、その環境での変数がどうなっているか

    今更聞けないpryの使い方と便利プラグイン集 - Qiita
  • Ruby 用自作 GUI ツールキットに Box2D を組み込んだらブロック崩しゲームが簡単に作れた話 - Qiita

    この記事は Ruby Advent Calendar 2014 の 23日目の記事です。 今日は、2、3年程前からコツコツと作っている Ruby 用の GUI ツールキットの紹介をしたいと思います。 はじめに 趣味の時間を使って GUI ツールキットをイチから作るとなるとなかなかの地道な開発となります。それが最近やっと多少使い物になるところまでやってきたので少しずつ公開してみたりしています。 ただ、ドキュメントの整備などが全くないのでライブラリとしてバーン!と公開することは出来ず、ニコニコ動画でチラ見せ程度に地味ーーにただただコーディングするだけの動画をアップしたりしています。再生数などほとんど増えませんが、公開出来るレベルに来た事自体がただ嬉しかったりします。 RubyGUI ツールキットのデモ動画集 で、最近公開したRuby でブロック崩しゲームを書いてみたという動画に「解説が入

    Ruby 用自作 GUI ツールキットに Box2D を組み込んだらブロック崩しゲームが簡単に作れた話 - Qiita
    tsuwatch
    tsuwatch 2014/12/23
    実装興味ある
  • Unicornの2倍のパフォーマンスを実現したRackサーバ「Rhebok」をリリースしました - blog.nomadscafe.jp

    “Hello World”なベンチマークでUnicornに比べ2倍高速に動作するRackサーバをリリースしました。 rubygems: http://rubygems.org/gems/rhebok github: https://github.com/kazeburo/rhebok PerlのGazelleをベースに作っています。Rackアプリケーションの運用経験がほぼないので、機能不足があると思います。issue等で教えて頂ければ幸いです。 なぜ高速に動作するアプリケーションサーバが必要なのか Unicornは高速に動作します。多くのアプリケーションにとっては十分でしょう。それでもRhebokでさらに上のパフォーマンスを出そうとしたのは、技術的なチャレンジの他に以下のようなアプリケーションで高速なアプリケーションサーバが必要とされると考えているからです。 ソーシャルゲーム、広告サーバ、

  • Ruby de Streem

    のっぴきならない事情で暫くここを離れてたけど 戻ってきたらMatzが新言語を作ってた 僕がいないうちにRubyは捨てられてしまったの? 僕が暫く目を離しているうちに世の中もMatzも変わってしまって もうだれもRubyを愛さなくなってしまったの? matz/streem Streem - stream based concurrent scripting language Streem is a concurrent scripting language based on a programming model similar to shell, with influences from Ruby, Erlang and other functional programming languages. In Streem, a simple cat program looks like th

  • Ruby の Object Data Dumper - 俺たちのブログ

    プリントデバッグが大好きだ!!!何はなくともとりあえず標準出力に吐いてデバグ!!!!!!!!!っていうようなことはみなさんにおかれましても少なからずあるのではないでしょうか。 プリントデバッグを行う場合、単純に変数に何が入っているかというよりも、オブジェクトの状態とかを見たいことが多いかと思う。 そういうときのためのライブラリとして、Ruby だと、p, pp は組み込み、ap はもう定番化しててみんな使ってると思う。 で、ddp ってのもある。http://hisaichi5518.hatenablog.jp/entry/2014/11/05/154949 適当なクラスをでっち上げてそれぞれにわせてみる こんなクラスがあったとする。 インスタンスを作って、インスタンス自体、インスタンス変数、インスタンスメソッドをそれぞれのライブラリにわせてみて、どんな感じに表示されるか見てみませう。

    Ruby の Object Data Dumper - 俺たちのブログ
  • YAMLでゲーム内データを定義する - いつクリはてブロ

    この記事はDXRuby Advent Calendar 2014 13日目の記事です。 昨日はfourxzさんの『DXRuby、IntelliJで入力補完の巻』でした。 DXRuby Advent Calendar 2014 - Adventar DXRuby、IntelliJで入力補完の巻 - fourxzの日記 私は大体コードを書くときは自動補完の無いエディタで手書き&リファレンスからコピペマンなので、自動補完でガンガン省力化、時間短縮を図っていきたいところ。 こういうのは典型的な「いつかやろう」系の作業なので、この記事をきっかけにいろいろやってみようと思います。(フラグ) 前回の補足とか 前回の記事の内容に関して、テストを書くなら正直ジャンプ云々よりもポーカーの役判定の方がよほど例として適切でした。 詳しくは11日目のうのはなさんの記事『DXRubyでポーカーを作った』をご覧ください

    YAMLでゲーム内データを定義する - いつクリはてブロ
    tsuwatch
    tsuwatch 2014/12/14
    いろいろな自動化に便利そう
  • 恋するプログラム ~Rubyでつくる人工無脳

    書籍紹介と販売について 書籍内容の紹介および販売についてはこちらをご覧下さい:book.mynavi.jp/ec/products/detail/id=33771 書配布ファイルについて 書配布ファイルには、Ruby(ActiveScriptRuby体や茶筌、サンプルプログラム、マニュアル類が収録されています。 その内容について説明します。 ZIP圧縮ファイル(約43MB):KOISURU_PROGRAM.zip ※なお、発刊当時(2005年)書籍付属CD-ROMをそのままアーカイブ化しての配布です。現在での動作について は保証できません。

  • Writing Fast Ruby

    Originally presented at Baruco 2014. Updated for RubyConf Portugal 2014. Video here: https://www.youtube.com/watch?v=fGFM_UrSp70.

    Writing Fast Ruby
  • Ruby でラインメモリプロファイラ - Qiita

    プロファイラ好きなモニタの前の皆さんこんにちは。@sonots です。この記事では、Ruby コードのどの行がどのぐらいメモリを消費しているか調べる方法を紹介します。 オブジェクトの数を数える Ruby には ObjectSpace というオブジェクトの情報を集めたり操作したりする module があります。 このモジュールの each_object メソッドを使用すると、RubyVM 上の全てのオブジェクトを取り出すことができます。 このメソッドを使って、以下のようなコードを書くと、実行した地点で、RubyVM 中にどのクラスのオブジェクトが何個存在しているのかカウントできたりするわけです。興味深いですね! ObjectSpace.each_object.inject(Hash.new 0) {|h,o| h[o.class]+=1; h } #=> {Class=>241, Strin

    Ruby でラインメモリプロファイラ - Qiita
    tsuwatch
    tsuwatch 2014/12/08
    便利さ〜〜
  • [公開版]社内バッチ処理ガイドライン - Qiita

    このガイドラインについて こちらのガイドラインは社内のバッチ処理スクリプト開発にあたっての、安定運用等に関わるガイドラインを公開用に書きなおしたものになります。 バッチサーバ規則 基礎項目 以下の要項を満たすことを確認する その他の用途で動作しているサーバ上での動作は行っていないこと 運用期間中に想定しうるデータ量にてOOMキラーに殺されないこと 想定の時間で終了すること データの読み込みは極力Read Replicaを見ていること データの書き込みによる番サーバへの影響が見積もれていること 冪等性が担保されており、何度実行しても処理上の不具合は発生しないこと 多重実行時に不整合が発生しないこと エラー時の社内への通知が用意されていること エラー時の通知には再処理のための手順が揃っていること、もしくはそのドキュメントの場所が示されていること 個人ユーザー下にログや成果物を絶対に書き込んで

    [公開版]社内バッチ処理ガイドライン - Qiita
  • Rubyの凄く面白い特徴をRailsのコードを例に解説 - Qiita

    これはドリコムAdventCalendarの6日目です。 5日目の記事は、ドリコムの開発を支えるGitリポジトリ@gussanです。 7日目は、般若心経F*ck、コピペで徳を高める話@おーはらさんです。 自己紹介 ドリコムでアプリケーションエンジニアとしてネイティブゲームの開発を行ったりマネージメントをしたりしています。 その他の事はこちら参照: https://gist.github.com/Shinya131/5d9e604d963177ee2cdc はじめに この記事は、プログラミング言語Rubyが持つ凄く面白い特徴を、 Ruby on Rails の一部であるActiveSupport core extensionsのソースコードを題材に解説する物です。 題材に使うActiveSupportは、version 4.1です。 対象とする読者 この記事は、以下のような読者に役立つ内容を

    Rubyの凄く面白い特徴をRailsのコードを例に解説 - Qiita
  • Rubyに型を付けるHaskellというgemを作ったヨ!

    2020/12/27追記 https://www.ruby-lang.org/ja/news/2020/12/25/ruby-3-0-0-released/ => Ruby3.0.0にRBSとTypeProfと用いた静的解析に対するソリューションが提供されました。 今後はこちらのエコシステムをガンガン盛り上げていきましょう💪 あいさつ P.S. 12/11 HaskellからRubypeにgemを変更しました こんにちは. 寒さが一段と厳しくなってきた事もありまして心を温めるGemを作りました. Rubyの振る舞いを汚染する事無く型保証の恩恵をゆるふわ受けられるgemです (型をつけるとか型保証という言葉をこの文脈ではメソッドの引数返り値のクラスを実行時にチェックするという意味で使っている.) 得体の知れないGemで抵抗感があるかもしれませんが、コード自体は50行以下の薄いGemなので気

    Rubyに型を付けるHaskellというgemを作ったヨ!
  • Rubyからscalaに変えるべき15の理由

    はじめよう TypeScript - 入門から実践まで - 素の JavaScript とはさようなら!Jun-ichi Sakamoto

    Rubyからscalaに変えるべき15の理由
    tsuwatch
    tsuwatch 2014/12/02
    うっ
  • RubyGCをどけんかせんといかん - authorNari

    rubykaigi2008マイリスト mylist/7223285

    RubyGCをどけんかせんといかん - authorNari
  • アプリサーバー対決 パート1:主なRubyアプリケーションサーバーの機能比較 - Engine Yard Blog

    記事は英語版ブログで公開された記事の翻訳版です。 2013年7月に、米国テキサス州オースティンで開催されたLonestar Ruby Conferenceで、Rubyによるアプリケーションサーバーについてお話させていただきました。その中でいくつかのRubyアプリケーションサーバーのパフォーマンスや、さまざまな状況における挙動の違いを比較しました。この記事では、講演準備として行ったリサーチの中で分かったことをかいつまんでご紹介します。 実際のカンファレンスの録画をご覧になりたい方は、Confreaksで公開されていますのでそちらをご参照ください。テストに使用した簡単な自作アプリケーションはGitHubに、講演スライドはSlideshareにそれぞれ公開しています。 このリサーチは、Passenger 4のパフォーマンス評価以外すべて2013年7月に行ったものなので、情報が多少古くなっている

    アプリサーバー対決 パート1:主なRubyアプリケーションサーバーの機能比較 - Engine Yard Blog
  • Learn Ruby on Rails as You Modify a Craigslist Clone

    What to expect in this guide People start learning Rails for all sorts of reasons. Whether you have been programming for years and want to give web development in Ruby a try, or you are a complete coding newbie wanting to see if programming is for you, Rails is a great tool to learn. Most of the resources in this guide assume no programming knowledge — more advanced readers may choose to skim the

    Learn Ruby on Rails as You Modify a Craigslist Clone
  • Exception Handling: Designing Robust Software in Ruby

    In this workshop we will cover the methodologies and three basic levels of testing, then we will deep dive into how to use PHPUnit to achieve developer testing. The tests may not be the prettiest, most robust, or efficient, but you should leave the course with the ability and confidence to write tests for your code. Topics include: xUnit framework basics and workflows, test classification, asserts

    Exception Handling: Designing Robust Software in Ruby