タグ

Rubyに関するminarai_wizardのブックマーク (8)

  • 手続き型とオブジェクト指向の違いをFizzBuzzで理解する - COBOL技術者の憂鬱

    前回のエントリーでは、手続き型とオブジェクト指向とで、プログラミングの違いが理解できるようになってきたと書きました。 ですが、当に理解できているのかどうか自分でもあいまいなところがあるので、実際に両者でプログラムを書いて比較してみることで、その違いについて考えていこうと思います。 対象のプログラムですが、まだ簡単なものしか書けないので、FizzBuzzにしましょう。 これは一時、流行りましたね。あの時は私もCOBOLで書いたのですが、今回はRubyでやってみることにします。 まずは、以前に書いたCOBOLソースをそのままRubyで焼き直してみました。 【ソース1】 #手続き型(関数を利用しない構造化プログラミング) #3の倍数を求める(Fizz) Fizz = [] for i in 0..100 if i % 3 == 0 Fizz[i] = 'Fizz' else Fizz[i] =

    手続き型とオブジェクト指向の違いをFizzBuzzで理解する - COBOL技術者の憂鬱
    minarai_wizard
    minarai_wizard 2010/10/31
    ああこれは分かりいいなぁ。ooがどういうものか分かっている「つもり」ではあるけど、書き換え、という手法は理解に大変役立ちますの
  • グリーの大規模分散ストレージ戦略(nanofs) | GREE Engineering

    はじめに はじめまして、グリー株式会社でエンジニアをしておりますkgwsと申します。今回は、グリー内で写真データの保存を行っている分散ストレージ(nanofs)を紹介させていただければと思います。 背景 弊社で運営させていただいている "GREE" ではユーザの写真や動画データを保存することができます。1億ユーザを目指すグリーは、ユーザの増加とともに写真や動画データは上限なしに増加していきます。またユーザの皆様の大切なデータを失うことは許されませんし、サービスを止めることも許されません。そんな状況の中、様々な技術や仕組みを使いサービスを運営してまいりました。 グリーのストレージの歴史は大きく分けて3世代がありました。 第一世代 第一世代ではアプリケーションサーバからNFSサーバをマウントし画像データを保存しておりました。簡単に導入できることと高価なサーバを使用すれば信頼性や安定性も保たれる

    グリーの大規模分散ストレージ戦略(nanofs) | GREE Engineering
    minarai_wizard
    minarai_wizard 2010/07/13
    参考資料としてメモメモ
  • 単調なウェブサイトのデザインに手を加えてクオリティをアップするチュートリアル

    ウェブサイトのデザインに、ビジュアルエレメントを追加したり、細部をブラッシュアップしたりしてクオリティをアップするPhotoshopのチュートリアルをPsdtuts+から紹介します。

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • クローラーを作るためのフレームワーク·Anemone MOONGIFT

    RSSフィードやWeb API、Mashupなどの単語が注目を集める中、Webクローラーを通じて外部のWebサイトにあるデータをかき集め、それを解析して別な形にするというのはよく見られるものになってきた。 あるURLを指定し、そこからリンクされているURLを一覧表示できる そうした数々のシステムの中で、クローラーとなる基盤は大きな違いはない。Webサイトのデータを取得し、次のリンクを洗い出して取得していくようなものだ。そうした共通動作部分を切り出したフレームワークがAnemoneだ。 今回紹介するオープンソース・ソフトウェアはAnemone、Webクローラを開発するためのフレームワークだ。 Anemoneは任意のWebサイトにアクセスし、その内容を解析するWebクローラーだ。例えばあるURLに付けられているリンクを一覧で取得するようなことも簡単にできる。外部サイトなのかどうかも区別できるの

    クローラーを作るためのフレームワーク·Anemone MOONGIFT
  • ActionMailServer - テストとか

    Rails で ActionMailer::Base#receive を実装したものの、いちいち postfix の設定をしたりしてテストをするのが面倒すぎるので、ActionMailServer なるものを作ってみました。1 ./plugin/install svn://rubyforge.org/var/svn/railsmailserver/plugins/actionmailserver2 config/environment.rb に以下の設定を追加 $mail_server = MailServer.new('127.0.0.1', 10025) do |server| server.filter_rcpt {|rcpt| rcpt =~ /@example\.com$/i } server.handle {|data| TheMailHandler.receive(data)

  • 進化する“Webスクレイピング”技術の世界 ― @IT

    2007/02/20 WebサービスAPIRSSフィードを使って複数サイトのサービスや情報をマッシュアップ――。これはWeb2.0が包含するいくつかの概念のうち、最も重要なものの1つだ。Amazon.comやGoogleYahoo!楽天といった大手Webサイトは、RESTやSOAPを用いたAPIを公開しており、さまざまなサービス提供者や個人がAPIを通して各種サービスを利用している。その一方、世の中のWebサイトの大多数はWeb1.0的なHTMLCGIフォームしか提供していないのが現実だ。こうした背景からWeb1.0サイトから構造化されたデータを引っ張り出す“Webスクレイピング技術が急速に発展してきているようだ。 HTMLをXML化し、XPathで関連データだけを抽出 例えば価格情報サイトでは製品名から価格が簡単に調べられるが、Webサーバから提供されるのは、製品名や価格にレ

  • 「同じコード」の同じって何さ - TAPのススメ : 404 Blog Not Found

    2008年03月27日03:00 カテゴリArtLightweight Languages 「同じコード」の同じって何さ - TAPのススメ 問題は、この「同じコード」の定義。 「誰が書いても同じコード」は大事なことなのか - ひがやすを blog でも、「誰が書いても同じコード」にするってのは、そもそも無理だと思うんだよね。そうやって、わざわざドキュメントをたくさん書かせても、めためたなコードを書くやつはいて、総合テストするときに、現場は燃え上がるもの。ある程度の規模以上のプロジェクトなら、どこでもそんな感じじゃないかと思います。同じ「書き方」をしなければならないのか? 結果が「同じ」ならいいのか? もし後者だとしたら、実は 重要なのは、「誰でもメンテナンスできるコード」にすること。そのために、コーディング規約は、きちんと決めてみんなで守る、それ以上は、がちがちに縛る必要はない。 すら必

    「同じコード」の同じって何さ - TAPのススメ : 404 Blog Not Found
  • 1