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. ...

febrero 13, 2019 · 4 min · 768 palabras · Parzibyte

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. ...

febrero 12, 2019 · 7 min · 1384 palabras · Parzibyte

Comenzar proyecto de Laravel 5.7: primeros pasos e instalación

Primeros pasos con Laravel En este post voy a explicar cómo comenzar a programar con Laravel. Explicaré su instalación a través de composer, la creación de un nuevo proyecto y el hola mundo. ...

febrero 12, 2019 · 3 min · 569 palabras · Parzibyte

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. 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. ...

febrero 12, 2019 · 3 min · 614 palabras · Parzibyte

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. Veremos dos funciones con Ruby y arreglos: index e include. ...

febrero 11, 2019 · 2 min · 295 palabras · Parzibyte

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: [07-Feb-2019 09:37:29 America/Mexico_City] Soy un mensaje [07-Feb-2019 09:37:29 America/Mexico_City] PHP Warning: Division by zero in D:\desarrollo_php\htdocs\loguear\index.php on line 9 [07-Feb-2019 09:37:29 America/Mexico_City] Mensaje desde la línea 12 del archivo D:\desarrollo_php\htdocs\loguear\index.php [07-Feb-2019 09:37:29 America/Mexico_City] Hola, yo soy parzibyte y mi sitio es parzibyte.me [07-Feb-2019 09:37:29 America/Mexico_City] Los personajes son: a:4:{i:0;s:5:"Crash";i:1;s:10:"Fake Crash";i:2;s:4:"Pura";i:3;s:5:"Polar";} [07-Feb-2019 09:37:29 America/Mexico_City] La mascota: array ( 'nombre' => 'Maggie', 'edad' => 3, 'amigos' => array ( 0 => array ( 'nombre' => 'Guayaba', 'edad' => 2, ), 1 => array ( 'nombre' => 'Meca', 'edad' => 5, ), 2 => array ( 'nombre' => 'Snowball', 'edad' => 2, ), ), ) [07-Feb-2019 09:37:29 America/Mexico_City] PHP Fatal error: Uncaught Exception: Yo soy una excepción muy malvada in D:\desarrollo_php\htdocs\loguear\index.php:48 Stack trace: #0 {main} thrown in D:\desarrollo_php\htdocs\loguear\index.php on line 48 Veamos entonces cómo loguear con PHP, además de evitar mostrar los errores al usuario, asegurando nuestras aplicaciones web. ...

febrero 11, 2019 · 6 min · 1241 palabras · Parzibyte

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. ...

febrero 10, 2019 · 3 min · 493 palabras · Parzibyte

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. Con Ruby hay muchas formas de agregar o quitar elementos de arreglos, veremos muchas de ellas. ...

febrero 10, 2019 · 3 min · 536 palabras · Parzibyte

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. 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. ...

febrero 9, 2019 · 4 min · 712 palabras · Parzibyte

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í: <=> 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. ...

febrero 8, 2019 · 5 min · 901 palabras · Parzibyte