ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 ·...
TRANSCRIPT
![Page 2: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/2.jpg)
今日の話
重要なこと
とても重要なこと
私について
Dropのこと
![Page 3: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/3.jpg)
重要
日本語版に寄稿しました
宣伝しなくても売れそう
![Page 4: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/4.jpg)
とても重要
2005年夏
まだ初刷買えます!
初刷5周年!!
dRubyによる
関 将俊 著
分散・Webプログラミング
![Page 5: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/5.jpg)
さらに重要
2010年秋
電子書籍版永遠に初刷?
dRubyによる
関 将俊 著
分散・Webプログラミング
![Page 6: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/6.jpg)
私について
ちゃんとした会社員
toRuby
![Page 7: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/7.jpg)
ちゃんとした会社員
わりと大きな会社
プロの無職
![Page 8: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/8.jpg)
ちゃんとした会社員
わりと大きな会社
プロの無職
![Page 9: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/9.jpg)
toRuby
西那須野公民館を中心に活動
とちぎRubyの勉強会
とちぎRuby会議01,02
とちぎテストの会議(連番なし)
![Page 10: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/10.jpg)
Google間違ってるので注意
©2010 Google - 地図データ ©2010 ZENRIN -
栃木県那須塩原市 付近の 西那須野公民館
A. 那須塩原市役所 西那須野公民館栃木県那須塩原市太夫塚1丁目194!1 "
0287-36-1143 "
©2010 Google - 地図データ ©2010 ZENRIN -
◀正解はココ
![Page 11: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/11.jpg)
メモのご用意を
とちぎRuby会議03
2011-2-26
50回達成記念
スピーカー募集中(自薦歓迎)
![Page 12: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/12.jpg)
RubyKaigi x 5
2006 dRuby, Again.
2007 Answering dRuby and Rinda
2008 erbを偲んで
2009 偉大なBigTableとぼくのおもちゃ
2010 RWikiと怠惰な私の10年間
遺産で登壇するのはそろそろ限界か。◀いまここ
![Page 13: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/13.jpg)
今日の話
Drop。
Rindaの実用的?な応用
いろんなモノに見えるライブラリ
![Page 14: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/14.jpg)
DropPusherの中の人も絶賛!!
![Page 15: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/15.jpg)
いろんなものに見える
プロセス間の同期・変更通知の機構
オブジェクトの保存場所
バッチ処理のミドルウェア
インタラクティブ処理のミドルウェア
Twitterのタイムライン
![Page 16: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/16.jpg)
どこからきたの?
PRb, KoyaなどのOODBへの挑戦と失敗
Rindaのアプリケーションの経験
分散ファイルシステムへの憧れ
2009 RubyKaigiでの講演のテーマ
世界をコントロールブレイク!
![Page 17: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/17.jpg)
できること
覚える
思い出す
待つ
忘れられない
![Page 18: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/18.jpg)
覚える
キーを指定しないで保存するKVSwww
受け付けた時刻がキー
保存操作の戻り値がキー
思い出す補助となるタグを付加できる
![Page 19: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/19.jpg)
キー
時刻から変換された整数
Dropの中でユニーク
Drop内部ではオブジェクトは時系列に並ぶ
![Page 20: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/20.jpg)
思い出す
時刻を指定して思い出す
あの時よりも後に追加されたものを思い出す
時間軸にそって前後にブラウズ
タグでフィルタできる
![Page 21: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/21.jpg)
待つ
指定した時刻よりも後に追加されたオブジェクトがないときはブロック
新しいオブジェクトが追加されたら再開する
タグでフィルタできる
![Page 22: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/22.jpg)
タグ
Stringです
いくつでもつけられるけど、覚えるときにしか指定できない
![Page 23: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/23.jpg)
忘れられない
オブジェクトの更新や削除はできない
過去は変更できないので、並行処理のイヤなことを気にしないですむ
トランザクション?
![Page 24: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/24.jpg)
使い方のヒント
あまりにも唐突な仕組みなので
![Page 25: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/25.jpg)
なにに使うの?
某所向けRWiki全文検索
某所向けメッセージングシステム
自分用メモ
irbで作ったオブジェクトをメモとか
![Page 26: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/26.jpg)
メモの例irb(main):041:0> pp drop.head(2)[0][1289928806763125, {"メタグロス"=>[80, 135, 130, 95, 90, 70], "ベロベルト"=>[110, 85, 95, 80, 95, 50], "パッチール"=>[60, 60, 60, 60, 60, 60], "ココドラ"=>[50, 70, 100, 40, 40, 30], "エテボース"=>[75, 100, 66, 60, 66, 115], "ピカチュウ"=>[35, 55, 30, 50, 40, 90], "ナックラー"=>[45, 100, 45, 45, 45, 10], : : "オタチ"=>[35, 46, 34, 35, 45, 20], "マッギョ"=>[109, 66, 84, 81, 99, 32], "ドクケイル"=>[60, 50, 70, 50, 90, 65], "ムクホーク"=>[85, 120, 70, 50, 50, 100], "ブラッキー"=>[95, 65, 110, 60, 130, 65], "ハンテール"=>[55, 104, 105, 94, 75, 52]}, "種族値"]=> nil
![Page 27: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/27.jpg)
とりあえず保存する
作業中のオブジェクトをとりあえずメモしておく
キーとか気にせず気軽に保存
OODBでObjectをnewする感覚
おおよその時刻がわかればなんとかなる
ロディアにメモする感じ
![Page 28: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/28.jpg)
write
•write(obj, *tags)
•オブジェクトを追加する•分類、参照のためのタグを指定できる•戻り値はkey
![Page 29: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/29.jpg)
ユニークなキー
重複の無い値を安価に作るのは大変
考えるのめんどうだった > Koya, PRb
ある瞬間にDropが気づける事象は一つ
時刻は単調増加でいろいろ便利
![Page 30: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/30.jpg)
ストリームとして使う
ある時刻より後のオブジェクトを取得するAPI
アプリケーション側で外部イテレータを簡単に書ける
Dropからコールバックする必要がない
RMIを減らす工夫
![Page 31: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/31.jpg)
read
•read(key, n=1, at_least=1, timeout=nil)
•俺が知っていることより新しいことをn個教えろ
•at_least個揃うまで報告するな
![Page 32: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/32.jpg)
典型的なブラウズ
↑実験してないので注意
def drop_each(drop, key=0, &blk) while true ary = drop.read(key, 10, 1) ary.each(&blk) key = ary[-1][0] endend
![Page 33: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/33.jpg)
バッチ処理
バッチ処理はたいてい失敗する
というかやりなおしたいことがある
ブラウズの中断や再開が容易
消えないQueueの利点
![Page 34: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/34.jpg)
待ち合わせ
全て読み尽くしたらオブジェクトが増えるまでブロックできる
新しいイベントが発生するまで止まる
やることないときはぶらぶらしない
![Page 35: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/35.jpg)
一度に教えろ
一度にN個取り出せる
長い処理の間にイベントがたまったときとかね
途中経過に興味がなく最新の状態に意味があるケースが多々ある
RMI回数を最小に
![Page 36: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/36.jpg)
通知に関すること
オブザーバーパターンじゃない
アプリケーション側の速度に律速しがち
イベントが起きてもコールバックしない
アプリケーションがひまになったらイベントを調べる
![Page 37: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/37.jpg)
世界をログから編み上げる
Koya (OODBの習作) でやってた
Undo、タイムとラベルなど
GitはスナップショットのCVSは変更のログでできてる
そういえばRWikiもそうだ
![Page 38: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/38.jpg)
RWiki全文検索の例
クローラ
以前観測した版よりも新しいページを見つけてwriteする
タグにページ名をつける
![Page 39: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/39.jpg)
RWiki全文検索の例
インデクサ
ときどき動き出しては新しいオブジェクトをread
同じページ名の以前の版と一緒にSennaに更新させる
![Page 40: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/40.jpg)
実装
基本的な作戦
インデックスとキャッシュをメモリに
オブジェクトはファイルに
![Page 41: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/41.jpg)
一次記憶
主にインデックス
RBTreeを二つ使う
赤黒木の実装
時刻順のRBTree
タグと時刻の組をキーとしたRBTree
![Page 42: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/42.jpg)
二次記憶
デフォルトではplainなファイル
Marshal.dump/loadとseekの組合せ
![Page 43: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/43.jpg)
限界
現在の実装での上限
プロセスのメモリ空間
ディスク容量
Dropはご自宅用を想定している
![Page 44: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/44.jpg)
巨大な問題は無視
ふつうの人たちはみんなサイズの問題にぶちあたっているのだろうか
BigTable族が必要な問題に私はめぐりあえない感じがする
もっと個人的な情報に利用したい
![Page 45: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/45.jpg)
in memory
SSDはスワップが高速だってアルファブロガが言ってたよ
新MacBook Airで限界に挑戦したいと思うので誰か下さい
スポンサー募集中!!!!!!!
![Page 46: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/46.jpg)
github.com/seki/Drop/
Githubから持ってこれます
別途RBTreeが必要です
setup.rbでインストール
lib/drop.rbを実行するとデーモンに
![Page 47: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/47.jpg)
Dropの名前
DRbを連想させてGoogleステルス性能の高い名前で決めた
当時、Ruby界隈でDropというプロジェクトは見つからなかった
![Page 48: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/48.jpg)
これはまずい
つい最近RubyDropとかいうDropboxクローンが出現したっぽい
dRubyがあるのにDRubyを出すのが許されるんだから気にしなくていい?
![Page 49: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/49.jpg)
改名すべき?
Dropになる前はdrip dropが候補だった
今日からDripにしようかなあ
![Page 50: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/50.jpg)
API
•write
•read, read_tag
•newer, older, head
![Page 51: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/51.jpg)
read_tag
•read_tag(key, tag, n=1, at_least=1)
•タグで規制されたread
•タグを持つ要素だけを報告する
![Page 52: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/52.jpg)
newer
•newer(key, tag=nil)
•keyの次の要素を一つ返す
•ブロックしない•read(key, 1, 0), read_tag(key, tag, 1, 0)と同じ意味
![Page 53: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/53.jpg)
older
•older(key, tag=nil)
•過去方向のread
•keyの前の要素を一つ返す
•ブロックしない•過去に新しい情報は増やせないからね
![Page 54: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/54.jpg)
head
•head(n, tag=nil)
•最新から過去へ•older(nil) n個分
![Page 55: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/55.jpg)
naming
•名前難しい•過去から未来へ - newer
•現在から過去へ - older
•現在から最も近い過去 - older(nil)
•太古の次の未来 - newer(0)
![Page 56: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/56.jpg)
まとめ
すごく若いライブラリDropを紹介
実績のないものを話すのは緊張する
新MacBook Airの提供をぜひ
個人・企業スポンサー募集
![Page 57: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/57.jpg)
重要
2005年夏
まだ初刷買えます!
初刷5周年!!
dRubyによる
関 将俊 著
分散・Webプログラミング
![Page 58: ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 · ご自宅用ツール間同期メカニ ズム兼ストレージのご提案 Pusherの中の人も絶賛(予定)](https://reader033.vdocuments.site/reader033/viewer/2022060522/60515b70c8afd677c419be55/html5/thumbnails/58.jpg)
なにかご質問は