Skip to content

Latest commit

 

History

History
336 lines (285 loc) · 17.6 KB

File metadata and controls

336 lines (285 loc) · 17.6 KB

shieldsIO shieldsIO shieldsIO

WideImg

JS, Node.js, Frontend, Backend, Firebase, Express, Patrones, HTML5_APIs, Asincronía, Websockets, testing

Aprende con este Máster en Programación FullStack con JavaScript y Node.js todo lo necesario para desarrollar cualquier tipo de proyecto interactivo.

Aprenderás todos sobre fundamentos y lógica de la programación, la manipulación dinámica del DOM y el desarrollo de aplicaciones interactivas usando AJAX. Tambien conocerán en profundidad el uso de patrones de diseño, control de versiones, testing y fundamentos de trabajo con Node.js lo que les permitirá integrarse en entornos de desarrollo modernos y eficientes.

A lo largo del Máster en Programación FullStack con JavaScript y Node.js también aprenderás todo lo necesario para crear aplicaciones que requieran de una base de datos ágil y en tiempo real con Firebase y la integración de servicios de terceros utilizando APIs, algo cada día más necesario actualmente.

También aprenderás a trabajar con APIs modernas para compartir datos con otros de una manera eficiente (AJAX server-side), el uso de la terminal, la asincronía y las peculiaridades propias de Node.js y el desarrollo de aplicaciones Back-End.

Como metodología de trabajo durante el curso, desarrollarás como prácticas troncales diversas aplicaciones web que te servirá además de repositorio de todo lo aprendido. El Máster se gestiona íntegramente a través de GitHub, lo que te permitirá desarrollar las practicas en un entorno colaborativo y acorde a tu labor posterior en tu puesto de trabajo.

Durante este Máster en Programación FullStack con JavaScript y Node.js, irás aprendiendo mediante el desarrollo de ejercicios prácticos orientados a proyectos reales. También desarrollarás dos proyectos personales con tutorías individualizadas con tu profesor Ulises Gascón. Además, contribuirás a proyectos Open Source reales y, al final del programa de estudios, crearás un proyecto FullStack personal para afianzar todos lo aprendido.

Sobre el Curso

  • Horario: Lunes, Miercoles y Viernes de 16h a 29h
  • Fechas: 1/10/18 - 02/07/19
  • Observaciones:
    • 11-12/10/18 Puente de la Hispanidad
    • 01-02/11/18 Puente de Todos los Santos
    • 09/11/2018 Fiesta de la Almudena
    • 05-07/12/18 Puente de la Constitución
    • 24/12/18 - 08/01/19 Navidad
    • 15-29/04/19 Semana Santa
    • 01-03/05/19 Puente Dia del trabajador + Dia de la Comunidad de Madrid
    • 15/05/2019 San Isidro

Teoría y Recursos

