SlideShare a Scribd company logo
Ruby on Rails

Wednesday, March 18, 2009
AkitaOnRails.com




               www.slideshare.net/akitaonrails

Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
1
Wednesday, March 18, 2009
Joel Spolsky




Wednesday, March 18, 2009
Wednesday, March 18, 2009
“Without understanding functional programming, you can't
             invent MapReduce, the algorithm that makes Google so
                               massively scalable.”




         “The Perils of JavaSchools” - Joel Spolsky - 29/12/2005
                   http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html


Wednesday, March 18, 2009
“The terms Map and Reduce come from Lisp and
                                functional programming...”




         “The Perils of JavaSchools” - Joel Spolsky - 29/12/2005
                   http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html


Wednesday, March 18, 2009
“The very fact that Google invented MapReduce, and
           Microsoft didn't, says something about why Microsoft is still
                               playing catch up.”




         “The Perils of JavaSchools” - Joel Spolsky - 29/12/2005
                   http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html


Wednesday, March 18, 2009
Codificadores
                             x
                      Desenvolvedores


Wednesday, March 18, 2009
Qual foi o concurso?


                            Qual foi o prêmio?



Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Martin Fowler




Wednesday, March 18, 2009
Agile




Wednesday, March 18, 2009
AGILIDADE



Wednesday, March 18, 2009
Wednesday, March 18, 2009
Estamos “descobrindo” maneiras melhores
                       de desenvolver software na prática e ajudando
                                   outros a desenvolver.




Wednesday, March 18, 2009
Wednesday, March 18, 2009
Big Design Up Front


                            “Waterfall” (Cascata)


                              Escopo Fechado


                            “Change Requests”


Wednesday, March 18, 2009
Big Design Up Front


                            “Waterfall” (Cascata)


                              Escopo Fechado


                            “Change Requests”


Wednesday, March 18, 2009
Big Design Up Front


                            “Waterfall” (Cascata)


                              Escopo Fechado


                            “Change Requests”


Wednesday, March 18, 2009
Big Design Up Front


                            “Waterfall” (Cascata)


                              Escopo Fechado


                            “Change Requests”


Wednesday, March 18, 2009
Wednesday, March 18, 2009
Ceticismo



Wednesday, March 18, 2009
Wednesday, March 18, 2009
Winston W. Royce - 1970
Wednesday, March 18, 2009
“Eu acredito neste conceito
                                       mas a implementação descrita
                                        acima é arriscada e convida
                                                  falhas.”




                            Winston W. Royce - 1970
Wednesday, March 18, 2009
“Eu acredito neste conceito
                                       mas a implementação descrita
                                        acima é arriscada e convida
                                                  falhas.”




                            Winston W. Royce - 1970
Wednesday, March 18, 2009
“Eu acredito neste conceito
                                       mas a implementação descrita
                                        acima é arriscada e convida
                                                  falhas.”




                            Winston W. Royce - 1970
Wednesday, March 18, 2009
“Cargo Cult”

Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
“SOFT”WARE



Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
1
Wednesday, March 18, 2009
2
Wednesday, March 18, 2009
“Matz”




                            1993
Wednesday, March 18, 2009
“Prag Dave”




                             2001
Wednesday, March 18, 2009
“DHH”


                             2004
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
“Tornar as coisas simples
                      fáceis e as coisas
                    complexas possíveis”
                            Filosofia Ruby



Wednesday, March 18, 2009
Wednesday, March 18, 2009
Ruby on Rails



Wednesday, March 18, 2009
RUBY

Wednesday, March 18, 2009
ActiveSupport
                            Rails


                                    RUBY

Wednesday, March 18, 2009
ActionController
                            ActionPack
                                                  ActionView


                                                ActiveSupport
                              Rails


                                         RUBY

Wednesday, March 18, 2009
ActiveRecord
                                                  ActionController
                              ActionPack
                                                    ActionView


                                                  ActiveSupport
                                Rails


                                           RUBY

Wednesday, March 18, 2009
ActionMailer
                            ActiveRecord
                                                  ActionController
                              ActionPack
                                                    ActionView


                                                  ActiveSupport
                                Rails


                                           RUBY

