CursosEmpresasBlogLiveConfPrecios

Workshop: Configurando un entorno de trabajo para Go

Clase 2 de 18 • Curso de Go Avanzado 2016

Contenido del curso

1.-Introducción a Revel y Upper.io

  • 1
    ¿Dónde aprender Go actualizado?

    ¿Dónde aprender Go actualizado?

    00:16 min
  • 2
    Workshop: Configurando un entorno de trabajo para Go

    Workshop: Configurando un entorno de trabajo para Go

    Viendo ahora
  • 3
    Cómo perzonalizar la instalacion de Revel

    Cómo perzonalizar la instalacion de Revel

    30:34 min
  • 4
    Estructura para un chat server

    Estructura para un chat server

    45:42 min
  • 5
    Manejo de paquetes e introducción de upper.io

    Manejo de paquetes e introducción de upper.io

    23:52 min
  • 6
    Preguntas y respuestas

    Preguntas y respuestas

    21:36 min

2.- Persistencia de datos y creación de vistas

  • 7
    Workshop: Unit testing con Goblin

    Workshop: Unit testing con Goblin

    41:31 min
  • 8
    Acceso a bases de datos

    Acceso a bases de datos

    31:53 min
  • 9
    Diseño de la vista de nuestra aplicación

    Diseño de la vista de nuestra aplicación

    44:02 min
  • 10
    Mostrar en la vista lo que tenemos en la base de datos

    Mostrar en la vista lo que tenemos en la base de datos

    36:46 min
  • 11
    Preguntas y respuestas

    Preguntas y respuestas

    22:07 min

3.- Goroutines, concurrencia y websockets 

  • 12
    Workshop: Concurrencia, gorutinas y channels

    Workshop: Concurrencia, gorutinas y channels

    46:36 min
  • 13
    Refactorizando el Backend

    Refactorizando el Backend

    40:40 min
  • 14
    Uso de Goroutines

    Uso de Goroutines

    38:34 min
  • 15
    WebSockets en Go

    WebSockets en Go

    43:48 min
  • 16
    Preguntas y respuestas

    Preguntas y respuestas

    22:56 min

Complementos del curso

  • 17
    Beego: Otro framework web para Go

    Beego: Otro framework web para Go

    02:28 min
  • 18
    Globin: Librería para Unit Testing

    Globin: Librería para Unit Testing

    02:35 min
