Skip to content

Latest commit

 

History

History
1045 lines (660 loc) · 42.2 KB

LINUX.es.md

File metadata and controls

1045 lines (660 loc) · 42.2 KB

Instrucciones para la configuración

Aquí abajo encontrarás las instrucciones para configurar tu computadora para el curso de Data Science de Le Wagon

Por favor léelas cuidadosamente y ejecuta todos los comandos en el siguiente orden. Si tienes algún problema, no dudes en pedirle ayuda a una profesor 🙋

¡Comencemos! 🚀

Zoom

Para poder interactuar cuando no estemos en el mismo lugar físico, usaremos Zoom, una herramienta de videoconferencia.

⚠️ Si ya tienes Zoom instalado, por favor asegúrate de que por lo menos tienes versión 5.6.

Ve a zoom.us/download.

Haz clic en el botón Download debajo de Zoom Client.

Abre el archivo que acabas de descargar para instalar la aplicación.

Abre la aplicación Zoom.

Si ya tienes una cuenta Zoom, inicia sesión con tus credenciales.

Si no, haz clic en el enlace Sign Up Free, que significa registrarse gratuitamente:

Registrarse gratuitamente en Zoom

Te redireccionarán a la página de Zoom para que completes un formulario.

Cuando termines, regresa a la aplicación Zoom e inicia sesión usando tus credenciales.

Deberías ver una pantalla como la siguiente:

Pantalla de inicio de Zoom

Ya puedes cerrar la aplicación Zoom.

Cuenta GitHub

¿Ya tienes una cuenta GitHub? Si no es el caso, ábrela ya.

👉 Sube una foto y escribe tu nombre correctamente en tu cuenta GitHub. Esto es importante porque nosotros usaremos un tablero de comando interno con tu avatar. Por favor hazlo ahora antes de dar un paso más en esta guía.

Foto GitHub

👉 Habilita la Autenticación de Dos Factores (2FA). GitHub te enviará mensajes de texto con un código cuando intentes iniciar sesión. Esto es importante para la seguridad y también pronto será necesario para contribuir código en GitHub.

Visual Studio Code

Instalación

Instala el editor de texto Visual Studio Code.

Copia (presionando Cmd + C) el comando de aquí abajo y luego pégalo en tu terminal (Ctrl + Shift + v):

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg
sudo apt update
sudo apt install -y code

Escribe tu contraseña cuando estos comandos te la pidan.

⚠️ Cuando escribas tu contraseña no verás nada en la pantalla. Esto es normal. Es una herramienta de seguridad para ocultar tanto el contenido de tu contraseña como su longitud. Simplemente escribe tu contraseña y presiona Enter al terminar.

Abrir desde la terminal

Ahora abre VS Code desde la terminal:

code

✔️ Si se acaba de abrir una ventana de VS Code, entonces todo está bien 👍

❌ Si no es el caso, por favor pídele ayuda a un profesor.

Extensiones de VS Code

Instalación

Instala algunas extensiones útiles para VS Code.

code --install-extension ms-vscode.sublime-keybindings
code --install-extension emmanuelbeziat.vscode-great-icons
code --install-extension MS-vsliveshare.vsliveshare
code --install-extension ms-python.python
code --install-extension KevinRose.vsc-python-indent
code --install-extension ms-python.vscode-pylance
code --install-extension ms-toolsai.jupyter

Aquí está la lista de las extensiones que estás instalando:

Configuración de Live Share

Visual Studio Live Share es una extensión de VS Code que te permite compartir el código en tu editor de texto para debugging y pair-programming: ¡Instalémoslo!

Abre VS Code desde tu terminal escribiendo code y presionando Enter.

Haz clic en la pequeña flecha de la parte inferior de la barra de la izquierda:

VS Code Live Share

  • Haz clic en el botón "Share". Luego en "GitHub (Inicia sesión usando tu cuenta GitHub)".
  • Va a aparecer una ventana emergente pidiéndote que inicies sesión con GitHub: Haz clic en "Allow".
  • Te redireccionarán a una página GitHub en tu navegador pidiéndote que autorices Visual Studio Code: Haz clic en "Continue" y luego en "Authorize github".
  • Es posible que VS Code muestre más ventanas emergentess: Ciérralas haciendo clic en "OK".

Eso es todo. ¡Ya puedes continuar!

Herramientas de línea de comando

Zsh & Git

En lugar de usar el bash shell predeterminado, usaremos zsh.

También utilizaremos git, un programa de línea de comando para control de versiones.

Vamos a instalarlos, junto con otros programas útiles:

  • Abre una terminal de Ubuntu
  • Copia y pega los siguientes comandos:
sudo apt update
sudo apt install -y curl git imagemagick jq unzip vim zsh

