Leer y escribir archivos CSV con Ruby

Leer y escribir archivos CSV con Ruby

En este post explicaré cómo trabajar con CSV desde el lenguaje de programación Ruby. Vamos a leer un archivo CSV (archivo separado por comas u otro delimitador) y también a escribir contenido a un nuevo archivo.

Leer y escribir archivos CSV con Ruby

Leer y escribir archivos CSV con Ruby

Nota: la foto del código fue tomada con Polacode y la marca de agua colocada con WaterPy.

Te invito a leer antes cómo escribir y leer archivos en Ruby, para que no te confundas al leer los ejercicios aquí presentados.

(más…)

Ordenar arreglos en Ruby, arreglos de cadenas y numéricos de forma ascendente y descendente

Ordenar arreglos numéricos y de cadenas con Ruby

Hoy veremos cómo ordenar o sortear los arreglos en Ruby. Vamos a trabajar con arreglos de cadenas (strings) y arreglos numéricos (enteros o flotantes); además de que vamos a ver cómo ordenar a los arreglos de manera ascendente y descendente.

Ruby provee un operador interesante que recientemente fue introducido en PHP, el cual es llamado operador nave espacial (quién sabe por qué, yo no le encuentro mucho parecido) y se representa así:

 <=>

Ordenar arreglos en Ruby, arreglos de cadenas y numéricos de forma ascendente y descendente

Ordenar arreglos en Ruby, arreglos de cadenas y numéricos de forma ascendente y descendente

Por  cierto, la foto del código fue tomada con Polacode y le puse la marca de agua con WaterPy.

La peculiaridad de este operador es que evalúa dos valores y regresa 1, 0 o -1 dependiendo de que si uno es mayor, igual o menor al otro. Ya veremos en los ejemplos, el punto es que con esto podemos ordenar y comparar con pocas líneas de código.

(más…)

Forzar descarga de archivo con PHP y encabezados HTTP

Forzar la descarga de cualquier archivo con PHP y readfile

Obligar descarga de un fichero sin importar su extensión

Cuando un navegador web visita un archivo que entiende, lo muestra. Por ejemplo, si encuentra un archivo con extensión .txt entonces lo sirve en lugar de mostrar el diálogo de descarga.

Pues hoy veremos cómo servir un archivo con PHP pero forzar su descarga sin importar la extensión. No importa si es un exe, html o txt, todo será forzado a descargarse.

Forzar descarga de archivo con PHP y encabezados HTTP

Forzar descarga de archivo con PHP y encabezados HTTP

Para esto usaremos la función readfile.

Este tutorial me recuerda al que muestra cómo proteger el acceso a imágenes con Apache y PHP.

(más…)

Script para respaldar base de datos de MySQL funcionando

Script para respaldar base de datos de MySQL / MariaDB en Linux usando MySQLDump

En este tutorial de Linux vamos a ver cómo respaldar o hacer un backup de una base de datos completa de MySQL o MariaDB usando la utilidad de MySQLDump también llamada mysqldump.

Todo eso será llamado desde un script sh programado por nosotros.

Por otro lado, veremos cómo no exponer nuestras credenciales de acceso para llamar al comando sin pasarle nuestra contraseña, evitando así riesgos de seguridad.

La segunda parte del tutorial (que traeré muy pronto) indicará cómo respaldar una base de datos periódicamente con cron, es decir, respaldarla cada mes, a diario o cada determinado tiempo.

Nota: este tutorial está probado con ubuntu 16.04 y 18.10 pero debería funcionar para otras versiones. Por cierto, aquí puedes ver cómo instalar y configurar MySQL en Linux en caso de que no lo tengas instalado.

(más…)

Comprobar registros al encender dispositivo

Ejecutar scripts de Termux en el inicio (al encender dispositivo Android)

Configurar Termux Boot para ejecutar acciones al encender dispositivo

Siguiendo con los buenos artículos sobre Termux y sobre cómo tener una probada de Linux en nuestros terminales Android, vamos a ver cómo ejecutar scripts o acciones al encender el dispositivo.

Esto viene de ayuda cuando queremos que algunos demonios o servicios se inicien cuando el dispositivo enciende, por ejemplo el servicio de MySQL (de hecho hago este post a petición de un lector que quería justamente eso).

Nota: antes de leer esto, te animo a leer el post de los primeros pasos con Termux.

(más…)

Descargar Termux desde F-droid

Instalar Termux desde F-droid

Este post es un complemento de este post en donde explicamos los primeros pasos con Termux para tener Linux en nuestro bolsillo.

