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
0
930
MiyazakiResistanceを作ってみたよ
Tsukasa OISHI
July 17, 2009
Tweet
Share
More Decks by Tsukasa OISHI
See All by Tsukasa OISHI
怖くないメモリ肥大化
tsukasa_oishi
1
67
SLI/SLO をストリーム アラインドチームに導入した話
tsukasa_oishi
0
160
JITをたどるとそこはYARVの中
tsukasa_oishi
0
560
The Cacher in the Rye
tsukasa_oishi
1
5.8k
ISeqで遊ぼう
tsukasa_oishi
0
5.1k
Rubyを30倍速くした話
tsukasa_oishi
0
1.1k
はてブ砲をくらったときのお話
tsukasa_oishi
0
2k
食べログで動いている自作ライブラリのお話
tsukasa_oishi
0
300
奥さんとプログラミングを両立させる方法
tsukasa_oishi
0
58
Other Decks in Programming
See All in Programming
Webフレームワークとともに利用するWeb components / JSConf.jp おかわり
spring_raining
1
140
ML.NETで始める機械学習
ymd65536
0
250
変化の激しい時代における、こだわりのないエンジニアの強さ
satoshi256kbyte
1
590
AWS Step Functions は CDK で書こう!
konokenj
5
920
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
420
はじめてのIssueOps - GitHub Actionsで実現するコメント駆動オペレーション
tmknom
2
530
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
Better Code Design in PHP
afilina
0
190
【AI 自走型】Figma からデザインコーディングを行うプロンプト
tetsuro_b
0
100
The Price of Micro Frontends… and Your Alternatives @bastacon 2025 in Frankfurt
manfredsteyer
PRO
0
240
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
510
楽しく向き合う例外対応
okutsu
0
750
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
The Cult of Friendly URLs
andyhume
78
6.2k
Typedesign – Prime Four
hannesfritz
41
2.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
11
1.3k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Navigating Team Friction
lara
183
15k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Into the Great Unknown - MozCon
thekraken
35
1.7k
GraphQLとの向き合い方2022年版
quramy
44
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
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!