SlideShare a Scribd company logo
1 of 53
Download to read offline
ALGO SOBRE MI
VICENT SORIA DURÁ
Desarrollador Web (en Symfony 2)
Trabajo en Social Point como Automation Engineer
ÍNDICE
1. Introducción
2. ¿Qué es Vagrant?
3. ¿Qué es Puppet?
4. ¿Problemas?
5. ¿Cómo lo uso en mis proyectos?
INTRODUCCIÓN
¿Qué hacemos para preparar un nuevo ordenador?
SISTEMA OPERATIVO
¿Qué pasa si yo uso Linux y mi compañero MAC?
Ubuntu: Apt-get
RedHat: Yum
Mac: ¿MAMP? ¿Zend Studio? ¿Macports? ¿Homebrew?
Windows: ¿WAMP? ¿caos?
IDE
PHPStorm
Sublime Text 2
Netbeans
Eclipse + PDT
Vi / Emacs
PREPARAR EL PROYECTO
Clonamos el repositorio
Configuramos virtual host
Instalamos vendors
Creamos BBDD
Personalizamos parameters.yml
PUESTA EN PRODUCCIÓN (O PRE-
PRODUCCION)
¿Problemas?
¡Si en mi máquina funciona!
PUESTA EN PRODUCCIÓN (O PRE-
PRODUCCION)
OBSERVACIONES
Diferente sistema operativo.
¿Qué versión de PHP tienes? ¿Y en producción?
¿Qué versión del servidor de BBDD? ¿Y en producción?
¿Y de ese paquete para aquel vendor que usamos?
Los tests en local están todos en verde
SOLUCIONES
Mismo S.O. para todos
Mismos paquetes instalados
Misma configuración en todos los entornos
SOLUCIONES
¡Pero yo uso Mac!
¡Y yo Linux!
¡Y yo windows!
SOLUCIONES
Disponemos de herramientas que nos ayudarán:
Vagrant (Virtualización)
Puppet o Chef (Aprovisionamiento y configuración)
VAGRANT
Vagrant provides easy to configure,
reproducible, and portable work
environments built on top of industry-
standard technology and controlled by a
single consistent workflow to help maximize
the productivity and flexibility of you and
your team.
VAGRANT
¿Qué es?
Herramienta de virtualización
Permite crear y configurar entornos de desarrollo
portables, ligeros y reproducibles
VAGRANT
Permite utilizar diversos proveedores
VirtualBox
VMware (De pago)
Amazon Web Services
Los nuestros propios
VAGRANT
REQUISITOS
Virtual Box:
Vagrant:
https://www.virtualbox.org/
http://www.vagrantup.com/
VAGRANT
¿CÓMO SE USA?
OTRAS IMÁGENES
http://www.vagrantbox.es
$ vagrant init precise64 http://files.vagrantup.com/precise64.box
$ vagrant up
VAGRANT
COMANDOS DISPONIBLES
vagrant up - Arranca la máquina
vagrant halt - Para la máquina
vagrant status - Muestra el estado
vagrant destroy - Elimina la máquina virtual
vagrant ssh - Conecta por ssh
VAGRANT
VAGRANTFILE
Vagrant.configure("2") do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
end
VAGRANT
CONFIGURACIÓN
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
config.vm.network :private_network, ip: "192.168.33.10"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.provider :virtualbox do |vb|
# Don't boot with headless mode
vb.gui = true
# Use VBoxManage to customize the VM.
vb.customize ["modifyvm", :id, "--cpus", "2"]
vb.customize ["modifyvm", :id, "--memory", "1024"]
end
end
PUPPET
Existen varias herramientas de automatización para la
configuración de sistemas
Scripts de shell
Chef (Solo y Client)
Puppet (Apply y Agent)
SCRIPTS DE SHELL
VENTAJAS
Cualquier Unix lo trae por defecto
Cualquier Sysadmin lo controla
INCONVENIENTES
Difícil de mantener cuando crece
Todo "a pelo"
Difícil de probar
PUPPET / CHEF
VENTAJAS
Documentación
"Librerías" ya hechas (módulos/cookbooks)
Fácil de probar
INCONVENIENTES
Aprendizaje
PUPPET
¿QUÉ ES?
Herramienta de gestión de configuración para servidores
Define estados de recursos
Configura una vez, ejecútalo 1000 veces
PUPPET
TERMINOLOGÍA
Manifests: Definiciones
Modules: "Bundles"
Templates
Facter: Información sobre S.O. (y sistema)
Hiera: "DB"
PUPPET
MANIFESTS
/examples/file-1.pp
file {'testfile':
path => '/tmp/testfile',
ensure => present,
mode => 0640,
content => "I'm a test file.",
}
PUPPET
MANIFESTS
/manifests/default.pp
class base {
include mysql
include php
include apache
}
include base
# ó
class { 'base' }
PUPPET
MODULES
/puppet/
manifests/
default.pp
modules/
apache/
manifests/ # Manifest in the module
init.pp
files/ # Static files
templates/
vhost.erb
lib/ # plugins, custom facts, custom resource types
tests/ # Example manifests
examples/ # Example manifests
spec/ # Test with rspec-puppet
PUPPET
MODULES
/modules/apache/manifests/init.pp
class apache::install {
package { 'apache2':
ensure => installed,
}
}
class apache::run {
service { apache2:
enable => true,
ensure => running,
hasstatus => true,
hasrestart => true,
require => Class['apache::install'],
}
}
class apache {
include apache::install
include apache::run
}
PUPPET
TEMPLATES
/modules/apache/templates/vhost.erb
<Directory /vagrant/web>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
RewriteEngine On
RewriteBase /<%= project_name %>/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
DirectoryIndex app.php
</Directory>
PUPPET
TEMPLATES
/modules/apache/manifests/init.pp
$sitesavailable = '/etc/apache2/sites-available'
$sitesenabled = '/etc/apache2/sites-enabled'
file { "$sitesavailable/$project_name":
content => template('apache/dev.erb'),
owner => 'root',
group => 'root',
mode => '755',
} ->
file { "$sitesenabled/$project_name":
require => File["$sitesavailable/$project_name"],
ensure => 'link',
target => "$sitesavailable/$project_name",
notify => Service['apache2'],
}
PUPPET
FACTER
architecture => i386
...
ipaddress => 172.16.182.129
is_virtual => true
kernel => Linux
kernelmajversion => 2.6
...
operatingsystem => CentOS
operatingsystemrelease => 5.5
physicalprocessorcount => 0
processor0 => Intel(R) Core(TM)2 Duo CPU P8800 @ 2.66GHz
processorcount => 1
productname => VMware Virtual Platform
PUPPET
HIERA
# /etc/puppet/hieradata/appservers.yaml
---
proxies:
- hostname: lb01.example.com
ipaddress: 192.168.22.21
- hostname: lb02.example.com
ipaddress: 192.168.22.28
# Get the structured data:
$proxies = hiera('proxies')
# Index into the structure:
$use_ip = $proxies[1]['ipaddress'] # will be 192.168.22.28
PUPPET
COMO AGENTE
PUPPET
COMO AGENTE/MAESTRO
¿PROBLEMAS?
COSAS A TENER EN CUENTA
Dependencias
Las clases son singletons
Rendimiento
¿PROBLEMAS?
DEPENDENCIAS
class base {
Class['system::resolv']
-> Class['apache']
-> Class['php']
-> Apache::Vhost['dev']
include system::resolv
include apache
include php
apache::vhost {'dev':
project_name => $project_name
}
}
include base
¿PROBLEMAS?
CLASES SON SINGLETONS
class apache::vhost {
...
}
apache::vhost {'users.example.com':
port => 80,
docroot => '/var/www/personal',
}
apache::vhost {'groups.example.com': } ### FAIL
###################
define apache::vhost(
$port = 80
) {
...
}
apache::vhost {'testhost':
port => 8081,
}
¿PROBLEMAS?
RENDIMIENTO
SYMFONY TIENE + 9000 ARCHIVOS
It’s a long known issue that VirtualBox shared
folder performance degrades quickly as the
number of files in the shared folder increases.
As a project reaches 1000+ files, doing simple
things like running unit tests or even just
running an app server can be many orders of
magnitude slower than on a native filesystem
(e.g. from 5 seconds to over 5 minutes).
¿PROBLEMAS?
RENDIMIENTO
Usar NFS mientras sea posible (Requiere permisos de root)
SO Soporte
Mac Sí (instalado por defecto)
Linux (Ubuntu) Sí (sudo apt-get install nfs-kernel-server)
Windows No
¿PROBLEMAS?
RENDIMIENTO
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
...
config.vm.synced_folder ".", "/vagrant", :nfs => true
...
end
¿PROBLEMAS?
RENDIMIENTO
Desactivar Swap
exec { 'disable-swap':
path => '/sbin',
command => 'swapoff -a',
user => 'root',
}
¿CÓMO LO USO EN MIS PROYECTOS?
VALE, ME HAS CONVENCIDO, ¿Y AHORA CÓMO LO USO?
¿CÓMO LO USO EN MIS PROYECTOS?
(Casi) Listo para usar
Módulos completos
Útil en proyectos empezados
HTTPS://PUPHPET.COM
¿CÓMO LO USO EN MIS PROYECTOS?
PROYECTOS NUEVOS
https://github.com/vicentgodella/symfony2-vagrant-
skeleton
git clone git@github.com:vicentgodella/symfony2-vagrant-skeleton.git
composer install
# Añadir al '/etc/hosts':
127.0.0.1 sf2-vagrant.dev
Cargar la url 'http://sf2-vagrant.dev:8080/app_dev.php' en el navegador.
DEMO
ENLACES DE INTERÉS
LIBROS
http://www.vagrantup.com
http://www.puppetlabs.com
http://forge.puppetlabs.com
http://puphpet.com
Puppet 2.7 Cookbook
Puppet Types and Providers
Pro Puppet
Puppet 3 Beginner's Guide
¿PREGUNTAS?
vicentgodella@gmail.com
@vicentgodella
https://joind.in/8846
Entornos de desarrollo para symfony2 con vagrant y puppet
Entornos de desarrollo para symfony2 con vagrant y puppet

