タグ

Rubyに関するtailfのブックマーク (15)

  • Ruby 2.0.0で学ぶ、14個のデザインパターンを作りました[GoF][Design Pattern] - 酒と泪とRubyとRailsと

    GoFのデザインパターンとは、「プログラミングのベストプラクティスを体系化したもの」です。このベスト・プラクティスをしっかりと理解して設計すれば、ソフトウェア設計の効率を高めることができます。またデザインパターンが「プログラミングの思想」の共有をよりスムーズにしてくれます。先人たちの試行錯誤の結果を効果的に利用して、プログラミングをもっと楽しんでしまいましょう! 🗻 デザインパターンのポイントGoFのデザインパターンには下のプリンシパルがあります。 変わるものを変わらないものから分離する インタフェースに対してプログラミングし、実装に対して行わない 継承より集約 委譲、委譲、委譲 必要になるまで作るな(You Ain’t Gonna Need It./YAGNI) 🤔 デザインパターン一覧 アブストラクトファクトリ ビルダ ファクトリメソッド シングルトンパターン アダプタ コンポジッ

    Ruby 2.0.0で学ぶ、14個のデザインパターンを作りました[GoF][Design Pattern] - 酒と泪とRubyとRailsと
  • RSpecによるユニットテストの書き方 — recompile.net

    2012年04月19日 最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめにごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと

    RSpecによるユニットテストの書き方 — recompile.net
  • [雑記]Ruby技術者認定試験Silverを受験した - ギークに憧れて

    3/21(水)にRuby技術者認定試験(Silver)を受験してきた。落ちたら書かないつもりだったが90/100で一応合格できたので勉強法など書く。動機去年の暮れからRubyを触り始めて、簡単なBotやRails製のサービスを作る中でRubyの生産性の高さが気に入り、系統立てて勉強してみようと思った。また、SIerに就職するので社内でRubyに関わるためのアピール目的もあった。資格なんて…と思う人もいるかもしれないが、常にGitHubのコードを評価して貰えるとは限らない。書籍Ruby技術者認定試験 公式ガイド (ITpro BOOKs)作者: 伊藤忠テクノソリューションズ,Rubyアソシエーション,ITpro出版社/メーカー: 日経BP社発売日: 2009/03/25メディア: 単行(ソフトカバー)購入: 36人 クリック: 418回この商品を含むブログ (40件) を見る公式の教。R

  • ペパボの社内勉強会で Fixture Replacement について発表しました - @kyanny's blog

    ペパボ社内の RSpec 勉強会で Fixture Replacement について発表しました。実際は RSpec に限らずテストに関する話題を幅広く扱う勉強会でしたが。社外に公開しても差し支えない内容なのでスライドを公開します。 話す内容を補うために用意したスライドなので説明不足だったり例がイマイチなところもありますがご容赦ください。テスト環境まわりのツールについては自分自身まだまだ手探りで使っているので、何かの機会にぜひ識者の意見を伺いたいものです。願わくば Shibuya.rb のような場で発表させていただいて、それに対してツッコミをもらいたいですね。 以下余談です。 「このテイストは GitHub のアレだな」とピンときた方はご名答。 Zach Holman 氏のスライドを大いに参考にしました、っていうかほぼパクリました。Slide Design for Developers を

    ペパボの社内勉強会で Fixture Replacement について発表しました - @kyanny's blog
  • テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!

    ここ数日 ruby をやってるんですけど、ruby といえばテストらしいので Test::Unit やら RSpec やらを調べてました。しかし僕はこれまでまともな TDD をやってこなかったので、先にテストとは何ぞや?TDD とは何ぞや?ってのを調べたりしていました。 この記事は、ずぶの TDD 素人がテストについて知り始めたまとめです。 1. きっかけは RSpec のドキュメント そもそも RSpec の↓紹介文の冒頭から意味不明に感じたんです。 FAQ:「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」 この FAQ への短い答えはイエスです。 『スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)』 Rubyist Magazine えっ... じゃあ要らんやろソレ。いちいち手作業でチェック

    テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!
  • Rubyistよ、irbを捨ててPryを使おう | Webシステム開発/教育ソリューションのタイムインターメディア

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

    Rubyistよ、irbを捨ててPryを使おう | Webシステム開発/教育ソリューションのタイムインターメディア
  • HTTPで正しくキャッチボールをするには | Lab by engineering@dwango.jp

    皆さんはキャッチボールは好きですか? 私はバスケットボールの方が好きです。 キャッチボールは、自分と相手双方がボールをうまくキャッチできるように投げる必要があります。これは、サーバーとクライアントの間でも同じで、クライアントから投げられたボール(リクエスト)をサーバーは正しく投げ返す(レスポンス)必要があります。 ここで、サーバーがボールをあさっての方向に投げたり、異常なスピードで投げ返すとどうなるでしょうか。おそらくクライアントはそのボールを取ろうとしますが、追いつけずにボールを落としたり、どこかにぶつけたりしてしまうでしょう。 今回は、HTTPについて、どうして正しくレスポンスを返さないといけないのかということについて、Rackを使用して解説していきます。 対象読者 Webアプリケーション開発に興味のある方、これから開発を行おうとしている方 Rackについて まず、今回使用するツール

  • Ruby を利用した大規模ウェブサービスの開発・運用 - RubyKaigi 2011 発表資料 - クックパッド開発者ブログ

    技術部開発基盤グループの id:secondlife こと @hotchpotch こと舘野です。 先日の RubyKaigi 2011 で、「Ruby を利用した大規模ウェブサービスの開発・運用」という内容で発表させていただきました。 前半はクックパッドのサーバアーキテクチャ、各種サーバのアプリがどんな風に動いているのかの紹介を、後半では「開発」→「デプロイ」→「フィードバック」→「開発」…という、サービス開発で行われているサイクルを30人以上エンジニアが居るクックパッドでどう高速に回し続けているかのお話しです。 Ruby を利用した大規模ウェブサービスの開発・運用 [slideshare id=8630511&w=425&h=355&sc=no] View more presentations from hotchpotch 当日のRubyKaigi 2011 での発表の動画は、以下を

    Ruby を利用した大規模ウェブサービスの開発・運用 - RubyKaigi 2011 発表資料 - クックパッド開発者ブログ
  • #RubyKaigi 2011で気になったgem 13選 - 昼メシ物語

    Rubyist達の夏フェスであるところのRubyKaigiが今年も開催され、猛暑の練馬が大いに盛り上がりました。今回が最後の開催とのことで、関係者各位は素晴らしい会議を当にどうもありがとうございました。 さて、今年のRubyKaigi2011での各セッションで紹介されたgemのうち、気になったものをピックアップしてみました。 1. fakeweb fakewebは、指定したURLのHTTPレスポンスを偽装する、テスト用のライブラリ。外部サービスと連携するプログラムのテストを書くにはとても便利ですね。 Engine YardのAndy Delcambre氏による「Toggleable Mocks and Testing Strategies in a Service Oriented Architecture」という発表で紹介されました。 以下、サンプルコードです。(READMEより) F

    #RubyKaigi 2011で気になったgem 13選 - 昼メシ物語
  • codnote.net

    This domain may be for sale!

    tailf
    tailf 2011/06/17
  • Ruby開発版、Rails 3アプリ起動時間を36%短縮 | エンタープライズ | マイコミジャーナル

    Ruby - A Programmer's Best Friend Ruby 1.9.2はRuby 1.8.7と比較してファイルの読み込み処理が遅いことが知られている。多くのファイルを読み込むようなケースでパフォーマンスが発揮できず、最初の起動に時間がかかる。この問題を解決する話題がRuby Insideに「The Story Behind Ruby 1.9.3 Getting 36% Faster Loading Times」として掲載されている。 記事ではXavier Shay氏が取り組んだ解決方法を紹介。既存の実装はファイルの読み込み時に実施しているルックアップ処理の効率が悪いとし、それをハッシュを使って一気に処理を短縮する方法を提案している。20ほどの依存ライブラリを利用する3,000行ほどのRails 3アプリケーションで起動時間を比較したところ、Xavier Shay氏のパッチ

  • プログラミング言語 Ruby リファレンスマニュアル

    注: Rubyは2.1.0からSemantic Versioningを採用しています。 Ruby 2.1.1, 2.1.2等はバグ修正やセキュリティfixのみを含むため、リファレンスとしては2.1に統一しています。

  • 訓練と練習は用法が違うんだなぁ。 - バカが征く

    tailf
    tailf 2011/05/31
    Javaな人がRubyに移るときにみる
  • Rubyで良く使われる記号Top50 - kotaniranoの日記

    Rubyを勉強中なのだけれど、ある程度文法を把握してから他人の書いたソースを読もうとして困るのは、「記号の意味がわからない」ということだ。 RubyではJavaなどに比べて短いプログラムで便利なことが実現できるらしいのだけれど、実際にプログラムを読み始めてみると =~ とか $& とか書いてあって良くわからない。しかも重要そうな部分ほど、そんな記号が頻出する。わからないから検索しようとしても、Googleは記号を検索語として認識しないのか、望むような結果は出てこない。 Rubyで使われる記号の意味(正規表現の複雑な記号は除く) を見つけてからはずいぶん楽になったけれど、全部覚えるのは大変だ。最近流行ったプログラミング言語の最速マスターみたいに、細かいところまではわからなくても、全体の雰囲気がわかるだけで理解が深まると思う。特にRubyを対象としたRuby基礎文法最速マスターは、書籍紹介まで

    Rubyで良く使われる記号Top50 - kotaniranoの日記
    tailf
    tailf 2011/05/31
    記号
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • 1