Extraer base de datos SQLite de un terminal Android

Introducción Tarde o temprano en el desarrollo de una aplicación móvil nos encontramos con la necesidad de persistir datos de manera local y una de las opciones que tenemos es SQLite. No es buena práctica “persistir” todo el estado de nuestra app en clases estáticas ya que si la app hiciera crash en algún momento nos quedaríamos sin ningún dato. ¿Qué beneficios tiene SQLite? Es un motor de base de datos auto-contenido (sin dependencias externas), de alta fiabilidad (no... [Leer más]

Extraer base de datos SQLite de un emulador iOS

Introducción Es la continuación del post Extraer base de datos SQLite de un terminal Android pero orientado absolutamente a como extraer una BBDD SQLite de un emulador iOS. De hecho, debebería haber sido el primero de los post ya que utilizo iOS como plataforma por defecto para ejecutar los proyectos de Xamarin Forms ya que tengo que reconocer que aunque los emuladores de Android son excelentes y más después de las últimas actualizaciones del SDK, el emulador de... [Leer más]

Evitar magic string al internacionalizar una aplicación ASPNet Core

Evitar magic string al internacionalizar una aplicación ASPNet Core Introducción En el post sobre la internacionalización de una aplicación ASPNet Core uno de los puntos más negativos que encontré es el uso de magic strings a la hora de localizar los recursos y en este post/ píldora quiero comentar la aproximación que se me ha ocurrido para evitarlo. ¿Qué son las “magic strings”? Son valores de cadenas que se especifican directamente dentro del código, y el... [Leer más]

Internacionalizar una aplicación ASPNet Core

Internacionalizar una aplicación ASPNet Core Introducción, conceptos Internacionalización (I18n). Es el proceso de diseñar aplicaciones que soporten distintos idiomas y culturas/ regiones. Localización (L10n). Es el proceso de preparar/ adaptar nuestra aplicación a una cultura/ región específica. Según la Wikipedia también se le puede denominar regionalización. Globalización (G11n). Es una convección creada por IBM y Sun Microsystem para cubrir tanto la internacionalización como la localización. Lo que está entre... [Leer más]

Acceder a IIS Express desde un equipo remoto

Más de una vez hemos querido hacer que nuestro IIS Express sea accesible desde fuera de nuestra máquina de desarrollo para probar algo de forma puntual. Y como es costumbre no nos lo han puesto nada fácil por lo que deberemos seguir los siguientes pasos: Enlazar nuestra aplicación a una dirección IP pública Para enlazar nuestra aplicación a una dirección IP pública deberemos añadir un nuevo binding (enlace) a nuestra aplicación. Para ello deberemos modificar el archivo applicationhost.config que... [Leer más]

Entendiendo Semantic Versioning

Tengo que renocer que nunca he prestado demasiada importancia al tema de las versiones de los componentes que he utilizado tanto en los proyectos llevados a cabo nivel empresarial como en mis proyectos personales. Pero una vez metido en el desarrollo de Node.Js y revisando el archivo package.json que es el que contiene entre otras cosas las referencias a componentes externos (dependencias), me he dado cuenta de que no puedo estar más tiempo sin conocer y entender el sistema de... [Leer más]

Resumen de las novedades de ECMAScript 2015

Por fin saco algo de tiempo para asimilar las novedades que nos trajo ECMAScript 2015 (ES6), todas ellas ayudándos sobre todo a que nuestro código se vuelva más legible. Sin duda alguna es paso adelante aunque personalmente este baile de versiones, mejor dicho, de baile de nombres versiones me tiene superdespistado. ¿Qué es ECMAScript? Es la especificación o estandarización con nombre ECMA-262 creada por ECMA (European Computer Manufacturer Association). Esta especificación es la que se implementa entre otros... [Leer más]

Forzar Https en nuestra WebApi

Como forzar Https en los controladores de nuestras WebApi

El modo de autenticación de nuestra WebApi es autenticación básica, y como he comentado este tipo de autenficación “sólo debe usarse” si va acompañada del protocolo Https. El motivo no es otro ya que la autenticación básica no deja ser una combinación del usuario y la contraseña en Base64. Si por ejemplo nos fijamos en la siguiente cabecera de autenticación: Basic TW9va2llRnVtaTpNeVBhc3N3b3Jk y la decodificamos podemos ver su contenido sin ningún tipo de problema: MookieFumi:MyPassword. Para ponernos en contexto y... [Leer más]

Https en nuestra WebApi

Pasos a seguir para tener HTTPS en nuestra WebApi

Ultimamente estamos desarrollando una WebApi que va a servir de backend a una aplicación móvil desarrollada en Xamarin y uno de los aspectos que más nos preocupaba era la securización de la misma ya que el método de autenticación es autenticación básica, es decir, el nombre de usuario y la contraseña viajan en texto plano (Base64). De hecho la recomendación es usar sólo autenticación básica con HTTPS. ¿Qué significa Https? La definición exacta es: protocolo seguro de transferencia de... [Leer más]