More Related Content

What's hot

Evolución de la admon. sistemas
Evolución de la admon. sistemasEvolución de la admon. sistemas
Evolución de la admon. sistemasV. Javierf Fdez
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open sourcescrumecuador
 
Una introducción a vagrant
Una introducción a vagrantUna introducción a vagrant
Una introducción a vagrantLaura Gimenoide
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programaciónMario Garcia-Valdez
 
Ansible DevOps Day Peru 2016
Ansible DevOps Day Peru 2016Ansible DevOps Day Peru 2016
Ansible DevOps Day Peru 2016Raul Hugo
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014quaip
 
Inf tec estandariza_comp_escrit
Inf tec estandariza_comp_escritInf tec estandariza_comp_escrit
Inf tec estandariza_comp_escritClemente MR
 
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Modernowpargentina
 
Divide y vencerás con docker y core os
Divide y vencerás con docker y core osDivide y vencerás con docker y core os
Divide y vencerás con docker y core osDavid Luque Quintana
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoMario IC
 
Servidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/LinuxServidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/Linuxfraterneo GNU/Linux
 

What's hot (20)

Vagrant
VagrantVagrant
Vagrant
 
Evolución de la admon. sistemas
Evolución de la admon. sistemasEvolución de la admon. sistemas
Evolución de la admon. sistemas
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
 