Estos comandos te pedirán tu contraseña: escríbela.

⚠️ Cuando escribas tu contraseña no verás nada en la pantalla. Esto es normal. Es una herramienta de seguridad para ocultar tanto el contenido de tu contraseña como su longitud. Simplemente escribe tu contraseña y presiona Enter al terminar.

Instalación de la CLI de GitHub

Instalemos la CLI oficial de GitHub (Interfaz de Línea de Comando). Es un programa que se usa para interactuar con tu cuenta GitHub por medio de la línea de comando.

En tu terminal, copia y pega los siguientes comandos y escribe tu contraseña si te la piden:

sudo apt remove -y gitsome # gh command can conflict with gitsome if already installed
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install -y gh

Ejecuta el comando que te mostramos a continuación para verificar que gh se haya instalado correctamente en tu máquina:

gh --version

✔️ Si ves esta versión gh version X.Y.Z (YYYY-MM-DD), puedes continuar trabajando 👍

❌ Si no es el caso, por favor contacta a un profesor

Chrome - tu navegador

Instala el navegador Google Chrome si no lo tienes todavía y configúralo como tu navegador predeterminado.

Sigue los pasos en el siguiente enlace 👉 Instalación de Google Chrome

¿Por qué Chrome?

Lo recomendamos como navegador predeterminado porque es el más compatible con los tests y la ejecución de código. Además trabaja con Google Cloud Platform. Otra opción es Firefox. No recomendamos usar otros navegadores como Opera, Internet Explorer o Safari.

Oh-my-zsh

Instalemos el plugin zsh Oh My Zsh.

Ejecuta este comando en la terminal:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Si te preguntan "Do you want to change your default shell to zsh?", presiona Y

Cuando termines, tu terminal debería lucir así:

La terminal de Ubuntu con OhMyZsh

✔️ Si es el caso, puedes continuar 👍

❌ Si no, por favor pídele ayuda a un profesor.

direnv

direnv es una extensión del shell. Facilita trabajar con variables de entorno por proyecto, lo cual será útil para customizar el comportamiento de tu código.

sudo apt-get update; sudo apt-get install direnv
echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc

GitHub CLI

CLI es una abreviación de Command-line Interface que significa interfaz de línea de comando.

En esta sección usaremos GitHub CLI para interactuar directamente con GitHub desde la terminal.

Ya debería haberse instalado en tu computadora con los comandos que ejecutaste anteriormente.

Lo primero que hay que hacer para iniciar sesión es copiar y pegar el comando siguiente en tu terminal:

⚠️ NO edites el email

gh auth login -s 'user:email' -w

gh le hará algunas preguntas:

What is your preferred protocol for Git operations? Con las flechas, elige SSH y presiona Enter. SSH es un protocolo para iniciar la sesión utilizando claves SSH en lugar de la famosa pareja nombre de usuario y contraseña.

Generate a new SSH key to add to your GitHub account? Presiona Enter para pedirle a gh que genere las claves SSH por ti.

Si ya tienes claves SSH, verás en su lugar Upload your SSH public key to your GitHub account?Con las flechas, selecciona la ruta de tu archivo de clave pública y pulsa Intro.

Enter a passphrase for your new SSH key (Optional). Pon algo que quieras y que recuerdes. Es una contraseña para proteger tu private key que está almacenada en tu disco duro. Luego presiona Enter.

Title for your SSH key. Puede dejarlo en la propuesta "GitHub CLI", presiona Enter.

Obtendrás el siguiente resultado:

! First copy your one-time code: 0EF9-D015
- Press Enter to open github.com in your browser...

Selecciona y copia el código (0EF9-D015 en el ejemplo) y luego presiona Enter.

Tu navegador se abrirá y te pedirá que autorices GitHub CLI para usar tu cuenta GitHub. Acepta y espera un poco.

Regresa a la terminal, presiona Enter nuevamente y listo. Eso es todo.

Para verificar que están conectado correctamente, escribe lo siguiente:

gh auth status

✔️ Si obtienes este mensaje: Logged in to github.com as <YOUR USERNAME> , significa que todo está bien 👍

❌ De lo contrario, contacta a un profesor.

CLI de Google Cloud

Instala la CLI de gcloud para comunicar con Google Cloud Platform a través de la terminal:

echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
sudo apt-get install apt-transport-https ca-certificates gnupg
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
sudo apt-get update && sudo apt-get install google-cloud-sdk
sudo apt-get install google-cloud-sdk-app-engine-python

👉 Documentación para la instalación

Dotfiles

Hay tres opciones, escoge una:

Ya hice el bootcamp de Web Development (FullStack) de Le Wagon en la misma laptop

Esto significa que ya has hecho el fork del repositorio GitHub lewagon/dotfiles pero tal vez la configuración para el nuevo bootcamp de Data Science no estaba lista en ese momento.

