
admin
Algunas de las librerías más usadas en Java
Estas son algunas de las librerías o bibliotecas más populares por su descarga en GitHub o por su uso en una amplia variedad de proyectos. Puede que se te haya ocurrido crear tus propias herramientas para resolver muchos de los problemas que vas encontrando cuando desarrollas tus propios proyectos, sin embargo, siempre vale la pena dar un vistazo en la Web antes de comenzar a programar algo que quizá ya ha sido desarrollado, basado en estándares y ampliamente probado y ahorrarte así tiempo valioso. Te mencionamos sólo algunos proyectos:
Permite realizar pruebas de código de forma controlada, ya sea generales o parciales. Es muy recomendada. Algunas IDEs como Netbeans o Eclipse vienen preparadas para realizar pruebas de forma integrada.
mockito-all, mockito-core
Mockito es una librería Java para la creación de Mock Objects ampliamente usados en pruebas unitarias de Test Driven Development y basado en EasyMock.
https://github.com/mockito/mockito
guava
Es un conjunto de librerías desarrolladas por Google, dividido en tres grupos:
- Utilidades básicas para reducir labores menores para implementar métodos y comportamientos comunes.
- Una extensión a Java collections framework (JCF) anteriormente llamada Google Collections Library.
- Utilidades que proporcionan características convenientes y productivas tales como programación funcional, almacenamiento en caché, objetos de rango y hashing.
https://github.com/google/guava
Las Commons de Apache Software Foundation
commons-io
Es parte de un conjunto de proyectos desarrollado por Apache Software Foundation. Está divido en varias categorías:
- Utility classes – con métodos estáticos que realizan tareas comunes.
- Input – Implementaciones bastante útiles de Stream y Reader.
- Output – Implementaciones de Output Stream y Writer.
- Filters – Diversas implementaciones de filtros de archivos.
- Comparators – Diversas implementaciones de java.util.Comparator para archivos.
- File Monitor – Componente para monitoreo de eventos de archivos de sistema.
https://commons.apache.org/proper/commons-io/
commons-lang, commons-lang3
Apache Commons Lang provee de un conjunto extra de métodos para la manipulación del core estándar de clases de Java, tales como:
- Métodos para de cadenas.
- Operaciones numéricas.
- Concurrencia.
- Creación y serialización de propiedades de sistema.
- Ayudas para java.util.Date, utilidades para el manejo y uso de hashCode, toString, y equals.
Lang3 es la versión actualizada y ampliada de esta librería.
https://commons.apache.org/proper/commons-lang/
commons-codec
El software Apache Commons Codec proporciona implementaciones de codificadores y decodificadores comunes como Base64, Hex, Phonetic y URLs.
https://commons.apache.org/proper/commons-codec/
commons-logging
Una biblioteca que utiliza la API commons-logging y se puede utilizar con cualquier implementación de registro en tiempo de ejecución.
https://commons.apache.org/proper/commons-logging/
log4j
Log4j es una biblioteca open source desarrollada en Java por la Apache Software Foundation que permite a los desarrolladores de software escribir mensajes de registro, cuyo propósito es dejar constancia de una determinada transacción en tiempo de ejecución
https://logging.apache.org/log4j/2.x/
Logback Project
Este proyecto es un intento de sustituir a log4j, escrito por el mismo creador. Dividido en tres módulos:
- logback-core.
- logback-classic
- logback-access.
slf4-api, slf4j-log4j12
Simple Logging Facade for Java (SLF4J). Te permite generar registros de la ejecución de tu código Java, ofrece métodos de registro que aceptan marcadores. SLF4J fue creado como una alternativa más confiable al Jakarta Commons Logging framework.
https://www.slf4j.org/
spring-context
Spring-contex es un contenedor de Inversión de Control (IoC), te permite instanciar, configurar y ensamblar beans leyendo metadatos de configuración de archivos XML, anotaciones Java y/o código Java en archivos de configuración.
https://projects.spring.io/spring-framework/
httpclient
HttpClient busca llenar el vacío del paquete java.net aumentando la funcionalidad y flexibilidad al acceder a recursos via HTTP, de forma eficiente, actualizada y rica en características para implementarse del lado cliente con los estándares y recomendaciones de HTTP más recientes.
https://hc.apache.org/httpcomponents-client-ga/
joda-time
Es básicamente un reemplazo de mayor calidad para las clases de fecha y hora que originalmente fueron creadas para Java. Muy recomendable.
http://www.joda.org/joda-time/
testng
Es un framework de pruebas inspirado en JUnit y NUnit, pero introduce algunas nuevas funcionalidades que lo hacen más potente y fácil de usar.
http://testng.org/doc/index.html
JDOM
Es una popular biblioteca de analizador de DOM que se utiliza ampliamente en muchas aplicaciones java para analizar XML.
Xerces
Otro analizador de XML bastante popular.
http://xerces.apache.org/xerces-j/
Gson
Una estupenda librería para parseo de JSON creada por Google.
https://github.com/google/gson
JFreeChart
Es la biblioteca gráfica ampliamente utilizada para crear una gran variedad de gráficos de buena apariencia. Permite a los usuarios generar gráficos circulares de barras, diagrama de series de tiempos, diagrama de Gantt, histogramas, gráficos X-Y y varios gráficos específicos.
http://www.jfree.org/jfreechart/
JasperReports
Una completa biblioteca de funciones ricas para crear documentos PDF y gráficos. También disponible con soporte empresarial.
http://community.jaspersoft.com/
Commons Math
Aborda los problemas más comunes de matemáticas y estadísticas que no están disponibles en el lenguaje de programación Java.
http://commons.apache.org/proper/commons-math/
Estos son sólo algunos proyectos, desde luego hay muchos más que estamos omitiendo, estaremos actualizando esta entrada continuamente.
via:
http://www.fromdev.com/2014/10/most-widely-used-java-libraries.html
Imágenes con algunos de los formatos de archivo más polulares
Ange Albertini ha creado algunos posters minimalistas bastante interesantes que muestran como están divididos y organizados los distintos bloques de información con los que se conforman algunos de los formatos de archivos más conocidos. En algunos casos como el .class de Java muestra la descripción de un clásico «Hola Mundo«, en otros, muestra como sería una pequeña imagen representada como información hexadecimal y a que corresponde cada bloque en el archivo.