Wednesday, March 18, 2009
ActiveResource          ActionWebService


                                                      ActionMailer
                            ActiveRecord
                                                    ActionController
                              ActionPack
                                                      ActionView


                                                    ActiveSupport
                                Rails


                                             RUBY

Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
RSpec

      describe Product do
        include ProductSpecHelper

           before(:each) do
             @product = Product.new
           end

           it quot;should not be valid when emptyquot; do
             @product.should_not be_valid
           end

        it quot;should be valid when having correct informationquot; do
          @product.attributes = valid_product_attributes
          @product.should be_valid
        end
      end




Wednesday, March 18, 2009
RSpec

      describe Product do
        include ProductSpecHelper

           before(:each) do
             @product = Product.new
           end

           it quot;should not be valid when emptyquot; do
             @product.should_not be_valid spec
                                  rake
           end

        it quot;should be valid when having correct informationquot; do
          @product.attributes = valid_product_attributes
          @product.should be_valid
        end
      end




Wednesday, March 18, 2009
Model

   class Product < ActiveRecord::Base
     after_create :set_initial_inventory

        has_many :variants, :dependent => :destroy
        has_many :images, :as => :viewable, :order => :position,
          :dependent => :destroy
        has_many :properties, :through => :product_properties
        belongs_to :tax_category

        validates_presence_of :name
        validates_presence_of :master_price
        validates_presence_of :description

     make_permalink :with => :name, :field => :permalink
   end




Wednesday, March 18, 2009
Model

   class Product < ActiveRecord::Base
     after_create :set_initial_inventory

        has_many :variants, :dependent => :destroy
        has_many :images, :as => :viewable, :order => :position,
          :dependent => :destroy
        has_many :properties, :through => :product_properties
                             Product.find(1)
        belongs_to :tax_category

        validates_presence_of :name
        validates_presence_of :master_price
        validates_presence_of :description

     make_permalink :with => :name, :field => :permalink
   end




Wednesday, March 18, 2009
Controller


     class UsersController < Spree::BaseController
       resource_controller
       before_filter :initialize_extension_partials
       actions :all, :except => [:index, :destroy]

          show.before do
            @orders = Order.checkout_completed(true)
              .find_all_by_user_id(current_user.id)
          end

          create.after {    self.current_user = @user }

       create.response do |wants|
         wants.html { redirect_back_or_default(products_path) }
       end
     end




Wednesday, March 18, 2009
Controller


     class UsersController < Spree::BaseController
       resource_controller
       before_filter :initialize_extension_partials
       actions :all, :except => [:index, :destroy]

          show.before do
            @orders = Order.checkout_completed(true)
                                   /users/1
              .find_all_by_user_id(current_user.id)
          end

          create.after {    self.current_user = @user }

       create.response do |wants|
         wants.html { redirect_back_or_default(products_path) }
       end
     end




Wednesday, March 18, 2009
Views ERB

   <div id=quot;product-listingquot;>
     <%= breadcrumbs(@taxon) %>
     <br/>
     <%= render :partial => quot;shared/products.html.erbquot;,
     :locals => {:products => @products, :taxon => @taxon } %>
   </div>

   <% content_for :sidebar do %>
     <td id=quot;shop-by-colquot; valign=quot;topquot;>
       <%= render :partial => quot;shared/taxonomiesquot; %>
     </td>
   <% end %>

   <%= render :partial => 'shared/paginate',
     :locals => {:collection => @products, :options => {}}
     unless @products.empty? %>




Wednesday, March 18, 2009
Views HAML


       #product-listing
         =breadcrumbs(@taxon)
         %br
         =render :partial => quot;shared/products.html.erbquot;,
         :locals => {:products => @products, :taxon => @taxon}

       -content_for :sidebar do
         %td#shop-by-col(:valign => quot;topquot;)
           =render :partial => quot;shared/taxonomiesquot;

       =render :partial => 'shared/paginate',
         :locals => {:collection => @products, :options => {}}
         unless @products.empty?




