• Hemeroteca #6

    gnu-linux planeta-codigo software software-libre

    Seis nuevos meses para el Blog Bitix cumpliendo un año como tal y siendo la continuación de los casi cuatro años de El blog de pico.dev. Otro año que finaliza y toca hacer recapitulación de los que he escrito durante este tiempo, 26 nuevos artículos escritos con puntualidad uno por semana y publicados el viernes o sábado. Aunque aún no puedo usar profesionalmente el framework web Apache Tapestry con el realmente me divierto programando sigo escribiendo sobre él con algunos temas interesantes tales que cómo usar un CDN, cómo crear plantillas para dar un aspecto común a todas las páginas de la aplicación, una comparativa entre el modelo «pull» que usa Tapestry y el modelo «push» que normalmente se usa en los framework basados en acciones, cómo crear una doble barra de botones sin duplicar el mismo código, como forzar el uso de https o la anotación Cached.
    Continuar leyendo...

  • Introducción al gestor de proyectos y tareas Redmine

    gnu-linux planeta-codigo software software-libre

    Para desarrollar un proyecto de software se hace imprescindible disponer de algunas herramientas que nos permitan realizar las tareas. Una de estas herramientas es un gestor de tareas, peticiones o errores, que nos permite recoger en una herramienta gran parte de la información, conocer el estado, planificar y hacer el seguimiento las tareas necesario para desarrollar de forma ordenada, sin que perdamos nada de información y pudiendo recuperarla en cualquier momento en un futuro.
    Continuar leyendo...

  • Ejercicios (katas) para mejorar habilidades de programación practicando

    java software-libre planeta-codigo programacion

    La semana pasada escribía sobre algunos libros que leer para ser mejores programadores, sin embargo, toda esa teoría solo sirve cuando se interioriza para usar más tarde en la práctica. Para interiorizar parte de ese conocimiento hasta el momento creo que no se ha inventado mejor manera que escribiendo código teniendo en cuenta esos principios. Las katas y dojos son unos ejercicios que se realizan para practicar, son problemas sencillos de los que se conoce la solución pero lo importante no es resolverlos sino aplicar las lecciones aprendidas y mejorar nuestras habilidades de programación que posteriormente usemos en los proyectos que trabajamos.
    Continuar leyendo...

  • 8+ libros para mejorar como programadores

    java software-libre planeta-codigo programacion

    Hay cantidad de información para aprender y en diferentes formatos desde libros si queremos tener un conocimiento más profundo sobre alguna materia pasando por presentaciones en SlideShare o SpeakerDeck que aún comentando los detalles de forma escueta sirven para conocer los detalles importantes sobre un tema, charlas de hangouts que quizá requieran menos esfuerzo y tiempo por nuestra parte que leer un libro como las compartidas en desarrolloweb o en Virtual JUG, blogs con artículos que explican un detalle específico (aquí hay una buena colección de bitácoras sobre java), katayunos y merendojos en los que se practican técnicas de programación sobre un problema conocido, sencillos, de los que ya se conoce su solución y que se realizan junto a otras personas, convenciones como Codemotion, PyCon, Greach, LibreCon, CAS, Spring I/O, ApacheCon, BilboStack… En estas convenciones se hacen presentaciones de alrededor de una hora para los asistentes, además siendo presenciales permiten reunirse con otras personas con los mismos intereses y de las que algunas los vídeos están disponibles en YouTube… en definitiva, para aprender lo único que se necesita es tiempo y motivación que no es poco después de una jornada laboral que ocupa la mayor parte de nuestro tiempo.
    Continuar leyendo...

  • Introducción a Bitnami

    hardware gnu-linux planeta-codigo software software-libre

    Instalar algunas aplicaciones, herramientas o servicios no siempre es sencillo y rápido. En la mayoría de los casos los pasos están explicados suficientemente pero en la práctica nos pueden surgir dudas o problemas que no están documentados que pueden hacer que la experiencia de instalación no sea agradable o necesitar dependencias que hay que instalar a la vez para obtener un funcionamiento correcto. Además, sin emplear una máquina virtual se necesita instalar en el propio equipo o servidor cuando quizá solo interesa evaluar el producto con lo que al hacer la desinstalación se acaba con archivos temporales que quizá no se eliminen y permanezcan ocupando espacio para siempre o hasta ser eliminados.
    Continuar leyendo...

  • Integración entre Ansible y Docker

    gnu-linux planeta-codigo

    En la introducción de Docker y inicio básico de docker explicaba como usar Docker y en la introducción a Ansible explicaba las características de Ansible y como usarlo. Podemos usar Docker y Ansible de forma separada pero también podemos combinarlas para beneficiarnos de las propiedades de cada una. En Ansible disponemos de dos módulos que nos permite manejar las imágenes y los contenedores de Docker, estos son docker y docker_image.
    Continuar leyendo...

  • Introducción a Ansible

    gnu-linux planeta-codigo

    Siempre que nos sea posible deberíamos automatizar las tareas que realizamos. Automatizar tareas hará sencillo realizarlas permitiéndonos hacer todos los despliegues de una aplicación que queramos con menos posibilidades de cometer errores manuales o nos permitirá disponer de una nueva máquina aprovisionada exactamente como pueda estar la máquina de producción en mucho menos tiempo. En el ámbito del aprovisionamiento de máquinas y administración de la infraestructura IT hay varias opciones, entre ellas están Chef, Puppet y Ansible.
    Continuar leyendo...

  • Cómo crear una imagen para Docker usando un Dockerfile

    gnu-linux planeta-codigo

    Podemos usar los contenedores disponibles en Docker Hub, donde están disponibles las aplicaciones de bases de datos, servidores de aplicaciones de múltiples lenguajes, servidores web más populares y entre otras muchas herramientas. Pero también podemos definir nuestras propias imágenes personalizadas con las necesidades que tengamos. Lo que necesitamos es escribir un archivo que contenga la receta para construir la imagen del contenedor, este archivo es el Dockerfile.
    Continuar leyendo...

  • Cómo filtrar contenido HTML de forma segura

    java programacion planeta-codigo

    Algunos sitios y aplicaciones pueden tener la necesidad de «scrapear» el contenido de sitios web para extraer información de ellos y posteriormente usarla de alguna forma. El contenido «scrapeado» o obtenido de una fuente externa debe ser filtrado, si no es filtrado y posteriormente es servido a los usuarios puede enviárseles principalmente scripts con contenido malicioso (provocando un ataque cross-site scripting, XSS) o causar una desmaquetación al visualizar el contenido.
    Continuar leyendo...

  • Generar URLs semánticas y amigables

    java programacion planeta-codigo

    En algunas web las urls incluyen el identificativo del objeto de la base de datos a partir de cual se muestra el contenido principal de la página, en Blog Stack esto podría ser un artículo pero en otras páginas webs podría ser un producto. Esto genera direcciones de páginas webs «feas» de cara al usuario y al SEO de los buscadores además de exponer cierta información de la base de datos que probablemente no interese a nadie excepto al desarrollador de la página.
    Continuar leyendo...

  • Agregador Blog Stack rediseñado

    planeta-codigo

    Estas últimas semanas he podido dedicar un poco de tiempo a al proyecto personal de Blog Stack. Blog Stack es un agregador o planeta de bitácoras en español sobre linux, software libre, programación, desarrollo, metodologías ágiles y tecnología. En dos artículos anteriores explicaba más en detalle que es Blog Stack, en uno de ellos hacía una descripción y presentación y en otro explicaba como está hecho en el aspecto técnico tanto detallando cuales son las tecnología que usa como la arquitectura del proyecto.
    Continuar leyendo...

  • Configuración usando código Java

    programacion java planeta-codigo

    En las dos últimas entradas he explicado como compilar un archivo de código fuente Java desde una aplicación y como cargar esa clase compilada de forma dinámica para ser utilizada en un programa, la segunda entrada trataba el como monitorizar un directorio o archivo para ver si han tenido cambios con la nueva API que a partir de Java 7 disponemos. En esta entrada quiero explicar un ejemplo de como aprovechar estas dos funcionalidades diferentes en un caso práctico y que nos puede ser útil en algún caso.
    Continuar leyendo...