Les cuento que un mes después del lanzamiento de la app "Calendario Tributario Colombia" para Android , sólo está instalada en 50 equipos. Muy poco comparada con "Calendario Tributario Colombiano" para Windows 8 , que el primer mes alcanzó 104 descargas y 8 meses después tiene 1250 – igual es poco, pero vamos avanzando –. Lamentablemente no tengo el dato de cuántos usuarios todavía la tienen instalada en Windows 8, como sí pasa con la de Android: 50/60. Pienso que eso sucede por 2 razones: 1. Las políticas de la Tienda Windows son mucho más acertadas que las de Google Play. Cuando buscan en la categoría de finanzas de la Tienda Windows la aplicación aparece en el segundo lugar – o solía estarlo –, lo que demuestra una clara segmentación de mercado (Colombia); mientras que en Google Play aparece en la posición 106, por debajo de apps como “Banesco móvil” y “Bank of America”, entidades que no ofrecen sus servicios en el país. Quiero resaltar que la app para Windows 8
Microsoft es sin duda la empresa que mejor documentación tiene sobre sus tecnologías de desarrollo, y cuenta con la mejor herramienta: Visual Studio. Sin embargo hay un tema con el que nunca me había sentido satisfecho hasta hoy: la autenticación de ASP.NET y su integración con el modelo de negocio. ASP.NET (MVC 4) ofrece un sistema de autenticación 'out of the box' muy útil, pero que en mi opinión carece de documentación que explique la mejor forma de integrarlo con otras entidades, entendiendo integración como la creación de relaciones uno a muchos. Estas son algunas propuestas que hay en internet y la razones por las que no me gustan: 1. Crear un proveedor personalizado que incluya las relaciones. Además de ser tedioso y susceptible a errores, implica desaprovechar lo que otros desarrolladores de mucha experiencia han hecho por nosotros. 2. Crear dos bases de datos, una para los usuarios y otra para el negocio (en esa parte estoy de acuerdo), y duplicar la información de l
El 22 de enero tuvimos el primer meetup CaliSharp del año. Yesid Ospitia nos habló sobre emociones, música y sistemas recomendadores. Su desarrollo usa las características "profesionales" de la música para recomendar nuevas canciones y artistas a partir de las cosas que sentimos, no de los aspectos comerciales que usan los sistemas actuales. Y Ramiro Bedoya nos enseñó sobre contenedores y docker, a partir de su experiencia de más de 5 años en el tema. Se enfocó en la orquestación de contenedores y en buenas prácticas a la hora de diseñar los archivos de descripción. Los invito a unirse al meetup para que estén enterados de todos los eventos.
No recuerdo cuántos años tenía cuando mi mamá me regaló mi primer computador personal - ¡no compartido!. Lo que sí recuerdo, y ella también, es que lo puse en el comedor de la casa y le instalé Linux. Probé Mandrake, Knoppix y Fedora, pero por problemas de drivers, me devolví rápidamente a Windows XP. Luego apareció Ubuntu y no dudé en solicitar el CD. Me llegó por correo postal junto a un sticker y fue la primera distribución que tuve 100% funcional. Eventualmente regresé a Windows XP para poder usar Encarta, Age of Empires y Flight Simulator. Con Ubuntu usé el entorno de escritorio GNOME 2 y quise probar KDE, pero en esa época, KDE era muy pesado para mi equipo. Las transparencias, las animaciones, los folders en el escritorio... era desesperante. Entonces me acostumbré a usar GNOME, hasta que apareció Unity y todo se fue a la mierda. En mi imaginario, me había quedado sin opciones, así que me acostumbré a Unity y recientemente a GNOME 3. Hace poco leí en twitter sobre KDE Neon
El 18 de diciembre tuvimos el último meetup de 2018. En esta ocasión nos acompañó Julio Avellaneda , MVP de Colombia, con una charla muy interesante sobre Azure App Services. Le agradecemos a Julio su gran aporte para fortalecer la comunidad y esperamos seguir aprendiendo de su contenido. Pueden ver la charla en YouTube o más abajo en este post. Este ha sido un año muy especial para CaliSharp . Quiero agradecerle a todos los integrantes de la comunidad por acompañarnos siempre, a los speakers que han aportado a esta iniciativa, a nuestros amigos de Carmii y Modularis que sirvieron de sponsors en algunas ocasiones y a Manuel por su ayuda organizando esta vuelta . Esperamos que nos sigan acompañando durante 2019, el penúltimo martes de cada mes.
Estoy desarrollando una aplicación que guarda documentos en Windows Azure y quiero compartir dos decisiones de diseño: No utilizo tablas que relacionen usuarios y documentos, sino que creo un contenedor para cada usuario. Eso me da mayor flexibilidad al momento de hacer transacciones o al eliminar los usuarios (tarea muy frecuente en fase de desarrollo). Los datos asociados al documento como fechas, descripción, etc. los almaceno en los metadatos del blob. Hay un problema con la última decisión: no se pueden almacenar caracteres especiales en los metadatos. Para solucionarlo, seguí la recomendación de WarNov y utilicé un codificador HTML: blob.Metadata["Description"] = HttpUtility.HtmlEncode(model.Description); Description = HttpUtility.HtmlDecode(blob.Metadata["Description"]); Los nombres de los archivos tampoco pueden contener espacios porque hay navegadores que no los aceptan en las cabeceras de tipo Content-Disposition, necesarias para descargarlos. Yo los reem
Comentarios
Publicar un comentario