Abre tu terminal y ve a tu proyecto dotfiles:

cd ~/code/<YOUR_GITHUB_NICKNAME>/dotfiles
code . # Open it in VS Code

En VS Codeabre el archivo zshrc. Reemplaza su contenido con la versión más reciente de ese archivo que te suministramos. Luego guárdalo en el disco.

Regresa a la terminal y ejecuta un git diff y pídele a un TA que venga y verifique este cambio de configuración. Debería ver cosas de Python y pyenv.

Cuando el TA termine de hacer la verificación, haz un commit y haz el push de tus cambios:

git add zshrc
git commit -m "Update zshrc for Data Science bootcamp"
git push origin master

O

No he hecho el bootcamp de Web Development (FullStack) de Le Wagon

Los hackers aman mejorar sus shells y sus herramientas. Comenzaremos con una configuración por defecto genial proporcionada por Le Wagon y almacenada en GitHub. Tu configuración es personal, así que necesitas tu propio repositorio para almacenarla. Primero tienes que hacer el fork del repositorio en tu cuenta GitHub.

➡️ Haz clic aquí para hacer el fork del repositorio lewagon/dotfiles a tu cuenta (deberás hacer clic nuevamente en tu foto para confirmar dónde harás el fork).

Hacer un fork significa que crearás un nuevo repositorio en tu cuenta GitHub idéntico al original. Tendrás un nuevo repositorio en tu cuenta GitHub, your_github_username/dotfiles. El fork es necesario porque cada uno de ustedes necesitará poner información específica (e.g. tu nombre) en esos archivos.

Abre tu terminal y ejecuta el comando siguiente:

export GITHUB_USERNAME=`gh api user | jq -r '.login'`
echo $GITHUB_USERNAME

Deberías ver tu usuario GitHub. Si no es así, no hagas más nada y pide ayuda. Parece que hay un problema con el paso anterior (gh auth).

Es hora de hacer el fork del repositorio y clonarlo en tu laptop:

mkdir -p ~/code/$GITHUB_USERNAME && cd $_
gh repo fork lewagon/dotfiles --clone

Ejecuta el instalador de dotfiles.

cd ~/code/$GITHUB_USERNAME/dotfiles && zsh install.sh

Verifica los emails registrados en tu cuenta GitHub. Deberás seleccionar uno de ellos en el próximo paso:

gh api user/emails | jq -r '.[].email'

Ejecuta el instalador de git:

cd ~/code/$GITHUB_USERNAME/dotfiles && zsh git_setup.sh

☝️ Esto te guiará con tu nombre (FirstName LastName) y con tu email. :warning: Cuidado, debes poner uno de los emails de la lista de arriba que te suministra el comando gh api ... usado anteriormente. Si haces eso, Kitt no podrá hacerle seguimiento a tu progreso. Cualquier correo que elijas se mostrará públicamente en internet. 💡 Selecciona la dirección @users.noreply.github.com si no quieres que tu correo electrónico aparezca en los repositorios públicos a los que puedas contribuir.

Ahora cierra todas las ventanas de tu terminal que tengas abiertas por favor.

OR

IYa hice el bootcamp de Web Development (FullStack) de Le Wagon pero tengo una nueva laptop

Abre tu terminal y ejecuta el comando siguiente:

export GITHUB_USERNAME=`gh api user | jq -r '.login'`
echo $GITHUB_USERNAME

Deberías ver tu usuario GitHub. Si no es así, no hagas más nada y pide ayuda. Parece que hay un problema con el paso anterior (gh auth).

Es hora de hacer el fork del repositorio y clonarlo en tu laptop:

mkdir -p ~/code/$GITHUB_USERNAME && cd $_
gh repo fork lewagon/dotfiles --clone

Ejecuta el instalador de dotfiles.

cd ~/code/$GITHUB_USERNAME/dotfiles && zsh install.sh

Verifica los emails registrados en tu cuenta GitHub. Deberás seleccionar uno de ellos en el próximo paso:

gh api user/emails | jq -r '.[].email'

Ejecuta el instalador de git:

cd ~/code/$GITHUB_USERNAME/dotfiles && zsh git_setup.sh

☝️ Esto te guiará con tu nombre (FirstName LastName) y con tu email. :warning: Cuidado, debes poner uno de los emails de la lista de arriba que te suministra el comando gh api ... usado anteriormente. Si haces eso, Kitt no podrá hacerle seguimiento a tu progreso. Cualquier correo que elijas se mostrará públicamente en internet. 💡 Selecciona la dirección @users.noreply.github.com si no quieres que tu correo electrónico aparezca en los repositorios públicos a los que puedas contribuir.

