サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
最近立て続けにレースコンディション問題に遭遇したのでメモ。 レースコンディション(競合状態)とは、複数のプロセスやスレッドが共有リソースに対して何らかの操作をする際に、処理のタイミングによって結果が異なってしまう状態のこと。よくトランザクションの解説の際に銀行口座の例として紹介されるおなじみのやつです。 今回は、アプリケーションの書き方によって発生するレースコンディションと、MySQL のテーブル定義時の制約不足で発生するレースコンディションについてそれぞれ紹介したいと思います。 どちらの場合も共有リソースはDB で、条件を満たすと意図しない形でデータが保存されてしまいます。 サンプルアプリケーション サンプルアプリケーションとして、簡単なアクセス解析機能付きの短縮URL ツールを考えます。 アクセス解析機能として、以下のような機能を持つとしましょう。 URL毎 にクリック数を計測できる
画面で選択した検索条件に基づき、データをファイル出力したいという要件は、非常に多いですが、基本に忠実な実装しないとメモリー不足等で大変な事になります。メモリーの利用方法と、応答速度を意識して、改善していきます。 メモリー展開+ファイル作成 @posts = Post.all open(file_name, "wb") do |f| @posts.each do |post| f.write(post.to_csv + "\r\n") end end send_file(file_name) 長所 簡単 短所 @postsが大量データだった場合に、メモリー不足に陥ります。 ファイルが出来上がるまで応答を返せない。 フェッチループ+ファイル作成 open(file_name, "wb") do |f| Post.connection.raw_connection.query("select *
As I promised at RailsConf, we’re finally good to go on the Rails 3.1: Release Candidate. This is a fantastically exciting release. We have three new star features and an even greater number of just awesome improvements. First the stars: The Asset Pipeline The star feature of 3.1 is the asset pipeline powered by Sprockets 2.0. It makes CSS and JavaScript first-class code citizens and enables prope
Firefox web browser - Faster, more secure & customizable Firefox 4開発版にHTTP Strict Transport Security (HSTS)の機能が実装された。HSTSはすでにChromeでは実装されていたセキュリティ機能。Firefox 4でデフォルトの機能として動作するようになる見通し。 Chromeが実現する5つの新しいセキュリティ機能 HSTSが実際にどういったように機能するのかがFirefox 4: HTTP Strict Transport Security (force HTTPS) ? Mozilla Hacksでわかりやすく紹介されている。http://とhttps://の双方の通信を提供している場合、サイト運用者はより安全な通信を実現するために、http://へのアクセスはhttps://へ転送し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く