3 - Librería importada y autocompletando import

Añadir librerías o archivos JAR a NetBeans

Incluir paquetes de terceros en el IDE NetBeans

Cuando programamos en Java a veces es necesario incluir algunas librerías de terceros, por ejemplo un conector de bases de datos o algo simple como para parsear un JSON.

Normalmente estos paquetes se pueden descargar en formato JAR, algo así como un compilado; y justamente ahí viene una pregunta: ¿Cómo incluir un paquete JAR dentro de un proyecto de NetBeans?

Justamente hoy vengo a responder esa pregunta.

(más…)

Algoritmo de cifrado César en Ruby

Algoritmo de cifrado César en Ruby

Anteriormente vimos el cifrado César en C y el cifrado César en Python. No explicaré detalladamente cómo funciona el algoritmo pues a ello ya le dediqué otro post.

Lo que nos reúne aquí hoy es la implementación del algoritmo de “cifrado” César en el lenguaje de programación Ruby.

Algoritmo de cifrado César en Ruby

Algoritmo de cifrado César en Ruby

Al final vamos a crear una función que cifra y descifra según el cifrado de César, con un número de rotaciones definido por nosotros.

(más…)

Probando petición HTTP GET con Java y JSONPlaceholder

Petición HTTP GET en Java para consumir HTML o JSON

Obtener respuesta de URL con Java y HttpUrlConnection

En este tutorial vamos a ver cómo hacer una petición HTTP de tipo GET con Java. Es decir, obtener la respuesta HTTP (ya sea HTML, JSON, texto, etcétera) que se obtiene al visitar una URL.

No vamos a usar ninguna librería externa ni paquetes de terceros, solamente URL, HttpUrlConnection y algunos búferes.

Esto será simple pero a partir de esto podremos hacer peticiones más grandes.

(más…)

Explicación de hoja de cálculo para leer con PHP

Leer archivo de Excel con PHP y PHPSpreadSheet

Obtener contenido de hoja de cálculo con formato XLSX en PHP

Ya vimos cómo escribir a una hoja de cálculo usando PHPSpreadSheet; hoy veremos el proceso “inverso” y es leer el contenido de todo un documento de Excel.

Lo que haremos será leer todas las hojas (llamadas sheets) de un documento con extensión XLSX, así como iterar por todas las filas y leer cada celda de tres maneras:

  1. Valor crudo
  2. Valor formateado
  3. Valor calculado

Esta última manera permite calcular la fórmula en determinada columna y celda; pues si solamente obtenemos el valor crudo se mostrará la fórmula, no el resultado de la misma.

También vamos a ver cómo obtener la fila (es decir, el número, como 1) y la columna como letra (es decir, algo como A o B).

(más…)

Mostrar código QR en ImageView de Android

Generar códigos QR con Android y QRGen

Haciendo un creador de códigos QR en Android gracias a QRGen

Ya vimos cómo leer códigos QR de manera programada con Android; ahora veamos el proceso “inverso”: programar una aplicación que genera un código QR a partir de una cadena de datos.

Con el generador que haremos será posible mostrar directamente el código QR generado o guardarlo en un lugar de nuestro teléfono.

Todo lo que haremos será usar la librería de QRGen y combinarla con Android; en este tutorial mostraré paso a paso cómo incluirla en Android Studio, algunos ejemplos de uso y una aplicación que ejemplifica todo eso.

(más…)

Codificar y decodificar JSON en Ruby usando to_json y JSON.parse

Codificar y decodificar JSON con Ruby

JSON es un formato de intercambio de datos que ha ganado popularidad en los últimos años; es legible para los seres humanos y también para las máquinas (no como XML, cof cof).

Muchos lenguajes de programación (incluso los fuertemente tipados como Go) lo han implementado y Ruby no es la excepción.

Codificar y decodificar JSON en Ruby usando to_json y JSON.parse

Codificar y decodificar JSON en Ruby usando to_json y JSON.parse

Por eso es que hoy veremos cómo codificar y decodificar el formato JSON en Ruby; es decir, vamos a leer una cadena JSON y convertirla en variables del lenguaje, y también vamos a convertir algunas variables a JSON.

(más…)

Diálogo de Android que solicita permisos

Android 6: Ejemplo de solicitud de permisos en tiempo de ejecución

Usar requestPermissions y onRequestPermissionsResult para pedir permisos en Android

A partir de la versión 6 de Android, los permisos “riesgosos” deben ser requeridos en tiempo de ejecución y no poniéndolos simplemente en el manifiesto de nuestra app. Citando a Android Developers:

