Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
RELATIONAL ALGEBRA         @tomas_stefanohttps://github.com/tomas-stefano
PRIMEIRO ...
VISITORS PATTERN
“TOMAS ... NÃO ENTENDI       NADA!!”
SHOW ME THE CODE!users = Arel::Table.new(:users)users.project(*).to_sql=> “SELECT * FROM users”
THE VISITOR DISPATCH# Quando você escreve:users.project(*)# Então por “baixo dos panos” dentro do Visitor:{    Arel::Nodes...
MIXED CASE
QUERIA CRIAR ALGO EM C
CRIAR ALGO QUE PRECISA      SER RÁPIDO!
RELATION! EM C! E WRAPPER        EM RUBY!
CURRENT STATUS!
MAS ESTÁ PROGREDINDO!products = Relation::Table.new(:products)products.select(*).to_sql"SELECT * FROM products"products.wh...
BENCHMARK PREMATURO!MAS TÁ MUITO RÁPIDO! =P
C É DIFÍCIL!
O COMEÇO É DÍFICIL!
MAS O TDD AJUDA!
E NO FINAL DO PLACAR:      C vs TOMAS
CREIO QUE GANHEI! K.O!
COMING SOON!
OBRIGADO! ;)         @tomas_stefanohttps://github.com/tomas-stefano
REFERÊNCIAS DAS IMAGENS• http://www.magopaco.com/• http://mislav.uniqpath.com/poignant-guide/images/ the.foxes-4a.png• htt...
Upcoming SlideShare
Loading in …5
×

Relational Algebra

911 views

Published on

My presentation about Relational Algebra and Relation Library

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Relational Algebra

  1. 1. RELATIONAL ALGEBRA @tomas_stefanohttps://github.com/tomas-stefano
  2. 2. PRIMEIRO ...
  3. 3. VISITORS PATTERN
  4. 4. “TOMAS ... NÃO ENTENDI NADA!!”
  5. 5. SHOW ME THE CODE!users = Arel::Table.new(:users)users.project(*).to_sql=> “SELECT * FROM users”
  6. 6. THE VISITOR DISPATCH# Quando você escreve:users.project(*)# Então por “baixo dos panos” dentro do Visitor:{ Arel::Nodes::SelectStatement =>"visit_Arel_Nodes_SelectStatement", Arel:SqlLiteral => "visit_Arel_SqlLiteral", Arel::Table => "visit_Arel_Table"}
  7. 7. MIXED CASE
  8. 8. QUERIA CRIAR ALGO EM C
  9. 9. CRIAR ALGO QUE PRECISA SER RÁPIDO!
  10. 10. RELATION! EM C! E WRAPPER EM RUBY!
  11. 11. CURRENT STATUS!
  12. 12. MAS ESTÁ PROGREDINDO!products = Relation::Table.new(:products)products.select(*).to_sql"SELECT * FROM products"products.where("company = SuccesSoft").to_sql=>"SELECT * FROM products WHERE company = SuccesSoft"products.limit(1).to_sql=> "SELECT * FROM products LIMIT 1" # E Ainda Tem muito mais!!
  13. 13. BENCHMARK PREMATURO!MAS TÁ MUITO RÁPIDO! =P
  14. 14. C É DIFÍCIL!
  15. 15. O COMEÇO É DÍFICIL!
  16. 16. MAS O TDD AJUDA!
  17. 17. E NO FINAL DO PLACAR: C vs TOMAS
  18. 18. CREIO QUE GANHEI! K.O!
  19. 19. COMING SOON!
  20. 20. OBRIGADO! ;) @tomas_stefanohttps://github.com/tomas-stefano
  21. 21. REFERÊNCIAS DAS IMAGENS• http://www.magopaco.com/• http://mislav.uniqpath.com/poignant-guide/images/ the.foxes-4a.png• http://pecademissaoevatrabalhar.files.wordpress.com/2007/05/ ideia.jpg• http://www.globalnerdy.com/wordpress/wp-content/uploads/ 2010/08/chunkybacon.png

×