タグ

Rubyに関するgrayzoneのブックマーク (236)

  • sort_by{rand}はちゃんとshuffleできてるのか - hogelogの日記

    できてるのか。 irb(main):001:0> ([0]*7000).map{(0..6).to_a.sort_by{rand}[0]}.inject([0]*7){|t,i|t[i]+=1;t} => [947, 977, 979, 1022, 1021, 1047, 1007] 参考 ランダムソート(笑)とは - 西尾泰和のはてなダイアリー 配列のシャッフルの決まり文句は「sort_by{ rand }」だった - http://rubikitch.com/に移転しました さらに k.inaba 2009/05/29 09:34 これも http://chasen.org/~taku/blog/archives/2006/08/schwartzian_tra.html それっぽい言葉とそれっぽい結果だけで満足してはいけませんね。 普通のshuffleてどんなの。 rubyに組み込みの

    sort_by{rand}はちゃんとshuffleできてるのか - hogelogの日記
  • 知ってためそうRuby ダウンロードする

    1.ダウンロードについて 松江市では、Rubyでいろいろなソフトウェアが作れることを知っていただくために、ソフトウェアを実際にダウンロードして、使ってみていただくことができるよう、このダウンロードページを作成いたしました。 このページでは、Rubyで開発したソフトウェアについて、どなたでもご利用いただけるように無償で公開しています。 また、どなたでも自由にプログラムの改変やソフトウェアを再配布いただくことができるよう、プログラムの設計図であるソースコードを公開しています。 このページに掲載しておりますソフトウェアは、各ソフトウェアのライセンス条項に従ってご利用いただけます。 これらのソフトウェアを公開することで、さらにRubyが普及していくことを願います。 2.公開するソフトウェア 公開するソフトウェアは、次のソフトウェアです。 スケジュール管理アプリケーション「まつえRubyカレンダー(

  • いまどきの Ruby 書くときのテスト環境 - Stats of the Rivers

    romaji というライブラリを書いた。 - 寿司じゃないブログ という記事を書いたのだが、テスト環境について反応があったのでもうちょい詳しく書く。 RSpec テスティングツールのデファクトスタンダード。 http://rspec.info/ に行くか、The RSpec Book を読もう。 Guard ソースコードが編集されているかを監視して、変更があった場合に自動でテストを走らせてくれる。 guard/guard · GitHub guard と guard-rspec を gem install して、以下のようなファイルを Guardfile という名前でプロジェクトのルートディレクトリに置き、 guard コマンドを走らせると、watch で指定したファイルの変更の監視してくれる。 guard 'rspec', :version => 2, :all_after_pass =

  • これからRubyを始める人たちへ

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

  • 続 #fluentd の性能・リソースに関する最近のいくつかの傾向の話 - たごもりすメモ

    前回の話から、メモリについては西海岸方面の協力を得てあれこれ試していた。 #fluentd の性能・リソースに関する最近のいくつかの傾向の話 - tagomorisのメモ置き場 最終的には ruby 1.9.3-p125 + jemalloc + fluentd v0.10.16 でメモリ使用量が安定した。 jemallocについてはこのあたりを読むといいんじゃないでしょうか(自分で説明するのはめんどくさいw) jemallocとかLD_PRELOADについて調べてみた - As a Futurist... 結果、ピーク時間帯になっても used 6GB に行かないくらい。ワーイヤッタヨー。 ということでjemallocは社内用rpm*1を用意し fluentd 起動用のshファイル(supervisordからこれを指定して起動している)を以下のようにした。LD_PRELOADを加えただけ

    続 #fluentd の性能・リソースに関する最近のいくつかの傾向の話 - たごもりすメモ
  • 池澤あやかのプロフィール - Facebook開発者の為のサポートサイト | fb.developers'+

    スマートウォッチはさまざまなブランドから発売されており、とても注目を集めています。しかし、具体的にどのような機能があるのか分からない方もいるでしょう。また数多くの種類があり、どれを選ぶか迷う方も多いですよね。そこで今回は、スマートウォッチの基的な機能や、おすすめのブランド・商品についてご紹介します。 #健康管理 多くのスマートウォッチには、歩数を計測する機能があります。その機能を使用すれば歩数やカロリーなどが計算できて、健康管理に役立つでしょう。 #通知機能 メールやSNS(Faceboook、Twitter、Instagramなど)の通知を受け取ることができます。会議中や事中などでも気軽に確認できるでしょう。 #電子マネー決済 対応しているスマートウォッチであれば、さまざまな電子マネー決済が使用できます。財布を取り出さなくてもいいため非常に便利です。 #音楽再生 スマホをカバンやポケ

    池澤あやかのプロフィール - Facebook開発者の為のサポートサイト | fb.developers'+
  • プログラミングが嫌いな学生たちにRubyを教えたら嫌いじゃなくなった話

    next49 @next49 @yukihiro_matz 私は大学で助教をしているのですが、今年の卒論生は配属当初「プログラムが不得意で、嫌いです」と全員言っていました。ですが、RubyRailsを使ってWebアプリケーションを作るテーマで開発をさせたところ、意見が変わっていました。 2012-03-23 01:09:04 next49 @next49 @yukihiro_matz 全員が「結構、プログラミングって面白い」「Rubyならプログラム嫌じゃない」というようになったのです。そこで、彼らにどうしてプログラムが嫌いだったのか聞いたところ、入学当初にならったC言語が難しくて、それから嫌になったとのことでした。 2012-03-23 01:10:51

    プログラミングが嫌いな学生たちにRubyを教えたら嫌いじゃなくなった話
  • Rubyで動くKVS、ROMAを動かしてみよう

    ROMA(Rakuten On-Memory Architecture)は、楽天が開発したキー・バリュー型データストア(key-valueストア)です。2009年夏から、楽天が「楽天トラベル」の閲覧履歴機能「最近見た宿」を対象にROMAを導入しています。さらに2009年10月には、ROMAをオープンソースソフトとして公開しました(写真1)。 ROMAのノード間は“ピア・ツー・ピア型” でデータをやり取りすることで処理を効率化しています。アプリケーションは初期化時にkey-valueストアを構成するノードを複数指定します。指定するノードは特別なノードである必要はなく、key-valueストアに参加しているノードであればどれでも構いません。複数指定していれば、その中の1つは生きているだろうという判断です。 アプリケーションは指定されたノードに順番にアクセスし、最初に応答したノードに自分がこれか

    Rubyで動くKVS、ROMAを動かしてみよう
  • メタプログラミングRuby 読書会 一回目

    3月16日にメタプログラミングRuby 読書会に参加してきました! 復習を兼ねてエントリ書きます。 ruby初心者(というよりプログラミング初心者)なので、間違いは多いかもしれませんがご容赦を。 ツッコミ大歓迎です!! サンプルコードはgithubに上げてあります。 SpringMT / benkyoukai概要お題の通り、メタプログラミングRubyを読み上げながら勉強する会です。 メタプログラミングRuby読み上げていく中で、各自がツッコミを入れていく感じです。 この会に参加されていた方々は、rubyistだけではなかったので、 (かくいう私ももともとperlでした。) いろいろな言語の仕様とかも聞けてとても有意義でした。 復習全て理解できていた訳ではないのですが、会の中で出てきた項目でこれは復習したほうがいいかなと思った項目は下記の通りです。 (順序はばらばらです>_ 非破壊的、破壊的

    メタプログラミングRuby 読書会 一回目
  • Rubyist が今すぐ Elixir を使ってみるべき理由 - m.igrs.jp

    Elixir の読み方は多分「エリクサー」。RPGゲームのアイテムにありそうな名前だ。 個人的には「エリクシール」と読みたいところだが多分「エリクサー」で良いだろう。 Elixir は最近になって開発が活発化しており、公式サイトも最近立ち上げられたようだ。 http://elixir-lang.org/ つい先週のことだが Github でも公式にサポートされている。 Elixir is officially supported on Github! Including file identification and syntax highlight: github.com/languages/Elix… — Elixir Lang (@elixirlang) March 5, 2012 ここにきて盛り上がってきた感があるので、作者である José Valim が約1年前に書いた Why

  • クリアなコードの作り方: 縦長・横長なメソッドを短くする - 2012-02-07 - ククログ

    最近読んだRubyのコードではYARDのコードがキレイでした。 さて、長いメソッドは不吉なにおいがするからメソッドを分割するなどして短くしましょうとはよく言われることですが、ここでいう「長い」とは「縦に長い」ことを指していることがほとんどです。長いのが問題なのは縦に長いときだけではなく横に長いときもです。 縦に長いメソッド まず、どうして縦に長いメソッドが問題かについてです。縦に長いメソッドには「処理を把握しづらい」という問題がある可能性が高いです。 どうして処理を把握しづらいか 処理を把握しづらい原因はいくつかあります。例えば、抽象度が低いのが原因です。 メソッドが縦に長くなっているときは、多くの処理が行われていることがほとんどです。これらの処理はメソッドになっていないため名前がついていません。処理に名前がついていない場合は実装を読まないとなにをしているかがわかりません。 せっかくなので

    クリアなコードの作り方: 縦長・横長なメソッドを短くする - 2012-02-07 - ククログ
  • 英国政府、新ポータルGov.ukをクラウド、アジャイル、Rubyで開発。ソースはGithubで公開

    クラウド上でRubyを使って開発し、成果物はオープンソースとして公開。開発プロセスにはアジャイル開発を採用し、毎日スタンドアップミーティングを実施。まるでベンチャー企業が新サービスを開発するようなスタイルを採用しているのが、英国政府のポータル「Gov.uk」の開発チーム。 Welcome to GOV.UK Beta (Test) - simpler, clearer, faster access to UK government services and information Gov.ukは、英国政府の情報とサービスを利用するためのポータルサイトとして開発が進んでおり、現在β版が公開されています。 グーグルプロジェクトのようにGov.ukは作られている Gov.ukがどのように開発されているのか、ブログGovernment Digital Serviceにポストされたエントリ「Int

    英国政府、新ポータルGov.ukをクラウド、アジャイル、Rubyで開発。ソースはGithubで公開
  • http://www.rubeque.com/

  • Ruby/Railsのコードを読むにはroccoとrdefsが便利:Rails Hub情報局:エンジニアライフ

    新年明けましておめでとうございます。今年こそRuby/Railsをやってみようという人もいるかと思います。ここではRubyのコードを読むのに便利なツールを2つほどご紹介したいと思います。 ドキュメント生成ツールのRD、RDoc、SDoc ソースコードに埋め込んだコメントを、そのままドキュメントとして抽出するツールがRubyにはいろいろあります。いちばん古くからあるのは、RD(Ruby Document Format)と呼ばれるもので、Markdownなどと同様に構造を記述できます。 現在、Rubyに標準添付されているのはRDocです。RubyのソースコードからHTMLCSSJavaScriptを吐き出して、ブラウザで閲覧しやすくしてれます。もう1つ、RDocに似たものにSDocがあります。Sはsearchableのことで、ブラウザ上でクラスやメソッド名をインクリメンタル検索できるのが特

    Ruby/Railsのコードを読むにはroccoとrdefsが便利:Rails Hub情報局:エンジニアライフ
  • Ruby 1.9で文字コードの自動判別を行う

    たまにRubyの話題でも。 Ruby 1.9で文字コードの自動判別をさせようとおもったら、意外に良いライブラリが見つからなくて苦労しました。 結局ICUをbindingした、charlock_holmesがちゃんと使えたので、メモです。 OSXで使う場合は、下記の様にしてICUライブラリをインストールします。Linuxでは適当なパッケージシステムを使ってインストールしてください。 curl -O http://download.icu-project.org/files/icu4c/4.8.1.1/icu4c-4_8_1_1-src.tgz tar xvzf icu4c-4_8_1_1-src.tgz cd icu/source ./runConfigureICU MacOSX --with-library-bits=64 --disable-samples --enable-static

    Ruby 1.9で文字コードの自動判別を行う
  • Rubyistよ、irbを捨ててPryを使おう | Webシステム開発/教育ソリューションのタイムインターメディア

    Pryは結構前からgithubのリポジトリを追いかけている人達には認知されていましたが、RailsCastsでも紹介されたことから、Ruby界で一気に広がりを見せています。 ちなみに発音はpra'i(ぷらい)です。英単語で「覗く」などを意味します。 今回はそんな便利なPryについて少し紹介したいと思います。 Pryはirbの代わりになるREPL Pryを一言で説明すると、irbと同様にREPL環境を提供してくれます。 では、さっそくインストールしてみましょう。

    Rubyistよ、irbを捨ててPryを使おう | Webシステム開発/教育ソリューションのタイムインターメディア
  • Programming with Nothing

    Contents Ruining Ruby Thinking procs Aiming high Numbers Booleans Predicates Numeric operations Lists, briefly Strings, briefly Victory Why? Epilogue Ruining Ruby I love Ruby! I’ve used it every day for years and I’m not sick of it yet. It’s an easy language to love: it’s expressive, flexible and syntactically beautiful; it has a unique combination of useful features like mixins, metaclasses and b

  • readline についてそろそろ一言いっておくか #ruby #advent11rb - Nov's daily? report(2011-12-12)

    _ readline についてそろそろ一言いっておくか #ruby #advent11rb これは Ruby Advent Calendar 2011 の 12 日目のエントリです。昨日は @ssig33 さんでした。明日は @u16suzu さんです。 一昨年はメソッド一つが private じゃないという細かい話、去年はマイクロ秒単位の細かい話をしたのですが、今年は空白一つが余計という細かい話です。 お客様の中に、うっかり readline.so が GNU readline 6.2 なんかとリンクされちゃってて、irb で補完候補が絞り込めた時に、単語の後ろに空白が一つ追加されて、イラッとしておられる方はいらっしゃいませんか? 具体的には、 >> Read[TAB] >> Readline ::VER[TAB] NameError: uninitialized constant VE

  • Route 477(2007-06-20)

    ■ [ruby][event] Ruby勉強会@関西-16「30分でわかるcallccの使い方」 先週末のRuby勉強会@関西で、Rubyにおけるcallccの使い方について発表させていただきました。 スライド: pdf ppt 継続の説明については「なんでも継続」がよく参照されるんだけど、 ちょっと説明がボトムアップすぎると思うので(僕も最初に読んだときは全然分からなかった)、「callccで何ができるか」という応用面から攻める 構成にしてみました。 最初は「継続かわいいよ継続」「それをすてるなんてとんでもない」と思ってたんだけど、 いろいろ調べてるうちになんでcallccが嫌われるのかが理解できてしまった。callccはかわいいけど、非常に手のかかる奴らしい。 しかも、面白い利用例はいっぱいあるけど実用的な例があんまりないんだよね^^;。 callccが無くなるとRubyの「かっこよさ

    Route 477(2007-06-20)
  • デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ

    クリアコードではMozilla製品やRuby関連の開発だけではなく、広くフリーソフトウェアのサポートもしています。もちろん、サポート対象のソフトウェアの多くは私達が開発したものではありません。しかし、それらのソフトウェアに問題があった場合は調査し、必要であれば修正しています。 このようなサポートが提供できるのは、もともと、私達がフリーソフトウェアを利用したり開発したりしているときに日常的に問題の調査・修正をしていたからです。ソフトウェアを利用していると、問題に遭遇することはよくあることです。そのソフトウェアがフリーソフトウェアの場合は、開発者に問題を報告し、可能ならパッチを添えます。このとき、そのソフトウェアの内容を完全に把握していることはほとんどありません。しかし、それでも修正することができます。 それはどうしてでしょうか?今まではどのようにやっているのかを自分達でもうまく説明できなかっ

    デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