Ahora cierra todas las ventanas de tu terminal que tengas abiertas por favor.

Desahilitación de la solicitud de SSH passphrase

No vas a querer que te pidan tu passphrase cada vez que te comuniques con un repositorio remoto. Por eso debes agregarle plugin ssh-agent a oh my zsh:

Primero abre el archivo .zshrc:

code ~/.zshrc

Luego:

  • Identifica la línea que comienza por plugins=
  • Agrega ssh-agent al final de la lista de plugins

La lista debería verse de la siguiente manera:

plugins=(gitfast last-working-dir common-aliases zsh-syntax-highlighting history-substring-search pyenv ssh-agent)

✔️ Guarda el archivo .zshrc con Ctrl + S y cierra tu editor de texto.

Instalando Python (con pyenv)

Desinstalar conda

Como estamos utilizando pyenv para instalar y gestionar la versión de Python, necesitamos desinstalar conda, otro gestor de paquetes que podrías tener en tu computadora si previamente instalaste Anaconda. De esta forma, evitaremos problemas con Python más adelante.

Chequea si tienes conda instalado en tu computadora:

conda list

Si aparece zsh: command not found: conda, puedes saltear la desinstalación de conda e ir directo a la sección de Instalar pre-requisitos.

Instrucciones de desinstalación conda
  • Instala el paquete Anaconda-Clean desde tu terminal y comienza la limpieza
conda install anaconda-clean
anaconda-clean --yes
  • Remueve todos los directorios de Anaconda
rm -rf ~/anaconda2
rm -rf ~/anaconda3
rm -rf ~/.anaconda_backup
  • Elimina el directorio Anaconda de tu .bash_profile
    • Abre el archivo con code ~/.bash_profile
    • Si el archivo abre, busca la línea que coincida con el siguiente patrón export PATH="/path/to/anaconda3/bin:$PATH" y eliminala
    • Guarda el archivo con CTRL + s
  • Reinicia la terminal con exec zsh
  • Remueve la inicializaciópn de Anaconda de tu .zshrc:
    • Abre el archivo con code ~/.zshrc
    • Remueve las líneas de código desde >>> conda initialize >>> hasta <<< conda initialize <<<

Instala pyenv

Ubuntu viene con una versión vieja de Python que no queremos usar. Tal vez ya hayas instalado Anaconda u otro programa para utilizar Python y paquetes de Ciencia de Datos. Si es así, no pasa nada ya que haremos una configuración profesional de Python que te permitirá cambiar de versión cuando quieras al escribir python en la terminal.

Primero instala pyenv con el siguiente comando en la Terminal:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
exec zsh

Instala algunas dependencias necesarias para crear Python desde pyenv:

sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \
python3-dev

Instala Python

Instala la última versión estable de Python que sea aceptada en el currículum de Le Wagon:

pyenv install 3.10.6

Este comando puede tomar un tiempo en ejecutarse. Esto es completamente normal. ¡No dudes en ayudar a los estudiantes que estén sentados cerca de ti!

OK. Cuando este comando termine de ejecutarse, le diremos al sistema que use esta versión de Python por defecto. Esto se hace con:

pyenv global 3.10.6
exec zsh

Para verificar que esto haya funcionado, ejecuta python --version. Si ves 3.10.6, ¡todo está bien! Si no, pídele ayuda a un TA para resolver el problema por medio de versiones de pyenv y type -a python (python debería estar usando la versión .pyenv/shims de primero).

Entorno Virtual de Python

Antes de instalar paquetes de Python, aislaremos la configuración del Bootcamp en un entorno virtual dedicado. Usaremos un plugin pyenv llamado pyenv-virtualenv.

Primero instala este plugin:

git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
exec zsh

Crea el entorno virtual que usaremos durante todo el bootcamp:

pyenv virtualenv 3.10.6 lewagon

Define el entorno virtual con lo siguiente:

pyenv global lewagon

¡Genial! Ahora cada vez que queramos instalar un paquete Python, lo haremos en ese entorno.

Paquetes de Python

Ahora que tenemos el ambiente virtual de lewagon adecuado, es hora de instalarle algunos paquetes.

Primero, actualiza pip, la herramienta para instalar Paquetes Python desde pypi.org. Ejecuta lo siguiente en la última terminal donde esté activado el virtualenv de lewagon:

pip install --upgrade pip

Ahora instala algunos paquetes para las primeras semanas del programa:

pip install -r https://raw.githubusercontent.com/lewagon/data-setup/master/specs/releases/linux.txt

Extensiones de jupyter notebook

Mejora tu jupyter notebooks con extensiones increíbles:

# install nbextensions
jupyter contrib nbextension install --user
jupyter nbextension enable toc2/main
jupyter nbextension enable collapsible_headings/main
jupyter nbextension enable spellchecker/main
jupyter nbextension enable code_prettify/code_prettify

