# Contenidos
## Terminal
Tres comandos vamos a usar:
- `pwd` o *print working directory*, es decir, imprime el directorio de trabajo.
- `ls`, sirve para listar los archivos y directorios del directorio donde estás.
- `cd`, para cambiar de directorio.
## Jerarquía del sistema de directorios
- Metáfora arriba/abajo en un eje de Y donde el punto 0 es la raíz del sistema operativo, representado en Unix con una `/` y en
- Metáfora adelante/atrás en el eje de las X donde el punto 0 es la raíz del sistema operativo.
- Metáfora entrar al directorio/salir del directorio.
- En el mundo web además del punto 0 de la web está la URI o dirección del recurso en la red. Veámoslo con un ejemplo: `https://workforus.theguardian.com/careers/product-engineering/`
- En esta URL el dominio es la raíz, en este caso `workforus.theguardian.com`
- El directorio de primer nivel sería `careers`.
- Que tendría dentro el directorio `product-engineering`
- Y dentro estará el archivo `index.html`
workforus.theguardian.com
└── careers
└── product-engineering
└── index.html
Voy a añadir además los directorios `img` y `js` que cuelguen de la raíz del árbol y les voy a crear un archivo dentro de cada uno:
workforus.theguardian.com
├── careers
│ └── product-engineering
│ └── index.html
├── img
│ └── icon.png
└── js
└── lib.js
Si estoy en `index.html` y quiero referirme a la imagen `icon.png` que está en el directorio de las imágenes, puedo hacerlo con la ruta relativa o la ruta absoluta:
- Ruta relativa: según en el sitio en el que me encuentro, es decir, en `index.html`, luego tengo que subir un directorio hasta `careers`, otro hasta la raíz `workforus.theguardian.com`, y luego bajar al directorio `img`. Eso se representa así: `../../img/icon.png`. Es decir, con `../` se sube un directorio.
- Ruta absoluta: desde la raíz. Dado que la raíz está representada por una `/`, hacemos: `/img/icon.png`
- Ruta URI: dado que es un recurso disponible en la red de Internet, también podría tener la ruta `https://workfocus.theguardian.com/img/icon.png`. Cuando se ponen rutas URI se puede quitar la parte del protocolo, lo cual se hace por si en algún caso tiene problemas con uno u otro, quedando así: `//workfocus.theguardian.com/img/icon.png`
El porqué poner uno u otro depende de cómo esté montada la web. Suele ser mejor poner rutas absolutas si crees que las relativas pueden variar, pero también podrían cambiar potencialmente las absolutas.
## Git
### Instalación
Instalamos git en el ordenador.
- En cygwin, `apt-cyg install git`
- En linux, `sudo apt install git`
- En mac, `brew install git`
### Problemas en Windows: el Antivirus
- Se han detectado problemas o bien al instalar git o bien al clonar el repositorio luego.
- Cuando estéis con estas cosas desactivar el antivirus o permitidle una excepción de cygwin porque si no no funciona bien.
## Mundo web
- Por cierto, antes de hacer lo de Github… ¿habéis visto su página? ¿Os recuerda a algo? ¿No?
- Ahora veamos la de Twitter… ¿se parecen?
- Resulta que la web de Github está diseñada con el framework Bootstrap
- Bootstrap es un framework de desarrollo web que liberó Twitter cuando rediseñó su página
- Muchas de las páginas del mundo están basadas en Bootstrap. En algunas se nota más que en otras.
- Aunque Bootstrap tiene iconos, hay otro proyecto que también se usa, [Fontawesome](https://fontawesome.com/v5.15/icons?d=gallery&p=2&m=free)
## The Guardian
Vaya sorpresa me he llevado cuando el clásico "We Are Hiring!" del código fuente de [The Guardian](https://www.theguardian.com/international):
![img](/img/the-guardian-source.png "We Are Hiring!")
Ha sido sustituida por:
![img](/img/the-guardian-200.png "G: 200 Anniversary The Guardian")
Resulta que este año se celebra el bicentenario del periódico.
## Github
- Vamos a github y copiamos la dirección del repositorio, por ejemplo: `https://github.com/Pontedatos/uc3m-periodismo-datos.git`
- Lo clonamos en el directorio donde estamos con `git clone https://github.com/Pontedatos/uc3m-periodismo-datos.git`.
- Esto significa que creara una carpeta/directorio en nuestro espacio con el nombre `uc3m-periodismo-datos` con el contenido de ese repositorio remoto.
- Si añadimos al final, separado con un espacio, un nombre, llamará a la carpeta como queramos. Por ejemplo, `git clone https://github.com/Pontedatos/uc3m-periodismo-datos.git periodismodatos`, la carpeta con el contenido será `periodismodatos`.
- Para comprobar que lo hemos descargado/clonado, lanzamos `ls`, se tendrá que ver el nombre del directorio tal como lo hemos llamado.
- Ahora vamos a entrar/cambiar a ese directorio con el comando `cd`, de *change directory*, que lo podemos recordar por "Cambiar de Directorio". Así, `cd uc3m-periodismo-datos` nos lleva a ese directorio.
- Lo listamos con `ls` para comprobar su contenido.
- Si en vez de `ls` lanzamos las opciones `ls -la` vemos que tiene un directorio de nombre `.git` que es donde está toda la configuración de este repositorio git.
- Es decir, esta carpeta también es un repositorio git local.
- Si queremos saber a dónde apunta hacemos `git remote -v` y nos dice la URL de donde hacer "fetch", de donde descargar datos, y a donde hacer "push", donde subir datos.
- Mañana practicaremos con esto.
- Para volver al directorio anterior tenemos que subir o retroceder un directorio, lo hacemos con `cd ../`
## Pendientes
- [ ] Ley de Moore
- [ ] Entidades HTML
- [ ] Caracteres reservados
- [ ] `ls -la`
- [ ] xcode
- [ ] Datos abiertos: 5 estrellas
- [ ] Journalism in the Age of Data:
-
# Pruebas
- Cuál es el primer comando que deberías usar en la terminal. Explica tu respuesta. Pista: describe la estructura de ficheros de tu equipo y el lugar donde te encuentras.
- ¿Como te mueves por el árbol de directorios de tu sistema de ficheros? Razona tu respuesta.
- Si quisieras clonar un repositorio git, ¿qué pasos tendrías que dar? ¿Cómo comprobarías que ha funcionado?