Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
edo cabinet (2009)
Search
John Mettraux
July 19, 2009
Technology
61
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
edo cabinet (2009)
An old deck about Tokyo Cabinet and Ruby (Ruby Kaigi 2009)
John Mettraux
July 19, 2009
More Decks by John Mettraux
See All by John Mettraux
hiroshima.rb #70 pomodoro
jmettraux
0
460
tests and the database
jmettraux
0
410
OpenBSD and Ruby
jmettraux
1
840
Ruby and FFI
jmettraux
0
460
headless in Hiroshima.rb #061
jmettraux
0
420
Ruby methods in ect - Hiroshima.rb #058
jmettraux
0
1.7k
flor - hubristic interpreter - RubyKaigi 2017
jmettraux
1
2k
deli @ Hiroshima.rb #057
jmettraux
0
1.7k
suhi215 yahoo proxy in python
jmettraux
0
1.9k
Other Decks in Technology
See All in Technology
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
データ_AIの事業の勝敗をわけるもの
nek0128
1
470
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
230
Von-Neumann Machines, Dreams & The Futures of IT
ufried
0
120
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
150
AIエージェントを最高のパートナーに育てる方法|評価と判断軸を育てる5つのステップ
koichiaoki
1
160
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
360
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
1
640
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
110
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
330
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
350
SREへの勘違いに気づいた後の話
tomodakengo
0
110
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Prompt Engineering for Job Search
mfonobong
0
450
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
ラッコキーワード サービス紹介資料
rakko
1
4.9M
Marketing to machines
jonoalderson
1
5.8k
The Curious Case for Waylosing
cassininazir
1
510
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
850
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
Transcript
edo cabinet http://tinyurl.com/edocabinet Sunday, July 19, 2009
ruby and tokyo cabinet http://www.flickr.com/photos/kiim/3185168797/ Sunday, July 19, 2009
jmettraux swiss guy wants to write less code ends up
writing too much http://github.com/jmettraux/ Sunday, July 19, 2009
why rufus-tokyo ? need to persist data quickly Sunday, July
19, 2009
Tokyo Cabinet|Tyrant key/value store persistent fast, fast, fast http://tokyocabinet.sourceforge.net/ Sunday,
July 19, 2009
Hirabyashi-san is providing ruby bindings but no “sudo gem install”
and it’s ‘extconf’ and ... http://tokyocabinet.sourceforge.net/rubydoc/ Sunday, July 19, 2009
Sunday, July 19, 2009
what I want { } Sunday, July 19, 2009
Sunday, July 19, 2009
what I want what I built Sunday, July 19, 2009
rufus-tokyo ruby gem Tokyo Cabinet Tokyo Tyrant ruby FFI Sunday,
July 19, 2009
http://blog.headius.com/2008/10/ffi-for-ruby-now-available.html Sunday, July 19, 2009
ruby FFI Sunday, July 19, 2009
FFI Foreign Function Interface common lisp haskell Sunday, July 19,
2009
ruby FFI from Rubinius thanks to Wayne Meissner to jruby
and ruby http://wmeissner.blogspot.com/2008/11/more-on-ruby-ffi.html Sunday, July 19, 2009
ruby FFI an example the ‘crypt’ function Sunday, July 19,
2009
Sunday, July 19, 2009
http://files.getdropbox.com/u/76595/rk_crypt.rb Sunday, July 19, 2009
ruby FFI an example ‘uuid_generate’ Sunday, July 19, 2009
http://files.getdropbox.com/u/76595/rk_uuid.rb Sunday, July 19, 2009
ruby FFI flow 1) attach functions 2) call functions Sunday,
July 19, 2009
ruby FFI an example libevent Sunday, July 19, 2009
http://files.getdropbox.com/u/76595/rk_libev.rb Sunday, July 19, 2009
http://files.getdropbox.com/u/76595/rk_libev.rb Sunday, July 19, 2009
Sunday, July 19, 2009
ruby FFI more fun from ruby to lua Sunday, July
19, 2009
http://jmettraux.wordpress.com/2009/03/16/ruby-to-lua/ Sunday, July 19, 2009
http://github.com/remogatto/ffi-inliner/ Sunday, July 19, 2009
Sunday, July 19, 2009
Tokyo Cabinet|Tyrant Sunday, July 19, 2009
Mikio Hirabayashi is the author mixi.jp is the source http://tokyocabinet.sourceforge.net/index.html
Sunday, July 19, 2009
http://alpha.mixi.co.jp/blog/?author=3 Sunday, July 19, 2009
http://www.slideshare.net/estraier/introduction-to-tokyo-products Sunday, July 19, 2009
Sunday, July 19, 2009
rufus-tokyo Sunday, July 19, 2009
2 products Tokyo Cabinet local file Tokyo Tyrant remote cabinet
file over TCP socket (or Unix socket) Sunday, July 19, 2009
local cabinet lib Sunday, July 19, 2009
remote tyrant server cabinet lib Sunday, July 19, 2009
tt memcached http tyrant server cabinet lib Sunday, July 19,
2009
2 flavours - key/value (abstract) - key/hash of values (table)
Sunday, July 19, 2009
{ k => v } { k => { k
=> v } } hash table B+ tree table fixed length table Sunday, July 19, 2009
{ k => v } { k => { k
=> v } } abstract table Sunday, July 19, 2009
key/value like { } Sunday, July 19, 2009
Sunday, July 19, 2009
key/hash of values (table) like a { pk => {
} } Sunday, July 19, 2009
Sunday, July 19, 2009
Sunday, July 19, 2009
local local remote remote Rufus::Tokyo:: Cabinet Rufus::Tokyo:: Table Rufus::Tokyo:: Tyrant
Rufus::Tokyo:: TyrantTable { } { pk => { } } { } { pk => { } } 1 access 1 access 1+ accesses lua embedded 1+ accesses lua embedded Sunday, July 19, 2009
tt-src $ .configure --enable-lua tt-src $ make tt-src $ sudo
make install http://openwferu.rubyforge.org/tokyo.html Sunday, July 19, 2009
http://jmettraux.wordpress.com/2009/04/07/rufus-tokyo-0112-extlua/ Sunday, July 19, 2009
http://www.igvita.com/2009/07/13/extending-tokyo-cabinet-db-with-lua/ Sunday, July 19, 2009
Sunday, July 19, 2009
Rufus::Edo Sunday, July 19, 2009
FFI + ruby, jruby + no compilation when ‘gem install’
- slower than classical c extension => Rufus::Edo Sunday, July 19, 2009
Sunday, July 19, 2009
local local remote remote Rufus::Tokyo:: Rufus::Tokyo:: Rufus::Tokyo:: Rufus::Tokyo:: FFI Cabinet
Table Tyrant TyrantTable Rufus::Edo:: Rufus::Edo:: Rufus::Edo:: Rufus::Edo:: c ext Cabinet Table ? ? pure ruby NetTyrant NetTyrantTable Sunday, July 19, 2009
ruby to tyrant, the fastest http://github.com/actsasflinn/ ruby-tokyotyrant/ ruby c extension
for Tyrant rufus-tokyo friendly Sunday, July 19, 2009
projects using rufus-tokyo (github search) - wycats/moneta - jcrosby/cloudkit -
elisehuard/tokyo_cabinet4r - terralien/metry - nofxx/tokyo_store - sethyates/content_manager - heycarsten/gcoder - joshbuddy/tokyo_cache_cow - ... Sunday, July 19, 2009
many thanks to Mikio Hirabayashi Zev Blut Ilya Grigorik Justin
Reagor Flinn Muller Wayne E. Seguin Matthew King Yuki Satow Wayne Meissner Kim Erlandsen (picture) and many others Sunday, July 19, 2009