rubyからOSのコマンドやシェルなどの、外部コマンドを 実行する方法としていくつかあるようですので簡単にご紹介します。 続きはこちら http://doruby.kbmj.com/yablog/20090531/ruby_1
数学の世界で + は演算子である。5歳の子供でもそれを知っている。そして私やあなたが老いて死にゆくまで、+ は演算子でありそこに疑念の入る余地はない。 プログラミングの世界でもふつう + は演算子である。CでもJavaでもPerlでも + は演算子であり、それ以上でもそれ以下でもない。 ところが驚くべきことに、Rubyの世界では + は演算子ではないのである。 嘘だと思うなら、エディタを立ち上げて1、次のようにしてみるといい。 class Fixnum def +(other) Integer("#{self}"+"#{other}") end end 1 + 2 # => 12 123 + 456 # => 123456 あなたは今、Fixnum#+ メソッドを再定義した。そうしたら1 + 2は12という答えを返した。そう、Rubyの世界で + は演算子ではなく、ユーザが再定義可能なひと
もしかしたら、Rubyに慣れてない人には気付いていない人も居るかと思ったので、 カジュアルにRubyGemsを活用する事のメリットについて書いておきます。 普通、Rubyのgemパッケージは、gem installでインストールできるようにrubygems.orgにホスティングしておくのが基本です。 とは言え、世界的に公開されるものなので、ちゃんとgemとしての体裁を整えておかないと何か恥ずかしいし、説明とかも英語でちゃんと書いとかないと、って考えると面倒なレベルのツールとかあると思います。 API叩くための簡易コマンドとか、社内ツールの処理自動化とか。 しかし、Bundlerとgitのおかげで、現在はそういった事を余り気にする必要が無くなっています。 Bundlerは、gitリポジトリから直接コードをクローンして、パッケージ化されたgemと同様に扱う事ができます。 参考: Bundler
2009年11月10日23:49 Ruby 階層の深いHashを作成するときに知っておいたら便利なこと Ruby で階層の深いハッシュ(ハッシュの値がさらにハッシュとか)を作成するのって面倒です。何が面倒って毎回宣言しないといけないんですよー。まぁ他の言語やってた人なら当たり前なのかもしれませんが、Perl 出身の僕としては大変メンドクサイわけです。 例えばこのようなデータ構造を考えてみます。 #!/usr/bin/ruby hash = {} hash["hoge"] = 1 p hash # {"hoge"=>1} hash["foo"]["bar"] = 1 p hash # undefined method `[]=' for nil:NilClass (NoMethodError) 最初に hash = {} と宣言しているので hash["hoge"] = 1 の部分は問題なく
There are some slight inconsistencies in your setup. In your data bag, you assign IP addresses a name (by using a hash in your JSON). However, you don't seem to use the name in your generated template at all. This has some implications which you should be aware of: When using associative arrays (called hashes in Ruby or objects in Javascript), the order of the elements is generally not preserved a
OSX で rbenv を使って ruby 1.9.3-p392 インストール Feb 23rd, 2013 今日はRuby20周年パーティ開催ですね。おめでとうございます。 残念ながらruby 2.0的な話題ではなくてruby 1.9.3の食傷気味のタイトルですが、いろいろと 前回 から変わった点もあるのでまとめ的に。 install openssl and readline まずはシステムに標準で入ってるOpenSSLは古いので最新のものを。 readlineは腐ってるのでこれも最新のモノを入れます。 $ brew install openssl readline 入れたあとに以下の作業をしておくと環境構築する際にデフォルトで使ってくれるようになるのでお薦めです。 $ brew link openssl $ brew link readline これらはアップデートの場合に失敗すること
Ruby 2.0.0-p0 is released Ruby2.0がリリースされました。Homebrewとrbenvによるインストール手順です。rbenv/OpenSSL/Readlineがインストール済みで最新にする場合は各ツールをbrew upgrade <formula> してください。 Environments Mac OS X 10.8.2 Mountain Lion Homebrew 0.9.4 Update Homebrew Formula brew update OpenSSL, Readline brew install openssl brew install readline ruby-build brew uninstall ruby-build brew install --HEAD ruby-build --HEADでインストール済みだと以下のエラーが出るので、
Ruby on RailsのメジャーバージョンアップとなるRails4のリリースが近づいて来ました。先日、日本人(あるいはアジア人)として初めてRailsコアチームのコミッタとして迎え入れられた松田明氏によると、Railsの生みの親であるDavid Heinemeier Hansson氏(以下、通称のDHHを使います)は、プロジェクトをリードするという意味で活動が活発になっているそうです。 そして最近のDHHは、ブログもよく書いています。彼は歯に衣着せぬ発言でも知られています。強い主張を持った(opinionated)なフレームワークの作者らしく、DHH自身もきわめてハッキリと物を言います。攻撃的とまでは言いませんが、IT業界や技術動向などでは割と何かをクソミソにけなしたりということをします。 DHHが何かをけなすときは、だいたい何らかの鋭い洞察とパンチの効いた皮肉が含まれていて、Twit
2日ほど前にGitHubに登場して話題となっているRackアプリケーション向けエラー画面表示ツールの「better_errors」というgemがヨサゲなので、ちょっと試してみました。Rack対応なので、Sinatraでも使えるようですが、もちろん、Ruby on Rails対応です。間に合えば、Ruby on Rails4に採用されることもあるかもしれません。というぐらい、こういうのを待っていましたという声が出ているようです。 スタックトレースとエラー発生箇所が表示されるのは、Rails標準のエラー画面と同じですが、コードがハイライトされているほか、スタックフレームの任意の場所をクリックすると、該当するコードが表示されるなど、簡易なWebアプリっぽくなっています。インスタンス変数や、パーシャルに渡っているローカル変数も表示します。 以下はRails標準のエラー画面です。 Better Er
皆さん bundle update してますか?ぼくは忙しさにかまけてついサボりがちなのですが先日何ヶ月ぶりかにやってみたらけっこういろんな gem がアップデートしててヒヤリとしました。 bundle update 忘れは今後もまたやってしまいそうだと思い、なにかこれを解決する方法がないか考えたところ、 マメにやるのは無理。余裕があればやるけど忙しくなったら忘れる。自分の意識が低くなっても破綻しない仕組みを作るべき 差分が小さくても Pull Request を出すのは悪くない。というか Pull Request は毎日全員が見るし放置されにくい bundle outdated の結果をメールするのもお手軽そうだけど、メールなんてどうせ見ない (pendaxes がいい例で、毎朝メールがきても痛くも痒くもない) ということで「Jenkins に毎週 bundle update したブラン
Here you can suggest ideas to improve our services or vote on ideas from other people
(追記:2014-3-3) Gvizについてのまとめ頁を作りました。 Gvizの目次 - Rubyの世界からGraphvizの世界にこんにちは! 全国の駅情報を提供する『駅データ.jp』という素晴らしいサイトがあります。無料でダウンロードできるCSV形式の駅データには各駅の管理鉄道会社や路線の情報だけでなく、駅の経度・緯度情報までもが含まれています。マコトニスバラシイ。イママデシラナカッタノガハズカシイ。 そんなわけで… 今回はGvizを使って、東京の地下鉄、すなわち東京メトロ+都営(東京都交通局)の路線図に挑戦してみます。 駅データの取得 まずは駅データを取得します。先のサイトのダウンロード頁からマスターデータ(m_station.csv)をDLします。サイトの仕様書頁にあるように、各駅情報は次の14フィールドで構成されています。 データ仕様 1. 鉄道概要コード 2. 路線コード 3.
以下の文章は Targeter App Blog の記事を翻訳したものです。原文は 2012年5月12日 に書かれました。 Why we moved from NodeJS to RoR http://blog.targeterapp.com/post/22984987832/why-we-moved-from-nodejs-to-ror 免責事項:この記事は NodeJS や Ruby on Rails について騒ぎ立てるものではありません。ただ私たちの決定とその理由について振り返るものです。両フレームワークはそれぞれが作られた目的において素晴らしいものであり、そのことは、私たちのスタックの一部がいまだ NodeJS で動いている理由でもあります。 私は NodeJS のすごいファンで、これは非常にエキサイティングな技術だと信じていて、これらの人気が出る様を目にするだろうと思う。私はとて
こんにちは。Forkwell の中の人、大岡(おおか)です。 本日は、お恥ずかしながら Forkwell リリース初日の失態について、詳細をお話しようと思います。 当初からのユーザーの方はご存知かもしれませんが、先週4月3日(火)に Forkwell がリリースされた際、殺到するアクセスの負荷に耐え切れず、深夜までサーバダウンを繰り返しました。なぜそんなことになったのか。 端的に言えば、ロクに負荷テストを行ってなかったからというのが真相という間抜けなオチなのですが。 初めての慣れないディレクター業務で連日サービスリリースのことで頭が一杯になっていた大岡は、負荷テストのことがすっぽり頭から抜けていました。 私も過去、Apache Bench や JMeter で負荷テストを行った経験はもちろん何度もあったのですが、今回はウソのようにきれいさっぱり忘れてしまっていました。 ディレクター業務に加
(追記:2012-12-03) 本記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。詳細は文末に追記しましたので、購入ご検討のほどよろしくお願いしますm(__)m 電子書籍「これからRubyを始める人たちへ」EPUB版 Rubyの特徴 Rubyは、まつもとゆきひろ氏(通称Matz)により設計されたオブジェクト指向プログラミング言語です。Rubyの特徴を一言で言うならば、それは「間口が広くて奥が深い言語」ということになります。 「間口が広い」というのは、インタフェースがシンプルで誰でもが簡単に使い始められることを意味します。「奥が深い」というのは、プロフェッショナルによる長期使用に耐えうる本物の言語であるということを意味します。「間口が広い」ということと「奥が深い」ということは本来競合する概念ではありませんが、その両方をバランスよく組み合わせるには、対象に対する
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く