SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
Sunday, July 3, 2011
Sunday, July 3, 2011
Quién es Pablo Godel?"



   • Argentino, viviendo en Miami desde 1999, EE.UU.
   • Programador PHP, Symfony, entre otros
   • Fundador de la lista de PHP en español http://
     news.php.net/php.general.es/3 )antes de Julio 2000(
   • Pasé el control a php.net con más de 1000 subscriptos
   • Co-fundador de ServerGrove Networks
   ⁃ fundada en 2005 
   ⁃ servicios de hosting especializado en PHP y Symfony


Sunday, July 3, 2011
Entorno Productivo




                       Sistema Operativo



Sunday, July 3, 2011
Entorno Productivo - sistema operativo




                       Opciones disponibles

                       • Mac OS X )basado en Unix(
                       • Linux
                       • Windows




Sunday, July 3, 2011
Entorno Productivo - sistema operativo

                                  Regla #1



                       El entorno de desarrollo
                       idealmente tiene que ser lo más
                       cercano posible al servidor de
                       producción.




Sunday, July 3, 2011
Entorno Productivo - sistema operativo

                                   Regla #1




                       Si el servidor corre Linux, el
                       desarrollo debería ser Linux o
                       algún Unix, incluso Mac OS X.




Sunday, July 3, 2011
Entorno Productivo - sistema operativo

                                  Regla #1




                       En cambio, si el servidor es
                       Windows, idealmente el
                       desarrollo debe ser en Windows.




Sunday, July 3, 2011
Entorno Productivo - sistema operativo

                                  Regla #1



                       Todo esto es muy importante
                       para evitar sorpresas )que
                       generalmente son malas porque
                       son problemas(




Sunday, July 3, 2011
Entorno Productivo - sistema operativo

                              Regla #1


      Razones:

       • Falta de extensiones de PHP
       • Diferencia en versiones de PHP y extensions
       • Diferencia en configuración de Apache y PHP
         )php.ini(
       • Diferencia en el sistema de archivos )case sensitive/
         insensitive(



Sunday, July 3, 2011
Entorno Productivo - sistema operativo

 Diferencia en el sistema de archivos )case sensitive/
 insensitive(



          • Linux )case sensitve(
          • Windows )case insensitive(
          • Mac OS X )por defecto, case insensitive, se puede
            cambiar pero trae problemas(




Sunday, July 3, 2011
Entorno Productivo - sistema operativo

 Diferencia en el sistema de archivos )case sensitive/
 insensitive(
  <?php
  use SymfonyComponentClassLoaderUniversalClassLoader;
  $loader = new UniversalClassLoader();
  $loader->registerNamespaces(array(
     'Symfony'           => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/
  bundles'),
     'Application'      => __DIR__.'/../src',
     'Sensio'          => __DIR__.'/../vendor/bundles',



               Archivo: src/Application/miBundle/clase.php

                 $clase = new Application/MiBundle/Clase()

Sunday, July 3, 2011
Entorno Productivo - sistema operativo


                       No olvidarse de los VMs

      Permiten correr Linux dentro de Windows o Mac OS X


                        • VirtualBox )gratis(
                        • VMware Player )gratis(
                        • VMWare Fusion
                        • Parallels Desktop



Sunday, July 3, 2011
Entorno Productivo - sistema operativo




             Otra alternativa es tener un servidor dedicado o
            virtual aparte que se pueda montar con SMB / NFS




Sunday, July 3, 2011
Entorno Productivo - sistema operativo




          Los servidores virtuales tienen la ventaja que se
       pueden clonar para cuando se agrega un programador
                             al equipo.




Sunday, July 3, 2011
Entorno Productivo - sistema operativo




          Jefes: ofrezcan al programador elegir su entorno de
         desarrollo. No hay nada más importante que sentirse
                cómodo y manejar bien las herramientas.




Sunday, July 3, 2011
Entorno Productivo - sistema operativo

                                   Regla #2




                Usen lo que les sienta mejor y donde sean más
                productivos, pero prueben cosas nuevas.




Sunday, July 3, 2011
Entorno Productivo




                       Stacks



Sunday, July 3, 2011
Entorno Productivo - Stacks

                           Opciones disponibles

                       • WAMP )Windows(
                       • XAMP )Mac(
                       • Zend Server CE )Win,Mac,Linux(
                       • Liip PHP )Mac(
                         http://php-osx.liip.ch/




Sunday, July 3, 2011
Entorno Productivo




                       Editor / IDE



Sunday, July 3, 2011
Entorno Productivo - Editor/IDE

                       Opciones disponibles

        • Netbeans 7 PHP )gratis(
        • phpStorm 2.1 )$84 personal, $168 comercial, gratis
          para proyectos OS(
        • Eclipse )gratis(
        • Zend Studio 8 )$299(
        • Komodo IDE 6 )$295 sin soporte/upgrades(


             Textmate (Mac), vi/vim, emacs, notepad, etc.


Sunday, July 3, 2011
Entorno Productivo - Editor/IDE


                         ¿Por qué un IDE?

        • integración con Xdebug / otros
        • breakpoints y watches
        • code completion
        • syntax highligher
        • PHPDoc
        • Twig! )phpStorm(
        • muchas más!




Sunday, July 3, 2011
Entorno Productivo - Editor/IDE


                        ¿Por qué no un IDE?


        • generalmente requieren mucha memoria
        • curva de aprendizaje
        • familiarización con herramientas ya conocidas y
          dominadas
        • costo




Sunday, July 3, 2011
Entorno Productivo - Editor/IDE




          Jefes: ofrezcan al programador elegir su entorno de
         desarrollo. No hay nada más importante que sentirse
                cómodo y manejar bien las herramientas.




Sunday, July 3, 2011
Entorno Productivo




                       Source Control



Sunday, July 3, 2011
Entorno Productivo - source control




                       No importa que tan chico sea el
                       proyecto, usen source control!




Sunday, July 3, 2011
Entorno Productivo - source control

                       Opciones disponibles



                              Git...




Sunday, July 3, 2011
Entorno Productivo - source control

                          Opciones disponibles

                          ok... también existen:


                       • hg )mercurial(
                       • SVN )subversion(
                       • CVS )alguien se acuerda?(




Sunday, July 3, 2011
Entorno Productivo - source control




                       Pero Git + github revolucionaron el mundo de
                       proyectos open source




Sunday, July 3, 2011
Entorno Productivo




                       Testing



Sunday, July 3, 2011
Entorno Productivo - Testing

                       Opciones disponibles - Unit Tests


                                    • PHPUnit
                                    • SimpleTest




Sunday, July 3, 2011
Entorno Productivo - Testing

                  Opciones disponibles - Continuous Integration


                       • CruiseControl
                       • phpUnderControl
                       • Sismo
                       • Jenkins
                         http://jenkins-php.org/




Sunday, July 3, 2011
Entorno Productivo - Testing

                         Opciones disponibles - Frontend



                       • Symfony2
                       • Selenium RC
                       • Mink




Sunday, July 3, 2011
Entorno Productivo




                       Debugging



Sunday, July 3, 2011
Entorno Productivo - debugging

                               Opciones disponibles

                       • Xdebug
                         • breakpoints
                         • stack traces
                         • profiler
                       • Zend Studio
                       • FirePHP
                       • print_r)( / var_dump)( / echo :-(




Sunday, July 3, 2011
Entorno Productivo - debugging

                                configuración PHP



                       • display_errors = 0
                       • error_log = /var/log/php.log
                       • error_reporting = -1




Sunday, July 3, 2011
Entorno Productivo




                       Deployment



Sunday, July 3, 2011
Entorno Productivo - deployment

                       Opciones disponibles


                       • capistrano
                       • capifony )symfony(
                       • phing
                       • git / svn / etc
                       • rsync
                       • ftp




Sunday, July 3, 2011
Entorno Productivo - deployment

                                                       Capifony

             • Instalar capistrano
                ⁃ gem install capifony
             • Inicializamos el proyecto
                ⁃ capifony .
             • Configuramos el deployment con config/deploy.rb
             • Seteamos el servidor
                ⁃ cap deploy:setup
             • Hacemos el deployment
                ⁃ cap deploy
             • Y la próxima vez y la otra y la otra…:
                ⁃ cap deploy

Sunday, July 3, 2011
Entorno Productivo - deployment
   set :application, "sg11"
   set :domain,      "servergrove.com"                                         Capifony
   set :deploy_to, "/var/www/vhosts/sg11.servergrove.com"

   set :repository, "git@github.com:servergrove/sg11.git"
   set :scm,       :git
   set :branch,     "master"

   set :user,    "deployer"
   ssh_options[:port] = 22123
   ssh_options[:forward_agent] = true
   set :use_sudo, false

   role :web,          "sg100.servergrove.com"              # Your HTTP server, Apache/etc

   # directories that will be shared between all deployments
   set :shared_children, [app_path + "/logs", web_path + "/uploads"]

   set :update_vendors, false

   set :dump_assetic_assets, true


Sunday, July 3, 2011
Entorno Productivo - deployment

                                                           Capifony

   `-- /var/www/vhosts/sg11.servergrove.com
     |-- current ! /var/www/vhosts/sg11.servergrove.com/releases/
   20100512131539
     |-- releases
       |-- 20100512131539
       |-- 20100509150741
       `-- 20100509145325
     `-- shared
       |-- log
       |-- config
         `-- databases.yml
       `-- web
         `-- uploads




Sunday, July 3, 2011
Entorno Productivo




                       Tips



Sunday, July 3, 2011
Entorno Productivo - tips

                                       SSH
                • ssh-keygen -t dsa
                • ~/.ssh/config
                    Host *
                    ForwardAgent yes

                • ssh-add



                 Ahora, cuando nos conectemos al servidor
                 remoto y ejecutemos git pull, utilizará el key de
                 nuestra computadora.


Sunday, July 3, 2011
Entorno Productivo - tips


                • El poder del archivo hosts
                  • Unix: /etc/hosts
                  • Windows: /Windows/System32/etc/hosts

                 Permite acceder a un IP sin tener que cambiar
                 el DNS
                 Permite crear virtual hosts en el servidor local
                 de desarrollo, ej: desymfony.local



Sunday, July 3, 2011
Entorno Productivo - tips
  El poder del archivo hosts
  127.0.0.1    localhost symfony2rc2.local rockmongo.local mysql_admin.local maestro.local
  desymfony.local sg11.local sgcontrol2.local



  Apache Virtual Document Root
   UseCanonicalName Off

   VirtualDocumentRoot /Users/pgodel/Sites/%0/web

   <Location />
       AllowOverride All
       Options +FollowSymLinks
   </Location>


                            • ~/Sites/desymfony.local
                            • ~/Sites/sg11.local
                            •…
Sunday, July 3, 2011
Entorno Productivo - tips

                                        Aliases en BASH




           alias phplog="tail -f /var/log/apache2/php_errors.log"




           $ phplog




Sunday, July 3, 2011
Entorno Productivo - tips

                                 pbcopy & pbpaste )Mac(




           cat archivo.txt | pbcopy




           pbpaste > nuevo.txt




Sunday, July 3, 2011
Entorno Productivo




                       ¿Preguntas?




Sunday, July 3, 2011
Entorno Productivo



                          ¡MUCHAS GRACIAS!



                       Slides: http://slideshare.net/pgodel
                                Twitter: @pgodel
                              IRC Freenode: pgodel




Sunday, July 3, 2011

Contenu connexe

En vedette

Celebración Día de Andalucía 2013
Celebración Día de Andalucía 2013Celebración Día de Andalucía 2013
Celebración Día de Andalucía 2013Manuel
 
Decreto 53/2009 de 25 de junio, que regula la convivencia escolar y los derec...
Decreto 53/2009 de 25 de junio, que regula la convivencia escolar y los derec...Decreto 53/2009 de 25 de junio, que regula la convivencia escolar y los derec...
Decreto 53/2009 de 25 de junio, que regula la convivencia escolar y los derec...organizacionescolar
 
Sesión de Aprendizaje de Guantes
Sesión de Aprendizaje de GuantesSesión de Aprendizaje de Guantes
Sesión de Aprendizaje de Guantesguest2180cc
 
Sesión de aprendizaje 03 unidad didáctica 01 área comunicación tercer grado...
Sesión de aprendizaje 03  unidad didáctica 01 área comunicación  tercer grado...Sesión de aprendizaje 03  unidad didáctica 01 área comunicación  tercer grado...
Sesión de aprendizaje 03 unidad didáctica 01 área comunicación tercer grado...Teresa Clotilde Ojeda Sánchez
 
Proyecto mundo animal
Proyecto mundo animalProyecto mundo animal
Proyecto mundo animalMarta
 
Carta Descriptiva
Carta DescriptivaCarta Descriptiva
Carta Descriptivaeldanielgo
 
Técnicas e instrumentos de evaluación de competencias
Técnicas e instrumentos de evaluación de competenciasTécnicas e instrumentos de evaluación de competencias
Técnicas e instrumentos de evaluación de competenciasRAÚL SUÁREZ ÁLVAREZ
 
Sesión de Aprendizaje 01 de Unidad Didáctica 01 del Área de Personal Social ...
Sesión de Aprendizaje 01 de Unidad Didáctica 01 del  Área de Personal Social ...Sesión de Aprendizaje 01 de Unidad Didáctica 01 del  Área de Personal Social ...
Sesión de Aprendizaje 01 de Unidad Didáctica 01 del Área de Personal Social ...Teresa Clotilde Ojeda Sánchez
 
Progrmacion curricular anual de educacion para el trabajo
Progrmacion curricular anual de educacion para el trabajoProgrmacion curricular anual de educacion para el trabajo
Progrmacion curricular anual de educacion para el trabajoUgel 09
 
EJEMPLO DE ESTUDIO DE MERCADO
EJEMPLO DE ESTUDIO DE MERCADO EJEMPLO DE ESTUDIO DE MERCADO
EJEMPLO DE ESTUDIO DE MERCADO jorgeever
 
Ejemplo power point estudio de mercado
Ejemplo power point  estudio de mercadoEjemplo power point  estudio de mercado
Ejemplo power point estudio de mercadokmiraldaunah
 
EJEMPLO DE PORTAFOLIO DE EVIDENCIAS CON ENUNCIADOS GUIAS
EJEMPLO DE PORTAFOLIO DE EVIDENCIAS CON ENUNCIADOS GUIASEJEMPLO DE PORTAFOLIO DE EVIDENCIAS CON ENUNCIADOS GUIAS
EJEMPLO DE PORTAFOLIO DE EVIDENCIAS CON ENUNCIADOS GUIASJaime Gerardo Mendez Barrientos
 
Secuencia de actividades convivencia imprimir
Secuencia de actividades convivencia imprimirSecuencia de actividades convivencia imprimir
Secuencia de actividades convivencia imprimirTerceroMagisterio
 
Sesion de aprendizaje educacion para el trabajo
Sesion de aprendizaje educacion para el trabajoSesion de aprendizaje educacion para el trabajo
Sesion de aprendizaje educacion para el trabajoBasilio Gervacio
 
Plan de TUTORÍA del aula.
Plan de  TUTORÍA del aula.Plan de  TUTORÍA del aula.
Plan de TUTORÍA del aula.Marly Rodriguez
 

En vedette (20)

Celebración Día de Andalucía 2013
Celebración Día de Andalucía 2013Celebración Día de Andalucía 2013
Celebración Día de Andalucía 2013
 
Organizacion tercero
Organizacion terceroOrganizacion tercero
Organizacion tercero
 
Decreto 53/2009 de 25 de junio, que regula la convivencia escolar y los derec...
Decreto 53/2009 de 25 de junio, que regula la convivencia escolar y los derec...Decreto 53/2009 de 25 de junio, que regula la convivencia escolar y los derec...
Decreto 53/2009 de 25 de junio, que regula la convivencia escolar y los derec...
 
Sesion com 2g_01
Sesion com 2g_01Sesion com 2g_01
Sesion com 2g_01
 
Normas de convivencia
Normas de convivenciaNormas de convivencia
Normas de convivencia
 
Sesión de Aprendizaje de Guantes
Sesión de Aprendizaje de GuantesSesión de Aprendizaje de Guantes
Sesión de Aprendizaje de Guantes
 
Sesión de aprendizaje 03 unidad didáctica 01 área comunicación tercer grado...
Sesión de aprendizaje 03  unidad didáctica 01 área comunicación  tercer grado...Sesión de aprendizaje 03  unidad didáctica 01 área comunicación  tercer grado...
Sesión de aprendizaje 03 unidad didáctica 01 área comunicación tercer grado...
 
Proyecto mundo animal
Proyecto mundo animalProyecto mundo animal
Proyecto mundo animal
 
Carta Descriptiva
Carta DescriptivaCarta Descriptiva
Carta Descriptiva
 
Estudio De Mercado Para Un Proyecto
Estudio De Mercado Para Un ProyectoEstudio De Mercado Para Un Proyecto
Estudio De Mercado Para Un Proyecto
 
Técnicas e instrumentos de evaluación de competencias
Técnicas e instrumentos de evaluación de competenciasTécnicas e instrumentos de evaluación de competencias
Técnicas e instrumentos de evaluación de competencias
 
Sesión de Aprendizaje 01 de Unidad Didáctica 01 del Área de Personal Social ...
Sesión de Aprendizaje 01 de Unidad Didáctica 01 del  Área de Personal Social ...Sesión de Aprendizaje 01 de Unidad Didáctica 01 del  Área de Personal Social ...
Sesión de Aprendizaje 01 de Unidad Didáctica 01 del Área de Personal Social ...
 
Progrmacion curricular anual de educacion para el trabajo
Progrmacion curricular anual de educacion para el trabajoProgrmacion curricular anual de educacion para el trabajo
Progrmacion curricular anual de educacion para el trabajo
 
EJEMPLO DE ESTUDIO DE MERCADO
EJEMPLO DE ESTUDIO DE MERCADO EJEMPLO DE ESTUDIO DE MERCADO
EJEMPLO DE ESTUDIO DE MERCADO
 
Ejemplo power point estudio de mercado
Ejemplo power point  estudio de mercadoEjemplo power point  estudio de mercado
Ejemplo power point estudio de mercado
 
Cómo elaborar un Portafolio de Evidencias
Cómo elaborar un Portafolio de EvidenciasCómo elaborar un Portafolio de Evidencias
Cómo elaborar un Portafolio de Evidencias
 
EJEMPLO DE PORTAFOLIO DE EVIDENCIAS CON ENUNCIADOS GUIAS
EJEMPLO DE PORTAFOLIO DE EVIDENCIAS CON ENUNCIADOS GUIASEJEMPLO DE PORTAFOLIO DE EVIDENCIAS CON ENUNCIADOS GUIAS
EJEMPLO DE PORTAFOLIO DE EVIDENCIAS CON ENUNCIADOS GUIAS
 
Secuencia de actividades convivencia imprimir
Secuencia de actividades convivencia imprimirSecuencia de actividades convivencia imprimir
Secuencia de actividades convivencia imprimir
 
Sesion de aprendizaje educacion para el trabajo
Sesion de aprendizaje educacion para el trabajoSesion de aprendizaje educacion para el trabajo
Sesion de aprendizaje educacion para el trabajo
 
Plan de TUTORÍA del aula.
Plan de  TUTORÍA del aula.Plan de  TUTORÍA del aula.
Plan de TUTORÍA del aula.
 

Similaire à Quién es Pablo Godel

Plone - Introducción y instalación
Plone - Introducción y instalaciónPlone - Introducción y instalación
Plone - Introducción y instalaciónajussis
 
Curso Plone Secundo Sesion
Curso Plone   Secundo SesionCurso Plone   Secundo Sesion
Curso Plone Secundo Sesionajussis
 
Presentación grupo 183
Presentación grupo 183Presentación grupo 183
Presentación grupo 183mbayona25
 
Clase1(software libre)
Clase1(software libre)Clase1(software libre)
Clase1(software libre)juanhuapaya
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versionesEudris Cabrera
 
Despliegue de aplicaciones PHP
Despliegue de aplicaciones PHPDespliegue de aplicaciones PHP
Despliegue de aplicaciones PHPAlicantePHP
 
Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Yaismel Miranda
 
Ecosistemas software para Flex
Ecosistemas software para FlexEcosistemas software para Flex
Ecosistemas software para FlexErick Camacho
 
Comparativo de distribuciones Linux
Comparativo de distribuciones LinuxComparativo de distribuciones Linux
Comparativo de distribuciones LinuxEnrique Beltran
 
Buildout: Crear y desplegar entornos reproducibles en Python
Buildout: Crear y desplegar entornos reproducibles en PythonBuildout: Crear y desplegar entornos reproducibles en Python
Buildout: Crear y desplegar entornos reproducibles en PythonCodeSyntax
 

Similaire à Quién es Pablo Godel (20)

Plone - Introducción y instalación
Plone - Introducción y instalaciónPlone - Introducción y instalación
Plone - Introducción y instalación
 
Curso Plone Secundo Sesion
Curso Plone   Secundo SesionCurso Plone   Secundo Sesion
Curso Plone Secundo Sesion
 
Presentación Sistemas operativos grupo 183
Presentación Sistemas operativos grupo 183Presentación Sistemas operativos grupo 183
Presentación Sistemas operativos grupo 183
 
Presentación grupo 183 -power point
Presentación grupo 183 -power pointPresentación grupo 183 -power point
Presentación grupo 183 -power point
 
Presentación grupo 183 -power point
Presentación grupo 183 -power pointPresentación grupo 183 -power point
Presentación grupo 183 -power point
 
Presentación grupo 183
Presentación grupo 183Presentación grupo 183
Presentación grupo 183
 
Presentación grupo 183
Presentación grupo 183Presentación grupo 183
Presentación grupo 183
 
Presentación grupo 183
Presentación grupo 183Presentación grupo 183
Presentación grupo 183
 
Presentación grupo 183
Presentación grupo 183Presentación grupo 183
Presentación grupo 183
 
Presentación grupo 183
Presentación grupo 183Presentación grupo 183
Presentación grupo 183
 
Clase1(software libre)
Clase1(software libre)Clase1(software libre)
Clase1(software libre)
 
[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones[ES] Sistemas de control de versiones
[ES] Sistemas de control de versiones
 
Despliegue de aplicaciones PHP
Despliegue de aplicaciones PHPDespliegue de aplicaciones PHP
Despliegue de aplicaciones PHP
 
Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1Elementos sobre Symfony 2.1
Elementos sobre Symfony 2.1
 
Introducción a symfony
Introducción a symfonyIntroducción a symfony
Introducción a symfony
 
Ecosistemas software para Flex
Ecosistemas software para FlexEcosistemas software para Flex
Ecosistemas software para Flex
 
Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!
 
Go
GoGo
Go
 
Comparativo de distribuciones Linux
Comparativo de distribuciones LinuxComparativo de distribuciones Linux
Comparativo de distribuciones Linux
 
Buildout: Crear y desplegar entornos reproducibles en Python
Buildout: Crear y desplegar entornos reproducibles en PythonBuildout: Crear y desplegar entornos reproducibles en Python
Buildout: Crear y desplegar entornos reproducibles en Python
 

Plus de Pablo Godel

SymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkyPablo Godel
 
Symfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSkySymfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSkyPablo Godel
 
DeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyDeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyPablo Godel
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.catPablo Godel
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony AppsPablo Godel
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer ToolboxPablo Godel
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
 
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsphp[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsPablo Godel
 
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersLone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersPablo Godel
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AnglePablo Godel
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...Pablo Godel
 
Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Pablo Godel
 
Tek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and SymfonyTek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and SymfonyPablo Godel
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSPablo Godel
 
Soflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developersSoflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developersPablo Godel
 
Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013   Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013 Pablo Godel
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsPablo Godel
 
Codeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP AppsCodeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP AppsPablo Godel
 
PFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP AppsPFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP AppsPablo Godel
 

Plus de Pablo Godel (20)

SymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSky
 
Symfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSkySymfony Live San Francisco 2017 - Symfony @ OpenSky
Symfony Live San Francisco 2017 - Symfony @ OpenSky
 
DeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSkyDeSymfony 2017 - Symfony en OpenSky
DeSymfony 2017 - Symfony en OpenSky
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
 
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP appsphp[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
php[architect] Summit Series DevOps 2013 - Rock solid deployment of PHP apps
 
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP DevelopersLone Star PHP 2013 - Sysadmin Skills for PHP Developers
Lone Star PHP 2013 - Sysadmin Skills for PHP Developers
 
Lone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New AngleLone StarPHP 2013 - Building Web Apps from a New Angle
Lone StarPHP 2013 - Building Web Apps from a New Angle
 
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...deSymfony 2013 -  Creando aplicaciones web desde otro ángulo con Symfony y A...
deSymfony 2013 - Creando aplicaciones web desde otro ángulo con Symfony y A...
 
Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2Creating Mobile Apps With PHP & Symfony2
Creating Mobile Apps With PHP & Symfony2
 
Tek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and SymfonyTek13 - Creating Mobile Apps with PHP and Symfony
Tek13 - Creating Mobile Apps with PHP and Symfony
 
Tek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJSTek 2013 - Building Web Apps from a New Angle with AngularJS
Tek 2013 - Building Web Apps from a New Angle with AngularJS
 
Soflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developersSoflophp 2013 - SysAdmin skills for PHP developers
Soflophp 2013 - SysAdmin skills for PHP developers
 
Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013   Symfony2 and MongoDB - MidwestPHP 2013
Symfony2 and MongoDB - MidwestPHP 2013
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
Codeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP AppsCodeworks'12 Rock Solid Deployment of PHP Apps
Codeworks'12 Rock Solid Deployment of PHP Apps
 
PFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP AppsPFCongres 2012 - Rock Solid Deployment of PHP Apps
PFCongres 2012 - Rock Solid Deployment of PHP Apps
 

Dernier

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 

Dernier (20)

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 

Quién es Pablo Godel

  • 3. Quién es Pablo Godel?" • Argentino, viviendo en Miami desde 1999, EE.UU. • Programador PHP, Symfony, entre otros • Fundador de la lista de PHP en español http:// news.php.net/php.general.es/3 )antes de Julio 2000( • Pasé el control a php.net con más de 1000 subscriptos • Co-fundador de ServerGrove Networks ⁃ fundada en 2005  ⁃ servicios de hosting especializado en PHP y Symfony Sunday, July 3, 2011
  • 4. Entorno Productivo Sistema Operativo Sunday, July 3, 2011
  • 5. Entorno Productivo - sistema operativo Opciones disponibles • Mac OS X )basado en Unix( • Linux • Windows Sunday, July 3, 2011
  • 6. Entorno Productivo - sistema operativo Regla #1 El entorno de desarrollo idealmente tiene que ser lo más cercano posible al servidor de producción. Sunday, July 3, 2011
  • 7. Entorno Productivo - sistema operativo Regla #1 Si el servidor corre Linux, el desarrollo debería ser Linux o algún Unix, incluso Mac OS X. Sunday, July 3, 2011
  • 8. Entorno Productivo - sistema operativo Regla #1 En cambio, si el servidor es Windows, idealmente el desarrollo debe ser en Windows. Sunday, July 3, 2011
  • 9. Entorno Productivo - sistema operativo Regla #1 Todo esto es muy importante para evitar sorpresas )que generalmente son malas porque son problemas( Sunday, July 3, 2011
  • 10. Entorno Productivo - sistema operativo Regla #1 Razones: • Falta de extensiones de PHP • Diferencia en versiones de PHP y extensions • Diferencia en configuración de Apache y PHP )php.ini( • Diferencia en el sistema de archivos )case sensitive/ insensitive( Sunday, July 3, 2011
  • 11. Entorno Productivo - sistema operativo Diferencia en el sistema de archivos )case sensitive/ insensitive( • Linux )case sensitve( • Windows )case insensitive( • Mac OS X )por defecto, case insensitive, se puede cambiar pero trae problemas( Sunday, July 3, 2011
  • 12. Entorno Productivo - sistema operativo Diferencia en el sistema de archivos )case sensitive/ insensitive( <?php use SymfonyComponentClassLoaderUniversalClassLoader; $loader = new UniversalClassLoader(); $loader->registerNamespaces(array( 'Symfony' => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/ bundles'), 'Application' => __DIR__.'/../src', 'Sensio' => __DIR__.'/../vendor/bundles', Archivo: src/Application/miBundle/clase.php $clase = new Application/MiBundle/Clase() Sunday, July 3, 2011
  • 13. Entorno Productivo - sistema operativo No olvidarse de los VMs Permiten correr Linux dentro de Windows o Mac OS X • VirtualBox )gratis( • VMware Player )gratis( • VMWare Fusion • Parallels Desktop Sunday, July 3, 2011
  • 14. Entorno Productivo - sistema operativo Otra alternativa es tener un servidor dedicado o virtual aparte que se pueda montar con SMB / NFS Sunday, July 3, 2011
  • 15. Entorno Productivo - sistema operativo Los servidores virtuales tienen la ventaja que se pueden clonar para cuando se agrega un programador al equipo. Sunday, July 3, 2011
  • 16. Entorno Productivo - sistema operativo Jefes: ofrezcan al programador elegir su entorno de desarrollo. No hay nada más importante que sentirse cómodo y manejar bien las herramientas. Sunday, July 3, 2011
  • 17. Entorno Productivo - sistema operativo Regla #2 Usen lo que les sienta mejor y donde sean más productivos, pero prueben cosas nuevas. Sunday, July 3, 2011
  • 18. Entorno Productivo Stacks Sunday, July 3, 2011
  • 19. Entorno Productivo - Stacks Opciones disponibles • WAMP )Windows( • XAMP )Mac( • Zend Server CE )Win,Mac,Linux( • Liip PHP )Mac( http://php-osx.liip.ch/ Sunday, July 3, 2011
  • 20. Entorno Productivo Editor / IDE Sunday, July 3, 2011
  • 21. Entorno Productivo - Editor/IDE Opciones disponibles • Netbeans 7 PHP )gratis( • phpStorm 2.1 )$84 personal, $168 comercial, gratis para proyectos OS( • Eclipse )gratis( • Zend Studio 8 )$299( • Komodo IDE 6 )$295 sin soporte/upgrades( Textmate (Mac), vi/vim, emacs, notepad, etc. Sunday, July 3, 2011
  • 22. Entorno Productivo - Editor/IDE ¿Por qué un IDE? • integración con Xdebug / otros • breakpoints y watches • code completion • syntax highligher • PHPDoc • Twig! )phpStorm( • muchas más! Sunday, July 3, 2011
  • 23. Entorno Productivo - Editor/IDE ¿Por qué no un IDE? • generalmente requieren mucha memoria • curva de aprendizaje • familiarización con herramientas ya conocidas y dominadas • costo Sunday, July 3, 2011
  • 24. Entorno Productivo - Editor/IDE Jefes: ofrezcan al programador elegir su entorno de desarrollo. No hay nada más importante que sentirse cómodo y manejar bien las herramientas. Sunday, July 3, 2011
  • 25. Entorno Productivo Source Control Sunday, July 3, 2011
  • 26. Entorno Productivo - source control No importa que tan chico sea el proyecto, usen source control! Sunday, July 3, 2011
  • 27. Entorno Productivo - source control Opciones disponibles Git... Sunday, July 3, 2011
  • 28. Entorno Productivo - source control Opciones disponibles ok... también existen: • hg )mercurial( • SVN )subversion( • CVS )alguien se acuerda?( Sunday, July 3, 2011
  • 29. Entorno Productivo - source control Pero Git + github revolucionaron el mundo de proyectos open source Sunday, July 3, 2011
  • 30. Entorno Productivo Testing Sunday, July 3, 2011
  • 31. Entorno Productivo - Testing Opciones disponibles - Unit Tests • PHPUnit • SimpleTest Sunday, July 3, 2011
  • 32. Entorno Productivo - Testing Opciones disponibles - Continuous Integration • CruiseControl • phpUnderControl • Sismo • Jenkins http://jenkins-php.org/ Sunday, July 3, 2011
  • 33. Entorno Productivo - Testing Opciones disponibles - Frontend • Symfony2 • Selenium RC • Mink Sunday, July 3, 2011
  • 34. Entorno Productivo Debugging Sunday, July 3, 2011
  • 35. Entorno Productivo - debugging Opciones disponibles • Xdebug • breakpoints • stack traces • profiler • Zend Studio • FirePHP • print_r)( / var_dump)( / echo :-( Sunday, July 3, 2011
  • 36. Entorno Productivo - debugging configuración PHP • display_errors = 0 • error_log = /var/log/php.log • error_reporting = -1 Sunday, July 3, 2011
  • 37. Entorno Productivo Deployment Sunday, July 3, 2011
  • 38. Entorno Productivo - deployment Opciones disponibles • capistrano • capifony )symfony( • phing • git / svn / etc • rsync • ftp Sunday, July 3, 2011
  • 39. Entorno Productivo - deployment Capifony • Instalar capistrano ⁃ gem install capifony • Inicializamos el proyecto ⁃ capifony . • Configuramos el deployment con config/deploy.rb • Seteamos el servidor ⁃ cap deploy:setup • Hacemos el deployment ⁃ cap deploy • Y la próxima vez y la otra y la otra…: ⁃ cap deploy Sunday, July 3, 2011
  • 40. Entorno Productivo - deployment set :application, "sg11" set :domain, "servergrove.com" Capifony set :deploy_to, "/var/www/vhosts/sg11.servergrove.com" set :repository, "git@github.com:servergrove/sg11.git" set :scm, :git set :branch, "master" set :user, "deployer" ssh_options[:port] = 22123 ssh_options[:forward_agent] = true set :use_sudo, false role :web, "sg100.servergrove.com" # Your HTTP server, Apache/etc # directories that will be shared between all deployments set :shared_children, [app_path + "/logs", web_path + "/uploads"] set :update_vendors, false set :dump_assetic_assets, true Sunday, July 3, 2011
  • 41. Entorno Productivo - deployment Capifony `-- /var/www/vhosts/sg11.servergrove.com |-- current ! /var/www/vhosts/sg11.servergrove.com/releases/ 20100512131539 |-- releases |-- 20100512131539 |-- 20100509150741 `-- 20100509145325 `-- shared |-- log |-- config `-- databases.yml `-- web `-- uploads Sunday, July 3, 2011
  • 42. Entorno Productivo Tips Sunday, July 3, 2011
  • 43. Entorno Productivo - tips SSH • ssh-keygen -t dsa • ~/.ssh/config Host * ForwardAgent yes • ssh-add Ahora, cuando nos conectemos al servidor remoto y ejecutemos git pull, utilizará el key de nuestra computadora. Sunday, July 3, 2011
  • 44. Entorno Productivo - tips • El poder del archivo hosts • Unix: /etc/hosts • Windows: /Windows/System32/etc/hosts Permite acceder a un IP sin tener que cambiar el DNS Permite crear virtual hosts en el servidor local de desarrollo, ej: desymfony.local Sunday, July 3, 2011
  • 45. Entorno Productivo - tips El poder del archivo hosts 127.0.0.1 localhost symfony2rc2.local rockmongo.local mysql_admin.local maestro.local desymfony.local sg11.local sgcontrol2.local Apache Virtual Document Root UseCanonicalName Off VirtualDocumentRoot /Users/pgodel/Sites/%0/web <Location /> AllowOverride All Options +FollowSymLinks </Location> • ~/Sites/desymfony.local • ~/Sites/sg11.local •… Sunday, July 3, 2011
  • 46. Entorno Productivo - tips Aliases en BASH alias phplog="tail -f /var/log/apache2/php_errors.log" $ phplog Sunday, July 3, 2011
  • 47. Entorno Productivo - tips pbcopy & pbpaste )Mac( cat archivo.txt | pbcopy pbpaste > nuevo.txt Sunday, July 3, 2011
  • 48. Entorno Productivo ¿Preguntas? Sunday, July 3, 2011
  • 49. Entorno Productivo ¡MUCHAS GRACIAS! Slides: http://slideshare.net/pgodel Twitter: @pgodel IRC Freenode: pgodel Sunday, July 3, 2011