タグ

ブックマーク / blog.masuidrive.jp (9)

  • ブラウザの言語をJavascriptから調べる。

    Photo by midnightglory 多言語対応のサイトを作っていると問題になるのが、メッセージの切り替えです。PHPRailsを使っている場合は、HTTP_ACCEPT_LANGUAGEを見てメッセージ生成を切り替えれば良いのですが、静的ファイルの場合は、そうは行きません。 そこで、今回はJavascriptだけでブラウザの言語を取得する方法を調べてみました。 ググっていると、ブラウザ依存ですが取得する方法が見つかったので、各ブラウザで検証した所、navigator.browserLanguage、navigator.language、navigator.userLanguageのいずれかで取得できることが分りました。 ただ、この値はブラウザのデフォルト言語環境のなので、HTTP_ACCEPT_LANGUAGEとは違う値が返ってきます。たとえば、日語OSに英語版のFirefo

    ブラウザの言語をJavascriptから調べる。
  • mod_rails用のdeploy.rbとapache用設定ファイルジェネレータ

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

  • mod_rails(passenger)はmogrelの3倍メモリを食う?

    Rails運用時で気になるのは、安定性とパフォーマンス。安定性はいろいろ負荷テストをして時間が経たないと分からないので、まずはメモリのパフォーマンスから調べてみます。 とりあえず、ちょっとしたサンプルをmongrelで動かしてみると、44Mほどメモリを確保しています。 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 1003 14412 0.0 2.2 44316 23556 ? Sl Apr10 0:01 /usr/bin/ruby1.8 /var/lib/gems/1.8/bin/mongrel_rails start んで、同じプロセスをmod_rails(passenger)で起動すると、143Mほど確保されます。 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAN

  • Capistranoでmigrationsする前に自動でバックアップ

    Photo by mondopiccolo Capistranoではdeployしても、前のソースが残っているために、すぐに前のバージョンに戻せますが、データベースはそうはいきません。 そこで、deploy:migrationsを実行する前に自動でDBのバックアップを取るようなタスクを探してみました。 MySQL専用ですが、これでローカルのbackupsというディレクトリに、migration実行前のダンプがダウンロードされます。 require 'yaml' desc "Backup the remote production database" task :backup, :roles => :db, :only => { :primary => true } do filename = "#{application}.dump.#{Time.now.to_i}.sql.bz2" fi

    Capistranoでmigrationsする前に自動でバックアップ
  • HyperEstraierで個人データを検索する[まだ調べ中]

    mixiでも使われているって言う全文検索エンジンHyperEstraier。mixiの膨大な件数を処理するぐらいだから相当スケーラビリティもあるだろなーとおもいつつ、SQLだけで全文検索できちゃうMySQL+Sennaが便利なんで、そっちばっかり使ってました。 MySQL+Senna(Triton)も、PostgreSQL+Senna(Ludia)も、属性付きで検索した場合、Sennaで全文検索してから、その答えをSQLで絞り込みを行っているようで、たとえば、個人のメッセージを保存しているテーブルを検索した場合など、属性の値が多い場合には、かなり効率が悪くなる事が見えてました。 当は、メッセージみたいなものは、個人ごとにインデックスをもって処理するべきなんだろうなと思っていて、SennaでやるかHyperEstraierでやるか迷いつつ、ぐぐっていたところ、HyperEstraierがど

    gotin
    gotin 2007/12/04
  • masuidrive on rails » Blog Archive » PHPユーザの為のRuby/Rails入門

    [追記] if構文の変数スコープの説明に間違えがあります。新しいスコープは作られません。 お盆のまっただ中8/11(土)に、社内勉強会を開いて、PHPユーザ向けにRuby/Rails入門をやりました。 じつはお盆の土曜日に4時間も勉強会って事で、そんなに人も集まらないだろうと思っていたのですが、ふたを開けてみたら28名も参加があり、びっくりしました。それだけ興味を持ってもらったのは嬉しいけど、これだけ集まるなら資料はちゃんと作らないと・・・・。ということで、作った資料を公開します。なんとRuby編100ページオーバー、Rails編200ページオーバーと、かなり大作です。 RubyKaigiで、発表者のスライドの横でIRCが表示されていたのが面白かったので、勉強会の参加者には、Lingrのチャットルームに全員入ってもらって、質問やパートごとの「終わった!」という書き込みをしてもらいました。今

    masuidrive on rails » Blog Archive » PHPユーザの為のRuby/Rails入門
  • masuidrive on rails » Blog Archive » [紹介] HTTPでdRubyと同じようにリモートメソッドを呼び出すNetworkFacade

    dRubyは専用のプロトコルを使って、リモートアクセス用のクライアントとサーバを構築しますが、NetworkFacadeを使うことで、HTTPを使ってRubyのオブジェクトのやりとりをすることが出来るようになります。 dRubyを使ったことがある人なら、ほとんど同じように使うことができます。簡単なサンプルが、プロジェクトのページに記載されているので、ぜひ参考にしてみてください。 こちらでも簡単なオブジェクトは試しましたが、まだ出たばかりなので、エラー処理などが正しく行われているかに不安が残ります。 同時に既存のXML/RPCやRESTをオブジェクトにバインドすることもできます。 Wikipediaを呼び出すのは下記の様なコードになります。 #!/usr/bin/env ruby require 'rubygems' require 'network-facade' class Wikipe

    gotin
    gotin 2007/05/06
  • masuidrive on rails > Blog Archive > Railsでデスクトップアプリを作ってみる [OSX編]

    色々試行錯誤した結果、Slingboxでアプリケーションを作ることができました。 ActiveScaffold (旧AjaxScaffold)で作った簡単なアドレス帳をサンプルアプリケーションにSlingshotの使い方を見てみましょう。 作業その0 元となるRailsアプリケーションを作る 今回は元となるアプリケーションはActiveScaffoldで、さくっと作ってみます。 $ rails slingshot1 -d sqlite3 $ cd slingshot1 ./script/plugin install http://activescaffold.googlecode.com/svn/tags/active_scaffold $ ./script/generate model address name:string address:string mail:string $ ra

  • Ajaxとか使ってデスクトップアプリを作れるApolloのα版が公開

    Posted by masuidrive Mon, 19 Mar 2007 08:53:00 GMT Adobeがリリースするデスクトップアプリ環境の Apollo がやっとリリースされたので、fladdict.net のTaka君からずっと勧められていた事もあって、早速試してみました。 ApolloはFlashやHTMLJavaScriptなどを使ってデスクトップアプリを作るための環境らしいのです。最近は、OSXのDashboardやVistaのGadgetなど、Webの技術を使ってデスクトップアプリを作るのは流行だから、その流れの一つと言えるでしょう。 その辺の違いとかは、ニュースサイトとか他のブログで書かれるから、ここでは書かないとして、まずはインストールして実際に使ってみます。 Apolloはアルファ版なので、Adobe Labs からダウンロードします。 画面の真ん中よりちょっ

    gotin
    gotin 2007/03/20
  • 1