Una introducción a vagrant
Una introducción a vagrantUna introducción a vagrant
Una introducción a vagrant
 
Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...
Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...
Exprime al máximo la capacidad de tus servidores gracias a la virtualización ...
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programación
 
Virtualenv y buildout
Virtualenv y buildoutVirtualenv y buildout
Virtualenv y buildout
 
Conceptos avanzados en docker
Conceptos avanzados en dockerConceptos avanzados en docker
Conceptos avanzados en docker
 
Docker desde cero
Docker desde ceroDocker desde cero
Docker desde cero
 
Configservers
ConfigserversConfigservers
Configservers
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Ansible DevOps Day Peru 2016
Ansible DevOps Day Peru 2016Ansible DevOps Day Peru 2016
Ansible DevOps Day Peru 2016
 
Docker - Sysmana 2014
Docker - Sysmana 2014Docker - Sysmana 2014
Docker - Sysmana 2014
 
Inf tec estandariza_comp_escrit
Inf tec estandariza_comp_escritInf tec estandariza_comp_escrit
Inf tec estandariza_comp_escrit
 
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
 
Divide y vencerás con docker y core os
Divide y vencerás con docker y core osDivide y vencerás con docker y core os
Divide y vencerás con docker y core os
 
Docker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 HuancayoDocker introducción - Flisol 2015 Huancayo
Docker introducción - Flisol 2015 Huancayo
 
