En este curso trataremos de aprender las técnicas necesarias para tabajar en un entorno de desarrollo, para aplicaciones nativas en la nube o cualquier otra cosas. Será un curso conceptual, pero también práctico donde aprenderemos a desarrollar diferentes técnicas en cualquier lenguaje de programación y diferentes microframeworks.
Cada sesión será una parte teórica y una parte práctica; durante el curso se irá elaborando un proyecto en equipo de 2 o tres personas. Cada hito del proyecto se tendrá que entregar (y se evaluará de forma más o menos automática) al final de la misma. Cuando se completen todas las sesiones y objetivos generaré un badge para el repo donde se haya cumplido todo (y dependiendo del nivel en el que se haya alcanzado, se hará también una recomendación en LinkedIn o donde se solicite).
-
Sesión 1: Historias de usuario, requisitos funcionales, personas (historias de usuario), desarrollo por capas y todo lo que necesitamos para empezar.
- Uso de issues/hitos en el desarrollo basado en test.
- Material.
-
Sesión 2: Cómo crear las historias de usuario, comenzar la aplicación.
- Documentación de las historias de usuario y traslado a issues.
- Material.
-
Sesión 3: Task runners y cómo usarlos.
- Diferentes tipos de task runners y por qué son útiles para todo.
- Material.
-
Sesión 4: Preparando tu aplicación para testear: separation of concerns, inversión de dependencias, diseño.
- Cómo asegurarnos desde el diseño de que se cumplen las historias de usuario.
- Material.
-
Sesión 5: objetos de test, aserciones, marcos de pruebas, fases del test.
-
Qué es la integración continua y cómo usarla para ejecutar los tests automáticamente.
- Hooks de git y cómo usarlos para testear todo el tiempo.
- Diferentes sistemas de integración continua: Travis, GitHub Actions...
- Acelerando con Dockerfiles.
- Material.
-
Tests de cobertura y por qué son importantes.
-
Tests funcionales/de integración
- Cómo testear microservicios y sistemas basados en tareas.
- BDD y algunos frameworks.
- Mocks.
- Material.
-
Tests adicionales
- Tests de front-end.
- Tests de regresión.
- Material.
- DEIIT-bot, bot para los apuntes de DEIIT.
- Conversaciones, escucha y analiza. conversaciones en canales de Telegram.
- Notas, bot para comunicar notas a estudiantes.
- Rastreador medios sociales, escucha y analiza conversaciones en medios sociales.
- Porra, porras deportivas.
- Medioambiental, API para datos abiertos medioambientales.
- Programador de actividades, para programar actividades accesibles a través de un API.
- Tráfico, análisis de los mensajes de tráfico de Granada.
- Datos económicos, análisis de datos económicos macro o por localidad.
Se puede usar esta plantilla para los proyectos.
Aula de usos múltiples, 5ª planta de la ETSIIT
Presenciales, lunes 2 a viernes 6 de marzo, jueves y viernes 12 y 13 de marzo, 13:30 a 15:00.
A los que superen todos los hitos y actividades planteados en el curso se les hará una recomendación en LinkedIn por parte del profesor.
Añade tu nick de GitHub y perfil de LinkedIn a esta tabla mediante un pull request. La inscripción es gratuita y abierta a quien lo desee, pero los asistentes tendrán que traer su propio portátil y conexión a Internet (si no tienen acceso al WiFi de la universidad).
Los proyectos en elaboración se enlazarán en en esta página.
make
y pandoc
deben estar presentes para generar los PDFs.
make
o
make doc
generará los proyectos en un solo PDF.