1
Full Stack Developer The PHP Stack
Un Full Stack Developer es una profesional con habilidades en todos los ámbitos del desarrollo de aplicaciones, generalmente en unos o dos stacks,
tanto en su vertiente Front-end como en la vertiente Back-end.
2
Requisitos ¿Qué necesitas saber?
Programación Fundamentos.
Programación orientada a objetos. MVC. Diseño
Workflow.
HTTP/HTML5 Protocolo HTTP, Verbos.
Sesiones. HTML5 Canvas, Web Components.
Storage, etc.
JAVASCRIPT Fundamentos. DOM. Ajax.
Objetos. Prototipos. Closures, etc. Jquery.
CSS3 Fundamentos. Animaciones.
Transformaciones. Media queries. Bootstrap.
En general El candidato debe ser capaz de elaborar sin mucho esfuerzo un conjunto de páginas web que intercambien información entre sí por
medio de Ajax y HTTP request y ser capaz de dotarlas de estilo e interacción con CSS3, Bootstrap y Jquery. Debe conocer los fundamentos del protocolo HTTP/S y manejo de sesiones. Debe saber como almacenar información en el navegador con HTML5.
Términos como OAuth2, Websockets o WebRTC no deben ser extraños para tí.
3
Frontend Jquery UI. Bootstrap
AngularJS. D3.js. SASS. Chrome Dev
Tools. Postman. Gulp, Grunt. Rest API.
Docker. CI con Jenkins
Laravel Conceptos. Instalación, Estructura. Capa HTTP.
Vistas y plantillas blade. Vistas y
Plantillas. Testing & Debug, Rest API. Consola artisan
Infraestructura Nginx reverse proxy
para Apache. Apache Configuración.
Seguridad. Administración. Gestión
dependencias con Pear. PECL Memcached
PHP7 Instalación, IDEs, Tipos, Funciones, cadenas. Arrays, Clases y Objetos,
Operadores y estructuras de control.
Manejo de errores.
Itinerario formativo Resumen
01 02 03 04 05 06
Fundamentos Introducción. PHP. Entorno desarrollo.
Servidores web. Acceso a datos.
Frameworks. Despliegue.
Datos MySQL. Redis.
Conectando con PHP. Laravel Database &
Eloquent ORM. Migrations
4
Distribución del conocimiento Cómo se organiza el contenido
F u n d a m e n t o s y Conceptos El objetivo será fundar una base só l ida donde los conceptos estén claros y se obtenga una visión actual y holística del desarrollo de aplicaciones con PHP
Experiencia Real Nuestros expertos están trabajando en proyectos Full Stack con PHP en empresas de primer nivel. Compartirán con nosotros los casos a los que se enfrentan día a día, y analizaremos juntos las lecciones que han obtenido.
Clases Únicas Una vez a la semana recibiremos una master class de un experto en diferentes áreas que nos desvelarán los secretos y conocimientos avanzados que de otra manera tardaríamos años en adquirir.
E m i n e n t e m e n t e práctico La mayor parte del programa se dedicará a la realización tutorizada de ejercicios prácticos. Estos ejercicios serán guiados al principio pero muchos ejercicios se real izarán en equipo y podrán tener más de una solución.
Teoría Casos Reales
Master Class
Ejercicios
10% 20% 20% 50%
5
Habilidades Qué habilidades adquiriremos
Fundamentos
Laravel Aprenderemos a manejar el framework PHP más popular. Pondremos en marcha aplicaciones en minutos y aprenderemos a extender Laravel. Testing con PHP.
La base Domino de los elementos necesarios para construir
nuestra aplicación: HTML5, Javascript, CSS3. Pero
también aprenderemos a programar de manera más
efectiva y productiva.
PHP7 Adquiriremos un dominio avanzado del lenguaje PHP, y sentaremos las bases para extender nuestro dominio de PHP con librerías y técnicas avanzadas.
Infraestructura Un full stack developer tiene control
sobre todos los aspectos que influyen en su aplicación.
Trabajaremos con Apache y NGINX y con PostgreSQL y MongoDB
Frontend Trabajamos con.Jquery y Bootstrap
para dar estilo a nuestro proyecto. Conoceremos herramientas como
Gulp o Jenkins para mejorar nuestra productividad y calidad del proyecto.
PHP7
Infraestructura
Laravel
Frontend
6
Cómo nos gusta enseñar Nuestra metodología
El conocimiento se transmite. Nos apasiona nuestro trabajo y deseamos que n u e s t r o s a l u m n o s part ic ipen de nuestra ilusión. El aprendizaje se p o t e n c i a c u a n d o t e diviertes… Esto es un hecho,
Elconocimiento se adquiere Nues t ra f i l oso f ía es a p r e n d e r h a c i e n d o . Sabemos que es ahí donde necesitas nuestra guía. No te vamos a enseñar nada que puedas buscar tu mismo en Google.
7
Herramientas Herramientas
01
02
03
04
05 MASTER CLASSES Y CASOS REALES
PRUEBAS DE NIVEL Y APROVECHAMIENTO
VIRTUAL & REMOTE TRAINING
LABORATORIOS ESCRITORIOS VIRTUALES
LEARN BY DOING
8
Cómo seleccionamos a los candidatos Proceso de selección
Hemos puesto mucho esfuerzo en crear estos másteres. Deseamos que todos los participantes disfruten aprediendo tanto como nosotros vamos a disfrutar enseñando. Necesitamos asegurarnos que todos los candidatos tienen las características y capacidades necesarias para aprovechar y asimilar los conocimientos.
Buscamos a los mejores
www.digitaltechinstitute.com/apply
9
Cómo seleccionamos a los candidatos Nuestro proceso de selección
Ilusión Preferimos una persona
apasionada que cien meramente interesadas
Conocimientos Nos aseguramos que el candidato disponga de los conocimientos necesarios para aprovechar el itinerario formativo.
Expectativas Valoramos las expectativas del candidato hacia el curso. Nos aseguramos de ofrecerte exactamente lo que estás buscando.
Trayectoria Valoramos la experiencia profesional y el perfil del candidato.
10
Establecemos las bases. Manejamos los términos de manera apropiada y definimos términos
basándonos en ejemplos.
Módulo 1 - PHP7 Fundamentos
INTRODUCCIÓN Qué es PHP. Conceptos del lenguaje. Diferencias e idoneidad con otros lenguajes. Sintaxis. El cliente php. Estilo de código. Instalación y configuración. PHP7
PRESENTACIÓN Introducción y definición de objetivos. Descripción general de la formación. Claves para sacar el máximo provecho. Entorno de trabajo. IDEs. Instalación
FUNDAMENTOS Sintaxsis. Comentarios y anotaciones.Sensibilidad a Mayúsculas/Minúsculas. Variables. Tipos. Nuevos tipos PHP7. Null coalesce. Operadores, Operador spaceshift.
ESTRUCTURAS DE CONTROL Estructuras condicionales. Switch-Case, While. For. Foreach. Operador ternario. Sintaxis alternativas.
CADENAS Y NUMERALES Cadenas. Manejo de cadenas y funciones. Numerales. Manejo de numerales y funciones. Funciones matemáticas.
ARRAYS Introducción. Arrays indexados. Arrays asociativos. Arrays Multidimensionales. Funciones y propiedades de Arrays. Manipulación de Arrays. Bucle Foreach en Arrays.
11
Profundizamos en PHP7. Exploramos la programación orientada a objetos y clases.
Trabajaremos con tests automatizados y unitarios. Aprenderemos a utilizar Git y Mercurial y a gestionar las dependencias con composer.
Módulo 2 - PHP 7 Avanzado CONCEPTOS AVANZADOS Acceso a archivos. Lectura, escritura. Llamadas a sistema operativo. Requests. Sesiones. Headers.
TESTING & DEBUGGING Fomras de depurar el código. Excepciones. Logging en PHP. PHPUnit.
OBJETOS Creando un objeto. Creando propiedades y métodos. Constantes. Constructores. Propiedades protegidas y privadas. Propiedades y métodos estáticos. Operador de ámbito. Herencia y polimorfismo. Traits. Clonado
CONTROL DE VERSIONES Y DEPENDENCIAS Introducción a Git. GitHub. Mercurial. BitBucket. Workflow. Gestión de dependencias con composer.
CLASES Clases y objetos. Nombres de clase. Ámbito. Definición de clases. Include y require. Superclasses. Subclasses. Autoloader. Refactoring. Private y Final. Overriding y Overloading. Clases abstractas. Interfaces. Módulos.
FUNCIONES Definición. Flujo. Estructura. Argumentos. Argumentos con claves. Argumentos arbitrarios con splat. Funciones en variables. Ámbito. Variables globales. Closures.
12
Trabajaremos con servidores web como Nginx. Aprenderemos a instalar Nginx como proxy reverso para servidores Apache. Aprenderemos aspectos
de configuración, rendimiento y seguridad.
Módulo 3 - Infraestructura
INTRODUCCIÓN Arquitectura. El entorno de desarrollo y producción. Configuraciones frecuentes.
NGINX Introducción a Nginx. Descarga e instalación. Configuración. Línea de comandos. Cookbook. Load balancing. Integración con PHP
RENDIMENTO Ajustes de rendimiento en programación. Benchmarking. Técnicas de caching PHP. Ajustes rendimiento servidores web.
SEGURIDAD Seguridad de aplicaciones web. Consideraciones de configuración. Revelación de información. Pentesting. Tips de seguridad. Desarrollo de aplicaciones seguro.
APACHE Introducción a Apache. Entorno. Configuración. Integración con PHP. Sites. Directivas. Módulos. Configurar Nginx como proxy reverso para apache2.
13
Estudiaremos los distintos sistemas de almacenamiento más utilizados en php y veremos
multitud de casos de uso. Trabajaremos con MySQL y Redis.
Módulo 4 - Almacenamiento
INTRODUCCIÓN Motores de bases de Datos. Lenguaje SQL. SQL vs NoSQL. Introducción a PostgreSQL y Redis.
MONGODB Introducción e instalación. Escalabilidad. Mongo Shell. Collections, BSON, Operadores. Insert & Updates & Queries. Encontrando documentos. Indexado. Big Data & reporting.
MYSQL Introducción y casos de uso. Instalación. MySQL Workbench. Línea de comandos. Fundamentos de RDBMS y diseño de bases de datos relacionales. Técnicas de obtención y edición de registros. Joins. Unions. MySQL Functions. Procedimientos almacenados. Triggers y eventos. Views. Cookbook
ACCESO A DATOS CON PHP Bases de datos. PDO. MySQLi. Conectando a una base de datos. ORMs. Propel. Doctrine. Eloquent. Optimización del acceso a datos. Seguridad.
14
Laravel es el framework de PHP que tiene mayor crecimiento actualmente entre la comunidad de desarrolladores. Conoceremos su arquitectura y
aprenderemos a utilizarlo.
Módulo 5 -Laravel
INTRODUCCIÓN Introducción a Laravel. Principios. MVC. Instalación. Entorno de desarrollo. Iniciando un proyecto. Estructura. Capa HTTP. Service providers. Service containers. Facades. Contracts. Errores y Logging.
DEEP DIVE LARAVEL Broadcasting. Cache. Eventos. Archivos y almacenamiento. Correo electrónico. Notificaciones. Colas. Cashier. Envoy. Passport. Scout. Socialite. Otros paquetes. Testing. Mocking.
BASES DE DATOS Introducción. Modelos. Migraciones. Query Builder. Paginación. Migraciones. Seeding. Redis. Eloquent ORM. Relaciones. Colecciones. Mutators. Serialización.
LA CAPA HTTP Routing. Middleware. CRSF Protection. Controladores. Requests. Responses. Sesión. Validación.
SEGURIDAD Autenticación. Autorización. API Autenticación. Encriptación. Hashing.
VISTAS Y PLANTILLA Vistas. Plantillas blade. Sintaxis Blade. Internacionalización. Enfoques multidioma. Consideraciones SEO. Javascript. Compilando assets.
CONSOLA ARTISAN Introducción. Comandos. Configuración de tareas.
15
En éste módulo nos sumergiremos en las herramientas y frameworks que nos ayudarán a producir un trabajo de calidad con un aspecto
profesional y atractivo. Nos introduciremos en el mundo de la integración continua.
Módulo 6 - Front-end y DevOps
JQUERY & JQUERY UI & BOOTSTRAP Repaso Javascript & DOM. Jquery Selectors. Interacción con el DOM. Manejo de eventos. Ajax. Efectos y anmaciones. JQuery UI Widgets. Interacciones. Efectos. Bootstrap intro y Componentes. Plugins.
HERRAMIENTAS Chrome Dev tools. Firefox developer edition. Postman. Gulp. Grunt.
ANGULAR Introducción. Arquitectura. El Módulo Raiz. Mostrando datos. User Input. Formularios. Inyección de dependencias. Plantillas. Servicios. Routing. Componentes. Directivas.
DOCKER Introducción. Arquitectura. Containers. Docker Hub. Creando una imagen. Múltiples imágenes. Empaquetado de un contenedor. Comandos. Redirecciones de puertos. Directivas. Gestión de volúmenes. Redes. Administración de contenedores. Integración. Casos de uso.
CI CON JENKINS Introducción a Jenkins. Instalación. Flujos de trabajo. Creando Application Builds. Testing. Integración Continua. Entrega continua. Plugins. Integrando Jenkins con Git y Bitbucket y Vagrant.