Tomar examen
Resumen
  • ¿Cuál es la diferencia entre Vagrant y Docker?

  • ¿Se puede trabajar sin una maquina virtual/docker?

  • ¿Qué vamos a ver en el curso?

  • ¿Diferencia entre Gorilla y Revel?

  • ¿Necesitamos tener algo mas instalado?

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
      Obtén respuestas inmediatasProfundiza lo que acabas de ver

      Comentarios

      Franklin Gil

      Franklin Gil

      student•
      hace 9 años
       Arturo Cobos

       Arturo Cobos

      student•
      hace 10 años
      ALVARO JOSE VEGA PLATA

      ALVARO JOSE VEGA PLATA

      student•
      hace 7 años
      ALVARO JOSE VEGA PLATA

      ALVARO JOSE VEGA PLATA

      student•
      hace 7 años
      Carlos Antonio Molano Solarte

      Carlos Antonio Molano Solarte

      student•
      hace 10 años
        Francisco Ivan Juan Aquino

        Francisco Ivan Juan Aquino

        student•
        hace 9 años
        Richard Dennis Quispe Vera

        Richard Dennis Quispe Vera

        student•
        hace 9 años
      David E Lares S

      David E Lares S

      student•
      hace 8 años
      Julian Andres Builes Cajiao

      Julian Andres Builes Cajiao

      student•
      hace 10 años
        Ivan Jaimes

        Ivan Jaimes

        teacher•
        hace 10 años
      Gustavo Fernández

      Gustavo Fernández

      student•
      hace 10 años
        Ivan Jaimes

        Ivan Jaimes

        teacher•
        hace 10 años
      Mario Menjívar

      Mario Menjívar

      student•
      hace 8 años
        David Toca

        David Toca

        student•
        hace 8 años
      Romel Javier Gomez Herrera

      Romel Javier Gomez Herrera

      student•
      hace 7 años
      Fernando Evelio Rivera Flores

      Fernando Evelio Rivera Flores

      student•
      hace 6 años
      David Dias

      David Dias

      student•
      hace 5 años
        Samael Fierro Sánchez

        Samael Fierro Sánchez

        student•
        hace 5 años
      Jesús Rosas Ramírez

      Jesús Rosas Ramírez

      student•
      hace 9 años
        Ricardo Azpeitia P.

        Ricardo Azpeitia P.

        student•
        hace 9 años
      Usuario anónimo

      Usuario anónimo

      user•
      hace 9 años
      Darlei Dal Medico Lopes

      Darlei Dal Medico Lopes

      student•
      hace 9 años
        Ricardo Azpeitia P.

        Ricardo Azpeitia P.

        student•
        hace 9 años
        Darlei Dal Medico Lopes

        Darlei Dal Medico Lopes

        student•
        hace 9 años
      David E Lares S

      David E Lares S

      student•
      hace 8 años
        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años
      Rey David Dominguez Soto

      Rey David Dominguez Soto

      student•
      hace 8 años
        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años
      Rey David Dominguez Soto

      Rey David Dominguez Soto

      student•
      hace 8 años

      Sería muy bueno saber, si no hay problema en continuar con el curso sin utilizar vagrant

      Para instalar Vagrant en OSX

      brew cask install virtualbox brew cask install vagrant brew cask install vagrant-manager

      Al presentarse el error:

      There are errors in the configuration of this machine. Please fix
      the following errors and try again:

      Vagrant:

      • Unknown configuration section ‘hostsupdater’.

      Intenta instalar:

      _ vagrant plugin install vagrant-hostsupdater

      Si alguno tuvo inconveniente en localizar los repositorios que señalan en la pestaña Enlaces, les dejo los repositorios actuales, espero que le ayude en algo.

      ivan-iver/config:
      ivan-iver/vagrant-golang:

      !!En el vagrant uno puede compartir una carpeta Local con la Maquina Virtual que instalaste!!
      para Trabajar Local... y poder usar otro Editor

      si si se puede

      En la MV la ruta es : \vagrant
      En tu pc debe ser la ubicación del Vagrantfile

      Para la fecha, el repositorio de Iver en GitHub para el proyecto de Vagrant ha cambiado, ahora es este:

      Intente Instalar la maquina Vitural en Windows pero no arranca. al escribir vagrant up muestra lo siguiente

      The guest machine entered an invalid state while waiting for it to boot. Valid states are 'starting, running'. The machine is in the 'poweroff' state. Please verify everything is configured properly and tr

      No lo he probado en windows. Puedes abrir un issue en github y con gusto lo tendré presente para atenderlo. Por favor, no olvides ingresar los datos como versión de S.O., si es posible una imagen del error y/o el trace.
      Saludos.

      Iver,
      En el archivo "setup.sh" está de más la linea 5, si no estamos seguros de querer actualizar nuestros repositorios podemos romper algún proyecto;

      apt-get upgrade -y

      ref. vagrant-golang

      Hola @gushh_.

      Ciertamente puedes romper algo (si existiera antes, pero está virgen esa maquina), sin embargo igual puedes editarlo y eliminarlo. Es un proyecto que uso para hacer prácticas y pruebas ... todavía no me convence la configuración y pretendo actualizarlo constantemente. Si deseas aportar a dejar un entorno genérico eres bienvenido, solo manda un PR.
      Saludos.

      ¿Cuál sería la diferencia clave entre Docker y Vagrant?

      He estado usando Docker por los últimos meses y la verdad me fascina la facilidad de manipular microservicio, al estilo NPM. Veremos qué tiene que ofrecer Vagrant.

      vagrant es básicamente usa serie de utilidades encima de los sistemas de virtualización tradicionales, en cambio docker es un sistema de virtualización más liviano que se integra directamente con linux, ambos tienen sus casos de uso

      Sugiero las siguientes mejoras:

      Cápsulas Dirigibles, busquen lograr un equilibrio entre valor y tiempo, planificación es la clave, imaginen que es una campaña de marketing del Super Bowl, poco tiempo para transmitir, super costosa.

      Videos innecesarios de configuración. Conceptos de Cli básicos para levantar un ejecutar (up and running), ejemplos: Serverless Cli, Angular Cli, Reactjs Cli, Aws Cli, etc. Establezcan criterios de lo que podría ser complicado de implementar y si requerido referir a otro curso, ejemplo si se quiere usar Docker, el curso de platzi de docker.

      Excelente despues de terminar el curso de programacion en Go, muy emocionado de continuar aprendiendo.

      ¿Alguien me ayuda con este error cuando ejecuto Vagrant up?

      default: Install golang binaries ... target: /usr/local default: Clonning configuration repository ... default: Cloning into '/home/vagrant/Config'... default: fatal: Remote branch debian not found in upstream origin

      The SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed. The output for this command should be in the log above. Please read the output to determine what went wrong.

      Si le sale el error siguiente

      The SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed. The output for this command should be in the log above. Please read the output to determine what went wrong.

      La solución es modificar el archivo golang .sh y reemplazar la palabra debian por linux en la linea 27. Este error se muestra porque la rama no existe, y ahora se llama linux.

      ¿Porque Vagrant y no Docker?

      ¿A que te refieres?

      Eres libre de escoger vagrant o docker dependiendo de tus necesidades.

      De hecho tampoco son mutuamente excluyentes.

      Lite IDE?

      Ivan, tengo este inconveniente con vagrant:

      ~/Workspace/golang ⑂ master vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Box 'golangmx' could not be found. Attempting to find and install... default: Box Provider: virtualbox default: Box Version: >= 0 ==> default: Box file was not detected as metadata. Adding it directly... ==> default: Adding box 'golangmx' (v0) for provider: virtualbox default: Downloading: https://github.com/ivan-iver/vagrant_golang/releases/download/v0.1.2/golangmx.box An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please fix this error and try again.

      Alguna idea?

      Actualiza tu virtalbox y vagrant.

      ambos binarios estan en sus ultimas versiones.

      Si el GO_PATH mantiene una estructura similar a paquetes de Github, ¿como procede en caso de tener distintos proyectos sobre distintos ficheros o carpetas?

      Puedes usar vendor, básicamente es tener un folder llamado vendor en el folder del proyecto en el cual se guardan las dependencias o paquetes de ese proyecto.

      Puedes usar govendor para instalar y administrar las dependencias

      En 2018, Revel sigue siendo buena opcion?

      Si, algo importante es que continua con un desarrollo continuo y su última actualización se publico el 6 de febrero de 2018.

      Cuando se va a escoger un proyecto para usarlo es importante ver que tan actualizado esta, validando por ejemplo hace cuanto fue su ultima actualización.

      Deberian de agregar como requisito algun curso de introduccion a Vim