Blog

Tecnología para Desarrollo

Las mejores buenas prácticas para tener en cuenta en nuestro día a día

¿Cómo lograr una buena calidad de código y cobertura de test? ¿Qué podemos hacer para no caer en la monotonía? ¿Cómo cambiar la rutina por buenas prácticas? ¡Con este post vamos a intentar dar un pequeña receta para lograrlo!

Imaginemos una situación que suele ser habitual: estamos en un proyecto utilizando tecnologías que nos limitan bastante (por ejemplo, a pesar de ser un proyecto web con Java, no podemos usar Spring).

Por limitaciones del cliente, usamos la infraestructura (nada de locuras de contenedores ni cloud…) y procedimientos del cliente. Ante este panorama, ¿qué podíamos hacer?

A pesar de todo lo anterior hemos conseguido que en el resto de metodologías el proyecto sí destaque y esto nos ha permitido conseguir un producto final de buena calidad y que se sustenta sobre buenas prácticas como TDD, pair programming, code reviews, etc. ¡Vamos a repasarlas!

sigue leyendo…

Cheat sheet sobre Pandas y Seaborn: agiliza la visualización de tus datos

¿Trabajas con grandes cantidades de datos? Entonces sabrás de la importancia de efectuar análisis visual exploratorio sobre ellos. Así, rápidamente podemos comprenderlos, interpretarlos y exprimir al máximo todo su valor.

Si además trabajas con Python, la librería Pandas seguro que forma parte de tu día a día. En esta cheat sheet resumimos con simpleza los plots que se pueden ejecutar nativamente sobre los dataframes de Pandas.

Y si estás en un nivel experto, también te dejamos una pequeña muestra de lo que se puede hacer con Seaborn, otra librería de visualización avanzada que proporciona estilo y mayor funcionalidad a nuestras gráficas.

¡Descárgate nuestra cheat sheet! Y si tienes alguna sugerencia o idea no dudes en compartirla con nosotros.

Descarga PDF

sigue leyendo…

Cadenas de Markov: o cómo medir el éxito del sueño americano

¿Quién no ha oído hablar alguna vez del sueño americano? ¿Quién no ha soñado con querer vivirlo alguna vez? Precisamente, una de las bases que sustentan la estabilidad de la sociedad norteamericana es la igualdad de oportunidades, la idea de que cualquier individuo, aplicando esfuerzo y tesón de manera sostenida, puede llegar a prosperar y llevar una vida liberada de agobios materiales.

La movilidad social permite que, aun siendo las condiciones iniciales desfavorables, una persona pueda aspirar a un cierto nivel de bienestar acorde al devenir de los tiempos.

¿Pero qué tiene que ver todo esto con las cadenas de Markov? ¿Cómo pueden estos esquemas matemáticos ayudarnos a estudiar, por ejemplo, la sociedad americana? Hoy en el blog, haremos un experimento con modelos estadísticos para intentar entender mejor la distribución de ingresos norteamericana.

Para arrojar luz sobre esta cuestión, usaremos modelos matemáticos junto con algo de análisis de datos, con el objetivo de explorar el grado de movilidad social existente en Estados Unidos.

sigue leyendo…

¿Cuáles son las novedades de Openshift 4?

A principios de este mismo mes de junio, veía la luz Openshift 4, la nueva versión de Red Hat Openshift Container Platform.

Para ponernos en contexto, Red Hat publicó hace tiempo la versión de OpenShift 4 Developer Preview, y como en Paradigma nos encanta probar las últimas novedades, nos pusimos manos a la obra, instalamos la versión y la exploramos a fondo para descubrir sus novedades.

Hoy en el blog, te contamos qué hemos aprendido.

sigue leyendo…

Guía de implementación de la funcionalidad autocompletado en Elasticsearch

Aquellos que hayáis trabajado con Elasticsearch conoceréis la frase “You know, for search”, una especie de “Hello world!”, la primera noticia que tenemos de que Elasticsearch está funcionando y una declaración de intenciones.

