SlideShare uma empresa Scribd logo
1 de 101
Baixar para ler offline
2009, ano do Ruby
       on Rails no Brasil

Sunday, November 8, 2009
Cauê Guerra
   caue.guerra@caelum.com.br

  @caueguerra




Sunday, November 8, 2009
Sunday, November 8, 2009
Ruby



Sunday, November 8, 2009
Yukihiro Matsumoto (Matz)

    “Often people, especially
    computer engineers, focus on the
    machines. But in fact we
                     need
    to focus on humans, on
    how humans care about doing
    programming or operating the
    application of the machines. We
    are the masters. They are the
    slaves.”



Sunday, November 8, 2009
Características




Sunday, November 8, 2009
Características

               Orientada a Objetos    2.times { puts “Olá” }




Sunday, November 8, 2009
Características

               Orientada a Objetos    2.times { puts “Olá” }

               Tipagem dinâmica       @nome = “Cauê Guerra”




Sunday, November 8, 2009
Características

               Orientada a Objetos    2.times { puts “Olá” }

               Tipagem dinâmica       @nome = “Cauê Guerra”

               Meta-programação       Código que gera código




Sunday, November 8, 2009
Características

               Orientada a Objetos      2.times { puts “Olá” }

               Tipagem dinâmica         @nome = “Cauê Guerra”

               Meta-programação         Código que gera código


                Programação funcional




Sunday, November 8, 2009
Exemplo




Sunday, November 8, 2009
Java
                           class CalculadorDeMDC {
                             public int calcula(int a, int b) {
                               if (b == 0)
                                 return a;
                               else
                                 return calcula(b, a % b);
                             }
                           }

      CalculadorDeMDC calculador = new CalculadorDeMDC();
      System.out.println(calculador.calcula(28, 7));




Sunday, November 8, 2009
Ruby
                           class CalculadorDeMDC
                            def calcula(a, b)
                              if b == 0
                                a
                              else
                                calcula(b, a % b)
                              end
                            end
                           end
     calculador = CalculadorDeMDC.new
     puts calculador.calcula(28, 7)




Sunday, November 8, 2009
Um outro exemplo




Sunday, November 8, 2009
Java

                  public String[] paraMaiuscula(String[] palavras) {
                    String[] resposta = new String[palavras.length];
                    for (int i = 0; i < palavras.length; i++)
                      resposta[i] = palavras[i].toUpperCase();
                    return resposta;
                  }




Sunday, November 8, 2009
Ruby

      def paraMaiuscula(palavras)
       palavras.map { |palavra| palavra.upcase }
      end




Sunday, November 8, 2009
“Tornar as coisas
                     simples, fáceis;
                     e as complexas,
                        possíveis”
                           Filosofia Ruby




Sunday, November 8, 2009
1995
Sunday, November 8, 2009
2001




                           Dave Thomas




Sunday, November 8, 2009
RubyConf 2001


Sunday, November 8, 2009
http://www.ruby-lang.org




Sunday, November 8, 2009
Thomas Enebo   2006




Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
WTF?!?



Sunday, November 8, 2009
WTF?!?



Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
- Busca textual
                           - Autenticação
                           - Autorização
                           - Processamento
                           assíncrono
                           - Mensageria
                           - WebServices
                           ...




Sunday, November 8, 2009
http://rubyonrails.org/




Sunday, November 8, 2009
Pilares




Sunday, November 8, 2009
CoC
                           Convention over Configuration




Sunday, November 8, 2009
DRY
                           Don’t Repeat Yourself




Sunday, November 8, 2009
MVC
Sunday, November 8, 2009
Browser




Sunday, November 8, 2009
Browser


                           ApplicationController




Sunday, November 8, 2009
Browser


                           ApplicationController


                                Controller




Sunday, November 8, 2009
Browser


                           ApplicationController


                                Controller         Model




Sunday, November 8, 2009
Browser


                           ApplicationController


                                Controller         Model   DB




Sunday, November 8, 2009
Browser


                           ApplicationController


                                Controller         Model   DB




