SlideShare a Scribd company logo
1 of 59
Escalar	
  aplicações	
  PHP




                                       Augusto Pascutti
Wednesday, February 8, 2012
@augustohp




Wednesday, February 8, 2012
HTTP	
  =	
  Stateless	
  
                              (Share	
  Nothing)
Wednesday, February 8, 2012
Escalar?


Wednesday, February 8, 2012
!=	
  Velocidade
Wednesday, February 8, 2012
~=	
  quanBdade
Wednesday, February 8, 2012
Escalabilidade	
  =	
  Arquitetura
Wednesday, February 8, 2012
Nosso	
  ambiente
Wednesday, February 8, 2012
Wednesday, February 8, 2012
Level	
  1




Wednesday, February 8, 2012
Internet




Wednesday, February 8, 2012
Índices
Wednesday, February 8, 2012
Um	
  índice	
  muito	
  grande	
  é	
  INÚTIL.




                              Índices
Wednesday, February 8, 2012
CREATE TABLE compras (
             id INT AUTO_INCREMENT,
             data DATE NOT NULL,
             valor FLOAT NOT NULL,
             PRIMARY KEY (id)
             INDEX data_compra(data)
     )                        Índices
Wednesday, February 8, 2012
SELECT *
  FROM compras
  WHERE
  TO_DAYS(data)-TO_DAYS(data) <= 7


                              Índices
Wednesday, February 8, 2012
SELECT *
 FROM compras
 WHERE
 data <= CURRENT_DATE() - INTERVAL 7 DAY



                              Índices
Wednesday, February 8, 2012
SELECT *
 FROM compras
 WHERE
 data <= ‘2012-01-07’ - INTERVAL 7 DAY



                              Índices
Wednesday, February 8, 2012
ParBcionamento	
  VerBcal
Wednesday, February 8, 2012
CREATE TABLE usuarios (
       id INT AUTO_INCREMENT,
       login VARCHAR(50) NOT NULL,
       nascimento DATE NOT NULL
      ) ENGINE=InnoDB
      PARTITION BY RANGE (id) (
       PARTITION a VALUES LESS THAN (1000),
       PARTITION b VALUES LESS THAN (2000),
       PARTITION z VALUES LESS THAN MAXVALUE
      );
             ParBcionamento	
  VerBcal
Wednesday, February 8, 2012
CREATE TABLE usuarios (
       id INT AUTO_INCREMENT,
       login VARCHAR(50) NOT NULL,
       nascimento DATE NOT NULL,
       pais INT NOT NULL
      ) ENGINE=InnoDB
      PARTITION BY LIST (pais) (
       PARTITION america VALUES IN (1,2,3),
       PARTITION europa VALUES IN (4,5,6),
       ...
      );     ParBcionamento	
  VerBcal
Wednesday, February 8, 2012
CREATE TABLE usuarios (
       id INT AUTO_INCREMENT,
       login VARCHAR(50) NOT NULL,
       nascimento DATE NOT NULL,
       grupo INT NOT NULL
      ) ENGINE=InnoDB
      PARTITION BY HASH (grupo)
      PARTITIONS 4;

             ParBcionamento	
  VerBcal
Wednesday, February 8, 2012
CREATE TABLE usuarios (
       id INT AUTO_INCREMENT,
       login VARCHAR(50) NOT NULL,
       nascimento DATE NOT NULL,
       grupo INT NOT NULL
      ) ENGINE=InnoDB
      PARTITION BY HASH (grupo)    INT
      PARTITIONS 4;

             ParBcionamento	
  VerBcal
Wednesday, February 8, 2012
CREATE TABLE usuarios (
       id INT AUTO_INCREMENT,
       login VARCHAR(50) NOT NULL,
       nascimento DATE NOT NULL,
       grupo INT NOT NULL
      ) ENGINE=InnoDB
      PARTITION BY HASH (MONTH(nascimento))
      PARTITIONS 12;

             ParBcionamento	
  VerBcal
