タグ

ブックマーク / lukesilvia.hatenablog.com (5)

  • Rails におけるレースコンディションの例とその回避方法 - LukeSilvia’s diary

    最近立て続けにレースコンディション問題に遭遇したのでメモ。 レースコンディション(競合状態)とは、複数のプロセスやスレッドが共有リソースに対して何らかの操作をする際に、処理のタイミングによって結果が異なってしまう状態のこと。よくトランザクションの解説の際に銀行口座の例として紹介されるおなじみのやつです。 今回は、アプリケーションの書き方によって発生するレースコンディションと、MySQL のテーブル定義時の制約不足で発生するレースコンディションについてそれぞれ紹介したいと思います。 どちらの場合も共有リソースはDB で、条件を満たすと意図しない形でデータが保存されてしまいます。 サンプルアプリケーション サンプルアプリケーションとして、簡単なアクセス解析機能付きの短縮URL ツールを考えます。 アクセス解析機能として、以下のような機能を持つとしましょう。 URL毎 にクリック数を計測できる

    Rails におけるレースコンディションの例とその回避方法 - LukeSilvia’s diary
    czblue
    czblue 2010/01/31
  • 2007-09-01

    ■MeadowでRubyを使いたいし、半透明にした〜い! ・インストール http://www.meadowy.org/meadow/wiki/%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89 3.00のjaをゲット。パッケージは全てインストールした。 ・半透明化 http://www.meadowy.org/meadow/wiki/%E8%A9%B3%E7%B4%B0%E8%A8%AD%E5%AE%9A%E5%8F%8A%E3%81%B3%E6%8B%A1%E5%BC%B5%E6%A9%9F%E8%83%BD インストールの際に、.emacsの参照場所を、何もいじっていない。 その上で、C:\meadow\.emacsを自分で作成。あとは、コードを書いた ・Rubyに対応 http://capsctrl.que.jp/kdmsn

    2007-09-01
    czblue
    czblue 2009/08/20
  • MySQL とメモリに関するまとめ - LukeSilvia’s diary

    前回のエントリーデータベースを用いたセッションデータ管理についてで、MySQL とメモリの関係について良く分からない部分があると書きました。 実はここに関する理解はかなり曖昧な部分があって、調査して追記します。とくにメモリ利用量について。mysqld のプロセスが利用できるメモリの上限が、32bit OS の場合は3G 程度ということは、innodb_buffer_pool_size もこの制限を受け、これについての警告が、先に紹介したリファレンスマニュアルのものという理解だけどいいのだろうかというのが1つ。 2 つ目は、この理解があっているとすると、4G 以上のクラスのメモリをつんだサーバをDB サーバとして利用する場合、64 bit OS でないとリソースの有効活用ができないか。それとも、先に書いたとおり、OS レベルのキャッシュとして利用できるから、結果としてデータファイルを読み込む

    MySQL とメモリに関するまとめ - LukeSilvia’s diary
  • データベースを用いたセッションデータ管理について - LukeSilvia’s diary

    Web アプリケーションとは切っても切れないセッション機構。DB ベースでセッション管理を行なって得られた知見と、それを元に考察した結果をまとめてみます。 セッションデータの特性 DB で管理される他のデータに比べ、セッションデータはかなり特殊です。主な特徴は次のような感じ。 データが増加するのが速い 定期的な削除が必要 頻繁に更新される リクエスト毎に読みに行く必要がある このデータを読めないとアプリケーション全体にアクセスできない アクセス頻度が高いということです。あと、1つ目の特徴からセッションデータについては意識的に管理してやる必要があります。 現在の環境 アプリケーションの領域が少し特殊で、セッションデータがやたらたまります(ユーザ数何百万のサービスとかそういうのではないです)。 RDBMS MySQL 4.0.22 ストレージエンジン InnoDB レコード数 6千万 テータサ

    データベースを用いたセッションデータ管理について - LukeSilvia’s diary
  • 『初めてのRuby』出版記念トークイベント に行ってきたまとめ - LukeSilvia’s diary

    O'Reilly Village / オラの村: 『初めてのRuby』出版記念トークイベントのお知らせに行ってきました。 初めてのRuby の著者で、Ruby コミッタでリリースマネージャのYugui さんと、Java からRuby へ著者で、アジャイル開発で有名な角谷さんのトークショーでした。せっかくなのでメモしておきたいと思います。 初めてのRuby の位置づけ 初めてのRuby 作者: Yugui出版社/メーカー: オライリージャパン発売日: 2008/06/26メディア: 大型購入: 27人 クリック: 644回この商品を含むブログ (251件) を見る Boot Up Yourself with Ruby の意味 著の表紙には「Boot Up Yourself with Ruby」と書かれています。Boot とは、コンピュータの起動の意味をもち、語源は(ブーツについているつま

    『初めてのRuby』出版記念トークイベント に行ってきたまとめ - LukeSilvia’s diary
    czblue
    czblue 2008/07/20
  • 1