labs@habitissimo
1 de julio de 2016
→
Del enunciado de una práctica a...
→
De trabajar en prácticas con una o dos personas a...
Individuos e interacciones sobre procesos y herramientas
Producto funcionando sobre documentación exhaustiva
Colaboración con el cliente sobre negociación de contratos
Responder ante el cambio sobre seguimiento de un plan
Máximo 15 minutos en el que cada persona responde:
Al final del sprint el equipo se reúne y reflexiona cómo fue el sprint
$ git revert 87a50ad
$ git pull origin foo
From ssh://github.com/Habitissimo/example
* branch foo -> FETCH_HEAD
First, rewinding head to replay your work on top of it...
Git ha sincronizado mis cambios con los de los otros programadores sin mi intervención.
Experimenta sin miedo
si al final no convence, descártalo
$ cd projects/foo
$ git init
o
$ git clone https://github.com/habitissimo/labs-2016-07-01.git
$ cd labs-2016-07-01.git
Tu repositorio local consiste en 3 "árboles". El primero es tu
directorio de trabajo
, que contiene los ficheros, el segundo
Index
, que sirve como área de ensayo. Y HEAD
que apunta a tu último commit
Cuando modificas un fichero solo estás cambiando su estado dentro de tu directorio de trabajo
Puedes pasarlos a tu Index
haciendo:
$ git add <nombre de fichero>
Cuando tus cambios sean definitivos y quieras guardarlos harás un
commit
$ git commit -m "Mensaje del commit"
Ahora tus cambios se han guardado de forma segura en tu repositorio, pero solo en tu copia local.
Para exportar tus cambios y ponerlos al alcance de otros desarrolladores deberás compartirlos con el repositorio remoto.
$ git push
Las ramas se usan para desarrollar funcionalidades de manera aislada. La rama master es la rama "por defecto" cuando creas un repositorio. Crea nuevas ramas durante el desarrollo y fusiónalas con la rama principal cuando termines.
Image from http://rogerdudler.github.io/git-guide/Más detalles en git - the simple guide http://rogerdudler.github.io/git-guide
Vamos a crear una aplicación web
Mantener un entorno de desarrollo al día en lás máquinas de cada desarrollador puede ser muy complicado
Diferentes sistemas operativos, diferentes versiones de los mismos...
FROM ubuntu:xenial
RUN apt-get update -y && apt-get install apache2 libapache2-mod-php
ADD apache.con /etc/apache2/apache.conf
CMD ["apache2", "-DFOREGROUND"]
Este fichero crea una imagen de ubuntu, sobre la que instala apache2, php y añade un archivo de configuración propio para apache.
El contenedor resultante se puede ejecutar sobre cualquier linux, independientemente de la distribución (debian, redhat, arch, gentoo...) también sobre OSx y Windows mediante boot2docker.
Define los contenedores que forman el entorno de desarrollo, las relaciones entre ellos y las versiones requeridas de cada uno.
Crea un flujo de trabajo único para iniciar el entorno de cualquier proyecto, independientemente de las tecnologías que lo componen.
$ docker-compose up
# docker-compose.yml
web:
image: habitissimo/apache:2.2.4
ports:
- "5000:5000"
volumes:
- .:/code
links:
- redis
redis:
image: redis:3.1
Tenemos que enfocar la energía en establecer una buena estrategia, leer bien la situación, establecer una táctica, entrenar y afrontar cada partido con determinación.
Debemos asegurarnos que se va a ver y leer lo más importante. Impacto visual.
Que nos defina pero que nunca el continente enmascare el contenido.
A tener en cuenta a qué oferta nos estamos presentando y si estamos aplicando a una oferta o se trata de una autocandidatura.
La hora de la verdad
Al recursador le gustará saber...
No te muevas de la silla si tienes algo más que decir que creas que es importante y, sobre todo... PREGUNTA.