Publicado por
José Manuel Alarcón
el
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]
Publicado por
campusMVP
el
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]
Publicado por
José Manuel Alarcón
el
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]
Publicado por
José Manuel Alarcón
el
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]
Publicado por
José Manuel Alarcón
el
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]
Publicado por
campusMVP
el
En realidad, un ojo no se puede equiparar con una cámara real… pero sigue leyendo.
En la mayor parte de las cámaras digitales lo que tenemos son píxeles ortogonales. Dichos píxeles se distribuyen de manera equidistante a través del sensor, formando una rejilla casi perfecta. Disponemos además de un filtro, generalmente se trata de un filtro de Bayer (debe su nombre al científico Bryce Bayer, quien inventó la matriz de colores que se usa hoy en día), para píxeles rojos, azules y verdes...
[Más]
Publicado por
José María Aguilar
el
La semana pasada se presentó la primera revisión de ASP.NET Core durante el evento Connect(). Se trata de la primera actualización de la nueva tecnología multiplataforma que lanzó Microsoft este verano. Gracias al uso de versionado semántico, podemos saber de antemano que esta nueva versión añade características adicionales y mejoras compatibles hacia atrás, por lo que no deberemos preocuparnos por romper algo si actualizamos una aplicación de 1.0 a 1.1. A continuación resumimos qué se incluye en esta actualización...
[Más]
Publicado por
Francisco Charte
el
Utilizando las herramientas incluidas en el propio JDK de Java podemos compilar programas, empaquetarlos, depurarlos y ejecutarlos. La única utilidad adicional que precisaríamos sería un editor de texto para escribir el código fuente. El procedimiento a seguir, no obstante, puede llegar a resultar tedioso, repitiéndose el ciclo editar-compilar-ejecutar-depurar-editar una y otra vez hasta alcanzar la funcionalidad que se persigue.
Las tareas de dicho ciclo, así como muchas otras, nos resultarán más sencillas si utilizamos un IDE (Integrated Development Environment) específico para Java. Es decir, un entorno de desarrollo, que va más allá de un simple editor de texto. Pero, entre toda la oferta disponible ¿cuál es el mejor IDE para programar en Java?...
[Más]
Publicado por
José Manuel Alarcón
el
Uno de los objetivos de cualquier plataforma de programación es ofrecer servicios de bajo nivel para tareas comunes que cualquier programador pueda necesitar. Es decir, nos evita "reinventar la rueda" todo el tiempo, proporcionándonos cientos de tareas y utilidades ya hechas. Gracias a ello, tareas como la que nos ocupan (y otras muchísimo más complejas) son extremadamente fáciles. En este caso, para leer y escribir archivos de texto a disco podemos utilizar las clases StreamReader y StreamWriter respectivamente. Vamos a verlo...
[Más]
Publicado por
campusMVP
el
Ayer se celebró en Nueva York la macro-conferencia Microsoft Connect, en la que el gigante del software nos presenta cada año sus principales novedades así como un vistazo al futuro más inmediato. Te contamos las princpales novedades...
[Más]