Wednesday, March 18, 2009
Rotas RESTFul



   ActionController::Routing::Routes.draw do |map|
     map.connect ':controller/service.wsdl', :action => 'wsdl'

        map.resources :products,
          :member => {:change_image => :post}
        map.resources :addresses
        map.resources :orders,
          :has_many => [:line_items]

     map.namespace :admin do |admin|
       admin.resources :users
       admin.resources :products
     end
   end




Wednesday, March 18, 2009
Rotas RESTFul



                    GET /products/new
   ActionController::Routing::Routes.draw do |map|
     map.connect ':controller/service.wsdl', :action => 'wsdl'
                       GET /products
        map.resources :products,
                       POST /products
          :member => {:change_image => :post}
                       GET /products/1
        map.resources :addresses
        map.resources :orders,
          :has_many => GET /products/1/edit
                       [:line_items]

                       PUT /products/1
        map.namespace :admin do |admin|
          admin.resources :users
                       DESTROY /products/1
          admin.resources :products
     end
   end




Wednesday, March 18, 2009
Migrations



          class RenameAppConfiguration < ActiveRecord::Migration
            def self.up
              rename_table :app_configurations, :configurations
              change_table :configurations do |t|
                t.string :type
              end
            end

            def self.down
              change_table :configurations do |t|
                t.remove :type
              end
              rename_table :configurations, :app_configurations
            end
          end



Wednesday, March 18, 2009
Migrations



          class RenameAppConfiguration < ActiveRecord::Migration
            def self.up
              rename_table :app_configurations, :configurations
              change_table :configurations do |t|
                t.string :type

                             rake db:migrate
              end
            end

            def self.down
              change_table :configurations do |t|
                t.remove :type
              end
              rename_table :configurations, :app_configurations
            end
          end



Wednesday, March 18, 2009
“Beautiful Code”



Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
11 mil classes!

                              46 só de
                             Collections!



Wednesday, March 18, 2009
• Classes:
                            • Modules:       • Array
                             • Enumerable    • Hash
                             • Comparable    • Set
                                             • Sorted Set


Wednesday, March 18, 2009
1.400 Classes:
                                          •
                                     classesArray
                            • Modules:     •
                             • Enumerable    • Hash
                             • Comparable 6 deSet
                                         só  •
                                     Collections! Set
                                             • Sorted


Wednesday, March 18, 2009
• Convention over Configuration
       • Don’t Repeat Yourself
       • You Ain’t Gonna Need It
       • Boas Práticas
       • Escalabilidade
       • Segurança
       • Automação




Wednesday, March 18, 2009
2
Wednesday, March 18, 2009
3
Wednesday, March 18, 2009
Mitos



Wednesday, March 18, 2009
Rails não Escala



Wednesday, March 18, 2009
Wednesday, March 18, 2009
To put things into perspective,
        though, Friendster was written
       in Java to start, and switched to
         PHP. Myspace was written in
       ColdFusion and transitioned to
                    ASP.NET.

            When people run into
          problems scaling sites they
        often think that the language is
          the problem, but I think it’s
                rarely the case.
                                                                                        Blaine Cook

                            http://www.akitaonrails.com/2008/6/17/chatting-with-blaine-cook-twitter


Wednesday, March 18, 2009
“The New York Times used Ruby on Rails to pull
                 together, analyze and display election results in near
                 real time on one of its busiest Web traffic days
                                        ever. ”




                            http://www.computerworld.com.au/article/268003/ruby_rails_rolls_into_enterprise?fp=16&fpid=1




Wednesday, March 18, 2009
“They serve up 23 million visitors a month. The conversion resulted in 20,000 lines of Ruby
               code instead of 125,000 lines of Java code, and most importantly eased the difficulty they
                 had in maintaining it. Once complete, and optimized their site is now faster than
                    before. They also completed the rewrite in three months with four developers.”




                                   http://www.railsonwave.com/railsonwave/2008/6/4/yellowpages-com-migrates-to-rails




Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Mitos



Wednesday, March 18, 2009
Deployment de
                             Rails é difícil