Wednesday, February 8, 2012
CREATE TABLE usuarios (
       id INT AUTO_INCREMENT,
       login VARCHAR(50) NOT NULL,
       nascimento DATE NOT NULL,
       grupo INT NOT NULL
      ) ENGINE=InnoDB
      PARTITION BY KEY (login)
      PARTITIONS 4;

             ParBcionamento	
  VerBcal
Wednesday, February 8, 2012
CREATE TABLE usuarios (
       id INT AUTO_INCREMENT,
       login VARCHAR(50) NOT NULL,
       nascimento DATE NOT NULL,
       grupo INT NOT NULL
      ) ENGINE=InnoDB
      PARTITION BY KEY (login)     =D
      PARTITIONS 4;

             ParBcionamento	
  VerBcal
Wednesday, February 8, 2012
Level	
  2




Wednesday, February 8, 2012
Gravação                Leitura




                                         Replicação

Wednesday, February 8, 2012
Level	
  3




Wednesday, February 8, 2012
Gravação                Leitura




                                         Replicação




Wednesday, February 8, 2012
Gravação                      Leitura




                                         Replicação




                                               MySql	
  Proxy




Wednesday, February 8, 2012
Wednesday, February 8, 2012
Level	
  1




Wednesday, February 8, 2012
Internet




Wednesday, February 8, 2012
MulB	
  Processing	
  Modules
Wednesday, February 8, 2012
Internet




Wednesday, February 8, 2012
Level	
  2




Wednesday, February 8, 2012
Wednesday, February 8, 2012
•mod_proxy
                              •mod_proxy_hWp
                              •mod_proxy_balancer




Wednesday, February 8, 2012
•mod_proxy
                                      •mod_proxy_hWp
                                      •mod_proxy_balancer

                ProxyPass / balancer://vila-chaves
                <Proxy balancer://vila-chaves>
                 BalancerMember http://chaves.test.org
                 BalancerMember http://kiko.test.org
                 BalancerMember http://nhonho.test.org
                </Proxy>




Wednesday, February 8, 2012
SESSION
Wednesday, February 8, 2012
ProxyPass / balancer://vila-chaves 
                  stickysession=PHPSESSIONID

         <Proxy balancer://vila-chaves>
          BalancerMember http://chaves.test.org
          BalancerMember http://kiko.test.org
          BalancerMember http://nhonho.test.org
         </Proxy>




                      SESSION
Wednesday, February 8, 2012
Level	
  3




Wednesday, February 8, 2012
Gravação   Leitura




Wednesday, February 8, 2012
•mod_rewrite




                              Gravação   Leitura




Wednesday, February 8, 2012
•mod_rewrite


  RewriteEngine On

  RewriteCond ${REQUEST_METHOD} ^(POST|PUT|DELETE)$
  RewriteRule ^/(.*)$ escrita.test.org$1 [P]
                              Gravação            Leitura
  RewriteCond ${REQUEST_METHOD} ^(GET|HEAD|OPTIONS)$
  RewriteRule ^/(.*)$ leitura.test.org$1 [P]




Wednesday, February 8, 2012
•mod_rewrite


  RewriteEngine On

  RewriteCond ${REQUEST_METHOD} ^(POST|PUT|DELETE)$
  RewriteRule ^/(.*)$ balancer://escrita$1 [P]
                              Gravação            Leitura
  RewriteCond ${REQUEST_METHOD} ^(GET|HEAD|OPTIONS)$
  RewriteRule ^/(.*)$ balancer://leitura$1 [P]




Wednesday, February 8, 2012
Wednesday, February 8, 2012
Banco	
  de	
  Dados




Wednesday, February 8, 2012
Front	
  Controller
Wednesday, February 8, 2012
SESSION
Wednesday, February 8, 2012
CREATE TABLE `session` (
                `id` char(32),
                `data` text,
                PRIMARY KEY (`id`)
             );
                              SESSION
Wednesday, February 8, 2012
session_set_save_handler
             ("open","close","read",
             "write","destroy","gc");

                              SESSION
Wednesday, February 8, 2012
function open($path,$name)
             {
                 return true;
             }

             function close() {
                 return true;
             }   SESSION
Wednesday, February 8, 2012
function read($id) {
                 $sql = "SELECT data
                          FROM session
                          WHERE id = '{$id}'";
                 $data = array(); // query, fetchAll
                 return $data;
             }


                              SESSION
