Control De Versiones Flashcards

1
Q

En qué consiste Control de versiones

A

Software con base de datos para que se guarde de manera unificada el código de aplicaciones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Control de versiones centralizados

A

Los Sistemas Centralizados: todo se sube a un sólo servidor.

  • CVS
  • Subversion (SVN)
  • TortoiseSVN (Cliente)
  • TFS/SourceSafe
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Control de versiones distribuidos

A
  • Git
  • Mercurial
  • Bazaar
  • Dares
  • BitKeeper
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qué es GIT

A

Es un sistema distribuido (2 repos) de control de versiones, creado por Linus Torvalds para el desarrollo del kernel de Linux.
- Sistema de ramas y mezclas
- Compatible con HTTPs y SSH
- Uso de criptografía SHA-1 sobre objects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

En qué casos se crean ramas en GIT

A

Fix y Features, por ejemplo (cosas complejas)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

En qué consiste la rama releases

A

Es una rama donde se encuentran las versiones finales de tu código (la foto de tu rama master, rama features o fix que pueden haber, etc)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Protocolos de comunicaciones para trabajar con GIT

A

Local +
- HTTPs
- SSH
- Git Protocol

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qué peculiaridad tiene GIT en cuanto a sus objetos

A

A todos los objetos se les hace un HASH: SHA-1

Objetos: tree (árbol de directorios), blood (fichero), commit (foto), tag (etiqueta foto del repositorio)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qué dos modalidades hay en GIT

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Como se llama la rama principal en SVN

A

Trunk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Como se llama la rama principal en GIT

A

Master y últimamente se usa más Main

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Comando para crear un directorio oculto .git

A

git init

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qué es el Staging Area en GIT

A

Es un área temporal, al que, enviamos desde el Working Tree, ficheros, de manera temporal, que se pueden consolidar después enviándolos al Local Repository, haciendo que esos cambios sean firmes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Comando para preguntar estado del repositorio en GIT

A

git status

Si indica qué los ficheros que ve están sin seguimiento, es porque están en workspace. Cuando esté en staging (cambios para ser confirmados) o en local repository (nada para hacer commit)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Comando para mandar al staging los fichero desde workspace

A

git add/mv/rm .

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Comando para mandar los ficheros del staging al local repository (consolidar fichero)

A

git commit -m “mensaje”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Comando para pasar ficheros de workspace a local repository (sin pasar por staging)

A

git commit -a

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Para excluir ficheros con extensión .doc, por ejemplo

A

Se crea un fichero llamado .gitignore:

vi .gitignore

Dentro ponemos .doc

No aparecerá el .doc para ser enviado al staging, pero sí el .gitignore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Comando para ver el historial que muestra los commits con sus códigos hash

A

git log

20
Q

Trabajar con ramas a nivel de comandos

A
  • crear la rama primero y moverte
    git branch (crear rama) nombre_rama + git checkout (movernos a otra rama) nombre_rama
  • crear la rama y moverte, todo en uno
    git checkout -b nombre_rama
21
Q

Comando para ver/crear una etiquetas en GIT

A

git tag

22
Q

Comando que modifica la estructura de la historia de los commit

Comando peligroso que Mercurial eliminó

A

git rebase

23
Q

Comando para fusionar ramas

A

git merge

24
Q

Comandos para deshacer en GIT

A
  • git reset –hard : del local repository a la basura (sin pasar por workspace)
  • git reset –soft : del local repository al staging
  • git reset –mixed : del local repository al workspace
25
Q

Repo remoto

A

git clone http://github.com…

  • Mismos comando de antes (git add/commit/branch/tag/merge/…)
  • git push (subir commits a GitHub)
  • git pull (bajarte commit de otros developers que hayan subido al GitHub)
  • git fetch (bajarte commit de otros developers pero no te actualiza tu Working Area)
26
Q

Cuales son los flujos colaborativos de GitHub

A
  • Fork
  • Pull Request
27
Q

Herramientas de sistemas de integración continua

A
  • Jenkins
  • Travis CI
  • Circle CI
  • TeamCity
  • Code Ship
  • Bamboo
28
Q

Plataformas de despliegue