CSS personalizado

Mejora la visualización del elemento details para revelación de información en tus notebooks.

Abre custom/custom.css en el directorio config:

cd $(jupyter --config-dir)
mkdir -p custom
touch custom/custom.css
code custom/custom.css

Edita custom.css con la siguiente información:

summary {
    cursor: pointer;
    display:list-item;
}
summary::marker {
    font-size: 1em;
}

Puedes cerrar VS Code.

Chequeo de jupyter

Reinicia tu terminal:

exec zsh

Ahora verifica que puedas iniciar un servidor de notebook en tu máquina:

jupyter notebook

Tu navegador web debería abrir en una ventana jupyter:

jupyter.png

Haz clic en New:

jupyter_new.png

Debería abrirse una pestaña en un nuevo notebook:

jupyter_notebook.png

Chequeo de nbextensions

Haz una revisión de las jupyter notebooks nbextensions. Haz clic en Nbextensions:

jupyter_nbextensions.png

Deselecciona "disable configuration for nbextensions without explicit compatibility". Esto significa deshabilitar la configuración de nbextensions sin compatibilidad explícita. Luego verifica que al menos las nbextensions marcadas en rojo estén habilitadas:

nbextensions.png

Puedes cerrar tu navegador web y luego cerrar el servidor jupyter con CTRL + C.

Chqueo de la configuración de Python

Verifica tu versión de Python con los siguientes comandos:

zsh -c "$(curl -fsSL https://raw.githubusercontent.com/lewagon/data-setup/master/checks/python_checker.sh)" 3.10.6

Ejecuta el comando siguiente para verificar que hayas instalado los paquetes requeridos correctamente:

zsh -c "$(curl -fsSL https://raw.githubusercontent.com/lewagon/data-setup/master/checks/pip_check.sh)"

Ahora ejecuta el siguiente comando para verificar que puedas cargar estos paquetes:

python -c "$(curl -fsSL https://raw.githubusercontent.com/lewagon/data-setup/master/checks/pip_check.py)"

Asegúrate de que puedas usar Jupyter:

jupyter notebook

Y abre un notebook Python 3.

Asegúrate de que estés usando la versión correcta de python en el notebook. Abre una celda y ejecuta lo siguiente:

import sys; sys.version

¡Listo! Ya tienes un virtual env de python completo con todos los paquetes tercerizados que necesitarás en el bootcamp.

DBeaver

DDescarga e instala DBeaver, una herramienta poderosa, gratuita y de código abierto para conectar con cualquier base de datos, explorar su esquema e incluso hacer consultas SQL.

Docker 🐋

Docker es una plataforma abierta para desarrollo, entrega y operación de aplicaciones.

Si ya tienes Docker instalado en tu máquina, por favor actualízalo con la versión más reciente

Instalación de Docker

Ve a la documentación de instalación de Docker.

Luego sigue las instrucciones del tutorial para instalar Docker usando el repositorio. Hay 2 pasos:

  1. Set up Docker's apt repository. > Esto significa configurar el repositorio
  2. Install the Docker packages. > Esto significa instalar el motor de Docker

Ahora, asegurémonos de que podemos ejecutar docker sin sudo.

Ejecute los siguientes comandos uno por uno:

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
sudo rm -rf ~/.docker/

Cuando termines, podrás ejecutar lo siguiente:

docker run hello-world

Debería aparecer el siguiente mensaje:

Configuración de Google Cloud Platform

GCP es una solución en la nube que usarás para colocar tus productos basados en Machine Learning en producción.

🚨 Si estás en el grupo de estudiantes del Bootcamp de Medio Tiempo, ¡IGNORA ESTA SECCIÓN POR AHORA! GCP ofrece $300 en créditos durante 3 meses, así que no es buena idea activar tu cuenta GCP demasiado pronto 🙅‍♂️

Preparación del Proyecto

  • Ve a Google Cloud y crea una cuenta si aún no tienes una
  • En la consola de Cloud, en la lista de proyectos, selecciona o crea un proyecto Cloud

  • Asígnale un nombre como Wagon Bootcamp por ejemplo
  • Verás que se creará un ID automáticamente para el proyecto e. g. wagon-bootcamp-123456

Idioma de la cuenta

Abre las preferencias en tu cuenta GCP para facilitar el seguimiento de las instrucciones durante el bootcamp:

https://myaccount.google.com/language

Si el idioma de preferencia no es:

  • English
  • United States

Cámbialo a inglés:

  • Haz clic en el logo edición (es una lapicera)
  • Selecciona English
  • Selecciona United States
  • Haz clic en Select

Cuenta de facturación