Fecha Teoría Recursos Contenido
01/10/18 Clase 1 Clase 1 Intro al Curso
03/10/18 Clase 2 Clase 2 Git/Github/Gitlab/Bitbucket
05/10/18 Clase 3 Clase 3 Pseudocodigo y bases de algoritmia + Definición de Proyecto I
08/10/18 Clase 4 Clase 4 Chrome DevTools
10/10/18 Clase 5 Clase 5 JSDocs, Comparadores, Tipos de datos, Modo Estricto, etc...
15/10/18 Clase 6 Clase 6 Condicionales: If...else, Switch y Operador ternario
17/10/18 Clase 7 Clase 7 Bucles: For, While, Do...while, Break & Continue
19/10/18 Clase 8 Clase 8 Números, Math y Fechas
22/10/18 Clase 9 Clase 9 Cadenas y Arrays
24/10/18 Clase 10 Clase 10 Objetos y Funciones
26/10/18 Clase 11 Clase 11 Práctica: Maquina Expendedora por consola
29/10/18 Clase 12 Clase 12 BOM y DOM I
31/10/18 Clase 13 Clase 13 BOM y DOM II: Manipulación y Frameworks
05/11/18 Clase 14 Clase 14 Eventos del DOM I
07/11/18 Clase 15 Clase 15 Práctica: Hacking Twitter
12/11/18 Clase 16 Clase 16 Ajax I: Ajax Básico
14/11/18 Clase 17 Clase 17 Ajax II: Ajax Avanzado y Seguridad
16/11/18 Clase 18 Clase 18 Ajax III: HTTP/2 & Fetch
19/11/18 Clase 19 Clase 19 Rendimiento, JSDocs, Guías de estilo y SEMVER
21/11/18 Clase 20 Clase 20 Live Coding: Github
23/11/18 Clase 21 Clase 21 Live Coding: Buenos días, Madrid!
26/11/18 Clase 22 Clase 22 Trabajo en el proyecto personal
28/11/18 Clase 23 Clase 23 Intro a JS Avanzado y definición de proyecto
30/11/18 Clase 24 Clase 24 Navegadores y conceptos avanzados de JS...
03/12/18 Clase 25 Clase 25 Entrevistas técnicas para JavaScript Developers
10/12/18 Clase 26 Clase 26 ECMA6, es7, es8, es9 I: Teoria I
12/12/18 Clase 27 Clase 27 ECMA6, es7, es8, es9 II: Teoria II
14/12/18 Clase 28 Clase 28 ECMA6, es7, es8, es9 III: Ejercicios I
17/12/18 Clase 29 Clase 29 ECMA6, es7, es8, es9 IV: Ejercicios II
19/12/18 Clase 30 Clase 30 Router Frontend + templates
21/12/18 Clase 31 Clase 31 Paradigmas: Programación orientada a Objetos
09/01/18 Clase 32 Clase 32 Patrones en JS I: Antipatrones
11/01/18 Clase 33 Clase 33 HTML5: Geo y mapas
14/01/19 Clase 34 Clase 34 Regex I: Teoría
16/01/19 Clase 35 Clase 35 Regex II: Ejercicios
21/01/19 Clase 36 Clase 36 HTML5: Programación creativa con Canvas, Gráficos y 3D
23/01/19 Clase 37 Clase 37 Paradigmas: Programación Funcional
25/01/19 Clase 38 Clase 38 HTML5: LocalStorage y contentEditor
28/01/19 Clase 39 Clase 39 Patrones en JS II: Metaprogramación y Patrones
30/01/19 Clase 40 Clase 40 HTML5: Offline
01/02/19 Clase 41 Clase 41 HTML5: WebWorkers, Blob y FileSystem
04/02/19 Clase 42 Clase 42 HTML5: PWA
06/02/19 Clase 43 Clase 43 Firebase I: Realtime Database
11/02/19 Clase 44 Clase 44 Firebase I: Autenticación y Hosting
13/02/19 Clase 45 Clase 45 Firebase I: Cloud Storage
15/02/19 Clase 46 Clase 46 Arquitectura en JS: Presentation Patters
18/02/19 Clase 47 Clase 47 Patrones de JS IV: Algoritmia y Estructuras de datos
20/02/19 Clase 48 Clase 48 Nodejs: Funcionamiento, ecosistema y ejemplos
22/02/19 Clase 49 Clase 49 Nodejs: Modularización y Librerías Core
25/02/19 Clase 50 Clase 50 NPM, NPX, YARN y Bower
27/02/19 Clase 51 Clase 51 Grunt y Gulp
01/03/19 Clase 52 Clase 52 Gulp: Ejercicios
04/03/19 Clase 53 Clase 53 Paradigmas: Programación Reactiva
06/03/19 Clase 54 Clase 54 NPM Scripts
08/03/19 Clase 55 Clase 55 Shell Scripting: Ejercicios
11/03/19 Clase 56 Clase 56 Shell Scripting
13/03/19 Clase 57 Clase 57 JavaScript Modular: AMD, Requirejs y Browserify
18/03/19 Clase 58 Clase 58 Yeoman I
20/03/19 Clase 59 Clase 59 Yeoman II
22/03/19 Clase 60 Clase 60 Frameworks I: Anatomía y funcionalidades
25/03/19 Clase 61 Clase 61 Frameworks II: Ecosistema, soluciones y contextualización
27/03/19 Clase 62 Clase 62 WebSockets: Fundamentos
29/03/19 Clase 63 Clase 63 Intro al backend + def. PFM
01/04/19 Clase 64 Clase 64 Frameworks III: Angular con Jon Rojí
03/04/19 Clase 65 Clase 65 Frameworks IV: React con Javier Vidal
05/04/19 Clase 66 Clase 66 Frameworks V: Vue con Rubén Valseca
08/04/19 Clase 67 Clase 67 Express I: Básicos y enrutamiento
10/04/19 Clase 68 Clase 68 Express II: Server Render y plantillas
12/04/19 Clase 69 Clase 69 Express III: Middleware y Patrones
22/04/19 Clase 70 Clase 70 Resolviendo Ejercicios y repasando
24/04/19 Clase 71 Clase 71 Express IV: Mas allá de Express
26/04/19 Clase 72 Clase 72 Resolviendo Ejercicios y repasando
29/04/19 Clase 73 Clase 73 WebSockets Backend y MQTT
06/05/19 Clase 74 Clase 74 Nodejs: Conceptos Avanzados de Core (Child Process, C/C++ Addons, Cluster...)
08/05/19 Clase 75 Clase 75 Hablemos de Seguridad Web
10/05/19 Clase 76 Clase 76 Arquitectura (Monolito, Microservicios, serverless...)
13/05/19 Clase 77 Clase 77 Firebase II: Google Cloud Functions
17/05/19 Clase 78 Clase 78 Firebase II: Ejercicios de Cloud Functions
20/05/19 Clase 79 Clase 79 Firebase II: Cloud Messaging
27/05/19 Clase 80 Clase 80 Bases de datos: Fundamentos y GoblinDB
29/05/19 Clase 81 Clase 81 Bases de datos: Relacionales I
31/05/19 Clase 82 Clase 82 Bases de datos: Relacionales II
03/06/19 Clase 83 Clase 83 Bases de datos: No-relacionales I
05/06/19 Clase 84 Clase 84 Bases de datos: No-relacionales II
07/06/19 Clase 85 Clase 85 Firebase III: Cloud Firestore
10/06/19 Clase 86 Clase 86 Scraping con Puppeteer
12/06/19 Clase 87 Clase 87 CLI con Nodejs
14/06/19 Clase 88 Clase 88 Node funcionando con PM2, Nodemon, etc...
17/06/19 Clase 89 Clase 89 Deploy en Cloud
19/06/19 Clase 90 Clase 90 Testing: Fundamentos
21/06/19 Clase 91 Clase 91 Testing: Unit Testing
22/06/19 Saturday Coding I Saturday Coding II Live Coding: Zowiki
24/06/19 Clase 92 Clase 92 Testing: E2E Testing & Específicos
26/06/19 Clase 93 Clase 93 Virtualización con Docker y Kubernetes
28/06/19 Clase 94 Clase 94 DevOps: CI y CD
29/06/19 Saturday Coding II Saturday Coding II Live Coding: Tor y la Deep Web
01/07/19 Clase 95 Clase 95 Entrevistas

