Tech Trend 2017: Aplicaciones inteligentes

Gartner explica que los asistentes personales virtuales tienen el potencial de transformar el lugar de trabajo al hacer las tareas cotidianas de forma más eficaz. Por eso, los proveedores de tecnología se enfocarán en desarrollos de analítica avanzada, procesos de negocio dirigidos cada vez más autónomos e interfaces conversacionales impulsadas por la IA. Para el…

User & Business Centered Design

El campo de la user experience y los procesos de UX es sumamente teórico y se ha escrito, y se sigue escribiendo, mucho sobre el tema. Pero lejos de la literatura lo cierto es que la experiencia durante estos últimos diez años nos ha demostrado que para diseñar una solución de éxito es necesario involucrar…

¿Perteneces a la GenC?

Apenas ocho años pasaron entre estas dos imágenes y, mientras tanto la tecnología evolucionó de tal manera que vistas ahora son fotografías completamente distintas. La foto superior con muy pocos móviles visibles una instantánea tomadas días después de la muerte de Juan Pablo II y la foto de abajo atestada de tablets, smartphones y cámaras…

Gamification: Yo no estoy para juegos

Cuando te acercas a una empresa y les explicas que tienes conocimientos de Gamification, lo primero que deben pensar es: “Yo no estoy para juegos”. En realidad, tienen razón, no están para juegos y yo tampoco. Yo estoy para aplicar técnicas de Gamification en el engagement de tus apps corporativas. Gamification es un proceso iterativo,…

Mockeando con Nsubstitute

Este artículo extiende y trabaja en mayor profundidad los aspectos referentes al mocking que empezamos a ver en el artículo anterior sobre Unit Testing. El mocking como recordaremos consiste en crear objetos o métodos simulados que representan otro ya existentes en nuestro proyecto. Esto nos abre un gran abanico de posibilidades, desde modificar el comportamiento…

Cómo elegir el CMS más adecuado para tu web

Hoy en día no concebimos una empresa sin presencia en Internet y por consiguiente sin una buena herramienta (gestor de contenidos o CMS) con la que gestionar nuestra imagen en la red. El primer punto al que debemos enfrentarnos cuando vamos a realizar un proyecto de una web es identificar cuáles son los contenidos y…

Cryptolocker, un ransomware de moda

El CryptoLocker es un ransomware, software malintencionado que restringe el acceso a algunas partes o archivos del sistema, y pide un rescate para quitar esta restricción. Este rescate suele ser Bitcoins. En este caso, el software encripta tus datos y archivos usando criptografía de clave pública RSA. El propio CryptoLocker te informa de cómo recuperar…

Angular2 – What is it?

Angular 2. What is it? How can I use it with Visual Studio 2015? Angular 2 is a renovated framework for Single-Page Applications (SPA) development. Developed in TypeScript, it is the clear evolution of AngularJS 1, and as such, still using a functional architecture similar to its predecessor. Some concepts have been left behind like…

5 técnicas sencillas para programar con eficacia

Cada vez más los programadores de software se interesan por las técnicas y metodologías de productividad personal. Como trabajadores del conocimiento con un trabajo que requiere una alta capacidad de concentración y enfoque, se ven muy afectados por innumerables problemas comunes en este colectivo. A continuación te explico 5 técnicas sencillas para programar con eficacia.…

Claves para ser productivo programando

La programación es un trabajo esencialmente intelectual, por lo que los programadores son un tipo más de los llamados trabajadores del conocimiento. Como tales se ven afectados por los problemas cotidianos de éstos: dependen de su experiencia, talento, inspiración, motivación y atención más que de su preparación o herramientas. La productividad de un trabajador del…

Como nombrar correctamente los unit tests

Es habitual en la vida de un programador que nos asignen proyectos en los que tengamos que tocar código que no hemos realizado nosotros, sobre proyectos que no hemos creado des del principio. Cuando finalizamos estos desarrollos, una parte crucial es probar que nuestro código no ha “roto” las funcionalidades que ya ofrecía el proyecto…

Apps nativas con Xamarin

Xamarin es una plataforma basada en .NET y C# que permite desarrollar aplicaciones nativas para dispositivos móviles. La empresa fue fundada en 2011 por Nat Friedman y Miguel de Icaza. Ambos se conocieron trabajando en Microsoft y posteriormente lideraron el proyecto Mono, una implementación multiplataforma y libre del .NET Framework. ¿Por qué app nativas? Cuando…

Patrón dispose

Actualmente, es común estar en una situación dentro de un proyecto donde estamos trabajando con varios recursos utilizando memoria. Existen recursos manejables y no manejables por la máquina virtual de .Net (Common Language Runtime CLR). Después del uso de estos recursos hay que liberar la memoria ocupada por estos objetos. El no hacerlo puede conllevar…

Unit Test, ejemplo práctico

En el anterior artículo Unit test: ¿Antes o después del desarrollo?, introdujimos la creación de Unit Testing para nuestras aplicaciones. En este artículo mostraremos un ejemplo práctico para así entender qué es y cómo realizar una Prueba Unitaria. Antes de empezar… Cuando desarrollamos nuestras pruebas unitarias es importante aislar el código que deseamos testear. Esto…

Unit test: ¿Antes o después del desarrollo?

En el desarrollo del software, es común que una aplicación vaya evolucionando con el tiempo, a medida que se van aumentando funcionalidades y cambiando necesidades de negocio. ¿Cómo podemos garantizar la integridad de nuestras aplicaciones a medida que las vamos modificando? Tener un buen juego de pruebas nos asegurará tener controlado qué queremos probar o…

Resolviendo dependencias con Autofac

En artículos anteriores hemos visto una primera introducción a inyección de dependencias, a la inversión de control y discutido sobre el patrón Service Locator frente a la inyección de dependencias. Decidimos usar inyección de dependencias por constructor en un nuevo proyecto, pero ¿Cómo lo hacemos? Existen en el mercado diferentes frameworks de resolución de dependencias,…

Cómo evitar dependencias con Servicios web de terceros

Al desarrollar aplicaciones integradas con sistemas que no están dentro de nuestra organización nos encontramos con dependencias que no podemos controlar. Romper la dependencia con sistemas de los cuales no tenemos el control en el proyecto es una necesidad casi obligatoria. La mayoría de ingenieros que han trabajado con este escenario, en algún momento se…