Wednesday, March 18, 2009
Wednesday, March 18, 2009
Apache + FastCGI

                            LightTPD + FastCGI

                             Litespeed + SAPI

                            Apache + Mongrel

                             Nginx + Mongrel

                               Nginx + Thin


Wednesday, March 18, 2009
Apache + FastCGI

                            LightTPD + FastCGI

                             Litespeed + SAPI

                            Apache + Mongrel

                             Nginx + Mongrel

                               Nginx + Thin


Wednesday, March 18, 2009
Apache + FastCGI

                            LightTPD + FastCGI

                             Litespeed + SAPI

                            Apache + Mongrel

                             Nginx + Mongrel

                               Nginx + Thin


Wednesday, March 18, 2009
Apache + FastCGI

                            LightTPD + FastCGI

                             Litespeed + SAPI

                            Apache + Mongrel

                             Nginx + Mongrel

                               Nginx + Thin


Wednesday, March 18, 2009
Apache + FastCGI

                            LightTPD + FastCGI

                             Litespeed + SAPI

                            Apache + Mongrel

                             Nginx + Mongrel

                               Nginx + Thin


Wednesday, March 18, 2009
Apache + FastCGI

                            LightTPD + FastCGI

                             Litespeed + SAPI

                            Apache + Mongrel

                             Nginx + Mongrel

                               Nginx + Thin


Wednesday, March 18, 2009
Wednesday, March 18, 2009
gem install passenger
                 passenger-install-apache2-module




Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Mitos



Wednesday, March 18, 2009
Rails é mal
                            documentado


Wednesday, March 18, 2009
Geoffrey
Wednesday, March 18, 2009
Jason e Gregg
Wednesday, March 18, 2009
Pratik Naik
Wednesday, March 18, 2009
Satish Talim
Wednesday, March 18, 2009
Peter Cooper
Wednesday, March 18, 2009
_why
Wednesday, March 18, 2009
Ryan Bates
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
3
Wednesday, March 18, 2009
4
Wednesday, March 18, 2009
Open Source



Wednesday, March 18, 2009
Chris Wanstrath
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Conferências



Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
Wednesday, March 18, 2009
4
Wednesday, March 18, 2009
One more thing ...



Wednesday, March 18, 2009
Wednesday, March 18, 2009
“Especialista de
                uma coisa só é um
                amador em todo o
                     resto.”

Wednesday, March 18, 2009
Obrigado!
                            www.akitaonrails.com

Wednesday, March 18, 2009

More Related Content

Viewers also liked

Share for iPhone UI Wireframes - Creating a Wiki Page from a Site
Share for iPhone UI Wireframes - Creating a Wiki Page from a SiteShare for iPhone UI Wireframes - Creating a Wiki Page from a Site
Share for iPhone UI Wireframes - Creating a Wiki Page from a SiteAlfrescoUE
 
sunoco 2007 Annual Report
sunoco 2007 Annual Reportsunoco 2007 Annual Report
sunoco 2007 Annual Reportfinance6
 
Generic Editor
Generic EditorGeneric Editor
Generic Editor
Sven Efftinge
 
Sherlock Holmes Quotes
Sherlock Holmes QuotesSherlock Holmes Quotes
Sherlock Holmes Quotes
Chris Hiltz
 
Compensation and Succession Committee Charter
Compensation and Succession Committee CharterCompensation and Succession Committee Charter
Compensation and Succession Committee Charterfinance6
 
Allocating Resources for Knowledge Exchange, ProTon, Rome 29.09.2011
Allocating Resources for Knowledge Exchange, ProTon, Rome 29.09.2011Allocating Resources for Knowledge Exchange, ProTon, Rome 29.09.2011
Allocating Resources for Knowledge Exchange, ProTon, Rome 29.09.2011David Bembo
 
Webを支える技術 1章 webとは何か?
Webを支える技術 1章 webとは何か?Webを支える技術 1章 webとは何か?
Webを支える技術 1章 webとは何か?
善昭 今西
 

Viewers also liked (8)

Share for iPhone UI Wireframes - Creating a Wiki Page from a Site
Share for iPhone UI Wireframes - Creating a Wiki Page from a SiteShare for iPhone UI Wireframes - Creating a Wiki Page from a Site
Share for iPhone UI Wireframes - Creating a Wiki Page from a Site
 