Ahora conecta tu cuenta con tu tarjeta de crédito. Este paso es obligatorio para poder usar los servicios que suministra GCP. No te preocupes, podrás utilizar la mayoría de los servicios de GCP por medio de créditos gratuitos durante el bootcamp.

  • Haz clic en Billing
  • Haz clic en MANAGE BILLING ACCOUNTS
  • Haz clic en ADD BILLING ACCOUNT
  • Asígnale un nombre a tu cuenta de facturación, e. g. My Billing Account
  • Haz clic en "I have read..." y acepta los términos de uso
  • Haz clic en CONTINUE
  • Selecciona tu tipo de cuenta: Individual
  • Agrega tu nombre y dirección

Verás que tienes créditos gratuitos con un valor de "$300 a utilizar en los próximos 90 días".

  • Haz clic en los detalles de la tarjeta
  • Agrega la información de tu tarjeta de crédito
  • Haz clic en START MY FREE TRIAL. Esto significa comenzar mi período de prueba.

Cuando termines, verifica que la cuenta de facturación esté conectada con tu proyecto GCP.

  • Selecciona tu proyecto
  • Ve a Billing
  • Selecciona LINK A BILLING ACCOUNT
  • Selecciona My Billing Account
  • Haz clic en SET ACCOUNT

Ahora deberías ver lo siguiente:

Free trial status: $300 credit and 91 days remaining - with a full account, you'll get unlimited access to all of Google Cloud Platform.

Esto significa Estado de período de prueba: crédito de $300 y 91 días para usarlo - con la full account, tendrás acceso ilimitado a todo lo que ofrece Google Cloud Platform.

👉 Si no tienes una tarjeta de crédito 👈

Si no tienes una tarjeta de crédito, puedes abrir una cuenta en Revolut. Revolut es una aplicación que funciona como un banco y que te permitirá crear una tarjeta de crédito virtual conectada a la dirección de facturación de tu smartphone.

Ignora este paso si ya tienes una tarjeta de crédito. Simplemente úsala para hacer la configuración.

Descarga la app Revolut o ve a revolut y sigue los pasos para descargar la app (introduce tu número de teléfono móvil y haz clic en Get Started).

  • Abre la app Revolut
  • Agrega tu número de teléfono móvil
  • Agrega el código de verificación que recibiste por SMS
  • La app te preguntará por tu país, dirección, primer y segundo nombre, fecha de nacimiento y el email
  • La app también te pedirá tu profesión y una selfie
  • La app te pedirá una foto de tu documento nacional de identidad o pasaporte

Cuando termines, selecciona el plan estándar (gratuito). No tienes que agregar la tarjeta a Apple pay, pedir que te envíen una tarjeta a tu domicilio ni tampoco agregar dinero a la cuenta.

Ahora tienes una tarjeta virtual que podrás usar para hacer la configuración de GCP.

En la vista principal de la app Revolut

  • Haz clic en Ready to use
  • Haz clic en the card
  • Haz clic en Show card details
  • Toma nota de la información de la tarjeta de crédito virtual y úsala para completar la configuración de GCP
👉 Si recibes un email de Google diciendo "Urgent: your billing account XXXXXX-XXXXXX-XXXXXX has been suspended" 👈

Esto puede pasar justo después de haber creado la cuenta en Revolut.

  • Haz clic en PROCEED TO VERIFICATION
  • Te pedirán que envíes una foto de tu tarjeta de crédito (solo los últimos 4 dígitos, nada más)
  • Si ya has usado Revolut, puedes enviar una captura de pantalla de tu tarjeta de crédito virtual (no olvides quitar la fecha de vencimiento de la captura)
  • Explica que estás haciendo el bootcamp de Le Wagon, que no tienes una tarjeta de crédito y que acabas de crear una cuenta en Revolut para poder configurar GCP para el bootcamp con una tarjeta de crédito virtual

Es posible que te validen la cuenta pero también es posible que te pidan más información en los próximos 30 minutos.

Cuando la cuenta sea validada recibirás un email diciendo lo siguiente: "Your Google Cloud Platform billing account XXXXXX-XXXXXX-XXXXXX has been fully reinstated and is ready to use.". Esto significa que tu cuenta Google Cloud Platform ha sido restablecida

Habilitación de servicios de GCP

  • Asegúrate de que la facturación está habilitada para tu proyecto Google Cloud

ℹ️ Tienes un crédito de $300 para usar con recursos de Google Cloud. Esto será más que suficiente para el bootcamp.

Configuración de Cloud sdk

  • Autentica el CLI de gcloud con la cuenta que usaste para GCP
gcloud auth login
  • Inicia sesión en tu cuenta Google en la nueva pestaña que se abrió en tu navegador
  • Lista la cuenta que tienes activa y verifica que el email que usaste para GCP está ahí