En aquellas de tus apps que estén orientadas a Android 6.0 (nivel de API 23) o versiones posteriores, asegúrate de comprobar y solicitar los permisos en tiempo de ejecución. Para determinar si se concedió un permiso a tu app, llama al nuevo método checkSelfPermission(). Para solicitar un permiso, llama al nuevo método requestPermissions(). Incluso cuando tu app no tenga como objetivo Android 6.0 (nivel de API 23), debes probarla de acuerdo con el nuevo modelo de permisos.

Para muchas personas esto es un poco complejo y enredado, por ello es que hoy vengo a explicar cómo funcionan los permisos a partir de Android 6 y dar algunos ejemplos.

(más…)

Usar env en Ruby para leer variables del entorno

Leer variables del entorno (archivo .env) con Ruby y dotenv

Hoy veremos cómo usar la gema de Ruby llamada dotenv para leer variables del entorno de un archivo o fichero llamado .env. Este archivo ayuda a movernos entre distintos escenarios en donde cambiamos algunas variables que dependen del entorno.

Por ejemplo, en el modo local, tenemos una contraseña y usuario para la base de datos. En nuestro servidor tenemos otra, y así sucesivamente. No sería bueno “hardcodear” o escribir en el código las credenciales de acceso, pues sería peligroso si compartimos el código, o si lo ponemos en un repositorio, etcétera.

Usar env en Ruby para leer variables del entorno

Usar env en Ruby para leer variables del entorno

Además, cada programador tiene distintas credenciales. Así que los archivos .env son usados para gestionar credenciales o claves de acceso que cambian en cada entorno.

(más…)

Acesso prohibido a logs creados con PHP

Loguear errores y mensajes en PHP en archivo de texto con un logger

Crear un simple logger en PHP para depurar y escribir errores en archivo de texto

Depurar nuestro código de PHP es uno de los pasos más importantes de la programación. Una gran ayuda que tenemos a nuestra disposición son los logs o archivos de log.

Hoy veremos cómo escribir mensajes de error y depuración (o debug) en archivos de texto usando PHP sin usar librerías externas, únicamente funciones nativas y un poco de código al inicio de nuestro script.

Gracias a esto podremos escribir mensajes de información y también llevar un registro de errores sin mostrarlos al usuario, con fecha y hora de llamada así como el script de llamada.

Un ejemplo del log que vamos a crear (esto dependerá de tu app pero para que te des una idea) es este:

Veamos entonces cómo loguear con PHP, además de evitar mostrar los errores al usuario, asegurando nuestras aplicaciones web.

(más…)

Ver si elemento existe en arreglo de Ruby o buscar su índice usando index e include

Comprobar si elemento existe en arreglo o buscar índice en Ruby

En este post veremos dos cosas con arreglos y Ruby: cómo saber si un elemento existe en un arreglo, y cómo buscar u obtener el índice de un elemento dentro de un arreglo.

Saber si un elemento existe es útil cuando estamos haciendo una lista de valores que no se repiten, y buscar el índice funciona para cuando necesitamos hacer algo con un elemento en caso de que no exista.

Ver si elemento existe en arreglo de Ruby o buscar su índice usando index e include

Ver si elemento existe en arreglo de Ruby o buscar su índice usando index e include

Veremos dos funciones con Ruby y arreglos: index e include.

(más…)

Carpeta pública para ejemplificar control con Apache Web Server

Denegar y proteger acceso a carpetas y archivos con Apache y htaccess

Controlar acceso a carpetas y archivos dependiendo de extensión

Apache sirve para muchísimas cosas, no podría enlistarlas ahora, es toda una rama de la informática. Normalmente este web server se utiliza en conjunto con PHP, pero además de ello, sirve archivos y directorios.

Por eso es que hoy veremos cómo restringir el acceso a algunas carpetas usando Apache, y también a servir únicamente determinados archivos con alguna extensión.

Nota: si quieres un acceso más “inteligente” mira el post en donde se fuerza la descarga de archivos con PHP, pues podrías servir directorios o ficheros con PHP.

(más…)

Agregar y eliminar elementos de un arreglo en Ruby

Eliminar y agregar elementos a arreglo en Ruby

Hoy veremos algunas operaciones básicas con arreglos en Ruby. Se trata de agregar (operación push) elementos a un arreglo existente, así como de eliminar (pop o unshift) elementos de un arreglo a través del índice.

Los arreglos funcionan cuando tenemos que guardar una lista de elementos en memoria y se necesita manipularla.

Agregar y eliminar elementos de un arreglo en Ruby

Agregar y eliminar elementos de un arreglo en Ruby

Con Ruby hay muchas formas de agregar o quitar elementos de arreglos, veremos muchas de ellas.

(más…)