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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tsukasa OISHI
July 17, 2009
Programming
0
1k
MiyazakiResistanceを作ってみたよ
Tsukasa OISHI
July 17, 2009
Tweet
Share
More Decks by Tsukasa OISHI
See All by Tsukasa OISHI
怖くないメモリ肥大化
tsukasa_oishi
1
110
SLI/SLO をストリーム アラインドチームに導入した話
tsukasa_oishi
0
200
JITをたどるとそこはYARVの中
tsukasa_oishi
0
580
The Cacher in the Rye
tsukasa_oishi
1
5.9k
ISeqで遊ぼう
tsukasa_oishi
0
5.2k
Rubyを30倍速くした話
tsukasa_oishi
0
1.2k
はてブ砲をくらったときのお話
tsukasa_oishi
0
2.2k
食べログで動いている自作ライブラリのお話
tsukasa_oishi
0
310
奥さんとプログラミングを両立させる方法
tsukasa_oishi
0
96
Other Decks in Programming
See All in Programming
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
380
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
210
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
180
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
100
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
230
株式会社 Sun terras カンパニーデック
sunterras
0
2.1k
ロボットのための工場に灯りは要らない
watany
10
2.7k
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.5k
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
430
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
190
CSC307 Lecture 14
javiergs
PRO
0
470
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
410
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
470
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
140
Faster Mobile Websites
deanohume
310
31k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
860
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Design in an AI World
tapps
0
170
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
140
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
250
How to build a perfect <img>
jonoalderson
1
5.2k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Automating Front-end Workflow
addyosmani
1370
200k
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!