gcloud auth list
  • Define tu proyecto actual (reemplaza PROJECT_ID con el ID de tu proyecto e.g. wagon-bootcamp-123456)
gcloud config set project PROJECT_ID
  • Lista la cuenta que tienes activa y tu proyecto actual y verifica que tu proyecto está ahí
gcloud config list

Crea una llave 🔑 de cuenta de servicio

Como ya creaste una cuenta GCP account y un project (identificado por su PROJECT_ID), vamos a configurar las acciones (llamadas API calls) que quieres que tu código ejecute.

🤔 ¿Por qué necesitamos una clave de cuenta de servicio?

Creaste una cuenta GCP conectada a una tarjeta de crédito. Te facturarán de acuerdo al uso que les des a los recursos de Google Cloud Platform. El cargo se hará si utilizas algo después de que el período de prueba gratuito se haya terminado o si te excedes del límite de consumo que te permite dicho período.

En tu cuenta GCP has creado un solo proyecto GCP identificado por su PROJECT_ID. Los proyectos GCP te permiten organizar y monitorear la manera en que consumes los recursos GCP de forma más precisa. En este bootcamp solo crearemos un solo proyecto.

Ahora necesitamos una manera de saber qué recursos nuestro código podrá consumir dentro de un GCP project. Nuestro código consume recursos GCP por medio de llamadas API.

Ya que las llamadas API no son gratuitas, es importante definir cuidadosamente cómo nuestro código las utilizará. Sin embargo, durante el bootcamp no habrá restricciones. Le permitiremos a nuestro código que utilice todas las API GCP sin restricciones.

Así como pueden haber varios proyectos asociados a una cuenta GCP, un proyecto puede estar compuesto de muchos servicios (cualquier paquete de código, sin importar su formato, que necesite utilizar llamadas a la API de GCP para cumplir con su propósito).

GCP exige que los servicios de los proyectos que usen llamadas API se registren en la plataforma y que se configuren sus credenciales por medio del acceso concedido a una service account.

Por ahora solo tendremos que usar un solo servicio y crearemos la service account correspondiente.

Ya que la service account es lo que identifica tu aplicación (y por ende tu cuenta de facturación GCP y, en última instancia, tu tarjeta de crédito), lo mejor es ser cuidadoso en los próximos pasos.

⚠️ No compartas la 🔑 del archivo json de tu cuenta de servicio ⚠️ No la guardes en tu escritorio ni en tu código base de git (incluso si tu repositorio git es privado). Que no se te olvide en un lugar como la máquina de café y, por supuesto, no la envíes en un tweet.

  • Ve a la página de las cuentas de servicio
  • Selecciona tu proyecto en la lista de proyectos recientes si te piden que
  • Crees una cuenta de servicio:
    • Haz clic en CREATE SERVICE ACCOUNT que significa crear une cuenta de servicio:
    • Define un Service account name para esa cuenta. Esto significa Nombre de cuenta de servicio
    • Haz clic en CREATE AND CONTINUE que significa crear y continuar
    • Haz clic en Select a role que significa selecciona un rol. Escoge Quick access/Basic luego Owner. Esto otorga acceso total a todos los recursos
    • Haz clic en CONTINUE
    • Haz clic en DONE
  • Descarga la 🔑 del archivo json de la cuenta de servicio:
    • Haz clic en la cuenta de servicio recién creada
    • Haz clic en KEYS
    • Haz clic en ADD KEY y luego en Create new key
    • Selecciona JSON y haz clic en CREATE

El navegador acaba de guardar la 🔑 del archivo json de la cuenta de servicio en tu carpeta de descargas (el nombre se le asigna según el nombre de la cuenta de servicio. Es algo como le-wagon-data-123456789abc.json)

  • Guarda el archivo json de la cuenta de servicio en un lugar que recuerdes. Por ejemplo:
/home/LINUX_USERNAME/code/GITHUB_NICKNAME/gcp/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json
  • Guarda la ruta absoluta al archivo JSON como una variable de entorno:
echo 'export GOOGLE_APPLICATION_CREDENTIALS=/path/to/the/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json' >> ~/.aliases
ℹ️ ¿Cómo encontrar la ruta absoluta de un archivo? Puedes arrastrar el archivo a tu terminal.

Reinicia tu terminal y ejecuta lo siguiente:

echo $GOOGLE_APPLICATION_CREDENTIALS

Deberías obtener la siguiente información:

/some/absolute/path/to/your/gcp/SERVICE_ACCOUNT_JSON_FILE_CONTAINING_YOUR_SECRET_KEY.json

Ahora verifica si la ruta al archivo json de tu cuenta de servicio es el correcto:

cat $(echo $GOOGLE_APPLICATION_CREDENTIALS)