Wednesday, February 8, 2012
function write($id, $data) {
             $data = serialize($data);
             $sql = "INSERT INTO session (id, data)
                       VALUES ('{$id}', '{$data}')";
             // Insert
             return true;
         }


                              SESSION
Wednesday, February 8, 2012
function destroy($id) {
                   $sql = "DELETE FROM session
                           WHERE id = '{$id}'";
                   // delete
                   return $sql;
               }

                              SESSION
Wednesday, February 8, 2012
function gc($maxlifetime) {
                              // =D
                              return true;
             }

                              SESSION
Wednesday, February 8, 2012
@alganet




Wednesday, February 8, 2012
slideshare.net/augustopascutti
Wednesday, February 8, 2012

More Related Content

What's hot

Contextual jQuery
Contextual jQueryContextual jQuery
Contextual jQueryDoug Neiner
 
Unobtrusive javascript with jQuery
Unobtrusive javascript with jQueryUnobtrusive javascript with jQuery
Unobtrusive javascript with jQueryAngel Ruiz
 
jQuery Features to Avoid
jQuery Features to AvoidjQuery Features to Avoid
jQuery Features to Avoiddmethvin
 
How to increase Performance of Web Application using JQuery
How to increase Performance of Web Application using JQueryHow to increase Performance of Web Application using JQuery
How to increase Performance of Web Application using JQuerykolkatageeks
 
jQuery Fundamentals
jQuery FundamentalsjQuery Fundamentals
jQuery FundamentalsGil Fink
 
OOCSS for Javascript pirates at jQueryPgh meetup
OOCSS for Javascript pirates at jQueryPgh meetupOOCSS for Javascript pirates at jQueryPgh meetup
OOCSS for Javascript pirates at jQueryPgh meetupBrian Cavalier
 
jQuery('#knowledge').appendTo('#you');
jQuery('#knowledge').appendTo('#you');jQuery('#knowledge').appendTo('#you');
jQuery('#knowledge').appendTo('#you');mikehostetler
 
Introduction to jQuery
Introduction to jQueryIntroduction to jQuery
Introduction to jQueryZeeshan Khan
 
Nothing Hard Baked: Designing the Inclusive Web
Nothing Hard Baked: Designing the Inclusive WebNothing Hard Baked: Designing the Inclusive Web
Nothing Hard Baked: Designing the Inclusive Webcolinbdclark
 
Write Less Do More
Write Less Do MoreWrite Less Do More
Write Less Do MoreRemy Sharp
 
Intro to jQuery
Intro to jQueryIntro to jQuery
Intro to jQueryAlan Hecht
 
User Interface Development with jQuery
User Interface Development with jQueryUser Interface Development with jQuery
User Interface Development with jQuerycolinbdclark
 

What's hot (20)

Contextual jQuery
Contextual jQueryContextual jQuery
Contextual jQuery
 
Jquery
JqueryJquery
Jquery
 
Unobtrusive javascript with jQuery
Unobtrusive javascript with jQueryUnobtrusive javascript with jQuery
Unobtrusive javascript with jQuery
 
jQuery Features to Avoid
jQuery Features to AvoidjQuery Features to Avoid
jQuery Features to Avoid
 
Jquery
JqueryJquery
Jquery
 
How to increase Performance of Web Application using JQuery
How to increase Performance of Web Application using JQueryHow to increase Performance of Web Application using JQuery
How to increase Performance of Web Application using JQuery
 
jQuery Fundamentals
jQuery FundamentalsjQuery Fundamentals
jQuery Fundamentals
 
J query training
J query trainingJ query training
J query training
 
OOCSS for Javascript pirates at jQueryPgh meetup
OOCSS for Javascript pirates at jQueryPgh meetupOOCSS for Javascript pirates at jQueryPgh meetup
OOCSS for Javascript pirates at jQueryPgh meetup
 
Jquery
JqueryJquery
Jquery
 
jQuery('#knowledge').appendTo('#you');
jQuery('#knowledge').appendTo('#you');jQuery('#knowledge').appendTo('#you');
jQuery('#knowledge').appendTo('#you');
 