Fury - Docker Meetup
Fury - Docker MeetupFury - Docker Meetup
Fury - Docker Meetup
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
Servidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/LinuxServidor PXE de Instalaciones GNU/Linux
Servidor PXE de Instalaciones GNU/Linux
 

Viewers also liked

Curso puppet lenguaje_2
Curso puppet lenguaje_2Curso puppet lenguaje_2
Curso puppet lenguaje_2martacdehesa
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoSergio Zambrano Delfa
 
Dev ops. Rompiendo Barreras
Dev ops. Rompiendo BarrerasDev ops. Rompiendo Barreras
Dev ops. Rompiendo BarrerasJuan Mauricio
 
[Apache Barcamp 2011] Introducción a Maven
[Apache Barcamp 2011] Introducción a Maven[Apache Barcamp 2011] Introducción a Maven
[Apache Barcamp 2011] Introducción a MavenAlejandro Díaz
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónKleer Agile Coaching & Training
 
Manual apache cassandra y comandos en la shell
Manual apache cassandra y comandos en la shellManual apache cassandra y comandos en la shell
Manual apache cassandra y comandos en la shellKevin López
 
Drone Continuous Integration
Drone Continuous IntegrationDrone Continuous Integration
Drone Continuous IntegrationDaniel Cerecedo
 

Viewers also liked (11)

Curso puppet lenguaje_2
Curso puppet lenguaje_2Curso puppet lenguaje_2
Curso puppet lenguaje_2
 
Gestionando servidores con Puppet
Gestionando servidores con PuppetGestionando servidores con Puppet
Gestionando servidores con Puppet
 
Vagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de usoVagrant y Docker - Guía práctica de uso
Vagrant y Docker - Guía práctica de uso
 
Dev ops. Rompiendo Barreras
Dev ops. Rompiendo BarrerasDev ops. Rompiendo Barreras
Dev ops. Rompiendo Barreras
 
[Apache Barcamp 2011] Introducción a Maven
[Apache Barcamp 2011] Introducción a Maven[Apache Barcamp 2011] Introducción a Maven
[Apache Barcamp 2011] Introducción a Maven
 
Discovering New Apps
Discovering New AppsDiscovering New Apps
Discovering New Apps
 
Erase una vez
Erase  una vezErase  una vez
Erase una vez
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Manual apache cassandra y comandos en la shell
Manual apache cassandra y comandos en la shellManual apache cassandra y comandos en la shell
Manual apache cassandra y comandos en la shell
 
Maven (EN ESPANOL)
Maven (EN ESPANOL)Maven (EN ESPANOL)
Maven (EN ESPANOL)
 
Drone Continuous Integration
Drone Continuous IntegrationDrone Continuous Integration
Drone Continuous Integration
 

