full stack developer - zemsania.com · trabajaremos con tests automatizados y unitarios. ... -...

15
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.

Upload: lethuan

Post on 21-Sep-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

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.