jQuery
jQueryjQuery
jQuery
 
JQuery
JQueryJQuery
JQuery
 
jQuery Selectors
jQuery SelectorsjQuery Selectors
jQuery Selectors
 
jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Introduction to jQuery
Introduction to jQueryIntroduction to jQuery
Introduction to jQuery
 
Nothing Hard Baked: Designing the Inclusive Web
Nothing Hard Baked: Designing the Inclusive WebNothing Hard Baked: Designing the Inclusive Web
Nothing Hard Baked: Designing the Inclusive Web
 
Write Less Do More
Write Less Do MoreWrite Less Do More
Write Less Do More
 
Intro to jQuery
Intro to jQueryIntro to jQuery
Intro to jQuery
 
User Interface Development with jQuery
User Interface Development with jQueryUser Interface Development with jQuery
User Interface Development with jQuery
 

Viewers also liked

Orientação a Objetos na prática em php
Orientação a Objetos na prática em phpOrientação a Objetos na prática em php
Orientação a Objetos na prática em phpCampus Party Brasil
 
Melhorando sua API com DSLs
Melhorando sua API com DSLsMelhorando sua API com DSLs
Melhorando sua API com DSLsAugusto Pascutti
 
How the College of Southern Nevada Plans to use Web Personalization to Drive ...
How the College of Southern Nevada Plans to use Web Personalization to Drive ...How the College of Southern Nevada Plans to use Web Personalization to Drive ...
How the College of Southern Nevada Plans to use Web Personalization to Drive ...Acquia
 
Working better together: Zahlen & Fakten der Google-Studie
Working better together: Zahlen & Fakten der Google-StudieWorking better together: Zahlen & Fakten der Google-Studie
Working better together: Zahlen & Fakten der Google-StudieTWT
 
Mit diesen 8 Tipps erstellen Sie hochwertigen und gut lesbaren Content
Mit diesen 8 Tipps erstellen Sie hochwertigen und gut lesbaren ContentMit diesen 8 Tipps erstellen Sie hochwertigen und gut lesbaren Content
Mit diesen 8 Tipps erstellen Sie hochwertigen und gut lesbaren ContentTWT
 
1 сентября в дошкольном отделении
1 сентября  в дошкольном отделении1 сентября  в дошкольном отделении
1 сентября в дошкольном отделенииromisflasher
 
Karar kontrol deyi̇mleri̇
Karar kontrol deyi̇mleri̇Karar kontrol deyi̇mleri̇
Karar kontrol deyi̇mleri̇Emirhan KOTAN
 
Ingilizce kurslari-antalya
Ingilizce kurslari-antalyaIngilizce kurslari-antalya
Ingilizce kurslari-antalyazeynep_zyn30
 
Can we save the open web?
Can we save the open web?Can we save the open web?
Can we save the open web?Acquia
 
Programlama Temelleri Hazır Metodlar
Programlama Temelleri Hazır MetodlarProgramlama Temelleri Hazır Metodlar
Programlama Temelleri Hazır Metodlarkadirolmez
 
Guraso batzar zihortza 2015 16
Guraso batzar zihortza 2015 16Guraso batzar zihortza 2015 16
Guraso batzar zihortza 2015 16eskolaikt
 
2 Teaching Loads for District Staff
2 Teaching Loads for District Staff2 Teaching Loads for District Staff
2 Teaching Loads for District StaffIndanan South
 
Estresse por déficit hídrico
Estresse por déficit hídricoEstresse por déficit hídrico
Estresse por déficit hídricoDailson Oliveira
 
Anchored Secant Pile Wall Presentation
Anchored Secant Pile Wall PresentationAnchored Secant Pile Wall Presentation
Anchored Secant Pile Wall PresentationKyle Beaudry, P.Eng
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAmazon Web Services LATAM
 

Viewers also liked (20)

Orientação a objetos v2
Orientação a objetos v2Orientação a objetos v2
Orientação a objetos v2
 
Orientação a Objetos na prática em php
Orientação a Objetos na prática em phpOrientação a Objetos na prática em php
Orientação a Objetos na prática em php
 
