注意!!このエントリは賞味期限切れています。 Rails3がリリースされているけど、まだまだ、Rails2系でうごいているアプリケーションも多い。 RVMに備わっているgemsetという機能を使って、rails2系とrails3系の環境を整えてみた。 こういうことができるようになるよ。 #ruby1.8.7 + rails2 rvm use 1.8.7 rvm gemset use rails2 #ruby1.8.7 + rails3 rvm use 1.8.7 rvm gemset use rails3 #ruby1.9.2 + rails3 rvm use 1.9.2 rvm gemset rails3 #RVMじゃなくて、/usr/bin/ruby(自分の環境だと)を使いたいとき rvm use system #RVMじゃないgemを使いたいとき rvm gemset use glo
行ロックとは 行ロックとは、テーブルの同一レコードに対して、複数同時に更新できないように制限する仕組みのことです。 Ruby on RailsのActiveRecordには2種類のロック方法があります。 楽観的ロック(Rails依存) 悲観的ロック(DBMS依存) それぞれの違いや使い方について解説していきたいと思います。 楽観的ロック 楽観的ロックとは、DBMSの機能に頼らずロックバージョンをレコードに保存しておくことで、取得時と変更時にロックバージョンに変更がないか確認し、変更があった場合は例外を発生させる方法です。 ロックするタイミング データ更新時 データを複数同時に取得することができるが、途中で更新されていた場合は、更新できない 仕組み テーブルにlock_versionフィールドを追加する lock_versionが書き換わっていたらActiveRecord::StaleObj
昨日書いたDebian の apache で cgi と mod_ruby - UDONCHANで いくら小さいプログラムでも繰り返し呼ばれる場合,CGIはどうしてもプロセスの起動のコストがかかってしまう みたいなことを書いたけれど,実際にどの程度のコストがあるのかを確かめたことがなかったので,実際にやってみることにした.実験のためのコードは mala さんが作った cpan モジュールの WWW:Curl::Easy つかって % cat mala.pl use WWW::Curl::Easy; my $url = $ARGV[0]; my $num = 100; curl_easy(); sub curl_easy { my $curl = new WWW::Curl::Easy; for $i (1..$num) { my $response_body; my $header; $c
リーンスタートアップというのをご存知でしょうか? スティーブン・ブランクのアントレプレナーの教科書という本がありますが、彼に影響を受けたウェブサービス起業家のエリック・リーズが考え出したビジネス手法です。 彼は一度シリコンバレーで起業して失敗しているのですが、それを教訓にどうすれば成功する確率が上がるのかを考えました。 その答えは簡単に言うと顧客が誰なのかを見つけ、どういう問題を抱えているかを理解することです。 そして、その顧客に問題の解決策を提供すれば自然とビジネスになります。 彼の手法はウェブサービスを前提にしていますが、他の業種にも応用可能な手法です。 上のビデオは彼がスタンフォード大学で講義したときのものですが自分なりに重要と思われるポイントをまとめて補足してみました。 1 すばやくたちあげる。 まず、いけそうなサービスを思いついたら必要最小限の機能のみを実装してできるだけ早く公開
RailsWizard RailsアプリのテンプレートをWEB上でウィザード形式で作れる「RailsWizard」。 Rails自体でアプリケーションを高速を作成できるのですが、RailsWizardを使って更に基本的なことをウィザード形式で設定することでより高速なアプリ作成が可能になるかも。 まずはテンプレート名を入れて開始 テンプレートのDescription設定 利用するORマッパーを選択する テスティングの設定 利用するJavaScirptフレームワークの選択 認証の設定 テンプレート設定 テンプレートの出力後に実行するRubyコードを記述 あとはRailsのコマンドで作ったテンプレートを指定するみたい。 作ったテンプレートにはPermalinkが発行されるので再利用もできそうですね。 関連エントリ 各言語用Ruby on Railsの代替フレームワーク
さくらのVPSにRuby on Rails3をインストールする手順です。 以前書いた CentOSにRubyとRuby on Railsをインストールするの記事を、 さくらのVPS環境にあわせました。 OSは、CentOS 5.5 x86_64です。 OS再インストール直後に実行しているので、 同じ手順を踏んでいけばきっとできると思います。 では、さっそく。 ※/path/to/〜と記載している箇所は、適宜ご自分の環境にあわせてください。 関連するライブラリをインストール # yum install openssl-devel Rubyをソースからインストール # cd /tmp # wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz # tar xfz ruby-1.8.7-p174.tar.gz # cd r
Sinatra 1.1.0 がリリースされました。 sinatra/CHANGES at 1.1.0 · sinatra/sinatra · GitHub 手元のコードをSinatra 1.1対応しようと思ってCHANGESを眺めて、簡単に翻訳してみようかなと思った。のでだらだら。いいかげん訳なのであんまり本気で信じないで、みんなちゃんと英語の原文に当たるといいと思います。 あと 1.0 が理解の前提になってるのは言うまでもありません。 before/after フィルタに、パスのパターンマッチ(パラメータキャプチャつき)が使えるようになった before('/user/:name') { |name| ... } scssテンプレートをレンダリングするために scss というメソッドおよびファイル拡張子 .scss が使えるようになった 以下のテンプレート(用のメソッド)が使えるようにな
Sinatra+Thinで、どこかからHTTPで取得した結果を加工して出力したい、という場合、 require "open-uri" get("/") do open("http://example.com/"){ |f| f.read() } end でもいいのですが、これだとexample.comからの返答待ちの間、EventMachineが完全に止まってしまうのがいまいちです。そこでem-http-requestを使おうとしたのですが、それにはハンドラのレスポンスを非同期に返す必要があります。どうするんだろうと思ったのですが、async_sinatraというものがあるようです。 $ sudo gem install async_sinatra em-http-requestrequire "sinatra/async" require "em-http" register(Sinat
YAPC::Asia Tokyo 2010 (c)tsuyoshikawa CC-BY-NC
感情をあらわしたキーワードとカラー、国ごとの色合い、月ごと・曜日ごと・時間ごとの色合いなど、2010年のカラーをまとめたインフォグラフィックを紹介します。 Color of the Year 2010: By The People [ad#ad-2] 「Color of the Year 2010」は、世界137ヵ国1,088人の人々を対象に2010年のカラーについて調査を行ったもので、カラーの流行について具体化したインフォグラフィックとなっています。
Google AdSenseにおいてカテゴリフィルタが日本語でも利用できるようになり早一ヶ月が過ぎました。 Inside Adsense - 日本語: カテゴリ フィルタが日本語で利用可能になりました この度、皆様からご要望の多かったカテゴリ フィルタが新たに日本語を含む 6 言語で利用可能になりました。 と言うわけで、設定してみてずっと様子を見ていたのだけど、なかなか良い感じでフィルタされているようなので、まだ設定されてない人にはぜひ設定してもらいたいところです。 使い方は簡単。 Google AdSenseの管理画面で、"AdSense 設定"タブを選択し、更に広告レビューセンターを選択する。 すると下記画面が表示されるので、排除したいカテゴリを選択して、送信を押す。 さあ、情報商材にチェックを入れて送信を押す。 さあ、情報商材にチェックを入れて送信を押せ。 詳細は以下のヘルプにも書か
2009年7月27日月曜日 Bloggerの記事内にグーグルアドセンス広告を表示する Bloggerは特殊なHTMLエンティティ文字が使用されているために「レイアウト→HTMLの編集」からはGoogle AdSenseコードをそのまま貼り付けることができません。 レイアウトテンプレートならば、「レイアウト→ページ要素→ブログの投稿の編集」で簡単にポストフッターの下にアドセンス広告を表示することができるのですが、私的には表示場所が好ましくなく、記事本文の直前・直後にアドセンス広告が表示できるように以下の方法を採っています。 ◆AdSenseコード内の カッコ と 引用符 " をHTMLエンティティ文字に変換する。 「 < 」 ⇒ 「 < 」「 > 」 ⇒ 「 > 」「 " 」 ⇒ 「 " 」HTMLエンティティ文字に変換前のAdSenseコード<script type="text/javas
yesコマンドとは? 'YES' - 妖精がみえてしまうジョンアンダーソンのプログレッシブバンドのことではありません。UNIX/Linux の yes コマンドを少しだけ語ってみたいと思います。 yesコマンドってなんですか?という人はまずUNIX/Linuxのターミナルで'yes'と入力してみましょう。 $ yes y y y^Cy がひたすら続きます。引数に文字列を渡せばその文字列をひたすら吐き出します。 $ yes "Cirque du Soleil" Cirque du Soleil Cirque du Soleil Cirque du Soleil Cirque du Soleil^Cこれ意味あんの?と思いたくなります。では何に使えるのでしょう? そうターミナルで対話的に行うときに なんと あの y を入力してくれるのです。 yesの例 まずテストファイル作成 $ for i i
mixiアプリ「大喜利PHPプレイバック」を公開しました - 理系のためのTIPS集 上記エントリでも書きましたが、今年の目標だったmixiアプリの公開までなんとかこぎつけることができました。 アプリ名:大喜利PHPプレイバック URL:http://mixi.jp/view_appli.pl?id=16441 2012/02/28 追記 mixiアプリの仕様変更に伴い、上記のアプリは提供を終了しました。 公開日は2010年10月26日。現時点での利用者数は50人(!)です。大喜利好きな人は使ってみてください!(泣) このエントリの趣旨 Webプログラミング未経験だった自分がmixiアプリの開発をすすめるにあたっては、以前話題になった下記の2エントリにたいへん刺激を受けました。 文系ド素人がmixiアプリを開発〜リリースするまでのまとめ - kazu0620の日記 Webプログラミング素人
▼MySQLのメリット ・SQLiteと比較して高機能なので、SQLiteでは使えない関数や手法が使える ・IDEとかで標準対応しているので、開発しやすい ・ネットに情報があふれているから情報集めに苦労しない ・洗練されたDB管理ツールphpMyAdmin が存在する。 (SQLiteにも複数の管理ツールが存在するけど、個人的に使い勝手が良いとは言い難い) ・公式のドキュメントが充実している ▼MySQLのデメリット ・仰々しいし重々しい ・個人的に、MySQLを使う=比較的大きなプログラムを組む時という認識があるので、何となくストレスを感じる ▼SQLiteのメリット ・PHP5以上?とApacheが動作する環境であれば動作するので、「どこのサーバで動かすー」とかそういった事を気にしなくて済む。 ・MySQLより軽快に動作する気がする ・個人的に、SQLiteを使う=小さい簡単なプログラ
こんにちは。開発ブログ言いだしっぺの satoshi です。リートでは、AddClips と Lancers というサービスが現在の主力サービスですが、AddClips は1人のエンジニアが担当し、Lancers は2-3人 のエンジニアが開発を担当しています。 当たり前ですが、1人と3人では開発スタイルが大きく異なり、気をつけるポイントも全く違います。当たり前の事が多いのですが、リートで特に気をつけていることをご紹介できればと思います。 開発環境 VMware ESXi を使って開発環境は5秒で用意する 通常、VMwareはLinuxやWindows上で動作しますが、VMware ESXi はその上で直接、複数のVmware(仮想化マシン)を立ち上げることができます。 Vmwareを導入するために、Linuxを導入したりする必要はなく、その容量も32MBとコンパクト。しかも無償で利用可能
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く