Sunday, November 8, 2009
Browser


                           ApplicationController


                                Controller         Model   DB




Sunday, November 8, 2009
Browser


                           ApplicationController


              View              Controller         Model   DB




Sunday, November 8, 2009
Sunday, November 8, 2009
Aplicação
                           Configurações
                           Schema evolution




                           Testes




Sunday, November 8, 2009
Controller




                           Model

                           View




Sunday, November 8, 2009
Testes
Sunday, November 8, 2009
Test All The Fucking Time!




              Testes
Sunday, November 8, 2009
TDD
                           Test Driven Development




                           BDD
                           Behavior Driven Development




Sunday, November 8, 2009
RSpec
           it "should require acceptance of terms of service" do
               @job.attributes = valid_job_attributes.except(:terms_accepted)
               @job.should_not be_valid
               @job.terms_accepted = false
               @job.should_not be_valid
               @job.terms_accepted = true
               @job.should be_valid
           end




Sunday, November 8, 2009
Cucumber
       Feature: Job listing
        In order to see the job offers in my area and start working
        As a user
        I want to see a list of jobs filtered by type and location

         Scenario: Listing when there is no jobs
          Given there is no jobs
          When I go to "java"
          Then I should see "Desculpe, não existem vagas disponíveis."
          And the "OndeTrabalhar.com" field should contain "java"




Sunday, November 8, 2009
Rails 3 =   +




Sunday, November 8, 2009
Yehuda Katz




Sunday, November 8, 2009
José Valim




Sunday, November 8, 2009
Por que não aprender Rails?




Sunday, November 8, 2009
Rails não escala!



Sunday, November 8, 2009
Hoje o Redeparede.com
                           serve 7,5 milhões de
                           acessos por mês
                           usando Ruby on Rails.
                           Rails escala, depende
                           de você!




Sunday, November 8, 2009
“Basecamp is now handling
                            more than 50 million Rails
                            requests per week. We're
                            peaking out at around 200
                                req/sec. Damn!”

                              “Basecamp's average
                             response time is 90ms
                            and 87% of all requests
                           finish in less than 200ms.”




Sunday, November 8, 2009
Não conheço ninguém que use Rails




Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
http://www.workingwithrails.com/high-profile-organisations




Sunday, November 8, 2009
Sunday, November 8, 2009
Martin Fowler


          41 projetos Ruby
          de 2006 a 2008 -
          a maioria usando
                Rails




Sunday, November 8, 2009
Ruby é mais produtivo?


                                                13




                                           5         5

                                     3
                                2
                           1                               1

                     Negativo   0   20%   50%   2X   5X   10X




Sunday, November 8, 2009
Ruby foi a escolha certa?


                                          não
                                           5




                                    sim
                                    36




Sunday, November 8, 2009
Sunday, November 8, 2009
“As empresas estão
       cheias de guardas,
         impedindo as
      pessoas de mudar!”




Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Regis Pires




                           IFPI - Piauí




Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
2
Sunday, November 8, 2009
3
Sunday, November 8, 2009
Formação Rails




            RR-71: Desenvolvimento Ágil para     RR-75: Ruby e Rails avançados:
              Web 2.0 com Ruby on Rails        lidando com problemas do dia a dia




Sunday, November 8, 2009
150



               113                        113




                 75
                                   72



                  38

                                         2009
                     0            2008
                            10
                           2007



Sunday, November 8, 2009
E daí?

Sunday, November 8, 2009
http://ondetrabalhar.com/ruby+ou+rails




Sunday, November 8, 2009
Sunday, November 8, 2009
Sunday, November 8, 2009
http://slideshare.net/caueguerra




Sunday, November 8, 2009

Mais conteúdo relacionado

Semelhante a 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009

Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009Fabio Akita
 
Tkinter Does Not Suck
Tkinter Does Not SuckTkinter Does Not Suck
Tkinter Does Not SuckRichard Jones
 
