Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

1052 artículos publicados

Cómo usar JSON en .NET fácilmente con C#

El formato JSON se ha convertido en los últimos años en uno de los más utilizados por los servicios web para proporcionar información a los desarrolladores. En este artículo te enseñamos cómo podemos utilizarlo en C# de manera sencilla. [Más]

Los desarrolladores backend, ¿hemos dejado de estar de moda?

Al final, tanto las aplicaciones de escritorio, como las apps de los móviles e incluso las SPAs tienen detrás un API. Mayoritariamente este API usa servicios REST con servicios HTTP, ya que es muy cómodo trabajar con ellos. Para ello se suele emplear una arquitectura MVC (Modelo-Vista-Controlador), donde modelamos nuestro negocio (Modelo) con sus reglas (Controlador) y dejamos a las tecnologías de front hacer de nuestra Vista. Pero hasta los desarrolladores frontend en sus clientes aplican MVC. Al final es un MVC continúo: sus aplicaciones cliente son la "V" de nuestro MVC ya que consumen nuestros datos, pero ellos dentro de nuestra "V" tienen todo un MVC montado también para gestionar sus vistas, modelos y controladores dentro de sus propias apps... [Más]

FRIKADAS: cómo construir tu propio vehículo autónomo (en serio)

Hoy en día el acceso a un coche autónomo está vedado para la mayoría. Los Tesla son carísimos, los demás son prototipos que todavía no se están comercializando, y además la legislación aún no contempla esta posibilidad. Sin embargo, si eres de mente inquieta y un poco manitas, nada te impide intentar poner en marcha tu propio vehículo. Y gracias al Open Source y a la disponibilidad de hardware barato ya accesible, no es tan caro o complicado como pudiera parecer. A continuación te mostramos algunas de las principales opciones que tienes disponibles para intentar construir tu propio vehículo autónomo... [Más]

Qué son los plugins en Apache Cordova y para qué sirven

Una de las claves de Apache Cordova son los plugins. Gracias a ellos podemos acceder a características nativas del sistema operativo desde nuestro código JavaScript. En este artículo repasamos qué son, cómo funcionan, cuáles son los más importantes, cómo obtener más, y cuándo conviene utilizarlos. [Más]

GAMBADAS: hackeando iluminación "inteligente" a distancia con un dron

Ya hemos hablado aquí en diversas(1) ocasiones(2) de los peligros que tiene no tomarse en serio la seguridad de los dispositivos conectados, sea a Internet o no, y especialmente si son inalámbricos. Con el IoT (Internet de las Cosas) cada vez más y más dispositivos están conectados a la Red o entre sí en redes privadas, y por lo tanto son susceptibles de ser atacados por individuos maliciosos. Aparte del masivo ataque de DDoS que sufrió la Web a finales de octubre y que aprovechaba millones de cámaras vulnerables conectadas a Internet, uno de los fallos más llamativos que hemos visto recientemente tiene que ver con las smart-lightbulbs o "bombillas inteligentes", aunque podría usarse para atacar otros muchos tipos de dispositivos conectados. [Más]

Boxing y UnBoxing de variables ¿Qué significa?

Un efecto importante a tener en cuenta a la hora de usar los tipos por valor, es el conocido como Boxing. Éste consiste en que el compilador se ve forzado a convertir un tipo por valor en un tipo por referencia, y por tanto a almacenarlo en el montón en lugar de en la pila.
Esto tiene importantes consecuencias en el rendimiento y en el consumo y gestión de memoria. Vamos a estudiar en qué consiste este efecto y cuáles son estos efectos. [Más]

Microsoft compra a Apple, Google y Blackberry en una operación sin precedentes

Todos sabemos que Microsoft lleva años luchando sin éxito para dominar el mundo de los smartphones. Aunque fueron pioneros en todo esto con Windows Mobile a principios de los años 2000, cuando Apple presentó su mítico primer iPhone, la empresa de la manzana mordida enseguida se hizo con el mercado. Google pronto se subió al carro con Android y llegó a dominar el 80% del mercado. Ahora el gigante de Seattle da un golpe encima de la msea comprando a sus principales competidores para acabar con ellos. [Más]

Qué son los tipos por valor y por referencia en .NET y C#

Este es un concepto clave para programar y al mismo tiempo uno de los que más le cuesta entender a los principiantes, así que vamos a intentar explicarlo lo mejor posible a continuación. Antes de empezar, necesitamos comprender dos conceptos importantes que paso a resumir de manera sencilla: La pila o “stack”: es una zona de memoria reservada para almacenar información de uso inmediato por parte del hilo de ejecución actual del programa. Por ejemplo, cuando se llama a una función se reserva un bloque en la parte superior de esta zona de memoria (de la pila) para almacenar los parámetros y demás variables de ámbito local. Cuando se llama a la siguiente función este espacio se “libera” (en el sentido de que ya no queda reservado) y puede ser utilizado por la nueva función. Es por esto que si hacemos demasiadas llamadas anidadas a funcione... [Más]

Ghost Browser: múltiples sesiones con un solo navegador

Una de las cuestiones de los navegadores modernos que más me molesta es que conservan las sesiones entre todas sus instancias. Es decir, si abres un navegador y entras con unas credenciales en un determinado servicio de la Web pero al mismo tiempo quieres entrar desde otra pestaña o ventana al mismo servicio con otras credenciales diferentes, tendrías muy pocas opciones. Con GhostBrowser esto se acabó... [Más]

GAMBADAS: Los tres principales pecados al gestionar errores y excepciones

La gestión de excepciones es una de las cosas más comunes y sencillas que realiza cualquier desarrollador. Se trata de prever y gestionar los posibles problemas que puedan surgir durante la ejecución de nuestro programa, de modo que sea más robusto al saber "reaccionar" de la manera adecuada. Incluso cuando se producen excepciones que no habíamos tenido en cuenta hay que tener un "Plan B" para gestionarlas y evitar que la aplicación rompa. Pero ni siquiera en este caso es admisible el primero de los errores típicos que vamos a comentar a continuación... [Más]