Ram Blowinginthewind
Ram BlowinginthewindRam Blowinginthewind
Ram Blowinginthewind
 
sunoco 2007 Annual Report
sunoco 2007 Annual Reportsunoco 2007 Annual Report
sunoco 2007 Annual Report
 
Generic Editor
Generic EditorGeneric Editor
Generic Editor
 
Sherlock Holmes Quotes
Sherlock Holmes QuotesSherlock Holmes Quotes
Sherlock Holmes Quotes
 
Compensation and Succession Committee Charter
Compensation and Succession Committee CharterCompensation and Succession Committee Charter
Compensation and Succession Committee Charter
 
Allocating Resources for Knowledge Exchange, ProTon, Rome 29.09.2011
Allocating Resources for Knowledge Exchange, ProTon, Rome 29.09.2011Allocating Resources for Knowledge Exchange, ProTon, Rome 29.09.2011
Allocating Resources for Knowledge Exchange, ProTon, Rome 29.09.2011
 
Webを支える技術 1章 webとは何か?
Webを支える技術 1章 webとは何か?Webを支える技術 1章 webとは何か?
Webを支える技術 1章 webとは何か?
 

Similar to Web Expo Forum

The Snowflake Effect in Riyadh...
The Snowflake Effect in Riyadh...The Snowflake Effect in Riyadh...
The Snowflake Effect in Riyadh...
Erik Duval
 
Emergence
EmergenceEmergence
Emergence
blprnt
 
Aristotle and the Art of Software Development
Aristotle and the Art of Software DevelopmentAristotle and the Art of Software Development
Aristotle and the Art of Software Development
Jonathan Dahl
 
Engine on Rails
Engine on RailsEngine on Rails
Engine on Rails
Zigotto Tecnologia
 
Aristotle and the Art of Software Development (Agile 2009)
Aristotle and the Art of Software Development (Agile 2009)Aristotle and the Art of Software Development (Agile 2009)
Aristotle and the Art of Software Development (Agile 2009)
Jonathan Dahl
 
Rack Middleware
Rack MiddlewareRack Middleware
Rack Middleware
Jon Crosby
 
Michael Tamblyn - 6 Projects That Could Change Publishing for the Better
Michael Tamblyn - 6 Projects That Could Change Publishing for the BetterMichael Tamblyn - 6 Projects That Could Change Publishing for the Better
Michael Tamblyn - 6 Projects That Could Change Publishing for the Better
BookNet Canada
 
Rails3: Stepping off of the golden path
Rails3: Stepping off of the golden pathRails3: Stepping off of the golden path
Rails3: Stepping off of the golden path
Matt Aimonetti
 

Similar to Web Expo Forum (9)

The Snowflake Effect in Riyadh...
The Snowflake Effect in Riyadh...The Snowflake Effect in Riyadh...
The Snowflake Effect in Riyadh...
 
Emergence
EmergenceEmergence
Emergence
 
Aristotle and the Art of Software Development
Aristotle and the Art of Software DevelopmentAristotle and the Art of Software Development
Aristotle and the Art of Software Development
 
Engine on Rails
Engine on RailsEngine on Rails
Engine on Rails
 
Aristotle and the Art of Software Development (Agile 2009)
Aristotle and the Art of Software Development (Agile 2009)Aristotle and the Art of Software Development (Agile 2009)
Aristotle and the Art of Software Development (Agile 2009)
 
Rack Middleware
Rack MiddlewareRack Middleware
Rack Middleware
 
Michael Tamblyn - 6 Projects That Could Change Publishing for the Better
Michael Tamblyn - 6 Projects That Could Change Publishing for the BetterMichael Tamblyn - 6 Projects That Could Change Publishing for the Better
Michael Tamblyn - 6 Projects That Could Change Publishing for the Better
 
Rails3: Stepping off of the golden path
Rails3: Stepping off of the golden pathRails3: Stepping off of the golden path
Rails3: Stepping off of the golden path
 
