Arquivos da etiqueta: Programación

Análisis de rendimiento en Python

Bitácora Tecnolóxica

Análisis de rendimiento en Python

El análisis de rendimiento de código, comúnmente conocido como profiling, consiste en la caracterización del tiempo que un determinado programa emplea en cada una de sus funciones y métodos, y es una herramienta fundamental a la hora de estudiar y planificar la refactorización de código cuando es necesario mejorar el rendimiento de nuestras aplicaciones. Además, en el caso de Python, cuyo mayor (y probablemente único) punto débil es precisamente el rendimiento, cobra mayor importancia si cabe. Read More...

Compilar Hadoop para 64 bits

Bitácora Tecnolóxica

A estas aĺturas creo que todos sabemos lo que es Hadoop: el framework principal para el almacenamiento y procesamiento del Big Data en clusters de commodity hardware. Su versión 2 incorpora YARN (Yet Another Resource Negociator), que extiende las funcionalidades de Hadoop permitiéndolo ir más allá de la ejecución de trabajos MapReduce. YARN actúa como planificador del cluster gestionando la ejecución cualquier tipo de aplicaciones (MapReduce, MPI, servidores, etc.) y proporcionando las ventajas de Hadoop: distribución de carga, minimización del tráfico de red (la aplicación va a los datos, no al revés), replicación de datos, tolerancia a fallos,  etc. Read More...

Gestión de dependencias de terceros con Maven

Bitácora Tecnolóxica

Uno de los problemas recurrentes al pasar de una herramienta de desarrollo para Java como Ant a Maven es la de cómo lidiar con librerías de terceros (3rd party libs) que no se encuentran en ningún repositorio Maven. Para los que no estéis familiarizados, Maven es una alternativa a Ant como herramienta de automatización de desarrollo que se configura mediante la definición de una serie de archivos POM (Project Object Model) en XML que le explican a Maven cómo está el proyecto estructurado, qué dependencias tiene, datos sobre la organización, etc. Una de las características más potente es que, a diferencia de Ant, Maven es capaz de resolver las dependencias del proyecto analizando el POM y descargarlas automáticamente de repositorios especiales de dependencias (artifact repositories). Read More...