• blog blog-stack java linux planeta-codigo programacion

    Con el buscador Google y usando las palabras clave adecuadas es raro no encontrar información sobre aquello que estemos buscando. Pero en internet la información suele estar muy dispersa y en cada sitio la información no es completa y con profundidad, internet esta muy bien como apoyo o para precisar una determinada cuestión. Sin embargo, los libros siguen siendo un buen material de aprendizaje, entre sus ventajas está que la información está mejor organizada con una estructura más didáctica y dependiendo del libro el tema tratado es explicado con profundidad. Desde el 2014 son unos cuantos libros más los que he leído.

  • blog-stack java planeta-codigo programacion

    Java es un lenguaje más verboso y con menos azúcar sintáctico (o veneno para ratas, según se mire) que otros lenguajes. Esto hace que por ejemplo para declarar e inicializar objetos tan comunes en un programa de tipo Map, List o Set que contengan un número fijo de elementos haya que escribir varias líneas de código. Estas clases de estructuras de datos del grupo de colecciones son de las más usadas en una aplicación Java.

  • Tener una caldera es cara, bien por el coste fijo del gas tanto por el alquiler del contador como por el precio de la disponibilidad pero también por las revisiones obligatorias que hay que hacerles por motivos de seguridad. Con motivo de que me tocaba hacer la revisión de la caldera me he decidido a hacer la sustitución por un termo eléctrico, finalmente elegí un Fleck Duo 7 de 50 litros.

  • jardineria fuera-de-tema

    Hace ya mucho tiempo de pequeño planté alguna semilla de manzana por curiosidad para ver si germinaba, y sí germinó, pero al cabo de unos meses por desconocimiento de la forma de como cuidar una planta, excesivo riego o tierra no adecuada el retoño de manzano pereció. También planté alguna bellota de algún tipo de roble que alguno de mis hermanos trajo a casa, y sí germinó, y al igual que el manzano duró unos cuantos meses pero sucumbió de la misma forma.

  • Tener en casa un pequeño conjunto de herramientas es necesario para realizar pequeñas tareas domésticas, desde quitar un grifo a atornillar algún elemento. Buscando en el gran catálogo del que dispone Amazon en su web quería uno que fuese bastante completo sin ser muy caro y aunque no fuese de calidad profesional cumpliese con las tarea. Hay muchos modelos pero me fijé en uno de Mannesmann modelo M29085. También necesitaba unas bandejas para la cocina y salón.

  • blog-stack java planeta-codigo programacion

    En el artículo de iniciación a la programación concurrente en Java explicaba las facilidades que proporciona este lenguaje para la programación de tareas con varios hilos que implica la sincronización y bloqueo mediante varias primitivas como semáforos o locks, ponía el ejemplo y su código de dos de los típicos ejemplos que suelen usarse en las asignaturas de sistemas operativos, el problema de los filósofos y el del barbero.

  • blog-stack java planeta-codigo programacion

    Hasta Java 5 para hacer un bucle desde 0 a N elementos había que usar una variable para mantener un contador, hacer una comparación para comprobar si se había llegado al límite e incrementar la variable en la siguiente ejecución. El código era bastante verboso y dado que los bucles son una construcción básica de cualquier lenguaje de programación es empleada numerosas veces en cualquier algoritmo. Antes de Java 5 un bucle for de 0 a 5 y de una colección se realizaba de la siguiente manera:

  • blog-stack java planeta-codigo programacion

    Java proporciona en su API numerosas primitivas para realizar programación concurrente. La programación concurrente permite realizar varias tareas simultáneamente aprovechando los múltiples núcleos de los procesadores modernos con un tiempo de ejecución total para un conjunto de tareas significativamente menor. Dos de los problemas de concurrencia más conocidos son el problema de los filósofos y del barbero que en este artículo muestro como implementar usando varias de las primitivas ofrecidas por Java.

  • blog-stack java planeta-codigo programacion

    Cuando se empieza un proyecto nuevo desde cero se debe disponer de una herramienta de construcción, una estructura de directorios que siga las convenciones de la herramienta de construcción, añadir las dependencias que vayamos a utilizar y alguna clase que muestre algo al ejecutarlo para comprobar que disponemos de la infraestructura básica de compilación, teses, generación de artefactos e inicio de proyecto. Dado que las clases Java hay que compilarlas para facilitar la tarea están las herramientas de construcción y estas siguen una serie de convenciones en la estructura de directorios además de requerir algunos archivos.

  • blog-stack java planeta-codigo programacion tapestry

    Los portales ofrecen una solución para los casos de uso de integración de aplicaciones, edición de contenido a modo de CMS, agregación de blogs, foros, colaboración entre personas, red social entre otros. La pieza fundamental de un portal en Java es un portlet. Desarrollar un portlet usando la API directamente no es simple, algunos frameworks que usaríamos para desarrollar aplicaciones y páginas web son usables para desarrollar portlets, Apache Tapestry es uno de ellos como muestro con un ejemplo en este artículo.

  • blog-stack java planeta-codigo programacion

    Muchas organizaciones usan portales para mantener su presencia en internet. Los portales son herramientas muy versátiles que incluyen la gestión de contenidos y flujo de trabajo para publicarlo, foros, blog, … Liferay es uno de los más conocidos que usa la plataforma Java. La unidad básica funcional de un portal es un portlet que en ciertos aspectos son similares en otros diferentes a lo que son los servlets en las aplicaciones web Java.

  • blog blog-stack hemeroteca java planeta-codigo planeta-linux programacion software software-libre tapestry gnu-linux

    Desde hace ya tiempo escribir y publicar en el blog es una de las cosas que realmente me gustan y me motivan a pesar de que el blog me requiere mucho tiempo de mi tiempo personal, cada artículo me exige entre 5 y 10 horas de dedicación durante el fin de semana y en mi tiempo libre. Es satisfactorio ver que cada semana y cada mes el número de visitas aumentan a un ritmo rozando los dos dígitos y que también se nota en los ingresos por publicidad de AdSense que en parte dono a alguno de los proyectos de software libre que usó o me parecen interesantes de apoyarles económicamente aunque sea pequeña.

  • blog-stack java planeta-codigo planeta-linux programacion seguridad

    Los certificados no solo sirven para autenticar a un servidor o acceder solo a aquellos en los que confiamos. El servidor también puede autenticar a los clientes mediante un certificado como alternativa a usar un usuario y contraseña ya sea una autenticación BASIC o un formulario personalizado. Al igual que en el cliente usa el certificado de la autoridad de certificación en la que confía para validar el que presenta el servidor, el servidor puede requerir que el cliente también proporcione un certificado que el servidor valida según las autoridades de certificación en las que confía, en ambos casos el servidor o cliente usan su clave privada para iniciar la conexión segura con el handsake del protocolo TLS.


Yo apoyo al software libre