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
Curator at RICON 2012
Search
John Downey
October 10, 2012
Programming
1
17k
Curator at RICON 2012
John Downey
October 10, 2012
Tweet
Share
More Decks by John Downey
See All by John Downey
Cryptography Pitfalls at CactusCon 2019
jtdowney
0
140
Intro to Cybersecurity Workshop
jtdowney
0
110
Cryptography Pitfalls at BsidesMSP 2017
jtdowney
0
140
Cryptography Pitfalls at THOTCON 0x8
jtdowney
0
160
Cryptography Pitfalls at ConFoo Montreal 2017
jtdowney
1
310
Cryptography Pitfalls at BSidesPhilly 2016
jtdowney
0
120
Cryptography Pitfalls at LASCON 2016
jtdowney
0
170
Debugging TLS/SSL at DevOps Days Detroit 2016
jtdowney
1
200
Debugging TLS/SSL at DevOpsDays Boston
jtdowney
1
280
Other Decks in Programming
See All in Programming
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
940
What We Can Learn From OSS
inouehi
0
420
雑に思考を整理する技術と効能
konifar
60
29k
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
340
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
PostmanでAPIの動作確認が楽になった話
h455h1
0
170
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
4.1k
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
840
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
380
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
380
Apache Hive 4 on Treasure Data
ryukobayashi
0
340
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
Featured
See All Featured
It's Worth the Effort
3n
180
27k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
Gamification - CAS2011
davidbonilla
76
4.6k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
How to train your dragon (web standard)
notwaldorf
73
5.2k
How GitHub (no longer) Works
holman
304
140k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
Documentation Writing (for coders)
carmenintech
60
3.9k
Navigating Team Friction
lara
178
13k
Imperfection Machines: The Place of Print at Facebook
scottboms
260
12k
Clear Off the Table
cherdarchuk
84
310k
Transcript
CURATOR John Downey | @jtdowney
joinbraintree.com
None
http://www.flickr.com/photos/uberculture/2058870277/ Curator
class Person include Curator::Model attr_accessor :id, :first_name, :last_name, :age end
class PersonRepository include Curator::Repository indexed_fields :age end
person = Person.new( :first_name => "John", :last_name => "Downey", :age
=> 25 ) PersonRepository.save(person)
PersonRepository.find_by_id(person.id) => #<Person:0x007fec3437d868 ...> PersonRepository.find_by_age(25) => [#<Person:0x007fec3437d868 ...>]
Lazy Migrations http://www.flickr.com/photos/themichaelsmith/4399654643/
class Person include Curator::Model attr_accessor :id, :age def name if
@name @name else "#{@first_name} #{@last_name}" end end end
class Person include Curator::Model version 1 attr_accessor :id, :name, :age
end
# db/migrate/people/0001_consolidate_name.rb class ConsolidateName < Curator::Migration def migrate(attributes) first_name =
attributes.delete(:first_name) last_name = attributes.delete(:last_name) attributes.merge(:name => "#{first_name} #{last_name}") end end
braintree/curator