Melhorando sua API com DSLs
Melhorando sua API com DSLsMelhorando sua API com DSLs
Melhorando sua API com DSLs
 
How the College of Southern Nevada Plans to use Web Personalization to Drive ...
How the College of Southern Nevada Plans to use Web Personalization to Drive ...How the College of Southern Nevada Plans to use Web Personalization to Drive ...
How the College of Southern Nevada Plans to use Web Personalization to Drive ...
 
Working better together: Zahlen & Fakten der Google-Studie
Working better together: Zahlen & Fakten der Google-StudieWorking better together: Zahlen & Fakten der Google-Studie
Working better together: Zahlen & Fakten der Google-Studie
 
23 nov
23 nov23 nov
23 nov
 
Sociale media trends 2012
Sociale media trends 2012Sociale media trends 2012
Sociale media trends 2012
 
Mit diesen 8 Tipps erstellen Sie hochwertigen und gut lesbaren Content
Mit diesen 8 Tipps erstellen Sie hochwertigen und gut lesbaren ContentMit diesen 8 Tipps erstellen Sie hochwertigen und gut lesbaren Content
Mit diesen 8 Tipps erstellen Sie hochwertigen und gut lesbaren Content
 
1 сентября в дошкольном отделении
1 сентября  в дошкольном отделении1 сентября  в дошкольном отделении
1 сентября в дошкольном отделении
 
Karar kontrol deyi̇mleri̇
Karar kontrol deyi̇mleri̇Karar kontrol deyi̇mleri̇
Karar kontrol deyi̇mleri̇
 
Ingilizce kurslari-antalya
Ingilizce kurslari-antalyaIngilizce kurslari-antalya
Ingilizce kurslari-antalya
 
Can we save the open web?
Can we save the open web?Can we save the open web?
Can we save the open web?
 
Programlama Temelleri Hazır Metodlar
Programlama Temelleri Hazır MetodlarProgramlama Temelleri Hazır Metodlar
Programlama Temelleri Hazır Metodlar
 
Guraso batzar zihortza 2015 16
Guraso batzar zihortza 2015 16Guraso batzar zihortza 2015 16
Guraso batzar zihortza 2015 16
 
2 Teaching Loads for District Staff
2 Teaching Loads for District Staff2 Teaching Loads for District Staff
2 Teaching Loads for District Staff
 
The Green Buiding Debate
The Green Buiding DebateThe Green Buiding Debate
The Green Buiding Debate
 
Estresse por déficit hídrico
Estresse por déficit hídricoEstresse por déficit hídrico
Estresse por déficit hídrico
 
An Introduction to Green Building
An Introduction to Green BuildingAn Introduction to Green Building
An Introduction to Green Building
 
Anchored Secant Pile Wall Presentation
Anchored Secant Pile Wall PresentationAnchored Secant Pile Wall Presentation
Anchored Secant Pile Wall Presentation
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
 

Similar to Como escalar aplicações PHP

Games for the Masses (QCon London 2012)
Games for the Masses (QCon London 2012)Games for the Masses (QCon London 2012)
Games for the Masses (QCon London 2012)Wooga
 
Cypher Query Language
Cypher Query Language Cypher Query Language
Cypher Query Language graphdevroom
 
Node Access in Drupal 7 (and Drupal 8)
Node Access in Drupal 7 (and Drupal 8)Node Access in Drupal 7 (and Drupal 8)
Node Access in Drupal 7 (and Drupal 8)nyccamp
 
Removing Barriers to Going Fast
Removing Barriers to Going FastRemoving Barriers to Going Fast
Removing Barriers to Going Fastjgoulah
 
Yii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian FackerYii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian FackerMayflower GmbH
 
Yii Next Level
Yii Next LevelYii Next Level
Yii Next LevelAdamPSB
 
Improving Front End Performance
Improving Front End PerformanceImproving Front End Performance
Improving Front End PerformanceJoseph Scott
 
Developing RESTful Web APIs with Python, Flask and MongoDB
Developing RESTful Web APIs with Python, Flask and MongoDBDeveloping RESTful Web APIs with Python, Flask and MongoDB
Developing RESTful Web APIs with Python, Flask and MongoDBNicola Iarocci
 
