タグ

rubyとdesignに関するt-wadaのブックマーク (7)

  • 「文字列を文字の列とみなす単純化」ってどういうこと?解説編 - 西尾泰和のはてなダイアリー

    先日 @shyouhei さんのTweetに反応して文字列が文字の列かどうかが言語によって異なるという話をTweetしました。 shyouheiさんの投稿: PythonはどうかしらんがRubyの設計思想は「世の中はシンプルじゃない」だからな。文字列を文字の列とみなす発想その物がすでにRubyからすると過度に世界を単純化しすぎている。 https://twitter.com/shyouhei/status/528106973565165568 もうちょっと言っておくと数値計算で勝ち目のないRubyは文字列処理にめっちゃ注力してるんで。文字列処理こそがRubyの主戦場。そこでRubyが文字列をあえてカタマリで扱ってることにはそれなりの理由というものがある。つまり分解しようとするほうが困りごとが増える。IVSとか。 https://twitter.com/shyouhei/status/528

    「文字列を文字の列とみなす単純化」ってどういうこと?解説編 - 西尾泰和のはてなダイアリー
    t-wada
    t-wada 2014/11/07
    “Rubyは早々にUnicode路線に見切りをつけて「8bitの列に、それがどういう符号化の方式かの情報をセットにしたもの」を文字列だと定義する独自路線を取りました”
  • Transpec 開発記 – 前編 – blog.yujinakayama.me

    Transpecという、RSpecの古い記法で書かれたspecを、最新の記法に自動で書き換えるツールを作った。 最初のバージョン0.0.1をリリースしたのが2013年8月9日なので、すでに一年前になる。 先日のRSpec 3の正式リリースからもしばらく経って一段落したところだし、 この辺で一旦振り返って、 開発中のその時々で何を考えていたのか、忘れてしまう前に長々と残しておくことにする。 きっかけ そもそもTranspecを作り始めたきっかけは、 should記法を使っていた自分のプロジェクトのspecをexpect記法に書き換えようとしたところから。 これは2013年の7月下旬の話で、まだRSpec 2.99/3.0のベータ版も出ていない頃。 正直なところexpect記法が導入された当初は違和感があったし、 更にはThe Plan for RSpec 3も発表され、 「このままRSpec

    Transpec 開発記 – 前編 – blog.yujinakayama.me
    t-wada
    t-wada 2014/08/31
    RSpec2 の記法を RSpec3 以降のものに書き換えるツール Transpec の開発の背景。きっかけやプロトタイプ、モチベーション、そして技術的課題。ツールの背景にある考えとその過程を書いたエントリは良いな
  • Rubyで自然なDSLを作るコツ:値を設定するときはグループ化して代入 - ククログ(2014-02-13)

    最近、fluent-plugin-droongaという分散データストリームエンジンを書いています。その中で、RubyでDSLを実現するときに工夫していることに気づきました。それは、値を設定するときは代入する字面にするということです。代入する字面にするために、グループ化用のオブジェクトを作っていました。 これだけだとどういうことかわからないので、具体例を示しながら説明します。 RubyとDSL Rubyを使っているとRubyで実現されたDSLに触れることが多くあります。RubyのMake実装であるRakeの設定ファイルもそうですし、ライブラリー管理ツールのBundlerの設定ファイルもそうです。 Rakeの場合:

    Rubyで自然なDSLを作るコツ:値を設定するときはグループ化して代入 - ククログ(2014-02-13)
    t-wada
    t-wada 2014/04/09
    設定系のDSLは代入する字面にする。 self の代わりにグループ化して考えたレシーバーをつける。これはなるほどと思うエントリ。
  • Loading...

    Loading...
    t-wada
    t-wada 2014/01/28
    Ruby でも契約による設計っぽいことができる Contracts gem の紹介(型チェック以外のこともできると思う)。 Rubyist はこのライブラリの実装方法を想像するといろいろ楽しめそう。
  • Dependency injection is not a virtue in Ruby (DHH)

    By David Heinemeier Hansson on Jan 6, 2013 In languages less open than Ruby, hard-coded class references can make testing tough. If your Java code has Date date = new Date(); buried in its guts, how do you set it to a known value you can then compare against in your tests? Well, you don't. So what you do instead is pass in the date as part of the parameters to your method. You inject the dependenc

    t-wada
    t-wada 2013/01/08
    DHH が DI (Dependency Injection) に対する意見を述べている。言語の柔らかさと思考の関係。
  • Confreaks Judi online

    Bermain Judi Bola dengan Profit Terbagus – Istilah judi bola bukanlah hal yang asing didengar. Permainan ini dianggap dapat menciptakan profit dengan kencang, walaupun risiko kerugiannya bahkan juga sama besar. Terlepas dari hal itu, peminat taruhan ini tidak pernah surut karena memang bola ialah olahraga yang semacam itu diminati masyarakat. Di lingkungan masyarakat sendiri, taruhan sepak bola da

    t-wada
    t-wada 2011/04/11
    RubyConf09 での Jim Weirich の講演映像。 SOLID 原則は Ruby においても妥当かという議論は、とても面白い。
  • OBB vs AABB - Radium Software Development

    iPhoneの一般修理店は予約なしでも来店できる? 基的には飛び込みで修理に行ってもOK iPhoneを置いていたソファにうっかりと腰かけてしまい、パネルを割ってしまった、こんな時はスマホの一般修理店へ行きましょう。画面割れは、スマホやタブレットの故障原因として非常に多いものです。予約なしで突然お店に行っても平気かしらと、不安に思う方々もいらっしゃるかもしれません。結論としては特に問題はなく、予約なしで訪問しても画面割れの修理はお願いできます。 ただし他のサービス業のお店同様、予約なしの場合、お店が混雑していると順番待ちをしなければいけないです。特に繁盛しているスマホ修理のお店だと、行列が店内で出来ており、予約なしだと、自分の順番が巡ってくるまで長時間待たされる可能性があります。平日の朝、昼なら利用客が少ない場合が多く、飛び込みでも比較スムーズに修理が頼めます。 予約は入れた方が時短に、

    t-wada
    t-wada 2005/08/12
  • 1