Del 18 mayo al 8 junio de 2022

Objetivos

Conocer y aplicar los conocimientos de desarrollo de aplicaciones en .Net

Perfil del alumno

Esta acción formativa va dirigida a desarrolladores y analistas que quieren aprender a crear aplicaciones en .Net

Los alumnos necesitarán tener experiencia con .Net básica.

Contenido

  1. Lenguaje C#
    1. Temas avanzados en programación orientada a objetos
      1. Introducción
      2. Interfaces
      3. Clases parciales
      4. Clases abstractas
      5. Delegados
      6. Resumen
    2. Extensibilidad y polimorfismo
      1. Introducción a extensibilidad
      2. Agregación y composición
      3. Herencia y polimorfismo
      4. Sobercarga de funciones
      5. Introducción a las clases Abstract y Sealed
      6. Demo de clases Abstract y Sealed
      7. Introducción a interfaces
      8. Interfaces
      9. Resumen
    3. Eventos, delegados y Lambdas
      1. El papel de los eventos, delegados y gestores de eventos
      2. Introducción
      3. El papel de los eventos
      4. El papel de los delegados
      5. El papel de lso gestores de eventos
      6. Demo: Eventos, delegados y gestores de eventos en acción
      7. Resumen
    4. Genéricos
      1. Genéricos
        1. Introducción
        2. Argumentos a favor de los genéricos
        3. Crear una clase genérica
        4. Cómo utilizar una clase genérica
        5. Definir métodos genéricos
        6. Cómo utilizar restricciones con genéricos
        7. Resumen
      2. Listas genéricas
        1. Introducción
        2. Declarar y rellenar una lista genérica
        3. Utilización de los inicializadores de colección
        4. Cómo inicializar una lista
        5. Obtener un elemento de una lista genérica
        6. Cómo iterar sobre una lista genérica
        7. Tipos de listas en C#
        8. Resumen
      3. Diccionarios Genéricos
        1. Introducción
        2. Declarar y rellenar diccionarios genéricos
        3. Utilizar inicializadores de colección
        4. Inicializar un diccionario
        5. Obtener un elemento de un diccionario
        6. Iterar sobre un diccionario genérico
        7. Tipos de diccionarios en C#
        8. Resumen
      4. Interfaces de colecciones genéricas
        1. Introducción
        2. Argumentos a favor del uso de interfaces
        3. Interfaces de colecciones genéricas existentes
        4. Utilización de un interface como un parámetro
        5. Utilización de un interface como valor devuelto
        6. Devolver IEnumerable T
        7. Definición de un iterador con Yield
        8. Resumen
    5. LINQ
      1. Introducción a LINQ
      2. Consulta simple con LINQ
      3. Construir una consulta LINQ con la sintaxis de consulta
      4. Construir una consulta LINQ con la sintaxis de método
      5. Utilización de métodos Lambda
      6. LINQ y colecciones
      7. Ordenación y agrupación con LINQ
      8. Contains y Any con LINQ
      9. Take de LINQ
      10. Zip con LINQ
      11. Resumen de LINQ
    6. Programación asíncrona
      1. Introducción a la programación asíncrona
      2. Demo: Programación asíncrona
      3. Resumen
  2. Programación de páginas web con Asp.Net Core
    1. Introducción
      1. Introducción al módulo
      2. Visión general del curso
      3. Demo: Echemos un vistazo a la aplicación final
      4. ¿Qué es ASP.NET Core?
      5. Preparación de la máquina
      6. Demo: Preparación de la máquina
      7. Resumen
    2. Configuración de su sitio con Visual Studio 2022
      1. Introducción al módulo
      2. Exploración de la estructura del proyecto
      3. Demo: Creación de una nueva aplicación
      4. Configuración del sitio web
      5. Demo: Configuración del sitio web
      6. Resumen
    3. Creación de la página de lista
      1. Introducción al módulo
      2. Hola MVC!
      3. Conceptos: modelo y repositorio
      4. Demo: Creando el modelo y el repositorio
      5. Creación del controlador
      6. Demo: Cómo agregar un controlador
      7. Añadir la vista
      8. Demo: Añadir la vista y una plantilla de diseño
      9. Cómo agregar estilos CSS a la vista
      10. Demo: Cómo agregar Bootstrap a la solución mediante Bower
      11. Demo: Cómo agregar Bootstrap de forma manual al proyecto
      12. En qué consiste el administrador de bibliotecas del lado cliente
      13. Demo: Utilización del administrador de bibliotecas del lado cliente para agregar Bootstrap
      14. Resumen
    4. Cómo agregar datos con Entity Framework Core
      1. Introducción al módulo
      2. Hola EF Core!
      3. Cómo incorporar EF Core a la aplicación
      4. Demo: Cómo añadir EF Core
      5. Creación e inicialización de una base de datos
      6. Demo: Creación e inicialización de la base de datos de ejemplo
      7. Modificación del modelo
      8. Demo: Modificación del modelo
      9. Resumen
    5. Agregar navegación al sitio
      1. Introducción al módulo
      2. Cómo funciona la navegación en MVC
      3. Agregar navegación
      4. Demo: Agregar navegación
      5. Resumen
    6. Mejorar las vistas en la aplicación
      1. Cómo utilizar vistas parciales
      2. Crear el carrito de compra
      3. Utilizar View Components
      4. Crear un Tag Helper personalizado
    7. Creación de un formulario de compra
      1. Introducción al módulo
      2. Uso de Tag Helpers para crear el formulario
      3. Demo: Creación de un formulario con Tag Helpers
      4. Enlace y validación de modelos
      5. Demo: Validación del modelo
      6. Resumen
    8. Cómo agregar funcionalidades de inicio de sesión
      1. Introducción al módulo
      2. En qué consiste Asp.Net Core Identity
      3. Demo: Añadir Asp.Net Core Identity al ejemplo
      4. Añadir autenticación al sitio web
      5. Demo: Añadir autenticación al sitio web
      6. En qué consiste la Autorización
      7. Demo: Añadir autorización al sitio web
  3. Creación de una API Restful con Asp.Net Core
    1. Introducción a REST
      1. Requisitos previos y herramientas
      2. Introducción a REST
      3. Acerca de las restricciones de REST
      4. El Modelo de Madurez de Richardson (Richardson Maturity Model)
      5. Utilización de Asp.Net Core para construir APIs Restful
    2. Estructurar e implementar el contrato exterior
      1. Estructurando nuestro contrato de cara al exterior
      2. URI de recursos
      3. Métodos HTTP
      4. Recursos
      5. Enrutamiento a puntos de conexión
      6. Códigos de estado
      7. Negociación de contenidos
    3. Servicios e inyección de dependencias
      1. Introducción
      2. Inversión de Control e Inyección de Dependencia
      3. Demo: Inyección y uso de un logger
      4. Demo: Logging a un archivo
      5. Demo: Implementación y uso de un servicio personalizado
      6. Demo: Trabajar con archivos de configuración
      7. Demo: Configuración del ámbito de los entornos
      8. Resumen
    4. Familiarizarse con EF Core
      1. Introducción
      2. Introducción a Entity Framework Core
      3. Demo: Creación de clases de entidad
      4. Demo: Creación de un DbContext
      5. Demo: Migraciones
      6. Demo: Almacenamiento seguro de datos de configuración
      7. Demo: Siembra de la base de datos con datos iniciales
      8. Resumen
    5. Uso de EF Core en una API
      1. Introducción
      2. Concepto: Patrón Repositorio
      3. Demo: Implementación del patrón repositorio
      4. Demo: Devolución de datos desde el repositorio al solicitar recursos
      5. En qué consisten los DTOs
      6. Demo: Uso de AutoMapper para mapear entre entidades y DTOs
      7. Demo: Creación de un recurso
      8. Demo: Actualización de un recurso
      9. Demo: Actualización parcial de un recurso
      10. Demo: Borrar un recurso
      11. Resumen
    6. Obtener recursos
      1. Mejorar nuestra arquitectura
      2. IActionResult frente a ActionResult<T>
      3. Trabajar con AutoMapper
      4. Relaciones padre/hijo
      5. Tratando con fallos
      6. Soporte de HEAD
    7. Filtrado y busqueda
      1. Pasar datos a la API
      2. Enlazando atributos de origen
      3. ApiController
      4. Filtrado y búsqueda de recursos
    8. Crear recursos
      1. Seguridad de métodos e idempotencia de métodos
      2. Creación de recursos
      3. Soporte de valores de tipo de contenido y formateadores de entrada adicionales
      4. Soporte de OPTIONS
    9. Validar datos e informar de errores de validación
      1. Trabajar con validaciones en un mundo RESTful
      2. Informar de cualquier problema de validación
    10. Actualizar recursos
      1. Actualizar recursos
      2. PUT para actualizaciones completas
      3. PATCH para actualizaciones parciales
      4. Upserting
      5. Crear un recurso mediante PUT o PATCH
    11. Eliminar recursos
      1. Borrado de un recurso y recursos relacionados
    12. Crear una API Asíncrona con Asp.Net Core
      1. Introducción
        1. Prerequisitos y herramientas
        2. Gestión de peticiones síncrona y asíncrona
        3. Entrada/Salida y trabajo de cómputo limitado
        4. Multihilos, concurrencia y paralelismo
      2. Empezando desde la capa de datos
        1. Palabras clave async y await
        2. El objetivo de Task y Task<T>
        3. DAL y Repositorio
        4. Reglas para nombrar, convenciones y buenas prácticas
      3. Obtención de recursos de forma asíncrona
        1. Agregar un método de acción asíncrono a un controlador
        2. Pruebas para verificar las mejoras del código asíncrono
        3. Uso de un AsyncResultFilter
      4. Manipulación de recursos asíncrona
        1. Crear un recurso
        2. Soporte de inserciones masivas (bulk insert)
      5. Integrar servicios externos
        1. Llamar de forma asíncrona un servicio externo
        2. Esperar a que se completen múltiples tareas
        3. Cancelar tareas
        4. Administrar excepciones de forma adecuada

Fechas y horarios

Fechas: del 18 de mayo al 8 de junio de 2022

Horario: de 16:30 a 19:30

Horas: 48

Inicio selección: 2 de mayo

Modalidad

Curso online síncrono

Imparte

Pedro José Hernández Muñoz

Inscripciones

El curso es gratuito, financiado por el Gobierno de La Rioja. La inscripción no garantiza la obtención de plaza en el curso, en caso de tener más inscripciones que plazas se hará una selección de los alumnos. Los alumnos deberán confirmar su asistencia una vez seleccionados.

Inscripción