Rhouse - Home automation is ruby ?
Rhouse - Home automation is ruby ?Rhouse - Home automation is ruby ?
Rhouse - Home automation is ruby ?Fernand Galiana
 
Software livre e padrões abertos no desenvolvimento Web
Software livre e padrões abertos no desenvolvimento WebSoftware livre e padrões abertos no desenvolvimento Web
Software livre e padrões abertos no desenvolvimento WebFelipe Ribeiro
 
Functional Java Script - Webtechcon 2009
Functional Java Script - Webtechcon 2009Functional Java Script - Webtechcon 2009
Functional Java Script - Webtechcon 2009wolframkriesing
 
MacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meetMacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meetMatt Aimonetti
 
Semcomp de São Carlos
Semcomp de São CarlosSemcomp de São Carlos
Semcomp de São CarlosFabio Akita
 
Accelerating Ruby with LLVM
Accelerating Ruby with LLVMAccelerating Ruby with LLVM
Accelerating Ruby with LLVMevanphx
 
Latinoware Rails 2009
Latinoware Rails 2009Latinoware Rails 2009
Latinoware Rails 2009Fabio Akita
 
DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 KeynoteTed Leung
 
Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010Matt Aimonetti
 
How OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your HairHow OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your HairBruce Elgort
 
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.KeyRuby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.KeyBert Goethals
 
Using Puppet and Cobbler to Automate Your Infrastructure
Using Puppet and Cobbler to Automate Your InfrastructureUsing Puppet and Cobbler to Automate Your Infrastructure
Using Puppet and Cobbler to Automate Your InfrastructurePhil Windley
 

Semelhante a 2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009 (20)

Enecomp 2009
Enecomp 2009Enecomp 2009
Enecomp 2009
 
Oxente on Rails 2009
Oxente on Rails 2009Oxente on Rails 2009
Oxente on Rails 2009
 
Tkinter Does Not Suck
Tkinter Does Not SuckTkinter Does Not Suck
Tkinter Does Not Suck
 
Rhouse - Home automation is ruby ?
Rhouse - Home automation is ruby ?Rhouse - Home automation is ruby ?
Rhouse - Home automation is ruby ?
 
Software livre e padrões abertos no desenvolvimento Web
Software livre e padrões abertos no desenvolvimento WebSoftware livre e padrões abertos no desenvolvimento Web
Software livre e padrões abertos no desenvolvimento Web
 
Functional Java Script - Webtechcon 2009
Functional Java Script - Webtechcon 2009Functional Java Script - Webtechcon 2009
Functional Java Script - Webtechcon 2009
 
MacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meetMacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meet
 
Semcomp de São Carlos
Semcomp de São CarlosSemcomp de São Carlos
Semcomp de São Carlos
 
Accelerating Ruby with LLVM
Accelerating Ruby with LLVMAccelerating Ruby with LLVM
Accelerating Ruby with LLVM
 
Latinoware Rails 2009
Latinoware Rails 2009Latinoware Rails 2009
Latinoware Rails 2009
 
JRubyConf 2009
JRubyConf 2009JRubyConf 2009
JRubyConf 2009
 
DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 Keynote
 
Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010
 
How OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your HairHow OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
How OpenNTF Open Source Solutions Can Save You Time, Money And Your Hair
 
Everyday - mongodb
Everyday - mongodbEveryday - mongodb
Everyday - mongodb
 
Btree Nosql Oak
Btree Nosql OakBtree Nosql Oak
Btree Nosql Oak
 
Ruby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.KeyRuby On Rails Presentation Barcamp Antwerp.Key
Ruby On Rails Presentation Barcamp Antwerp.Key
 
Cloudera Desktop
Cloudera DesktopCloudera Desktop
Cloudera Desktop
 
Using Puppet and Cobbler to Automate Your Infrastructure
Using Puppet and Cobbler to Automate Your InfrastructureUsing Puppet and Cobbler to Automate Your Infrastructure
Using Puppet and Cobbler to Automate Your Infrastructure
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 

Último

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009