Passing a Front end Developer interview
Passing a Front end Developer interview Passing a Front end Developer interview
Passing a Front end Developer interview tonyfarnsworth
 
Symfony2 and MongoDB
Symfony2 and MongoDBSymfony2 and MongoDB
Symfony2 and MongoDBPablo Godel
 
Migrations for Java
Migrations for JavaMigrations for Java
Migrations for JavaRafael Ponte
 
Create a res tful services api in php.
Create a res tful services api in php.Create a res tful services api in php.
Create a res tful services api in php.Adeoye Akintola
 
Android | Busy Java Developers Guide to Android: Persistence | Ted Neward
Android | Busy Java Developers Guide to Android: Persistence | Ted NewardAndroid | Busy Java Developers Guide to Android: Persistence | Ted Neward
Android | Busy Java Developers Guide to Android: Persistence | Ted NewardJAX London
 
Persitance Data with sqlite
Persitance Data with sqlitePersitance Data with sqlite
Persitance Data with sqliteArif Huda
 
EAD Revision Progress Report, 2012-08-08
EAD Revision Progress Report, 2012-08-08EAD Revision Progress Report, 2012-08-08
EAD Revision Progress Report, 2012-08-08Michael Rush
 
When Webform and Feeds Aren't Enough
When Webform and Feeds Aren't EnoughWhen Webform and Feeds Aren't Enough
When Webform and Feeds Aren't EnoughForum One
 
SfCon: Test Driven Development
SfCon: Test Driven DevelopmentSfCon: Test Driven Development
SfCon: Test Driven DevelopmentAugusto Pascutti
 
THE STATE OF GLOBAL INFRASTRUCTURE PERFORMANCE from Structure 2012
THE STATE OF GLOBAL INFRASTRUCTURE PERFORMANCE from Structure 2012THE STATE OF GLOBAL INFRASTRUCTURE PERFORMANCE from Structure 2012
THE STATE OF GLOBAL INFRASTRUCTURE PERFORMANCE from Structure 2012Gigaom
 
Continous Delivery in Action
Continous Delivery in ActionContinous Delivery in Action
Continous Delivery in Actionandyhu1007
 

Similar to Como escalar aplicações PHP (20)

Games for the Masses (QCon London 2012)
Games for the Masses (QCon London 2012)Games for the Masses (QCon London 2012)
Games for the Masses (QCon London 2012)
 
Brief overview of NoSQL & MongoDB for GTUG Tbilisi Event
Brief overview of NoSQL & MongoDB for GTUG Tbilisi EventBrief overview of NoSQL & MongoDB for GTUG Tbilisi Event
Brief overview of NoSQL & MongoDB for GTUG Tbilisi Event
 
Cypher Query Language
Cypher Query Language Cypher Query Language
Cypher Query Language
 
Node Access in Drupal 7 (and Drupal 8)
Node Access in Drupal 7 (and Drupal 8)Node Access in Drupal 7 (and Drupal 8)
Node Access in Drupal 7 (and Drupal 8)
 
Removing Barriers to Going Fast
Removing Barriers to Going FastRemoving Barriers to Going Fast
Removing Barriers to Going Fast
 
Yii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian FackerYii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian Facker
 
Yii Next Level
Yii Next LevelYii Next Level
Yii Next Level
 
Improving Front End Performance
Improving Front End PerformanceImproving Front End Performance
Improving Front End Performance
 
Developing RESTful Web APIs with Python, Flask and MongoDB
Developing RESTful Web APIs with Python, Flask and MongoDBDeveloping RESTful Web APIs with Python, Flask and MongoDB
Developing RESTful Web APIs with Python, Flask and MongoDB
 
Passing a Front end Developer interview
Passing a Front end Developer interview Passing a Front end Developer interview
Passing a Front end Developer interview
 
Symfony2 and MongoDB
Symfony2 and MongoDBSymfony2 and MongoDB
Symfony2 and MongoDB
 
Migrations for Java
Migrations for JavaMigrations for Java
Migrations for Java
 
Create a res tful services api in php.
Create a res tful services api in php.Create a res tful services api in php.
Create a res tful services api in php.
 