Similar to Entornos de desarrollo para symfony2 con vagrant y puppet

Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Telefónica
 
El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfectobetabeers
 
Interchange CMS - e-commerce
Interchange CMS - e-commerceInterchange CMS - e-commerce
Interchange CMS - e-commerceDavid Ramirez
 
Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4David Ramirez
 
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRA
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRACONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRA
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRAPablo Contramaestre
 
Gestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaGestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaPablo Aragón
 
Guia instalación VERDE - Virtual Bridge
Guia instalación VERDE - Virtual BridgeGuia instalación VERDE - Virtual Bridge
Guia instalación VERDE - Virtual BridgeAlejandro Marin
 
Entornos de desarrollo portables, reproducibles y ligeros
Entornos de desarrollo portables, reproducibles y ligerosEntornos de desarrollo portables, reproducibles y ligeros
Entornos de desarrollo portables, reproducibles y ligerosbetabeers
 
Componentes Ubuntu
Componentes UbuntuComponentes Ubuntu
Componentes UbuntuElvis Calle
 
Cloudevel - Microsoft Azure - 101
Cloudevel - Microsoft Azure - 101Cloudevel - Microsoft Azure - 101
Cloudevel - Microsoft Azure - 101Mauro Parra-Miranda
 
Airbase y KARMetasploit
Airbase y KARMetasploitAirbase y KARMetasploit
Airbase y KARMetasploitDaniel
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARPablo Godel
 

Similar to Entornos de desarrollo para symfony2 con vagrant y puppet (20)

Laboratorio 1
Laboratorio 1Laboratorio 1
Laboratorio 1
 
Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2
 
MAQUINA VIRTUAL
MAQUINA VIRTUALMAQUINA VIRTUAL
MAQUINA VIRTUAL
 
Virtualización con Xen
Virtualización con XenVirtualización con Xen
Virtualización con Xen
 
El servidor perfecto
El servidor perfectoEl servidor perfecto
El servidor perfecto
 
Curso linux clase_2_2012
Curso linux clase_2_2012Curso linux clase_2_2012
Curso linux clase_2_2012
 
Interchange CMS - e-commerce
Interchange CMS - e-commerceInterchange CMS - e-commerce
Interchange CMS - e-commerce
 
Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4Interchange How-To for Red Hat Linux ES4
Interchange How-To for Red Hat Linux ES4
 
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRA
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRACONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRA
CONFIGURACIONES TECNICAS DE DE LOS CBIT TACHIRA
 
Gestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consolaGestión de instancias en amazon ec2 desde consola
Gestión de instancias en amazon ec2 desde consola
 
Present3
Present3Present3
Present3
 
Entorno PHP
Entorno PHPEntorno PHP
Entorno PHP
 
4.-VirtualBox.pdf
4.-VirtualBox.pdf4.-VirtualBox.pdf
4.-VirtualBox.pdf
 
Guia instalación VERDE - Virtual Bridge
Guia instalación VERDE - Virtual BridgeGuia instalación VERDE - Virtual Bridge
Guia instalación VERDE - Virtual Bridge
 
Entornos de desarrollo portables, reproducibles y ligeros
Entornos de desarrollo portables, reproducibles y ligerosEntornos de desarrollo portables, reproducibles y ligeros
Entornos de desarrollo portables, reproducibles y ligeros
 
Componentes Ubuntu
Componentes UbuntuComponentes Ubuntu
Componentes Ubuntu
 
Mi manual de VMware
Mi manual de VMwareMi manual de VMware
Mi manual de VMware
 
Cloudevel - Microsoft Azure - 101
Cloudevel - Microsoft Azure - 101Cloudevel - Microsoft Azure - 101
Cloudevel - Microsoft Azure - 101
 
Airbase y KARMetasploit
Airbase y KARMetasploitAirbase y KARMetasploit
Airbase y KARMetasploit
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
 

Recently uploaded

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Recently uploaded (10)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Entornos de desarrollo para symfony2 con vagrant y puppet