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…)

Solución a Error en el servidor: sql: no rows in result set en plugin de impresora térmica

En este post te mostraré cómo arreglar el error de mi plugin de impresión que dice: Error en el servidor: sql: no rows in result set.

Este error dice que no hay filas en la base de datos, y tal vez te estarás preguntando qué tiene que ver la impresión con una base de datos, por lo que justamente eso será lo que trataré en este post.

(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…)

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…)

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…)

Descargar Go para Raspberry Pi - ARMv6

Instalar Go en Raspberry Pi – Raspbian

En el post de hoy te mostraré cómo instalar Go en la Raspberry Pi o mejor dicho en el sistema operativo llamado Raspbian o Raspberry Pi OS .

Te enseñaré a instalar la última versión de Go en la Raspberry para poder compilar programas de Go y Golang.

La instalación será parecida a cuando instalamos Go en Linux Ubuntu, solo que ahora vamos a descargar la versión para procesadores ARM.

(más…)

Leer argumentos de línea de comandos con Go y flag

Go – Leer opciones de línea de comandos

En este post te mostraré a leer banderas, flags o argumentos de la línea de comandos usando el lenguaje de programación Go también conocido como Golang.

Cuando usamos programas podemos pasarles ciertas opciones, banderas o argumentos para su funcionamiento. Por ejemplo:

enviar_correo --destinatario=ejemplo@ejemplo.com --asunto=Hola

Te enseñaré a hacer eso pero con Go usando flag.

(más…)