Su trabajo completo es interesante: https://github.com/corkami
- Ejecutables
- Portable Executable
- Executable and Linkable Format
- Mach-Object File Format
- Java Class (class)
- Small Web Format / Flash
- Command File / PE Dos Stub
- Dolphin Executable
- Dalvik Executable
- Imágenes
- X Bit Map
- Portable Gray Map
- Portable Pix Map
- BitMap / Device Independent Bitmap
- Graphics Interchange Format (GIF)
- Tagged Image File Format (TIFF)
- Portable Network Graphics (PNG)
- JPEG File Interchange Format
- Archivos
- Zip File
- Tape ARchive
- GNU GZip
- Roshal ARchive
- BZIP2
- Otros
- Portable Document Format (PDF)
- X64 1-Byte Opcodes
- X86 1-Byte Opcodes
- Waveform Audio File Format (WAV)
Para ver más: https://github.com/corkami
Virtual Reality Is a Hit In The News
Quisque cursus diam id justo malesuada faucibus. Suspendisse hendrerit nisl convallis lacus aliquam, id blandit diam convallis. Maecenas velit nulla, pharetra id pulvinar in, eleifend eu quam. In hac habitasse platea dictumst. Vivamus nec leo at metus dignissim euismod. Nam gravida est vitae enim viverra vulputate. Mauris varius sem sed blandit laoreet. Phasellus a suscipit eros. Donec vitae efficitur leo, nec dictum leo. Proin fringilla hendrerit nisl, sit amet consequat turpis eleifend sit amet. Aenean nec est nec nulla hendrerit ornare vitae id eros.
Nulla et scelerisque massa. Curabitur mollis ipsum non turpis ullamcorper gravida. Nulla non sem eu odio efficitur vehicula. In convallis ut dui nec mollis. Quisque sed justo sapien. Sed convallis sodales mauris, sit amet ornare tellus vestibulum at. Suspendisse nec rhoncus magna. Aenean finibus libero sit amet tempor faucibus.
Ut a mauris sagittis ante pellentesque vestibulum. Sed quis rutrum sem. Morbi dolor nunc, pellentesque vel nisl sit amet, scelerisque viverra lacus. Proin ac dolor pretium, elementum mi nec, interdum lacus. Phasellus urna arcu, commodo ut turpis vel, tincidunt congue ex. Sed eget rhoncus ante. Praesent felis neque, convallis et lorem vitae, consectetur maximus sem. Etiam nisl ex, pretium imperdiet ipsum id, malesuada posuere purus. Maecenas cursus molestie convallis.
Sed vel ipsum et massa ornare venenatis. Vivamus mollis vestibulum bibendum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent dictum magna vitae ligula tempor, volutpat pharetra magna iaculis. Maecenas eu ipsum tincidunt, dignissim nulla eget, feugiat purus. Suspendisse blandit elit efficitur urna tempor elementum. Pellentesque accumsan leo sem. Integer dolor nunc, convallis at ultrices et, egestas vitae magna. Sed egestas bibendum risus sed posuere. Donec non est sapien. Mauris eget velit ullamcorper eros dictum mollis. Suspendisse potenti. Nunc felis turpis, maximus faucibus euismod eget, maximus at ante. In aliquet magna turpis, eget feugiat mauris elementum a.
Donec ipsum urna, maximus ac tempor non, porttitor in lacus. In semper, ex ornare faucibus laoreet, sem nisi varius felis, vitae dignissim sem eros a urna. Suspendisse dignissim viverra arcu a scelerisque. Suspendisse non turpis auctor, porta dolor in, pellentesque eros. Phasellus gravida pharetra ex ut hendrerit. Ut nulla ante, rhoncus sit amet aliquam quis, facilisis sit amet nisl. Suspendisse nulla sem, congue sit amet aliquet ut, varius ac eros.
8 Ways VR Is Used For Video Games
Quisque cursus diam id justo malesuada faucibus. Suspendisse hendrerit nisl convallis lacus aliquam, id blandit diam convallis. Maecenas velit nulla, pharetra id pulvinar in, eleifend eu quam. In hac habitasse platea dictumst. Vivamus nec leo at metus dignissim euismod. Nam gravida est vitae enim viverra vulputate. Mauris varius sem sed blandit laoreet. Phasellus a suscipit eros. Donec vitae efficitur leo, nec dictum leo. Proin fringilla hendrerit nisl, sit amet consequat turpis eleifend sit amet. Aenean nec est nec nulla hendrerit ornare vitae id eros.
Nulla et scelerisque massa. Curabitur mollis ipsum non turpis ullamcorper gravida. Nulla non sem eu odio efficitur vehicula. In convallis ut dui nec mollis. Quisque sed justo sapien. Sed convallis sodales mauris, sit amet ornare tellus vestibulum at. Suspendisse nec rhoncus magna. Aenean finibus libero sit amet tempor faucibus.
Ut a mauris sagittis ante pellentesque vestibulum. Sed quis rutrum sem. Morbi dolor nunc, pellentesque vel nisl sit amet, scelerisque viverra lacus. Proin ac dolor pretium, elementum mi nec, interdum lacus. Phasellus urna arcu, commodo ut turpis vel, tincidunt congue ex. Sed eget rhoncus ante. Praesent felis neque, convallis et lorem vitae, consectetur maximus sem. Etiam nisl ex, pretium imperdiet ipsum id, malesuada posuere purus. Maecenas cursus molestie convallis.
Sed vel ipsum et massa ornare venenatis. Vivamus mollis vestibulum bibendum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent dictum magna vitae ligula tempor, volutpat pharetra magna iaculis. Maecenas eu ipsum tincidunt, dignissim nulla eget, feugiat purus. Suspendisse blandit elit efficitur urna tempor elementum. Pellentesque accumsan leo sem. Integer dolor nunc, convallis at ultrices et, egestas vitae magna. Sed egestas bibendum risus sed posuere. Donec non est sapien. Mauris eget velit ullamcorper eros dictum mollis. Suspendisse potenti. Nunc felis turpis, maximus faucibus euismod eget, maximus at ante. In aliquet magna turpis, eget feugiat mauris elementum a.
Donec ipsum urna, maximus ac tempor non, porttitor in lacus. In semper, ex ornare faucibus laoreet, sem nisi varius felis, vitae dignissim sem eros a urna. Suspendisse dignissim viverra arcu a scelerisque. Suspendisse non turpis auctor, porta dolor in, pellentesque eros. Phasellus gravida pharetra ex ut hendrerit. Ut nulla ante, rhoncus sit amet aliquam quis, facilisis sit amet nisl. Suspendisse nulla sem, congue sit amet aliquet ut, varius ac eros.