La diferencia es que ahora veremos cómo instalar Termux usando la tienda llamada F-Droid en lugar de la play store, esto es porque en un futuro tutorial veremos algo sobre un plugin que es gratuito desde F-droid pero no desde la play store. Ya verás a lo que me refiero.

Después de este tutorial, sigue el que indico al inicio, pues aquí únicamente muestro cómo descargar la APK pero no cómo configurarla.

(más…)

Actividad para insertar nueva mascota

Tutorial de SQLite con Android: CRUD (create, read, update, delete)

Para guardar datos en una base de datos usando Android tenemos que recurrir al maravilloso gestor SQLite3. Pues bien, hoy veremos cómo trabajar con SQLite desde Android usando Java.

Lo que veremos será un CRUD o ABC de Android con SQLite en donde veremos un insert, update, delete y select de SQL con Android.

Al final tendremos una app móvil simple que permitirá interactuar con SQLite para realizar las operaciones básicas que se ve así:

CRUD de SQLite con Android - Mascotas

CRUD de SQLite con Android – Mascotas

Todo esto usando SQLite y una clase que extiende de SQLiteOpenHelper.

(más…)

Unir o combinar archivos PDF con PHP y libmergepdf

Los documentos PDF son parte importante en el mundo digital. Gracias a ellos podemos tener acceso a la información en un formato unificado y entendible por la mayoría de sistemas operativos.

Hoy veremos cómo unir muchos documentos PDF con PHP. Es decir, podemos unir 2 o más PDF’s con PHP. Esta operación también se conoce como merge o como combinar múltiples PDF.

Combinar múltiples documentos PDF con PHP y libmergepdf

Combinar múltiples documentos PDF con PHP y libmergepdf

Aparte de ver cómo combinar o unir PDFs con PHP veremos 3 maneras de mostrar el documento final combinado: mostrar en el navegador, forzar su descarga o escribirlo en un nuevo archivo PDF.

(más…)

3 maneras de redondear números con Ruby

Redondear números en Ruby

Existen tres formas de redondear números decimales. La primera es redondear hacia abajo, la segunda es redondear hacia arriba y la tercera es redondear dependiendo del decimal.

Por ejemplo, si redondeamos hacia abajo, el número 5.9 se convierte en 5, así como el 5.1 se convierte igualmente en 5. Cuando redondeamos hacia arriba, el número 5.9 se convierte en 6 y el 5.1 también.

Finalmente, cuando se redondea dependiendo de los decimales, se toma en cuenta si la parte decimal es menor que la mitad. En caso de que sea menor que 0.5, se va hacia abajo. Y si es mayor o igual, hacia arriba.

3 maneras de redondear números con Ruby

3 maneras de redondear números con Ruby

Hoy veremos esas tres formas de redondear números en Ruby.

(más…)

Adaptar proyecto de PHP a Composer

Composer se ha convertido en el gestor de dependencias más usado en PHP. Puede que nuestro proyecto de PHP existente no necesitara un gestor al inicio, pero ahora lo necesita. O tal vez necesitamos instalar una librería que usa composer.

Por ello es que hoy veremos cómo adaptar un proyecto normal de PHP a un proyecto gestionado por composer.

(más…)

Leer e imprimir en la terminal con Ruby usando gets, chomp y puts

Leer e imprimir datos en la terminal con Ruby

Hoy veremos un ejercicio básico con Ruby, y es el de trabajar con la terminal. Es decir, imprimir datos sobre la consola y también leer alguna entrada del usuario.

Para imprimir en la consola se utiliza puts, y para leer algo del usuario se utiliza gets. Pero eso no es todo, pues a veces necesitamos convertir los tipos de datos o remover los espacios sobrantes.

Leer e imprimir en la terminal con Ruby usando gets, chomp y puts

Leer e imprimir en la terminal con Ruby usando gets, chomp y puts

Por eso es que hoy veremos una introducción al trabajo con la terminal o consola usando Ruby.

(más…)

Color de fondo de icono de app de Android

Establecer imagen PNG como icono de app de Android

Los iconos de las apps de Android son lo primero que el usuario ve al instalar nuestra app en el launcher, por ello debe ser uno que ilustre nuestra app o que al menos se vea interesante.

En ocasiones tenemos una imagen o icono PNG y queremos establecerlo como icono de launcher en nuestra app de Android, es por eso que en este tutorial de Android voy a explicar cómo usar Android Studio para convertir nuestra imagen o icono PNG al icono del launcher.

Nota: este tutorial también funcionará para configurar el logotipo o icono de la app por primera vez.

(más…)