Elasticsearch sirve “ya sabes, para buscar”, pero aunque esa frase sea lo primero que veamos al instalarlo y hacer una primera consulta vacía, Elasticsearch no se detiene únicamente en la funcionalidad de búsqueda, sino que proporciona muchas utilidades adicionales, algunas para mejorar la experiencia de búsqueda y otras que van más allá.

En este post, veremos cómo podemos implementar en Elasticsearch la funcionalidad de autocompletado, o mejor dicho, las funcionalidades de autocompletado, porque aunque parece que este funcionamiento no admite mucha variación, cada buscador interpreta de manera diferente en qué consiste esta funcionalidad, dando lugar a diferentes implementaciones. ¡Empezamos!

sigue leyendo…

Analítica web con R: estadísticas descriptivas y predictivas

En la primera parte del post vimos cómo realizar una exploración de los datos integrando como dataset la herramienta de analítica digital más utilizada, Google Analytics con la tool más utilizada por los estadísticos y analistas de datos, R Studio.

En esta segunda parte, nos centraremos en la estadística descriptiva y aplicaremos modelos predictivos para poder contrastar las informaciones recogidas desde nuestra herramienta de analítica y comprobar si nuestras decisiones van por un buen camino o, por lo contrario, estamos lejos y así reaccionar a tiempo.

sigue leyendo…

Event Driven para microservicios con Spring Cloud Stream

En las arquitecturas distribuidas basadas en microservicios, que implementen el framework de Spring, existe un proyecto llamado Spring Cloud Stream, que resulta muy útil cuando, por necesidad técnica y/o funcional, necesitamos consumir o producir algún tipo de mensaje.

Lo que más destaca es la sencillez en el momento de la configuración con el middleware deseado, la implementación del código y esa capa de abstracción que, con muy pocos cambios, nos permite modificar el sistema de mensajería teniendo un mínimo impacto en la aplicación.

Esto nos puede ser de ayuda cuando queremos consumir o producir mensajes, en arquitecturas que implementen patrones como Event-driven, Saga, Publish/Subscriber. Y sobre eso es de lo que vamos a hablar hoy en el blog.

sigue leyendo…

DevSecOps: la evolución de la seguridad del software

Hablamos constantemente de cómo se transforman las compañías, de cómo se actualiza el software… pero, ¿cómo evoluciona la seguridad en el desarrollo de proyectos?

Hoy en el blog, hablamos de cómo integramos en Paradigma la seguridad dentro de los procesos DevOps, de cómo funciona la nueva filosofía bautizada como DevSecOps y de cómo estamos trabajando para conseguir una entrega de valor que incluya la seguridad de la misma forma que hoy en día se incluye QA o sistemas de CI/CD.

sigue leyendo…

¡Abierta la segunda edición de Paradigma Institute!

En Paradigma, nuestra experiencia y pasión por la tecnología nos ha llevado a enfocar el trabajo de una manera diferente, tanto para nuestros clientes como para nuestros equipos: orientación a objetivos. No nos interesa las horas empleadas en hacer algo, sino la calidad del resultado final.

El contar con personas talentosas es un punto positivo para ambas partes, como suele decirse, un “win to win”, ya que los empleados van a sentirse motivados, valorados y con unas buenas condiciones y, además, la organización tendrá la oportunidad de aumentar la calidad y productividad en sus proyectos y negocios.

De esta filosofía surgió el proyecto Paradigma Institute, un programa en el que apostamos por el talento joven, donde formación y práctica van de la mano.

Después de una primera edición enfocada a formar perfiles QA, lanzamos una segunda convocatoria (que se pondrá en marcha después de verano) centrada en el perfil del desarrollador Java. ¡Te contamos qué tienes que hacer para formar parte de este proyecto!

sigue leyendo…

MapStruct, simplificando mapeos

En los últimos tiempos han ido saliendo iniciativas que nos ayudan con nuestras tareas del día a día como desarrolladores.

Una de ellas, y de la que hablaremos en este post, es lo que se conoce como “MapStruct”, que es un procesador de anotaciones, rápido, seguro y fácil de entender.

sigue leyendo…