タグ

rubyに関するsmotokezuruのブックマーク (95)

  • Ruby のココがダメ - Qiita

    タイトルは釣りです。Ruby に盲目的に惚れている迂生には Ruby の痘痕(あばた)はエクボです。 それはともかく。 メソッド名の別名がありすぎ 「あなたは map 派? それとも collect 派?」っていう問いがまず嫌い。 いや,別名にも意義があるとは思うんだけど,記憶の負担が大きい。 自分では map しか使わなくても,他人のコード読むんだったら collect を知っていなくちゃならない。 しばらく前に reduce っていうメソッド見て,そんなのあったっけ?と思ったら inject の別名だった。 map/collect と inject/reduce の名前とその背景にある発想については,Rubyist Magazine に良い記事がある: そうかと思えば,Array#delete_if と Array#reject! みたいに,働きは基的に同じだけど,削除が行われなかっ

    Ruby のココがダメ - Qiita
  • Ruby 3.0の未来へ―、言語設計者のまつもと氏が示す3つの方向性とRuby哲学 | HRナビ by リクルート

    Ruby 2が一般化した今、そろそろ新しいことを始めよう。これはRuby 3.0への扉を開く宣言です。未来へ備えよう。コミュニティとして死なないように、ワクワクする未来を妄想しよう。新しいことを始めよう」 こんな風に開発コミュニティに呼びかけたのは、世界的に人気の高いプログラミング言語「Ruby」(ルビー)の生みの親で言語設計者のまつもとゆきひろ氏だ。この「宣言」とも言える発言は、2014年9月に開催された「RubyKaigi 2014」で出てきたものだ。基調講演をしたまつもと氏は、講演の中で初めてRuby 3.0というメジャーバージョンへ言及して、次なるマイルストーンとして設定することを公の場で宣言した。 まつもと氏によれば、Rubyのコア開発者はこの何年かはRuby 2で忙しかったという。目の前にある現行バージョンのRuby 2をどうするかということや、機能の安定化、メモリ周辺の改善

    Ruby 3.0の未来へ―、言語設計者のまつもと氏が示す3つの方向性とRuby哲学 | HRナビ by リクルート
  • 革命的に速いRubyアプリケーション・サーバー「Raptor」リリースへ | ソフトアンテナ

    革命的に速いとされるRuby用の新しいアプリケーション・サーバー「Raptor」のサイトが公開され期待を煽っています(Hacker News)。 公式サイトによると、RaptorはRailsやSinatraなどを動かすための新しいアプリケーション・サーバー。最適化されたHTTPエンジンにより従来のアプリケーションサーバーと比較して高速に動作し、Unicornの最大4倍、PumaとTorqueboxの最大2倍の速度で動作するとのこと。 現在まだ何もダウンロードできるものは公開されたおらず、パブリックベータ版のリリース日は2014年11月25日に設定されています。メールアドレスを登録しておくと、状態が更新されるか、あるいは第三者のレビューが公開されたときなどにメールで連絡してくれるようなので気になった方は登録してみてはいかがでしょうか。 ちなみに誰が開発されているかということに関しても「We

    革命的に速いRubyアプリケーション・サーバー「Raptor」リリースへ | ソフトアンテナ
  • Ruby2.2 ではアレが死ぬほど使いやすくなるの! - Qiita

    そうです、Matrix(行列)クラスに色々入る予定のようです. .... いやもっと伝えるべきモノが他にあるとの怒号が今にも聞こえて来そうですが... 「すみません今日の所は行列の紹介をさせて下さい.」 多くの方は興味もないであろうけど、 Rubyには行列やベクトルを扱う Matrix クラスというものがありまして、 Ruby2.2では色々新機能やバグfixが入るようです. 「行列ベクトル演算するならRubyよね」 と言われるくらいのモノにはなるのではないでしょうか? 日はRuby2.2以前にあるものも含めMatrixのマジですごい所を紹介します. 使わないともったいない!すごいMatrix, 楽しく学ぼう! 1. LU分解 LU分解が出来るという事は... n元連立方程式をいとも簡単に解く事が出来ちゃうの # 2x + y = 2 # x + 2y = 3 Matrix[ [2, 1]

    Ruby2.2 ではアレが死ぬほど使いやすくなるの! - Qiita
  • Javaエンジニアがいまさら始めるRuby開発環境 - Qiita

    Editorは、人によって大きく違うと思うけど、大体こんな感じだと思います。 Rubyでは、Vim,Emacsなどのエディタ + Plugin + 開発支援なgem Javaでは、Eclipse,NetBeans,IntelliJなどのIDE Javaの人はIDEが無いと辛いと思うかもしれませんが、Vim Pluginや開発支援するgemを使えば、IDEと遜色なく使えるのではないかと思います。 例えば、エディタ上で以下のことはできます。 コード補完 ブレイクポイントを置いて、ステップ実行 カーソル上のクラスやメソッドに飛ぶ(gemRuby体のC言語も含む) 知りたいクラスやメソッドなどのドキュメントやソースの表示 保存時にコーディング規約違反の表示 homebrew mac標準のrubyでまずはhomebrewをインストールします。 $ ruby -e "$(curl -fsSL ht

    Javaエンジニアがいまさら始めるRuby開発環境 - Qiita
  • Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD

    この記事を書き上げるには、相当長い時間がかかりました。来は今年の年明け、 Rubyの死 やデイヴィッド・ハイネマイヤー・ハンソンの TDDは死んだ がアップされて騒ぎになる前に投稿するつもりだったのです。昨年末に書いたツイートを見てください。 > Rubyにはもう飽き飽きした。理由はいろいろあるが、特にその副作用と、ステータスが可変なせいで大量のユニットテストを書かされるのにはウンザリだ。 @abevoelker Rubyの開発に関しては、大勢の人が心のどこかで何かおかしい、何かが欠けていると思っているようですが、たいていの人は責める対象を間違っています。Rubyで書いたアプリがとんでもない代物になったって? それはあなたがきちんとテストコードを書かなかったか、テスト駆動開発(TDD)の指針に則って開発しなかったからです。もしくは、正しいデザインパターンに切り分けるための知識が不足してい

    Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD
  • RubyのOptionParserの底力を知る - ザリガニが見ていた...。

    コマンドは、以下のような書式でオプションと引数を設定して、実行する仕組みになっている。 例: コマンド名 オプション オプション オプション引数 オプション コマンド引数 optparser_test.rb -a -b VALUE --foo FILE_PATH 実際にコマンドを作ろうとすると、オプションの解析には手間がかかると気付く。 そのため、多くの言語環境にはオプション解析用のライブラリが用意されている。 Rubyのoptparserについて、基的な使い方は知っているつもりだったが... Rubyでコマンドの中身を作るまで - ザリガニが見ていた...。 ちょっと気の利いたコマンドにしようとすると、その使い方は謎だらけになった。 どうしたら苦労最小限でオプションを解析できるのか、調べてみた。 基 require 'optparse' OptionParser.new do |op

    RubyのOptionParserの底力を知る - ザリガニが見ていた...。
  • ブックマーク必須、Ruby関連の厳選リンク集「Awesome Ruby」 | ソフトアンテナ

    今の時代、Googleで検索するだけでたくさんの情報をみつけることができますが、見つかった情報が当に価値がある情報なのかどうか、限られた時間で見極めるのはなかなか大変なことだと思います。 そのような時に利用したいのがキューレーションリスト。「Awesome Ruby」はRuby関連ライブラリやリソースへの厳選されたリンク集で、用途ごとに定番情報へのリンクが張られているので、ざっと概略を知りたいときに役に立ちそうです。 例えば、ファイルアップロードでは、環境構築ツールではrvmとrbenvが、ファイルアップロードではpaperclip、carrierwave、dragonflyなどのライブラリの名前が挙げられていて、このチョイスは誰もが納得するところではないでしょうか。 Ruby用だけではなく、GoPHPPython用のリンク集もあるようですのでこちらもどうぞ。 awsome-go /

    ブックマーク必須、Ruby関連の厳選リンク集「Awesome Ruby」 | ソフトアンテナ
  • 開発用プロキシ、「CocProxy」が便利 - プログラマでありたい

    CocProxyというツールがあります。名前の通りプロキシサーバーなのですが、用途が開発用です。置換プロキシと言うらしいですが、これがとっても便利です。例えば、クローラーの開発や、HTML,CSS,JavaScriptの修正をする際に、このCocProxyを利用するとダウンロード待ちのイライラが解消され、効率アップ間違いなしです。ローカルのみで完結するのと、Webへのアクセスが必要とするのでは、スピードが数十〜数百倍違います。一回だけでみたら、数百ミリSecの差ですが累積で考えると大きいですよ。 CocProxyとは? Ruby製のProxyServerです。かつ標準ライブラリで動くことを目標としているので、Rubyの環境があれば、ダウンロードして直ぐに使えます。また基的には1ファイルで完結するので、導入も簡単です。Ruby1.9をベースにしていますが、Ruby 2.0でも特に問題なく動

    開発用プロキシ、「CocProxy」が便利 - プログラマでありたい
  • RailsのテストフレームワークRSpecの基礎知識

    実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング 顧客管理システムの構築を体験しながら、Railsアプリケーション開発のノウハウを習得! この記事は、書籍『実践Ruby on Rails 4 現場のプロから学ぶ格Webプログラミング』の内容を、Think IT向けに特別にオンラインで公開しているものです。詳しくは記事末尾の書籍紹介欄をご覧ください。 記事では、テストフレームワークとしてRSpecを採用します。RSpecをうまく活用すると、簡潔で読みやすいテストコードを書くことができ、Railsアプリケーションの保守性を高めることができます。 しかし、RSpecの用語法や表記法はやや独特で、慣れるまでには時間がかかります。読者の中にはとまどいを覚える方がいらっしゃるかもしれませんが、次章以降を読み進めるうえでの鍵となりますので、是非じっくりと読んで理解してく

    RailsのテストフレームワークRSpecの基礎知識
  • パーフェクトRuby on Railsという書籍が出ます - すがブロ

    6/6発売となります パーフェクト Ruby on Rails 作者: すがわらまさのり,前島真一,近藤宇智朗,橋立友宏出版社/メーカー: 技術評論社発売日: 2014/06/06メディア: 大型この商品を含むブログを見る まだAmazonだと書影や目次がでていませんね。 これが表紙です!! 目次などの一次ソースは http://gihyo.jp/book/2014/978-4-7741-6516-5 を見ていただければと思います。 一応、書籍の目次を書いておきますね。 ■■Part 1 Rails ~ overview ■1章 Ruby on Railsの概要 1-1 Railsを使う前に 1-2 Railsの思想 1-3 Railsをはじめよう!! 1-4 scaffoldを使ってRailsでの開発を体験しよう ■2章 Ruby on RailsとMVC 2-1 MVCアーキテクチャ

    パーフェクトRuby on Railsという書籍が出ます - すがブロ
  • Ruby 2.1の基本構文/基本文法まとめ&Pryの使い方

    Ruby 2.1の基構文/基文法まとめ&Pryの使い方:若手エンジニア/初心者のためのRuby 2.1入門(2)(1/7 ページ) オープンソースのオブジェクト指向プログラミング言語「Ruby」の文法を一から学ぶための入門連載。最新版の2.1に対応しています。今回は、Rubyの変数、定数、リテラル、演算子、条件分岐とループ(繰り返し)、コメントの基的な使い方について解説。Ruby 2.1での新機能や便利な実行ツール「Pry」のインストールと使い方も紹介します。

    Ruby 2.1の基本構文/基本文法まとめ&Pryの使い方
  • NHK 番組表 API を触る為の Ruby クライアント作った - Kōenji

    NHK 番組表 API が公開されたので RubyAPI ライブラリを作った インストール 下記コマンドでインストール出来る gem install nhk_program 使い方 こんな感じで使える client = NHKProgram.new(api_key: 'YOUR_API_KEY') # 明日のNHK総合1の番組表取得 data = client.list('130', 'g1', Date.today + 1) # 違う書き方 # data = client.list('東京', 'NHK総合1', :tomorrow) data.list.g1.each do |program| # 何かする end # 明日のNHK総合1のアニメの番組表取得 data = client.genre('130', 'g1', '0700', Date.today + 1) # 違う

    NHK 番組表 API を触る為の Ruby クライアント作った - Kōenji
  • Ruby 2.1.0 リリース

    Posted by nurse on 25 Dec 2013 Translated by takahashim Ruby 2.1.0 をリリースしました。 Ruby 2.1 では深刻な非互換もなく、速度の向上を含めた多くの改善が行われています。 どうぞご利用ください。 ダウンロード https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0.tar.bz2 SIZE: 12007442 bytes MD5: 1546eeb763ac7754365664be763a1e8f SHA256: 1d3f4ad5f619ec15229206b6667586dcec7cc986672c8fbb8558161ecf07e277 https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0.tar.gz SIZE: 1

  • Ruby 2.1.0リリース!注目の新機能を見てみましょう|TechRacho by BPS株式会社

    2013年12月25日。おめでとうございます、Ruby 2.1.0がリリースされました! 日時間で26日という細かい突っ込みをしている場合ではありません。 まだ使ったことがない方、簡単に変更点を見てみましょう。 文法の変更 デフォルト値を伴わないキーワード引数 Ruby 2.0が出たときから誰もが思っていた疑問、「なんでキーワード引数はデフォルト値必須なんだ?」がついに解消されました。以下の記法で、デフォルト値をつけないキーワード引数を宣言できます。この場合、呼び出し時に対応する実引数を渡さないとArgumentErrorになります。 def hello(name: ) puts name end hello(name: "taro") # => taro hello # => ArgumentError: missing keyword: name キーワード引数同士ではデフォルト引数

    Ruby 2.1.0リリース!注目の新機能を見てみましょう|TechRacho by BPS株式会社
  • 「エンジニアの未来が袋小路に陥らないよう「多様性」の重要性を言い続ける」(前編)Ruby言語開発者 まつもとゆきひろ 氏 |ギークアカデミー

    世界的に普及したプログラミング言語「Ruby」の開発者。 現在は、Rubyアソシエーションの理事長や、株式会社ネットワーク応用通信研究所フェロー、楽天株式会社楽天技術研究所フェロー、Herokuチーフアーキテクトとして国内外で活躍している。 Ruby開発者のまつもとゆきひろ氏に、Rubyへの取り組みや、ソフトウェアエンジニアたちへの助言を聞いた。20年間、継続してRuby言語に取り組んできたまつもと氏は、ソフトウェアエンジニアの未来を「暗いものにしない」ためには声を上げ続けることが必要だと語る。 ──いよいよRuby2.0の正式リリース日(2月24日)が迫ってきて楽しみにしています(注:インタビュー時点)。ところで、最近のまつもとさんはプログラマとしてはmruby(組み込み用途向け軽量Ruby処理系)のほうにより多く関わっていると伝えられていますが、実際はどうなんでしょう? Ruby1.9

    「エンジニアの未来が袋小路に陥らないよう「多様性」の重要性を言い続ける」(前編)Ruby言語開発者 まつもとゆきひろ 氏 |ギークアカデミー
  • Rubyの女神降臨!池澤あやかのプログラミング|【Tech総研】

    Rubyの女神が現れた!Kinectハックから入り、RubyでWebアプリをつくり、金魚が研究対象で、ブログだって自作中、サーバーも設定できるぞ。あ、いや、何を言ってるかわからないと思うけど、とりあえず読んでくれ。

  • Rubyのcaseを〇〇(言語名)のswitch文だと思っている人たちにぼくから一言ガツンと申し上げたい

    Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def

    smotokezuru
    smotokezuru 2013/02/26
    こういうエントリ好き
  • 社内勉強会で RSpec の基本機能の紹介をした - 恒温動物の生活ログ

    スライドを SpeakerDeck に上げました。

    社内勉強会で RSpec の基本機能の紹介をした - 恒温動物の生活ログ
  • 私はRSpecでテストをこんな感じで書いてる - アジャイルSEを目指すブログ

    私がRSpec使ってテスト書く時はこんな感じで書いてるよ〜ってのを書いてみた。*1 テストを書く順番について TDDでコードを書く場合、先にテストを書く事になります。 そして、そのテストを書く順番ですが、私は下記のような順番で書くように意識しています。 設計する describe を書く itを書く subjectを明確にする before(context)を明確にする その他に、気をつけている点はこんな感じ 別のメソッド呼ぶ時は基的にstubなどで潰す contextは「〜の場合」、it は「〜であること」になるようにする 一つずつ、詳細を書きます。 設計する テストを書き始める前に、まず実装しようとしてるクラス、メソッドを簡単に設計します。 少なくとも、「クラス名」「クラスメソッド or インスタンスメソッド」「メソッド名」「メソッドの戻り値」ぐらいは決めます。 describe を

    私はRSpecでテストをこんな感じで書いてる - アジャイルSEを目指すブログ