Giter Club home page Giter Club logo

curso-tdd's Introduction

Curso de desarrollo ágil - 4ª edición

Build Status 💟 CircleCI 💟 DevQAGRX 💟 Comprueba README

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. Tendremos estas sesiones:

  1. Git y GitHub/GitLab. Uso básico y avanzado de sistemas de control de fuentes y de sitios web para desarrollo colaborativo.
  • Conceptos básicos: pull, pull request, push, clone.
  • Releases y tagging.
  • Material.
  1. Desarrollo ágil

    • Historias de usuario, user journeys y todo eso.
  2. Resolviendo problemas usando la informática.

  • Temática: hay vida más allá de cliente-servidor.
  • Material.
  1. Servicios avanzados en informática.
  • Configuración distribuida.
  • Logs.
  • Almacenamiento de datos.
  • Material.
  1. Requisitos funcionales, personas (usuarios ficticios), desarrollo por capas y todo lo que necesitamos para empezar.
  • Uso de issues/hitos en el desarrollo basado en test.
  • Material.
  1. Comienzo de la implementación "defensiva".

    • Cómo organizar un proyecto: canvas, milestones, issues.
    • Documentación de las historias de usuario y traslado a issues.
    • Comienzo del diseño, en general, de las clases (y excepciones).
    • Material.
  2. Task runners y cómo usarlos.

  • Diferentes tipos de task runners y por qué son útiles para todo.
  • Material.
  1. 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.
  1. objetos de test
  • Organización de los tests.
  • Fases de tests.
  • Aserciones
  • Material.
  1. Ejecución de tests
  1. 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.
  1. Tests de cobertura y por qué son importantes.
  1. Tests funcionales/de integración
  • Cómo testear microservicios y sistemas basados en tareas.
  • BDD y algunos frameworks.
  • Material.
  1. Inversión de dependencias.
  1. Tests adicionales
  • Tests de prestaciones.
  • Tests de front-end.
  • Tests de regresión.
  • Material.
  1. Última sesión.
  • Aclaración de dudas.

Ideas 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á de forma virtual usando Jitsi. Las clases se grabarán también (en la medida de lo posible).

Clases

  • 📅 22 de febrero - 15 de marzo.
  • 🕜 13:30 - 14:00.

Título

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, por eso se solicita el perfil de LinkedIn en la inscripción. Los estudiantes tendrán que aceptar la conexión del profesor para poder hacer esta recomendación.

Inscripción

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 usar su propio equipo.

Proyectos realizados

Los proyectos en elaboración se enlazarán en en esta página.

Instrucciones de uso

make y pandoc deben estar presentes para generar los PDFs.

make

o

make doc

generará los proyectos en un solo PDF.

curso-tdd's People

Contributors

jj avatar muetsii avatar dipzza avatar yabirgb avatar antoniogamiz avatar alexrodriguezlop avatar manueljnunez avatar dylan-nogueras avatar alexmenor avatar marquirj avatar mati3 avatar thejosess avatar elenamerelo avatar lidiasm avatar luisbalru avatar migueorg avatar antmordhar avatar vperaltac avatar javilecrin avatar alvarillo89 avatar solano96 avatar pilarnavarro avatar guillergood avatar ignasicr avatar imiguel10 avatar yoskitar avatar mellado avatar sergioquijanorey avatar agr8 avatar jojelupipa avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.