Bnc Pd Day Bellwoods
Bnc Pd Day BellwoodsBnc Pd Day Bellwoods
Bnc Pd Day Bellwoods
 

More from Fabio Akita

Devconf 2019 - São Carlos
Devconf 2019 - São CarlosDevconf 2019 - São Carlos
Devconf 2019 - São Carlos
Fabio Akita
 
Meetup Nerdzão - English Talk about Languages
Meetup Nerdzão  - English Talk about LanguagesMeetup Nerdzão  - English Talk about Languages
Meetup Nerdzão - English Talk about Languages
Fabio Akita
 
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018
Fabio Akita
 
Desmistificando Blockchains - 20o Encontro Locaweb SP
Desmistificando Blockchains - 20o Encontro Locaweb SPDesmistificando Blockchains - 20o Encontro Locaweb SP
Desmistificando Blockchains - 20o Encontro Locaweb SP
Fabio Akita
 
Desmistificando Blockchains - Insiter Goiania
Desmistificando Blockchains - Insiter GoianiaDesmistificando Blockchains - Insiter Goiania
Desmistificando Blockchains - Insiter Goiania
Fabio Akita
 
Blockchain em 7 minutos - 7Masters
Blockchain em 7 minutos - 7MastersBlockchain em 7 minutos - 7Masters
Blockchain em 7 minutos - 7Masters
Fabio Akita
 
Elixir -Tolerância a Falhas para Adultos - GDG Campinas
Elixir  -Tolerância a Falhas para Adultos - GDG CampinasElixir  -Tolerância a Falhas para Adultos - GDG Campinas
Elixir -Tolerância a Falhas para Adultos - GDG Campinas
Fabio Akita
 
Desmistificando Mitos de Tech Startups - Intercon 2017
Desmistificando Mitos de Tech Startups - Intercon 2017Desmistificando Mitos de Tech Startups - Intercon 2017
Desmistificando Mitos de Tech Startups - Intercon 2017
Fabio Akita
 
30 Days to Elixir and Crystal and Back to Ruby
30 Days to Elixir and Crystal and Back to Ruby30 Days to Elixir and Crystal and Back to Ruby
30 Days to Elixir and Crystal and Back to Ruby
Fabio Akita
 
Uma Discussão sobre a Carreira de TI
Uma Discussão sobre a Carreira de TIUma Discussão sobre a Carreira de TI
Uma Discussão sobre a Carreira de TI
Fabio Akita
 
THE CONF - Opening Keynote
THE CONF - Opening KeynoteTHE CONF - Opening Keynote
THE CONF - Opening Keynote
Fabio Akita
 
A Journey through New Languages - Rancho Dev 2017
A Journey through New Languages - Rancho Dev 2017A Journey through New Languages - Rancho Dev 2017
A Journey through New Languages - Rancho Dev 2017
Fabio Akita
 
Desmistificando Mitos de Startups - Sebrae - AP
Desmistificando Mitos de Startups - Sebrae - APDesmistificando Mitos de Startups - Sebrae - AP
Desmistificando Mitos de Startups - Sebrae - AP
Fabio Akita
 
A Journey through New Languages - Guru Sorocaba 2017
A Journey through New Languages - Guru Sorocaba 2017A Journey through New Languages - Guru Sorocaba 2017
A Journey through New Languages - Guru Sorocaba 2017
Fabio Akita
 
A Journey through New Languages - Insiter 2017
A Journey through New Languages - Insiter 2017A Journey through New Languages - Insiter 2017
A Journey through New Languages - Insiter 2017
Fabio Akita
 
A Journey through New Languages - Locaweb Tech Day
A Journey through New Languages - Locaweb Tech DayA Journey through New Languages - Locaweb Tech Day
A Journey through New Languages - Locaweb Tech Day
Fabio Akita
 
A Journey through new Languages - Intercon 2016
A Journey through new Languages - Intercon 2016A Journey through new Languages - Intercon 2016
A Journey through new Languages - Intercon 2016
Fabio Akita
 
Premature Optimization 2.0 - Intercon 2016
Premature Optimization 2.0 - Intercon 2016Premature Optimization 2.0 - Intercon 2016
Premature Optimization 2.0 - Intercon 2016
Fabio Akita
 
Conexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização PrematuraConexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização Prematura
Fabio Akita
 
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All EvilThe Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
Fabio Akita
 

More from Fabio Akita (20)

Devconf 2019 - São Carlos
Devconf 2019 - São CarlosDevconf 2019 - São Carlos
Devconf 2019 - São Carlos
 
Meetup Nerdzão - English Talk about Languages
Meetup Nerdzão  - English Talk about LanguagesMeetup Nerdzão  - English Talk about Languages
Meetup Nerdzão - English Talk about Languages
 
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018
 
Desmistificando Blockchains - 20o Encontro Locaweb SP
Desmistificando Blockchains - 20o Encontro Locaweb SPDesmistificando Blockchains - 20o Encontro Locaweb SP
Desmistificando Blockchains - 20o Encontro Locaweb SP
 
Desmistificando Blockchains - Insiter Goiania
Desmistificando Blockchains - Insiter GoianiaDesmistificando Blockchains - Insiter Goiania
Desmistificando Blockchains - Insiter Goiania
 
Blockchain em 7 minutos - 7Masters
Blockchain em 7 minutos - 7MastersBlockchain em 7 minutos - 7Masters
Blockchain em 7 minutos - 7Masters
 
Elixir -Tolerância a Falhas para Adultos - GDG Campinas
Elixir  -Tolerância a Falhas para Adultos - GDG CampinasElixir  -Tolerância a Falhas para Adultos - GDG Campinas
Elixir -Tolerância a Falhas para Adultos - GDG Campinas
 
Desmistificando Mitos de Tech Startups - Intercon 2017
Desmistificando Mitos de Tech Startups - Intercon 2017Desmistificando Mitos de Tech Startups - Intercon 2017
Desmistificando Mitos de Tech Startups - Intercon 2017
 
30 Days to Elixir and Crystal and Back to Ruby
30 Days to Elixir and Crystal and Back to Ruby30 Days to Elixir and Crystal and Back to Ruby
30 Days to Elixir and Crystal and Back to Ruby
 
Uma Discussão sobre a Carreira de TI
Uma Discussão sobre a Carreira de TIUma Discussão sobre a Carreira de TI
Uma Discussão sobre a Carreira de TI
 
THE CONF - Opening Keynote
THE CONF - Opening KeynoteTHE CONF - Opening Keynote
THE CONF - Opening Keynote
 
A Journey through New Languages - Rancho Dev 2017
A Journey through New Languages - Rancho Dev 2017A Journey through New Languages - Rancho Dev 2017
A Journey through New Languages - Rancho Dev 2017
 
Desmistificando Mitos de Startups - Sebrae - AP
Desmistificando Mitos de Startups - Sebrae - APDesmistificando Mitos de Startups - Sebrae - AP
Desmistificando Mitos de Startups - Sebrae - AP
 
A Journey through New Languages - Guru Sorocaba 2017
A Journey through New Languages - Guru Sorocaba 2017A Journey through New Languages - Guru Sorocaba 2017
A Journey through New Languages - Guru Sorocaba 2017
 
A Journey through New Languages - Insiter 2017
A Journey through New Languages - Insiter 2017A Journey through New Languages - Insiter 2017
A Journey through New Languages - Insiter 2017
 
A Journey through New Languages - Locaweb Tech Day
A Journey through New Languages - Locaweb Tech DayA Journey through New Languages - Locaweb Tech Day
A Journey through New Languages - Locaweb Tech Day
 
A Journey through new Languages - Intercon 2016
A Journey through new Languages - Intercon 2016A Journey through new Languages - Intercon 2016
A Journey through new Languages - Intercon 2016
 
Premature Optimization 2.0 - Intercon 2016
Premature Optimization 2.0 - Intercon 2016Premature Optimization 2.0 - Intercon 2016
Premature Optimization 2.0 - Intercon 2016
 
Conexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização PrematuraConexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização Prematura
 
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All EvilThe Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
 

Recently uploaded

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 

Recently uploaded (20)

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 

Web Expo Forum