A
  • Heroku (PaaS)
  • Digital Ocean (IaaS)
  • AWS
    etc
29
Q

Plataformas de despliegue

A
  • Heroku
  • Digital Ocean (IaaS)
  • AWS
    etc
30
Q

Estructura de Métrica 3 (Metodologías de desarrollo)

A

Define una serie de procesos y una serie de intefaces
- Procesos : EVS (evaluación), ASI (análisis), DSI (diseño), CSI (construcción), IAS (implantación)
- Interfaces : Calidad, Gestión Proxy, Gestión Configuración, Seguridad (procesos transversales que conectan con los procesos de arriba)

31
Q

Metodología de desarrollo: SCRUM (roles)

A
  • Roles
    Cerdo
    Product Owner (representa al cliente=manda)
    Scrum master (facilitador)
    Scrum Team (desarrolladores)
    Gallina
    Stakeholder (participan)
32
Q

Metodología ágil de desarrollo: XP (Extreme Programming) Roles

A
  • Programador
  • Cliente
  • Encargado de pruebas (tester)
  • Encargado de seguimiento (tracker)
  • Entrenador (coach)
  • Consultor
  • Gestor (big boss)
33
Q

Metodología de desarrollo: XP (Extreme Programming) Prácticas

A
  • Pruebas unitarias
  • Integración continua
34
Q

Metodología de desarrollo: XP (Extreme Programming) técnica para especificar requisitos

A

Técnica de HISTORIAS DE USUARIO (algo parecido a Casos de uso)

Historias de usuario y épicas tienen que ver con la manera de estructurar requisitos funcionales, parejo a los casos de uso (theme e initiative podrían ser también)

35
Q

En qué consiste Sonar-Qube

A

Herramienta de análisis de código estático.

36
Q

En qué consiste Junit

A

Herramienta de test unitarios

37
Q

En qué consiste JBOSS, PaaS, Operliverty, etc

A

Un runtime

38
Q

Dentro de las tareas de Pipeline, en Extreme Programming, que nos encontremos

A
  • CD (despliegue continuo) : hasta desploy (5 paso)
  • CI (integración continua) : hasta los test (4 paso)
39
Q

Metodología de desarrollo (Pruebas)

Clasificación A

A
  • Caja blanca (conocemos detalles del algoritmo)
  • Caja negra (solo nos interesan las entradas y las salidas)
40
Q

Metodología de desarrollo (Pruebas)

Clasificación B

A
  • Funcionales : unitarias (probar cada componente aislado), integración (prueba sin estar aislado), aceptación (orientadas a usuario final), regresión (mínimo de pruebas para garantizar que el proyecto va bien), alpha (aceptación con el usuario con el desarrollador como observador), beta (por el usuario con el en su entorno de trabajo y sin observadores)
  • No Funcionales : compatibilidad, rendimiento, seguridad, usabilidad
41
Q

Metodología de desarrollo (Pruebas)

Herramientas funcionales

A
  • Selenium
  • SOAP-VI
  • Watir (ruby)
  • WatiN (.net)
42
Q

Metodología de desarrollo (Pruebas)

Herramientas unitarias

A
  • JUNIT
  • NUnit
  • TestNG
43
Q

Metodología de desarrollo (Pruebas)

Herramientas carga

A
  • JMeter
  • HP Load Runner
  • Load UI
44
Q

Metodología de desarrollo (Pruebas)

Herramientas análisis código estático

A
  • PMD
  • Checkstyle
  • FindBugs
45
Q

Métrica 3 (pruebas no funcionales)

A

Prueba de rendimiento : determinar tiempos de respuesta
Prueba volumen : cuando trabajamos con grandes volúmenes simulando cargas de trabajo (sin buscar el umbral límite)
Prueba sobrecarga : cuando estamos en el umbral de los recursos (el límite)

46
Q

Metodología de desarrollo (Pruebas)

Herramientas aceptación

A

Selenium

47
Q

Qué es Gherking

A

Gherking o pepinillo es un lenguaje que genera por debajo pruebas. Lenguaje para definir escenarios

Lo procesa Cucumber y se llevan a cabo las pruebas