タグ

Rubyとwebに関するHeavyFeatherのブックマーク (21)

  • HTTPで正しくキャッチボールをするには | Lab by engineering@dwango.jp

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

  • 素人がWebサービスを作ってみて分かった9つのこと:Rails Hub情報局:エンジニアライフ

    こんにちは、@IT編集部の西村賢です。IT系のオンラインメディアで編集・記者をしております。タイトルに「ど素人」と書くと、ちょっと嘘になるので「素人」と書きましたが、素人がWebアプリを作ってみた体験談と感想を書いてみたいと思います。「オレもプログラミングを勉強して何か作ってみたい!」と考えている人や、「自分でサーバを借りて何かやってみようと思っていたんだよね」という人の参考になれば幸いです。 去年の夏、Webアプリケーション開発フレームワークのRuby on Railsのことを調べていて「面白そうだな」と思い、ドキュメントに従ってサンプルアプリをいくつか作ってみました。作ったり壊したりしている間に、こう思いました。 「あれ? これなら自分が欲しかったサービスが作れちゃうんじゃないの?」 で、「Worklista」(ワークリスタ)という名前のWebサービスを作りました。3カ月ほど前から親し

    素人がWebサービスを作ってみて分かった9つのこと:Rails Hub情報局:エンジニアライフ
  • MVCとRailsの基本構成を学ぼう

    Web開発フレームワークとして人気の高いRuby on Railsの最新版、バージョン3を使ってWebアプリ開発の基を学びます。 人気のフレームワークでWeb開発を学ぶ Ruby on Railsは、いまやWebアプリケーションの開発フレームワークの有力な選択肢の1つとなっています。Ruby以外の言語のWebアプリケーションフレームワークも少なからずRailsの影響を受けているので、現在Rubyを使っていないエンジニアにとっても、Railsを知ることは大いに参考になるはずです。もうすぐRails3認定試験が格的に開始されるということもあり、この連載では、試験範囲の流れに沿って、Railsの基礎についてご紹介していきます(ただし、必ずしも試験対策というわけではありません)。 今回、連載第1回として記事では、Railsを理解する上で基となる考え方であるMVCについて説明した後、Rail

    MVCとRailsの基本構成を学ぼう
  • 1時間でツイッターサービスを作ろう!

    はじめに どうもKRAYの芳賀です。 今日はツイッターサービスをスピーディーかつ無料で作るお話です。 僕は日頃趣味でツイッターサービスを作っているのですが、アイデアを着想したその日のうちにプロトタイプを作って動かすことができるくらいにノウハウが溜まってきました。 仕事が終わってからのプライベートな時間だけでも、1週間から1か月もあれば1つサービスがリリースできる感覚がつかめたので、必要最低限の機能を備えたサービスを短時間で作れないだろうか?と時間を計測しつつ実践してみたところ、なんと1時間で完成できたので、その手順を紹介します。 開発の流れ まずは開発の流れを説明します。 ツイッターアカウントの用意 まずツイッターのアカウントが必要になるので、まだ持っていなければ取得しましょう。サービス用に改めて取得してもいいですね。 サーバの用意 作成したウェブアプリを設置するサーバを準備します。PHP

    1時間でツイッターサービスを作ろう!
  • さくっとRails on Google App Engineをはじめる·Rails on GAE MOONGIFT

    Google App Engine(GAE)の可能性はJavaをサポートしたことによってその可能性を飛躍的に向上させた。JavaVM上で実装された言語であれば何でも動作する。JRubyもその一つで、Ruby on RailsGoogle App Engine上で動作する。 GAEのパワーを素早くゲットする とは言えやはりマイノリティだけに色々な準備が必要とされていた。そのため敬遠していた人も多いだろうが、Rails on GAEによって大きく舵を切ることになりそうだ。 今回紹介するオープンソース・ソフトウェアはRails on GAE、GAEでRuby on Railsを動かすためのプラグインだ。 Rails on GAEはRuby on RailsをGAEで動作させるために必要なタスクを予めインストールすることで、後は順番に従って進めるだけでJRuby on Railsができるようにな

    さくっとRails on Google App Engineをはじめる·Rails on GAE MOONGIFT
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • Rubyの軽量Webフレームワーク「Sinatra」がステキ - このブログは証明できない。

    フルスタックがウリのRails。そこまで必要ないよ。と、ERBでゴリゴリ。メンドクセー。やっぱ、Railsで。などと、陽はまたのぼりくりかえしてーゆく。RubyのWebフレームワークは他にもあるけど。。軽くていいんだ。PHPを使いたくないだけなんだ。 そんな悩ましさを解消してくれるフレームワークを発見してしまいました。「Sinatra」でございます。こいつは、軽そうだ。 Sinatra サイトのトップページに書かれているコード。これが、サクサク感をかもし出してくれています。 require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end 説明読まなくても解るよ、これ。 日語の解説スライドがあります。よく解る解説ー。 公式サイトのREADMEを読めば、だいたいOK。 Sinatra: README パラメータを取得し

  • 「クックパッド」の裏側にいってきた | Carpe Diem

    Web デベロッパーの祭典に行ってきた。今回は、通路沸きに用意された比較的狭いスペースで開催された。 以下、メモと自分の勝手な感想をまとめておく。 クックパッドについて 毎日の料理を楽しみにすることで心からの笑顔を増やす 1998年にオープン 去年のリニューアルのときに Rails で作り直した 使い方 レシピをのせる レシピをさがす 月間ユーザ数 547万人 Rails サイト中世界7位 (from rails 100 wiki)、まさか1位がscribd.comとは 月間 2.8億 PV(PVでは、Rais サイト中世界3位) 登録レシピ数: 47万品 トラフィックは、16-18時くらいがピーク(夕飯を作る前に調べるユーザが多いとのこと) 秋からバレンタインにかけてトラフィックが伸びる(来週はピークだということで、最近はパフォーマンス向上に中心にやっていた) ユーザ数: 547万人(す

  • Ruby on Rails + MySQL で全文検索 - ドワンゴ 研究開発ブログ

    このエントリでは Ruby on RailsMySQL を使って日語の全文検索を行う方法を記述する。Ruby on Rails のバージョンは 2.0.2、MySQL のバージョンは 5.0.67、Tritonn のバージョンは 1.0.12、Hyper Estraier のバージョンは 1.4.10 を使用した。サンプルの文章データとして、あらゆる日人にとって極めて身近な著作権切れ文章である『ドグラ・マグラ』と『黒死館殺人事件』を利用した。処理のために整形したデータはエントリに添付しておく。またデータベースへアクセスするコードではマイグレーションを除きできるだけベンチマークを取るようにし、その結果はエントリの最後に記載する。 ページネーション Rails でページネーションを実現する will_paginate という plugin は ActiveRecord に標準でつ

  • 言語別フレームワークの比較 ~Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門~ (1/6):CodeZine(コードジン)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    言語別フレームワークの比較 ~Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門~ (1/6):CodeZine(コードジン)
  • こ、これは凄いぞ…Web/デスクトップ対応アプリケーション開発環境·Titanium MOONGIFT

    昨日のNative ClientはX86バイナリをブラウザで動作させるという素晴らしいソフトウェアだった。言わばデスクトップをWebに移行させる代物だ。対する技術としてはAdobe AIRやSilverlightなどがあるだろう。だがプラグイン必須という点が難点になる。 Windows向けアプリケーションも開発できる そして逆にWebのリソースをデスクトップに持ってきてしまおうというのがTitaniumだ。Webからデスクトップへとその道はつながっている。 TitaniumはApacheライセンスの下に公開されているオープンソース・ソフトウェアで、Rubyを使ってデスクトップアプリケーションが開発できてしまう。 Titaniumが手掛けるものはAdobe AIRに近いと言える。ただしRubyをベースにしているのでWebプログラマにとってはさらに開発しやすいかも知れない。モバイル対応もうたっ

    こ、これは凄いぞ…Web/デスクトップ対応アプリケーション開発環境·Titanium MOONGIFT
  • やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life

    はてなダイアリーが AtomPub で編集できるようになったので、早速 fuse を使ってファイルシステムを作ってみました。こんな感じに使えます。 http://rails2u.com/tmp/diary_fuse/fuse.htm (動画) /create に保存すると現在時刻で作成 /20080820101010 など、エントリーを編集可能。保存で更新。 rm するとエントリーを削除 /\d{14} 的なファイル名で保存すると、その時刻のエントリーを作成 などなど。Ruby の FuseFS を初めて使ってみましたが、結構簡単にファイルシステムをいじれて便利ですね。ちなみに文の改行周りがおかしくなるというアレな挙動をして、全然実用できませんが、AtomPub 使うとこんな事もできるよーという例として見ていただければ。 ソースコードは以下です。

    やたーはてなダイアリーファイルシステムできたよ\(^o^)/ - 川o・-・)<2nd life
  • かんたんAjax開発をするためのRuby on Railsの基礎知識 − @IT

    かんたんAjax開発をするためのRuby on Railsの基礎知識:Ruby on RailsのRJSでかんたんAjax開発(前編)(1/4 ページ) いまさら聞けないRuby on Railsとは? Ruby on Rails(以降、Rails)は、世の中に多数存在する現在のWebアプリケーション開発フレームワークに多大な影響を与えている、先進的で生産性の高いフレームワークです。 以下をコンセプトとして掲げており、Ruby言語で記述されています。 「同じことを繰り返さない」(DRY:Don't Repeat Yourself) 「設定よりも規約」(CoC:Convention over Configuration) ここ数年で、楽天市場、ニフティ、カカクコムなど大手IT企業での採用も進んでおり、注目を集めています。 関連記事: 楽天が「Ruby on Railsの利用を開始します」 h

    かんたんAjax開発をするためのRuby on Railsの基礎知識 − @IT
  • FlexとRailsで赤魔導士は賢者になれる - the cycles of activity

    参考:http://d.hatena.ne.jp/mizzusano/20080407/1207531215webdesigningとか読んでるとAIRとかFlexのネタがわりと目立つ。DBPressとか読んでいても、AIRとかFlexの記事は割とある(AS3)含めて。で、考えてみたのだけども、そもそもFlexは誰のためにあるのか、ということ。そもそもFlexとはなんなのかと。これは未だに僕もよくわからないのだけど、早い話 HTMLなのではないかと、HTMLの代わりにMXMLがあって、Javascriptの代わりにActionScriptが使えるのではないかなと。で、Flexというものは、RIAを手軽にサクっと作る事ができるツールで、それこそDreamWeaverライクに、フラッシュブルなサイトを構築できる。ドラッグアンドドロップでオブジェクトを配置していくだけで、サイトが作れるのだ。いや

  • Comet/Ajaxの上を行く技術 - Blog by Sadayuki Furuhashi

    上を行くかどうかは知りませんが :-p Ajaxはクライアントの都合でサーバーに通信を仕掛けるpull型の通信ができ、Cometはサーバーが好きなタイミングでクライアントへデータを送りつけるpush型の通信ができるわけですが、新たに双方向の通信ができる技術を開発しました。 具体的には、JavaScriptとサーバーの間で双方向のRPCができます。すなわち、サーバーからクライアント側のJavaScriptのメソッドが呼べるし、逆にクライアント側からサーバー側のメソッドを呼ぶこともできます。 サーバー側で call("addMessage", "Hello!") とやると、JavaScript側の function addMessage(msg) { ... } という関数が呼ばれたりします。 この技術を使って、試しにチャットシステムを作ってみました > デモ (ソースコード)*1 リアルタイ

    Comet/Ajaxの上を行く技術 - Blog by Sadayuki Furuhashi
  • mod_rails用のdeploy.rbとapache用設定ファイルジェネレータ

    Railsで一番めんどくさかったアプリの公開を、Apache httpdが動いているサーバに、普通にアップロードするだけで行える様にするモジュール、mod_railsがリリースされました。 いままで似たようなものにmod_rubyがあったのですが、ずっとメンテナンスされていない上に、構造的にRailsには向かないようになっていたので、Phusion社が新しく作ったものです。 日語での紹介はmoongiftさんの記事をご覧ください。インストール方法や使い方は、こちらの記事を参考にしてください。 このモジュールの評価が高まれば、レンタルサーバでもRailsサポートをしてくれる所が増えるんじゃないかと期待してます。 早速、自分のサーバ(EC2)に入れてみた所、特に問題もなくあっさり動きました。 ただ、Capistranoを使っている場合、mongrelの時のままだと、サーバの起動などで失敗する

  • flowr ~ WEB間アプリケーションフレームワーク ~

    flowrとは? ブログや Wiki を使うときに、「使い勝手はこちらのツールが気に入っているんだけど、機能が足りないんだよなあ」とか「ブログサービスにこの機能を追加したいんだけど、勝手にそんなこと出来ないし……」などと思ったことはありませんか? 他の人が作った Web アプリケーションやサービスの連携や拡張を行ったものの、相手がバージョンアップして仕様が変わってしまったために、作り直さなくてはならなくなったという経験はありませんか? flowr (フラワー) はそれらの問題を解決しうる方法の一つとして構想している、「外付け可能な Web 間アプリケーションフレームワーク」です。 flowr の仕組み flowr が対象とするのは、パーマネントリンクを持つ Web アプリケーションです。一般的なブログや Wiki、Amazon のような製品情報ページの URL が一定のルールで固定化できる

  • Geekなぺーじ : Rubyネットワークプログラミング

    ここでは、Rubyによるネットワークプログラミングの説明を行いたいと思います。 ここで対象としている読者は、ネットワークプログラミング初心者(もしくは入門者)です。 TCP 簡単なTCPサーバとクライアント TCPクライアント(エラー処理付き) 何度も受信できるTCPサーバ TCPサーバ(acceptした相手の確認) UDP UDPを使う UDPでブロードキャストを使う UDPでマルチキャストを使う(マルチキャストを送信する) UDPでマルチキャストを使う(マルチキャストを受信する) UDPでマルチキャストを使う(TTLを設定する) Web 簡単なHTTP GET(Net::HTTP) HTTP HEADと全てのHTTPヘッダの表示(Net::HTTP) HTTP POST(Net::HTTP) 簡単なRSSクライアント その他 IO::selectを使う IPアドレスからホスト名への変換

  • 大規模分散処理向けの国産“ウェブOS”をRubyで開発中 − @IT

    2007/11/26 2007年11月24日、「楽天テクノロジーカンファレンス2007」において、Ruby言語の開発者で楽天技術研究所フェローのまつもとゆきひろ氏は、開発中の大規模分散処理基盤「Roma」(ローマ)と「Fairy」(フェアリー)のコンセプトを語った。研究段階ではあるものの、米グーグルなど世界トップクラスのネット企業だけが持つ大規模分散処理技術に真っ向から挑戦する試みだ。 米グーグル、米ヤフー、米アマゾンなど世界トップクラスの大手ネット企業は、巨大なトラフィックに対処するため、大規模データセンターの信頼性、可用性、性能などを確保する大規模分散処理基盤の研究開発を進めている。最近では、こうした大規模分散処理基盤は“ウェブOS”と呼ばれることもあり、注目を集めている。つまり世界トップクラスのネット企業は“ウェブOS”を自社開発しているわけだが、楽天でも国産の“ウェブOS”が生まれ

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知