Curso de desarrollo 谩gil - 5陋 edici贸n

June 16, 2021View on GitHub

Build Status 馃挓 CircleCI 馃挓 DevQAGRX 馃挓 Comprueba texto 馃挓 Test
Nim 馃挓 Test Raku

脥ndice

Introducci贸n

En este curso trataremos de aprender las t茅cnicas necesarias para trabajar en un entorno 谩gil de desarrollo, para aplicaciones nativas en la nube o cualquier otra cosa. 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. La idea principal es que este curso sirva de introducci贸n a la asignatura de infraestructura virtual o cualquier otra asignatura de inform谩tica avanzada.

Cada sesi贸n durar谩 unos 20-30 minutos; el resto del trabajo se hace de forma as铆ncrona interaccionando a trav茅s de un grupo de Telegram. Durante el curso se ir谩 elaborando un proyecto en equipo de dos o tres personas. Se tendr谩n que alcanzar hitos del proyecto que se haya elegido que se evaluar谩n autom谩ticamente usando tests. 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).

Planificaci贸n del curso

La tercera edici贸n ha quedado grabada en esta lista de reproducci贸n. El planteamiento general del curso est谩 en esta presentaci贸n.

La cuarta edici贸n del curso, ya completa, est谩 en esta lista de reproducci贸n.

Tendremos estas sesiones:

  1. Introducci贸n

    • Qu茅 vamos a hacer en el resto del curso, c贸mo nos vamos a organizar
    • Grupos de Telegram, bots en los grupos.
    • Presentaci贸n.
  2. Git y GitHub/GitLab. Uso b谩sico y avanzado de sistemas de control de fuentes y de sitios web para desarrollo colaborativo.

  1. Dise帽o de una aplicaci贸n

  2. Resolviendo problemas usando la inform谩tica.

  1. Servicios avanzados en inform谩tica.
  1. Desarrollo 谩gil
  • C贸mo organizar un proyecto: canvas, 茅picas.
  • Desarrollo por capas y todo lo que necesitamos para empezar.
  • Historias de usuario, user journeys y todo eso.
  • Material.
  • Presentaci贸n.
  1. Dise帽ando la aplicaci贸n

    • Historias de usuario
    • Uso de issues/hitos en el desarrollo basado en test.
    • Dise帽o dirigido por el dominio
    • Material.
    • Presentaci贸n.
  2. Refinando el dise帽o y organizando el desarrollo

  3. El arte de la buena revisi贸n de c贸digo.

  4. Comienzo de la implementaci贸n "defensiva".

  • Documentaci贸n de las historias de usuario y traslado a issues.
  • Comienzo del dise帽o, en general, de las clases.
  • Dise帽o de excepciones.
  • Material.
  • Presentaci贸n.
  1. Task runners y c贸mo usarlos.
  1. Preparando tu aplicaci贸n para testear: separation of concerns, dise帽o.
  1. Objetos de test
  1. Ejecuci贸n de tests
  1. Qu茅 es la integraci贸n continua y c贸mo usarla para ejecutar los tests autom谩ticamente.
  • Diferentes sistemas de integraci贸n continua: Travis, GitHub Actions...
  • Acelerando con Dockerfiles.
  • Material.
  • Presentaci贸n.
  1. Inversi贸n de dependencias.
  1. Tests de cobertura y por qu茅 son importantes.
  1. Tests funcionales/de integraci贸n/end to end
  • C贸mo testear microservicios y sistemas basados en tareas.
  • BDD y algunos frameworks.
  • Material.
  1. Tests adicionales
  • Tests de prestaciones.
  • Tests de front-end.
  • Tests de regresi贸n.
  • Material.

Hitos

Las entregas se organizan en hitos, que corresponden (en general) a una sesi贸n. Este es el esquema de lo que hay que hacer en cada hito con enlaces

HitoSesi贸n(es)Descripci贸n y enlace
02Crear repo con componentes
13Idea de problema a resolver
24Gama de aplicaciones
35Servicios
46Desarrollo 谩gil
57Historias de usuario
68Hitos
79Revisiones
810Programando
911Gestor de tareas
1012Linter
1113Tests y aserciones
1214Marcos de test
1315Integraci贸n continua
1416Inyecci贸n de dependencias
1517Tests de cobertura

Esta informaci贸n te la da el bot kke, a帽adido al grupo de Telegram del curso, o con una conversaci贸n directa con 茅l.

Posibles ideas para proyectos, problemas para resolver

La inform谩tica consiste en resolver problemas del usuario mediante un ordenador. Estos son algunos de los problemas con los que se podr铆a tratar.

Se puede usar esta plantilla para los proyectos.

Lugar

Se har谩 en la plataforma de Spain AI. El enlace se proporcionar谩 en el grupo de Telegram en el que est谩n los inscritos.

"T铆tulo" o acreditaci贸n de haber realizado el curso.

Spain AI proporcionar谩 un t铆tulo en PDF al final del curso.

Inscripci贸n

Inscr铆bete en EventBrite. La inscripci贸n es gratuita.

Proyectos realizados

Los proyectos en elaboraci贸n se enlazar谩n en en esta p谩gina. Los de las ediciones anteriores est谩n en este directorio.

Instrucciones de uso

make y pandoc deben estar presentes para generar los PDFs.

make

o

make doc

generar谩 los proyectos en un solo PDF.

Si tienes instalado mask, puedes usarlo tambi茅n.