Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MiyazakiResistanceを作ってみたよ
Search
Tsukasa OISHI
July 17, 2009
Programming
1k
0
Share
MiyazakiResistanceを作ってみたよ
Tsukasa OISHI
July 17, 2009
More Decks by Tsukasa OISHI
See All by Tsukasa OISHI
怖くないメモリ肥大化
tsukasa_oishi
1
110
SLI/SLO をストリーム アラインドチームに導入した話
tsukasa_oishi
0
210
JITをたどるとそこはYARVの中
tsukasa_oishi
0
590
The Cacher in the Rye
tsukasa_oishi
1
5.9k
ISeqで遊ぼう
tsukasa_oishi
0
5.3k
Rubyを30倍速くした話
tsukasa_oishi
0
1.3k
はてブ砲をくらったときのお話
tsukasa_oishi
0
2.3k
食べログで動いている自作ライブラリのお話
tsukasa_oishi
0
320
奥さんとプログラミングを両立させる方法
tsukasa_oishi
0
100
Other Decks in Programming
See All in Programming
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.2k
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
310
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
7
1.3k
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
160
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
190
AIとRubyの静的型付け
ukin0k0
0
460
Zod v4 Codec でスキーマに型変換を埋め込む REST API 設計 #TSKaigi2026
ryutaro_yako
0
170
誰も頼んでない機能を出荷した話
zekutax
0
150
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
180
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
220
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
420
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
490
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
180
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Marketing to machines
jonoalderson
1
5.3k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
240
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
150
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
760
Designing for Performance
lara
611
70k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Bash Introduction
62gerente
615
210k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
210
Transcript
Miyazaki Resistance を作ってみたよ I've developed MiyazakiResistance
おおいし つかさ Tsukasa OISHI
食べログ グルメサイト プログラマ Tabelog.com Review site of great restaurants Programmer
iPhoneアプリ ver2.0 が出ました I've released iPhone application of Tabelog ver
2.0
本題 Main
Miyazaki Resistance?
ActiveRecord のように Tokyo Tyrantを 使うことが できます Library like ActiveRecord to
use Tokyo Tyrant
Tokyo Tyrant?
Tokyo Cabinetと やりとりするための ネットワーク インターフェース The Package of network interface
to Tokyo Cabinet.
Tokyo Cabinet?
Key Value Strage
Table構造 【Key】 id 【Value】 article_id : integer count : integer
created_at : datetime
記事ID100の 昨日の アクセス数を 取得する Search access count of article-ID 100
yesterday.
Ruby API
TTとの接続 rdb = TokyoTyrant::RDBTBL.new rdb.open(“localhost”, 1975)
クエリの作成 query = TokyoTyrant::RDBQRY.new(rdb) query.addcond(“created_at”, TokyoTyrant::RDBQRY::QCNUMEQ, Time.local(2009, 7, 16).to_i) query.addcond(“article_id”,
TokyoTyrant::RDBQRY::QCNUMEQ, 100)
クエリの作成 query = TokyoTyrant::RDBQRY.new(rdb) query.addcond(“created_at”, TokyoTyrant::RDBQRY::QCNUMEQ, Time.local(2009, 7, 16).to_i) query.addcond(“article_id”,
TokyoTyrant::RDBQRY::QCNUMEQ, 100)
データの取得 article_100_count = query.search.first
メンドくさい... orz troublesomeness...orz
いいもの なのに もったいない! Mottainai!
Miyazaki Resistance!
ArticleCount.find( :first, :conditions => [“restaurant_id = ? created_at = ?”,
100, Time.local(2009, 7, 16) ) 簡単
ArticleCount class ArticleCount < MiyazakiResistance::Base set_server :localhost, 1975, :write set_column
:restaurant_id, :integer set_column :count, :integer set_column :created_at, :datetime end
Replication
set_server :master, 1975, :write set_server :slave1, 1975, :readonly set_server :slave2,
1975, :readonly
DualMaster
set_server :m1, 1975, :write set_server :m2, 1975, :standby
食べログでも 使っているよ ・各レストランのアクセスカウント ・デュアルマスタ構成 ・約1.8億PV
gem install tsukasaoishi- miyazakiresistance
おしまい thanks!