• El componente Grid de Apache Tapestry

    java planeta-codigo tapestry programacion

    En la mayoría de aplicaciones no solo es habitual sino algo muy usado el mostrar listados de elementos de forma tabular con paginación y columnas ordenables. En estos listados el complejo componente internamente Grid de Apache Tapestry pero a la vez muy sencillo de usar puede marcar una diferencia significativa en el número de líneas de código necesarias a escribir, la flexibilidad, funcionalidad ofrecida, la productividad al hacer la implementación o modificarla comparándolo con lo necesario en otros frameworks web en los que no hay nada comparable de serie.
    Continuar leyendo...

  • Tutorial sobre los tipos genéricos de Java

    java planeta-codigo programacion

    Hace ya más de una década que en Java 5 se introdujeron los generics para dotar al lenguaje de una mejor comprobación de tipos en tiempo de compilación y al mismo tiempo eliminar los cast que hasta entonces eran necesarios al usar las colecciones. Dada la lentitud de adopción que suele haber en la plataforma Java en los grandes entornos empresariales puede que aún no los hayamos usado extensamente o tengamos alguna duda en su uso. Hay unos cuantos conceptos sobre los generics que son convenientes conocer.
    Continuar leyendo...

  • Usar Twitter desde Java con twitter4j

    java planeta-codigo programacion

    Java

    Twitter ofrece una API para realizar las mismas acciones que como usuarios hacemos con su cliente web, desde publicar tweets, hacer retweets, enviar mensajes directos, leer timelines, … Con la API REST de twitter podemos desde un programa de forma automatizada realizar cualquiera de las anteriores acciones. Por ejemplo, en Blog Stack cada vez que agrega un artículo de cualquiera de las fuentes se publica un tweet con el título del artículo y el enlace al mismo en la cuenta de Twitter de Blog Stack. En este artículo mostraré como desde lenguaje de programación Java podemos usar la API de Twitter para realizar las acciones que deseemos con la librería twitter4j.


    Continuar leyendo...

  • Aplicación de ejemplo usando varias especificaciones de Java EE 7

    java planeta-codigo programacion

    Más lentamente que otras tecnologías Java EE en cada nueva versión sigue adaptándose a las nuevas tendencias en el desarrollo y facilitando la programación de aplicaciones de entidad empresarial. Java EE está formado por un conjunto de especificaciones que resuelven en gran medida muchas de las necesidades funcionales de las aplicaciones ya sean de persistencia, seguridad, mensajería, lógica de negocio, transaccionalidad, inyección de dependencias, presentación HTML, JSON, WebSockets, conexión a base de datos, envío de correos electrónicos o concurrencia. En este artículo mostraré un ejemplo usando varias de estas especificaciones y proporcionaré el código fuente completo.
    Continuar leyendo...

  • Cambiar el formato de archivos de vídeo o películas en GNU/Linux

    gnu-linux software-libre

    FFmpeg

    Linux

    En el artículo anterior comentaba como cambiar el formato de archivos de música o audio, por ejemplo de wav a mp3, de wav a ogg o de mp3 a _ogg de archivos individuales, de forma masiva los de un directorio o de forma recursiva de toda una biblioteca de música organizada en múltiples directorios.

    Para hacer la conversión usaba la herramienta FFmpeg, esta misma herramienta sirve también para hacer conversiones en el formato de archivos de vídeo o películas. Las conversiones de los archivos de música nos puede interesar para reducir su tamaño, un mp3 ocupa mucho menos que un wav y un archivo ogg es un formato libre de patentes no así el formato mp3. En el caso de los vídeos también nos puede interesar hacer una conversión, reducir su tamaño, extraer solo el audio, extraer solo el vídeo u obtener un trozo del vídeo entre varias cosas más que podemos realizar con FFmpeg.


    Continuar leyendo...

  • Cambiar el formato de archivos de música o audio en GNU/Linux

    gnu-linux software-libre

    FFmpeg

    Linux

    En algún momento puede que necesitemos o queramos convertir archivos de audio a otro formato individualmente o de forma masiva. Por ejemplo convertir archivos de audio del formato de música más utilizado mp3 al formato libre de patentes ogg, o de mp3 a aac o desde otros formatos y a otros formatos como wav o ac3. Algunos formatos ofrecen mejor compresión y ocupan menos espacio con la misma calidad y este puede ser un motivo por que queramos hacer la conversión. Aún así hay que tener en cuenta que las conversiones entre formatos con pérdida como de mp3 a ogg aún ocupando menos (o más) la calidad puede empeorar, aunque para un oído no entrenado será imperceptible, para convertir a un formato con pérdida es mejor partir de un archivo sin pérdida como wav.


    Continuar leyendo...

  • Cómo firmar correos electrónicos con GPG y JavaMail

    java planeta-codigo programacion seguridad

    El correo electrónico es un medio muy utilizado para realizar ataques de phishing, algunos son muy burdos pero seguramente algunos usuarios sin muchos conocimientos caen víctimas de ellos y aún los usuarios con conocimientos también pueden serlo si están bien realizados y muestran un correo electrónico exactamente igual que el que intentan suplantar. Los usuarios son las víctimas pero si los sitios web que envían los correos electrónicos legítimos los firmasen digitalmente sería una garantía más para proteger a sus usuarios, pudiendo detectar de otra forma el spam y phishing. En este artículo muestro a modo de ejemplo como firmar un correo electrónico con GPG y JavaMail e igualmente podría utilizarse para cifrarlo, aunque usar DKIM sería lo más apropiado.
    Continuar leyendo...

  • Introducción y nuevas características de Java EE 7

    java planeta-codigo programacion

    Java sigue siendo uno de los lenguajes más usado para desarrollar aplicaciones empresariales en entidades públicas o empresas privadas. Proporciona un conjunto de especificaciones que cubren las necesidades funcionales de la mayoría de las aplicaciones y sigue evolucionando, adaptándose a las nuevas tendencias actuales y agregando nuevas funcionalidades de forma estandarizada en la plataforma. Aún así muchas entidades siguen y seguirán usando versiones anteriores a la última tanto de Java EE como de Java.
    Continuar leyendo...

  • Cómo eliminar de forma segura archivos con wipe y dd en GNU/Linux

    gnu-linux planeta-codigo seguridad software-libre

    Eliminar archivos del sistema de ficheros no basta para destruir la información que contuvieran. Con herramientas como Foremost su contenido puede ser recuperado, por ello cuando desechamos una unidad de almacenamiento (disco duro, memoria USB, tarjeta SD, SSD) conviene hacer un borrado seguro de la unidad, si trabajamos con información sensible quizá queramos hacer un borrado seguro de los archivos que eliminemos. Con el comando wipe podemos borrar archivos individuales y con el comando dd una unidad completa.
    Continuar leyendo...

  • Cifrar unidad USB completamente con dm-crypt y LUKS en GNU/Linux

    gnu-linux planeta-codigo seguridad software-libre

    ¿Has perdido alguna vez una memoria USB? ¿sí, aún no? ¿qué datos contenía? Muy posiblemente son varias las memorias USB que tenemos, por su poco tamaño y cada vez mayor capacidad incluso llevaremos alguna en la cartera siempre con nosotros. Si quieres mantener a salvo los datos en caso de pérdida hay varias opciones, una para esta necesidad es cifrar completamente la unidad con dm-crypt junto con LUKS+Ext4 en GNU/Linux. Suena muy técnico pero es muy sencillo usando la aplicación Discos de GNOME y la seguridad de nuestra información aumentará notablemente.
    Continuar leyendo...

  • Introducción al protocolo HTTP/2

    planeta-codigo web

    La tecnología avanza inexorablemente respondiendo a nuevas necesidades o mejor a las existentes. El protocolo HTTP se ha mantenido sin grandes cambios durante más de 15 años, sin embargo, para reducir las latencias en la carga de las páginas y ser más eficiente se ha desarrollado una nueva especificación que ya promete reducir estos problemas. HTTP/2 no es compatible hacia atrás pero se puede usar junto con HTTP 1.1 y los dispositivos que usen aprovecharse de sus ventajas. Los navegadores más populares ya lo han implementado y los servidores web o de aplicaciones ya ofrecen soporte para ser usado.
    Continuar leyendo...

  • Cifrar archivos con EncFS en GNU/Linux

    gnu-linux planeta-codigo seguridad software-libre

    Hacer copias de seguridad es una buena práctica para evitar perder información en caso de que por ejemplo un disco duro se nos estropee. Cifrar la información o al menos parte de ella como las contraseñas (si las guardamos en un archivo de texto) también es una buena práctica por si perdemos una memoria USB, nos roban en un lugar público o en nuestro domicilio un disco duro o un portátil o los extraviamos en algún viaje. Una forma sencilla para proteger su contenido cifrando múltiples archivos es EncFS.
    Continuar leyendo...

  • Cómo recuperar archivos eliminados o de una unidad corrupta en GNU/Linux

    gnu-linux planeta-codigo seguridad software-libre

    Muchos archivos y su contenido son recuperables aún después de eliminados y liberado su espacio ocupado del sistema de archivos. Herramientas como Foremost son capaces de recuperar el contenido de un archivo si no ha sido sobrescrito accediendo a bajo nivel a los datos de la unidad, ya esté corrupta y de algún error al montarla o funcione perfectamente. Pudiendo extraer una imagen de la unidad seremos capaces de recuperar gran cantidad de archivos motivo por el cual al deshacernos de una unidad de almacenamiento es recomendable hacer un borrado seguro para evitar que información personal o confidencial sea obtenida con cualquier propósito.
    Continuar leyendo...