👉 Este comando debería mostrar el contenido del archivo json de tu cuenta de servicio. Si no es el caso, pídele ayuda a un TA 🙏

Tu código y utilidades ahora pueden acceder a los recursos de tu cuenta GCP.

Continuemos con los últimos pasos de la configuración...

  • Lista las cuentas de servicio asociadas a tu cuenta activa y a tu proyecto actual
gcloud iam service-accounts list
  • Recupera el email de la cuenta de servicio e. g. SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
  • Lista los roles de la cuenta de servicio desde la cli (reemplaza el PROJECT_ID y el SERVICE_ACCOUNT_EMAIL)
gcloud projects get-iam-policy PROJECT_ID \
--flatten="bindings[].members" \
--format='table(bindings.role)' \
--filter="bindings.members:SERVICE_ACCOUNT_EMAIL"
  • Ahora deberías ver que tu cuenta de servicio tiene el rol de roles/owner
Resolución de problemas
  • AccessDeniedException: 403 The project to be billed is associated with an absent billing account.. Esto significa que el proyecto a facturar está asociado a una cuenta de facturación que no está habilitada

🏁 Listo. ¡Has terminado la configuración de GCP!

Kitt

⚠️ Si recibiste una invitación por email de Le Wagon para crear una cuenta en Kitt (nuestra plataforma de aprendizaje), ignora este paso y sigue las instrucciones en el email si es que todavía no lo has hecho.

Si no sabes que hacer, haz clic en este enlace. Si ya iniciaste sesión, puedes omitir esta sección. Si no, haz clic en Enter Kitt as a Student. Esto significa iniciar sesión como estudiante. Si no tienes problemas para iniciar sesión, puedes omitir este paso. De lo contrario pídele a un profesor que te confirme si debiste haber recibido o si debes seguir las instrucciones de aquí abajo.

Registrate como alumni de Le Wagon yendo a kitt.lewagon.com/onboarding. Selecciona tu batch, inicia sesión con GitHub y completa toda la información que te piden.

Ahora tu profesor podrá validar que realmente eres parte del batch. Pídele que lo haga justo después de que hayas completado el formulario de registro.

Cuando el profesor haya aprobado tu perfil, ve a la bandeja de entrada de tu email. Deberías tener 2 nuevos emails:

  • Uno de Slack, invitándote a la comunidad de los alumni de Le Wagon en slack (donde podrás chatear con tus compañeros y todos los demás alumni). Haz clic en Join y completa la información que te piden.
  • Otro de GitHub, invitándote a lewagon team. Acéptala, de lo contrario no podrás acceder a las diapositivas de las clases.

Slack

Slack es una plataforma de comunicación popular en la industria tech.

Instalación

Descarga la aplicación Slack e instálala.

⚠️ Si ya estás usando Slack en tu navegador, por favor descarga e instala la aplicación de escritorio la cual tiene todas las funciones.

Parámetros

Abre la aplicación e inicia sesión en lewagon-alumni.

Asegúrate de subir una foto para tu perfil 👇

Cómo subir una foto de perfil en Slack

La idea es tener Slack abierto todo el día para compartir enlaces útiles / pedir ayuda / decidir dónde almorzar / etc.

Para asegurarte de que todo lo relacionado a videollamadas funcione bien, prueba tu cámara y tu micrófono:

  • Abre la aplicación Slack
  • Haz clic en tu foto de perfil en la esquina superior derecha
  • Selecciona "Preferencias" en el menú.
  • Haz clic en "Audio y vídeo" en la columna de la izquierda.
  • Debajo de "Solución de problemas", haz clic en "Ejecutar una prueba de audio, vídeo y pantalla compartida". La prueba se abrirá en una nueva ventana.
  • Comprueba que tus dispositivos preferidos de altavoz, micrófono y cámara aparecen en los menús desplegables y haz clic en "Iniciar prueba"
  • Haz clic en el botón verde "Start test"

Chequea el micrófono y la cámara con Slack

✔️ Cuando termine el test deberías ver mensajes de "Succeed" en verde por lo menos para tu micrófono y tu cámara. 👍

❌ Si no es el caso, contacta a un profesor.

¡También puedes instalar la aplicación Slack en tu smartphone e iniciar sesión en lewagon-alumni!

Kata (Extra)

Si has terminado la configuración, te pedimos que preguntes si alguien necesita ayuda con la suya (macOS, Linux o Windows). Las primeras clases son a las 2pm. Hablaremos de la configuración que acabas de hacer y de Kitt.

Si no tienes mucha experiencia con git y GitHub, por favor ve nuevamente el video de este workshop (puedes verlo a 1.25 de velocidad).

Si aún te queda tiempo, puedes esperar trabajar en este Kata de Tic-Tac-Toe mientras esperas la primera clase.