Bases lógicas de la programación

  • Aprende a pensar como un/a programador/a
  • Algoritmos simples
  • Anatomía de un programa informático
  • Pseudocódigo

Fundamentos de JavaScript

  • Variables
  • Condicionales
  • Tipos de dato
  • Bucles
  • Funciones
  • Arrays
  • Objetos

Trabajando con control de versiones

  • Git
  • GitHub, Gitlab y Bitbucket
  • Pull Requests
  • Gestión de issues y proyectos
  • Trabajando con commits
  • Trabajando con ramas
  • Contribuyendo a repositorios de terceros

Gestión del DOM y Eventos

  • Agregar y eliminar elementos
  • Modificar atributos y contenido
  • Modificación de CSS
  • Getters y Setters
  • El objeto window
  • El objeto document
  • El objeto navigator
  • Gestión de eventos de usuario

Flujos de trabajo eficientes

  • Documentación con JSDoc
  • La consola
  • Chrome DevTools
  • Depuración de código
  • Versionado semántico (SEMVER)
  • Fundamentos de metodologías ágiles
  • Fundamentos de DevOps

Dominando AJAX

  • Verbos HTTP (GET, POST, DELETE…)
  • Modificación de cabeceras HTTP
  • JSON complejos
  • JSONP
  • XMLHttpRequest y Fetch
  • Recurrencia
  • Gestión de CORS y Proxies
  • Seguridad
  • Uso de clientes (Insomnia, Postman…)
  • Manejando texto plano, CSV y XML

