• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Hentai advent calendar 2012 番外編
 

Hentai advent calendar 2012 番外編

on

  • 1,227 views

2012/12/29 忘年会駆動

2012/12/29 忘年会駆動

Statistics

Views

Total Views
1,227
Views on SlideShare
865
Embed Views
362

Actions

Likes
0
Downloads
0
Comments
1

5 Embeds 362

http://d.hatena.ne.jp 306
http://odashinsuke.hatenablog.com 46
http://webcache.googleusercontent.com 5
https://twitter.com 4
http://hatenatunnel.appspot.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • クエリ間違えてたのでスライド上げ直しました
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Hentai advent calendar 2012 番外編 Hentai advent calendar 2012 番外編 Presentation Transcript

    • HENTAI Advent Calendar 2012 番外編キュー(QUEUE) を実装しよう! 2012/12/29 忘年会駆動 お だ
    • 自己紹介織田 信亮(おだ しんすけ)大阪で開発者していますSQLWorld の代表ですhttp://d.hatena.ne.jp/odashinsuke/Twitter:@shinsukeoda
    • 単に実装するのはつまらないので…デキュー(DEQUEUE) に トランザクション機能をつける 分散システムとかだと欲しくなったりする よね? 分散システム作らないけど…
    • こんな感じの API を提供するenqueuedequeueWithTransactioncommitrollback
    • Transaction機能つけたった! Hoge 駆動なので、Java で実装したった 仕様 Thread 間で別トランザクション扱い 操作する キュー の インスタンス は同じ
    • これのどこが HENTAI? みなさん今から実装して下さい! 参加者に負荷を強いるところが HENTAI!
    • ネタはさておき…一部 Xtend を使って実装したった 結構あっさり出来た Xtend の便利なところと不便なところ
    • これのどこが HENTAI? 大したことなくね? どこが HENTAI よ? HENTAI?
    • Transaction といえば… DB (RDBMS) が一般的 SQL Server 使って実装したった! 仕様 DB のトランザクションを利用する ロック競合で待ちが発生しないようにする 他のトランザクションが開いている状態でも、デ キュー可能(読み飛ばし) キューのインスタンス間で別トランザク ション扱い
    • キューを実現するクエリdelete from [Table] with (READPAST)output deleted.[Value]where [Id] = ( select top (1) [Id] from [Table] (READPAST) order by [Id])
    • T-SQL の解説 TOP 句 先頭 N 件を返す (ソート済データに対し て) READPAST テーブルヒント 他のトランザクションによってロックされ ている行を読み取らない OUTPUT 句 更新内容を取得出来る(変更前/変更後)
    • 他の DB でも出来ると思うけど…機能が足りないとメンドいかも OUTPUT が無かったり プロシージャにするとか READPAST が無かったり 仕様を変えて、commit フラグ列追加して一旦コ ミットして読み飛ばすとか
    • HENTAI の条件を満たしているか?DB をキューに見立てるのは実用でもあるかも… 経験ないですがでも、あんまり聞かないので HENTAI!