Enviar archivo de JavaScript a Golang

Subir archivo de JavaScript a Go (Golang)

En este post de programación cliente-servidor vamos a ver cómo enviar un archivo desde JavaScript del lado del cliente a Golang (Go) del lado del servidor.

Específicamente hablando veremos cómo enviar un archivo usando fetch y FormData a través de AJAX hacia un servidor de Go.

Lo que te enseñaré servirá para enviar fotos, archivos binarios o incluso una foto tomada con la cámara web con las debidos ajustes.

Va a ser un ejemplo realmente simple pero que luego podrás modificar para, por ejemplo, usarlo en React, Angular, JavaScript puro o Vue.

(más…)

Subiendo Sublime POS 3 a servidor Ubuntu

Ya escribí un artículo indicando cómo usar Sublime POS 3 en internet de manera resumida, pero en este post te enseñaré una pequeña guía específica de cómo subirlo a un servidor con Linux Ubuntu alojado en DigitalOcean.

Te recomiendo leer primero el post que cité anteriormente y después volver a este. También te sugiero que veas cómo compilar el código fuente para que entiendas los conceptos aquí mostrados.

(más…)

Usar dispositivo Android como servidor de sistema de ventas

Compilar Sublime POS 3 en Android

En este post te mostraré cómo puedes usar Sublime POS 3 (punto de venta) en Android compilando por ti mismo el código fuente.

Al final vas a poder usar el sistema nativamente y en modo local en una tableta o teléfono, además de que podrás usarlo como servidor y permitir que otros dispositivos se conecten al mismo.

Por lo tanto, si cuentas con el source code de este sistema de ventas podrás usarlo nativamente en Android sin depender de un servidor, y podrás usarlo en teléfonos o tabletas.

(más…)

Agregar columna a tabla si no existe en SQLite3 con Golang

En el tutorial de hoy te mostraré una pequeña función que te permite agregar una columna a una tabla solo si la misma no existe.

El motor de base de datos que vamos a usar será SQLite3 pero me imagino que debe funcionar para otros como PostgreSQL o MySQL.

Esto es necesario porque en ocasiones el cliente no puede hacer los cambios a la base de datos (no puede ejecutar sentencias SQL) y además se desean conservar los datos ya existentes.

Por ello es que hoy veremos cómo agregar una columna a una tabla conservando sus datos, y agregarla solo si no existe, verificando la tabla con PRAGMA en SQLite3.

(más…)

Go: convertir interface a otro tipo de dato

En el tutorial de hoy vamos a ver cómo convertir de un valor de tipo interface a cualquier otro tipo en Go también conocido como Golang.

Un interface es un valor “genérico” (aunque los genéricos son otra cosa en Go y se han introducido recientemente), y como Golang es fuertemente tipado debemos hacer la conversión explícita.

Por eso es que hoy veremos cómo convertir una interface a string, int, int64, etcétera.

(más…)

Go: offset UTC de fecha según zona horaria

En este post de Go te mostraré cómo obtener el offset de la zona horaria en segundos. Esto sirve para ajustar las fechas que obtenemos, ya que al tener el offset podremos ajustarnos al UTC.

Te cuento que a mí me ocurrió esto al recuperar fechas de bases de datos: como las mismas no tenían zona horaria había problemas ya que me daba fechas adelantadas por 5 horas (yo tengo horario CDT).

Entonces al hacer operaciones con fechas en Go tenía problemas. Y no podía simplemente restar esas 5 horas porque esto puede cambiar.

(más…)

Sumar y restar tiempo a fechas con Go

Go: sumar y restar tiempo a fecha

Hoy vamos a trabajar con fechas en Go. Te enseñaré a sumar y restar fechas con todo y horas, minutos y segundos de modo que podremos trabajar con horas o con fechas completas.

De este modo vamos a poder operar desde nanosegundos hasta milenios (teóricamente). Veamos cómo hacerlo usando las funciones de time.

(más…)

Go: parsear fecha

En este post te mostraré cómo convertir una cadena de fecha a un objeto de tipo time.Time en Golang, es decir, parsear o traducir la fecha.

Al crear un objeto time según una fecha en Go vamos a poder usar las operaciones para sumar y restar fechas o en general manipular el tiempo (dentro de la variable).

Veamos entonces cómo parsear una fecha en Go.

(más…)

Convertir segundos a horas, minutos y segundos en Go

Go – Convertir segundos a horas, minutos y segundos

En el post de hoy te enseñaré a convertir los segundos a una hora legible o a una cuenta regresiva usando el lenguaje de programación Go, de modo que vamos a convertir una cantidad de segundos a una representación de horas, minutos y segundos.

Por ejemplo, vamos a convertir la cantidad de 100 segundos a 00:01:40 ya que 100 segundos son 0 horas, un minuto y 40 segundos. Todo esto usando Go / Golang.

(más…)

Por parzibyte, hace

Go – Servir carpeta por HTTP

En este post te mostraré cómo servir un directorio por medio de HTTP usando Go. Básicamente verás cómo servir contenido estático para que puedas acceder a él desde el navegador.

De este modo podrás servir contenido en general, una aplicación web o el frontend de la misma, ya que puedes servir CSS, JS y HTML.

(más…)

Por parzibyte, hace

Go – Rellenar número con ceros

Hoy te mostraré algo muy sencillo en Go: cómo agregar ceros a la izquierda de un número. En este caso te enseñaré a agregar un cero a la izquierda solo si el número tiene un dígito, en caso de que no, no se agrega.

En otras palabras, agregar un 0 si el número es menor a 10. Aunque no solo funcionará con números de 2 dígitos, funcionará con cualquier cantidad de dígitos para rellenarlos con 0 o ceros.

(más…)

Por parzibyte, hace