タグ

rubyに関するntaooのブックマーク (73)

  • 怠惰で短気で傲慢な君に贈るRubyの遅延評価

    Ruby2.0ではlazyというメソッドがEnumerableモジュールに追加されるらしいよ。 yhara/enumerable-lazy · GitHub lazyはリストに対する遅延評価を実現するメソッドなんだけど、それで意味がわからないって言うなら、それは、怠惰で短気で傲慢な君のためのメソッドだってことだから、喜んでほしいよ。 君のような怠惰で短気で傲慢な人っていうのは、よく次のようなことを言うんだよ。 君 「おい、雑誌持って来い!」 部下「どの雑誌ですか?」 君 「全部だよ!」 部下「全部って、日で発行されてる雑誌全部ですか?」 君 「全部ったら、全部だよ、バカが」 ... 部下「全部持って来ました。ぜぇ、ぜぇ..。全部で、えっと..」 君 「冊数なんて、どうでもいんだよ!じゃあ、そこからAKBの記事、全部切り出せ!」 部下「全部ですか... はっ、はい、分かりました...(まじ

    ntaoo
    ntaoo 2012/10/10
  • scala/ruby - tech.cm55.com

    RubyScala Javaの欠陥、Rubyの欠陥を埋めるものとしてScalaが選択されつつある。 ここでは特に、なぜRubyではだめなのか、他の方の言を紹介する。 なぜ Lift に違和感を覚えるか 一刻も早くJava から Ruby へ移行したいと思っていた。しかし、実際に Ruby で開発を行ってみると、そこには譲れないトレードオフがあった。Eclipse 上の Java コードは、死んだ文字列ではなく、呼びかければ応えてくれるオブジェクトだったが、Aptana RadRails 上の Ruby コードは、それとは程遠い代物だった。補完はまともに働かず、依存先へのナビゲーションや依存元の検索はインテリジェントでなく、リファクタリング支援は貧弱。これは、特定ツールの未成熟の問題というよりも、動的型付け言語のアイデンティティに関わる問題だろう。そして、Rails アプリケーションの実行

  • 俺の最強ブログ システムが火を噴くぜ

    ブログを「はてなダイアリー」から、自分のサーバーに移転しました。 せっかく移転するなら、2012 年の流行を取り入れた挑戦的なブログにしてみたい!と思い、構想から半年、ついにこの日を迎えることができました。 せっかくなので、凝ったところを自慢させてください。 これが俺史上最強のブログ システムだ ブログ システムとして Jekyll を採用 Jekyll のプラグインを自作 (はてな記法対応、英語ブログとの統合) 履歴管理は GitHub を利用、git push で自動でデプロイ コメント欄には DISQUS を採用、旧ブログへのコメントはインポート済み HTML5 マークアップ、CSS3、レスポンシブ Web デザインでのモバイル対応 盛りだくさんですね。 詳しく説明していきます。 ブログ システムとして Jekyll を採用 最近では WordPress を選ぶのが普通でしょう。Wo

    俺の最強ブログ システムが火を噴くぜ
  • WebPay: 開発者向けクレジットカード決済サービス

    ドメインウェブの設定が見つかりません 考えられる原因 ドメインウェブの設定がまだ行われていない。 ドメインウェブの設定がまだ反映されていない。(反映には数時間~24時間かかることがあります) ドメインウェブ・DNSの設定が誤っている。 アカウントが存在しない、契約が終了している、削除されている。

  • Rubyのエンコーディングその2 - tmtms のメモ

    この前「Rubyのエンコーディング」という記事を書いたのですが、それをネタに 8/25 の NSEG で発表しました。 Rubyのエンコーディング from Masahiro Tomita この中で、エンコーディングが原因で予期しないところで落ちてしまうことが結構あるという話もしたんですが、今回はプログラムが落ちないようにするにはどうすればいいかを考えてみます。 エンコーディングが原因で落ちてしまうのは大体次のパターンのようです。 文字列や正規表現のエンコーディングが異なる 文字列中に不正な文字が含まれている 文字列や正規表現のエンコーディングが異なる 正規表現をリテラルで生成していれば、エンコーディングは敢えて指定しない限りは普通はスクリプトエンコーディングになってると思うので、問題は文字列の方です。 特にファイルから読み込んだ文字列のエンコーディングが何になっているかに注意しましょう。

    Rubyのエンコーディングその2 - tmtms のメモ
    ntaoo
    ntaoo 2012/09/03
  • Module#extended (Ruby 3.3 リファレンスマニュアル)

    extended(obj) -> ()[permalink][rdoc][edit] self が他のオブジェクト に Object#extend されたときに呼ばれます。引数には extend を行ったオブジェクトが渡されます。 [PARAM] obj: Object#extend を行ったオブジェクト 例 module Foo def self.extended(obj) p "#{obj} extend #{self}" end end Object.new.extend Foo # => "#<Object:0x401cbc3c> extend Foo" [SEE_ALSO] Module#extend_object

    ntaoo
    ntaoo 2012/08/16
  • Rubyのエンコーディング - tmtms のメモ

    Ruby 1.9 から文字列や正規表現オブジェクトはそれぞれエンコーディング(いわゆる文字コード)を保持するようになりました。 たとえば 0xB1 0xB2 という2バイトは EUC-JP エンコーディングでは「渦」、SHIFT_JIS エンコーディングでは「アイ」という文字になります。つまり同じバイト列でもエンコーディングが異なれば異なる文字として解釈されます。 1.8 では文字列はただのバイト列でした。なので、それがどのような文字を表しているのか、つまりエンコーディングが何なのかはプログラムが知っている必要がありました。 1.9 では文字列オブジェクト自身が自分が何のエンコーディングかを知っています。同じ 0xB1 0xB2 というバイト列でも、それが EUC-JP の「渦」なのか SHIFT_JIS の「アイ」なのかは、文字列自身が知っています。 スクリプトエンコーディング スクリプ

    Rubyのエンコーディング - tmtms のメモ
  • 4 Simple Steps - Extending Ruby Objects - The Tip of the Iceberg with DCI — Saturn Flyer

    You've got a few Rails applications under your belt, perhaps several. But something is wrong. As you go, your development slows and your classes become bloated and harder to understand. Keep your program simple While you're doing your best to follow the concept of keeping your controllers skinny and your models fat, your models are getting really fat. The answer is simple: cut the fat. Your models

    ntaoo
    ntaoo 2012/08/06
  • Clean Ruby - the ebook about Ruby, Rails, DCI and OOP. Don't just make abstractions, write clean, intention-revealing Ruby. Written by Jim Gay

    “I always get so frustrated trying to dig through a project new or old, and trying to trace the flow of execution and how things fit together...” You can't afford complicated code. Writing small and easily testable methods can certainly clean things up, but as your application grows your classes start to know too much. Large classes means a large cognitive overhead for understanding how things wor

    Clean Ruby - the ebook about Ruby, Rails, DCI and OOP. Don't just make abstractions, write clean, intention-revealing Ruby. Written by Jim Gay
  • The secret to Rails OO design

    Sep 06 2011 UPDATE: I also have a follow-up here. I often tell people that I learned Ruby via Rails. This is pretty much the worst way to do it, but I’d learned so many programming languages by then that it didn’t hinder me too much. The one thing that it did do, however, was give me a slightly twisted sense of how to properly design the classes needed in a Rails app. Luckily, I obsessively read o

    The secret to Rails OO design
  • Eavesdropping on Expressions - Moonbase

    Update: Slightly more complete examples. I found a nice little technique for debugging Ruby code today. Ever had a situation where you wanted to insert some debugging code in the middle of an expression? The usual way is to break up the expression and use intermediate variables to get at the value, but it turns out that’s really not necessary in Ruby. Check this out: class Object def tap yield sel

    ntaoo
    ntaoo 2012/08/05
  • Switching To Sublime Text 2 | Nick DeSteffen's Blog

    Updated – 07/16/2012 Please see my updated post for current instructions on getting Sublime Text 2 up and running on your machine. Updated – 01/12/2012 I recently switched over to Sublime Text 2 for my primary development editor. I was waiting to see what TextMate 2 would be like, needless to say I didn’t see much an improvement. Sublime Text 2 has got some nifty features like multiple columns, ro

  • Objects on Rails is Retired - avdi.codes

    If you’re reading this, you have my permission to nag me to write up an actual post about why I’m no longer distributing Objects on Rails. In the meantime, feel free to sign up for my free email course about how most of what they told me about object-oriented programming was wrong: Lies of Object-Oriented Programming in Ruby and Rails

    Objects on Rails is Retired - avdi.codes
    ntaoo
    ntaoo 2012/07/10
    free page, also available paid ebook ver.