環境:NetBeans 6.8 + Ruby 1.8.7 + Sinatra 0.9.4 + Mongrel 1.1.5 対策:プロジェクトのプロパティから実行カテゴリを選択し、引数欄に「-s mongrel」と利用サーバーを指定。 デバッグモードだと動いたりしてはまったのでメモ。
12月に入ってから、開発が続けられているGolangのSinatra風フレームワーク(?)web.go。 http://github.com/hoisie/web.go ビルドには、最新版のgolangが必要。特徴は、バイナリにコンパイルして実行するから高速とのこと。クリスマスイブの夜に、VPSでいきなり80番開放してテストしてみる。 今晩はハローワールドのみ。 package main import ( "fmt" "web" ) func hello(val string) string { return fmt.Sprintf("こんにちは、世界 %s", val) } func main() { web.Get("/(.*)", hello) web.Run("0.0.0.0:80") } キモは、「web.Get(“/(.*)”, hello)」のところで、関数helloにur
ひさびさにプログラムネタです。 以前から気になっていたRubyの軽量WebフレームワークSinatra。どんな感じかなーと調べてみる意味でTropyを実装してみた。ブログに直接乗っけようかなーと思ったけど結構分量あったので圧縮ファイルで公開します。ソースコードはご自由にお使いください(コメントとか全然書いてないですが)。っていうかこんな感じで良いのかなぁ。 sinaTropyダウンロード 実行には'sinatra'と'haml'の外部ライブラリが必要です。RubyGemsでインストール出来ます。 圧縮ファイルを適当な場所で展開して、start.rbを実行してください。http://localhost:4567/でアクセス出来るはずです。 参考にしたサイトはこのあたり。 http://www.sinatrarb.com/intro-jp.html 第9回 SinatraとSequel・Ham
twitter stream APIとは、twitterのステータス更新に対してキーワードでtrackしたり、あるグループ内に属するステータス更新をフィルタしたり出来るAPIなのだけど、実際にはchunkedなストリームが流れて来ているのであって、これを使ったWebアプリを作る際にはlong pollを使うのが良い。ただしクライアントサイドでjavascriptを処理する際に サーバサイドでステータス更新をFIFOに溜め込む クライアントからリクエストをブロック(long poll)しFIFOからステータスを送出する クライアントサイドでlong pollを行い画面を更新する 再度サーバへリクエストを投げる を繰り返すのであれば、せっかくストリームなのにアプリサーバとの接続を切ってしまう事になる。出来ればクライアントからWebアプリもストリーミングとしたい。しかしながらサーバからのステータ
少し前のエントリで、GAE/JRuby上でRackアプリを動かす手順を書きました。 Google App Engine上でRubyアプリを動かす手順 - しばそんノート このときの手順は、Java SDKをインストールして、GAE SDKをダウンロードして、jruby-complete.jarをコンパイルして…と、やや煩雑なものでした。この当時はおそらくこれが一般的な手法だったのではないかと思います。 しかし、今や時代は変わりました。今GAE/JRubyでRackアプリを作るのに必要な作業は、たったひとつのgemのインストールだけです。 GettingStarted - appengine-jruby - Getting Started with JRuby on Google App Engine - Project Hosting on Google Code 有志によってGAE/JR
無料なのは間違いないが、(おそらく)最速にしてあるところがミソ。 魔法使いに必要なもの 基本的なRubyの知識 基本的なhttp, htmlに関する知識 Googleアカウント 魔法使いに必要でないもの 自宅サーバ レンタルサーバ MVCとかDBとかの知識 前提 アプリケーションはGoogle App Engine(Java)の上で動かす JRuby+Sinatraで構成。JRubyはJava仮想マシン上のRuby実行環境のことで、SinatraはRubyの超お手軽・軽量Webフレームワーク。 そんじゃあ始めます。俺の環境がLinuxなので、WinやMacを使ってる方は適宜読み替えてね。 1、まずGoogle App Engineのアカウントを取得する。アプリケーションを適当に登録する。 Googleのアカウントがない人はまずそこから。既に持ってる人はGoogle App Engineに登
Sinatra でアプリを開発をしているときにソースを更新する度に アプリ終了→アプリ起動 を行っていて面倒だった。それを解決するのが shotgun。shotgun はソースを更新すると自動的に再読込みしてくれる。これでわざわざ手動でアプリを再起動させる手間がなくなり開発がスムーズに。これを開発した人は Sinatra の開発にも携わっているみたい。インストールの仕方や使い方は公式のサイトに乗っているのでそれを参照。 インストール後、動作確認するまでに引っかかった点が一つあった。私の開発環境は VirtualBox 上の仮想マシンで動作しており、Sinatra の実行等も仮想マシンで行っている。ブラウザを使っての確認はホストマシンのブラウザから行っている。この状態で shotgun を使ってサーバを立ち上げただけでは、ホストマシンからの確認ができない。原因は Rack が使用するIPアド
This page is also available in English. 始めよう SinatraはRubyで下記のような最小労力で手早くウェブアプリケーションを作成するためのDSLです。 # myapp.rb require 'rubygems' require 'sinatra' get '/' do 'Hello world!' end gemをインストールして動かしてみる。 sudo gem install sinatra ruby myapp.rb localhost:4567 を見る。 ルート Sinatraでは、ルートはHTTPメソッドとURLマッチングパターンがペアになっています。 ルートはブロックに結び付けられています。 get '/' do .. 何か見せる .. end post '/' do .. 何か生成する .. end put '/' do .. 何か更
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
http://github.com/spiritloose/Schenker 前に Ruby の Sinatra を触ってみていいなとおもったので最近作り始めた。 ひととおり機能はそろってきたので公開してみる。 HTTP::Engine + HTTP::Engine::Middleware + HTTPx::Dispatcher + Sinatra風インターフェース みたいな感じのフレームワーク、っていうかDSL。 # myapp.pl #!/usr/bin/env perl package MyApp; use Schenker; get '/' => sub { 'Hello, world!'; }; get '/hello/:name' => sub { my $args = shift; "Hello, $args->{name}!"; }; で `./myapp.pl` すると動
tkosugaが管理しています。お問い合わせありましたらメールにてご連絡下さい。今流行のrubyの軽量ウェブフレームワークsinatraを使ってサイト作りました。バージョンは0.9.2です。sinatraのサイトはカッコいいなあ。 まずgemでインストール。 gem install sinatra プロジェクトフォルダ直下のコントローラーとなるapp.rbの内容。今回作ったサイトのコードです。 require "rubygems" require "sinatra" helpers do def partial(page, locals = {}, options={}) erb page.to_sym, options.merge!(:layout => false), locals end end get '/' do erb :index end get '/about' do er
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く