Android | Busy Java Developers Guide to Android: Persistence | Ted Neward
Android | Busy Java Developers Guide to Android: Persistence | Ted NewardAndroid | Busy Java Developers Guide to Android: Persistence | Ted Neward
Android | Busy Java Developers Guide to Android: Persistence | Ted Neward
 
Persitance Data with sqlite
Persitance Data with sqlitePersitance Data with sqlite
Persitance Data with sqlite
 
EAD Revision Progress Report, 2012-08-08
EAD Revision Progress Report, 2012-08-08EAD Revision Progress Report, 2012-08-08
EAD Revision Progress Report, 2012-08-08
 
When Webform and Feeds Aren't Enough
When Webform and Feeds Aren't EnoughWhen Webform and Feeds Aren't Enough
When Webform and Feeds Aren't Enough
 
SfCon: Test Driven Development
SfCon: Test Driven DevelopmentSfCon: Test Driven Development
SfCon: Test Driven Development
 
THE STATE OF GLOBAL INFRASTRUCTURE PERFORMANCE from Structure 2012
THE STATE OF GLOBAL INFRASTRUCTURE PERFORMANCE from Structure 2012THE STATE OF GLOBAL INFRASTRUCTURE PERFORMANCE from Structure 2012
THE STATE OF GLOBAL INFRASTRUCTURE PERFORMANCE from Structure 2012
 
Continous Delivery in Action
Continous Delivery in ActionContinous Delivery in Action
Continous Delivery in Action
 

More from Augusto Pascutti

Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Augusto Pascutti
 
TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)Augusto Pascutti
 
Guia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeGuia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeAugusto Pascutti
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHPAugusto Pascutti
 
PHP - O que, porquê e como
PHP - O que, porquê e comoPHP - O que, porquê e como
PHP - O que, porquê e comoAugusto Pascutti
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorAugusto Pascutti
 
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!Augusto Pascutti
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHPAugusto Pascutti
 
Boas Práticas, Práticas !
Boas Práticas, Práticas !Boas Práticas, Práticas !
Boas Práticas, Práticas !Augusto Pascutti
 
Mão na Massa: Orientação a Objetos na Prática
Mão na Massa: Orientação a Objetos na PráticaMão na Massa: Orientação a Objetos na Prática
Mão na Massa: Orientação a Objetos na PráticaAugusto Pascutti
 

More from Augusto Pascutti (18)

Errors
ErrorsErrors
Errors
 
Porque VIM?
Porque VIM?Porque VIM?
Porque VIM?
 
Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.Logs: O que comem, onde vivem e como se reproduzem.
Logs: O que comem, onde vivem e como se reproduzem.
 
TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)TDD - Test Driven Development (em PHP)
TDD - Test Driven Development (em PHP)
 
Guia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeGuia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidade
 
Falhando miseralvelmente com PHP
Falhando miseralvelmente com PHPFalhando miseralvelmente com PHP
Falhando miseralvelmente com PHP
 
Under engineer
Under engineerUnder engineer
Under engineer
 
The small things
The small thingsThe small things
The small things
 
Somos jardineiros
Somos jardineirosSomos jardineiros
Somos jardineiros
 
PHP - O que, porquê e como
PHP - O que, porquê e comoPHP - O que, porquê e como
PHP - O que, porquê e como
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Testar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhorTestar é bom, integrar é ainda melhor
Testar é bom, integrar é ainda melhor
 
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
PHPSC Conference 2010 - Testar é bom, integrar é melhor ainda!
 
Segurança em PHP
Segurança em PHPSegurança em PHP
Segurança em PHP
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHP
 
Boas Práticas, Práticas !
Boas Práticas, Práticas !Boas Práticas, Práticas !
Boas Práticas, Práticas !
 
Mitos do PHP
Mitos do PHPMitos do PHP
Mitos do PHP
 
Mão na Massa: Orientação a Objetos na Prática
Mão na Massa: Orientação a Objetos na PráticaMão na Massa: Orientação a Objetos na Prática
Mão na Massa: Orientação a Objetos na Prática
 

Recently uploaded

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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Como escalar aplicações PHP