Trabajando con motores de plantillas (Handelbars, Moustache, EJS…)

HTML5 APIs

  • Soporte offline
  • Geolocalización y mapas
  • Gráficas y visualización de datos
  • WebWorkers y Blob API

Progressive Web Apps (PWA)

Filosofías NoBackend/Serverless

Asincronía

  • Promesas
  • Callbacks
  • Async/Await
  • Colas de ejecución

Programación orientada a objetos (POO con prototipos)

Fundamentos de la programación funcional

Programación orientada a Eventos

RegExp (expresiones regulares)

Patrones (Singleton, Factory, Prototype, Iterator…)

Profundizando en algoritmia

Metaprogramación

El «nuevo» JavaScript (ECMA&, ES7, ES8, ES9…)

Gestión avanzada de APIs desde cliente

Desarrollando tus propias librerías para Frontend

Gestión de dependencias con AMD, RequireJS y Browserify

Firebase

  • Autenticación
  • Realtime Database
  • Cloud Storage
  • Hosting
  • Cloud Firestore
  • Cloud Functions
  • Predictions
  • Cloud Messaging
  • Dynamic Links

Testing en JavaScript y Node.js

  • Unit Testing (Mocha, Chai, Jasmine, Karma)
  • E2E (Puppeteer, Selenium)

Fundamentos de los frameworks más importantes de JavaScript

  • React
  • Angular
  • Vue.JS

Dominando Node.js

  • Manejando la terminal
  • Modularización del código
  • Módulos propios de Node.js (fs, http, url, cluster…)
  • Extendiendo funcionalidades con módulos de terceros
  • NPM, YARN y gestión de dependencias
  • Desarrollo de librerías isomórficas

Flujos de trabajo Front-end automatizados con Node.js

  • Automatización de tareas con Grunt, Gulp y NPM Scripts
  • Creación de proyectos escalables con Yeoman
  • Flujos eficientes con Webpack

WebSockets

  • El paradigma del tiempo real
  • Librerías WebSocket, ws, uWs…

Arquitecturas de sistemas

  • los problemas de escalabilidad
  • Arquitecturas monolíticas
  • Arquitecturas de microservicios
  • Serverless/Nobackend
  • NGINX y Apache
  • Gestión de caché
  • Utilización de CDNs

Fundamentos de Cloud

  • Software as a Service (SaaS)
  • Platform as a Service (PaaS)
  • Infraestructure as a Service (IaaS)

Desplegando en Cloud

  • Extendiendo funcionalidades con servicios Cloud
    • DialogFlow
    • Mensajería
  • Conociendo y diferenciando los proveedores principales
    • IBM Bluemix
    • Microsoft Azure
    • Amazon Web Services
    • Google Cloud
    • Heroku
    • Digital Ocean
    • OVH
  • Utilidades (PM2, Nodemon…)

Fundamentos de Docker y Kubernetes

Creación de aplicaciones CLI

  • Reusabilidad
  • Gestión de la información
  • Soporte multiplataforma

Scraping

Bases de datos

  • MySQL
  • MongoDB
  • El teorema CAP
  • Fundamentos de los modelos de datos
    • Esquemas relacionales (MySQL, Postgres…)
  • Clave/Valor (Redis, MemcacheDB…)
  • Columnar (Cassandra, BigTable…)
  • Documentales ( MongoDB, SimpleDB, CouchDB)
  • Grafos (Neo4j…)

Back-end con Node.js

  • Protocolos y especificaciones en el Back-end
  • Express
    • Manejo de rutas
    • Middleware
    • Arquitectura de APIs
    • MVC en Back-end
    • Patrones eficientes
  • Librerías para extender la funcionalidad de Express
  • Motores de plantillas para Back-end
  • Desarrollo de tus propias librerías para Back-end
  • Fundamentos de Seguridad en Back-end