Lenguajes JVM

Otros lenguajes para la JVM (Groovy, Scala, Clojure, etc)

Framework que deberíamos conocer

Java tiene miles y miles de frameworks para que los desarrolladores puedan ahorrar unas cuantas (o hasta miles) líneas de código. Lo queramos o no, siempre tendremos que hacer uso de éstos alguna vez en nuestra vida como desarrollador.

¿Por qué usar un framewok?

Alguna de las razones pueden ser:

  1. Están de moda.
  2. Lo están usando en donde trabajas.
  3. No quedarse atrás (siempre hay que actualizarse).
  4. Te facilitan la vida.

Después de Spring Framework llegaron otros, pero no todos le pudieron hacer frente. Ya sea por que la comunidad se acostumbra a lo conocido y no cree que lo nuevo sea una alternativa o algo mejor o porque no investigamos lo suficiente para saber que es lo que esta llegando en la actualidad.

Aquí una lista de Frameworks conocidos por casi todos los desarrolladores (Spring, Vert.X) y otros no tanto que podrían ser útiles para nosotros:

El siempre confiable Spring Boot.

https://spring.io/projects/spring-boot

El incipiente y ligero Javalin.

Ciencia de Datos y la JVM - Parte 1: Instalando Rapaio Jupyter Kernel!

Bienvenidos a una corta serie de 3 o 4 artículos donde vamos a sumergirnos en el universo de la ciencia de datos, todo esto, usando lenguajes que corren en la JVM (de preferencia Java directamente, si se puede). Vamos a explorar, jugar y aprender algunos trucos nuevos con los datos y todo lo que podemos hacer con ellos en la JVM. Pero no solo vamos a quedarnos ahí; después de explorar lo que es posible con la JVM y la ciencia de datos, voy a tratar de utilizarla para iluminar el misterioso y a veces confuso mundo de las estimaciones de proyectos. Usando "distribuciones de probabilidad de cola gorda", vamos a explorar la idea de que proyectos complejos, como los de software, necesariamente son impredecibles.

Un vistazo a Quarkus el Supersonic Subatomic Java

¿Qué es Quarkus?

Es básicamente:

Gpu

Cómo puedo utilizar la gpu o tarjeta gráfica para recorrer un archivo de texto grande

¿Cómo saber si un servicio SMTP funciona? Te dejo un script...

A veces he tenido la necesidad de saber si un servicio de envío de correos está funcionando, y siempre uso el mismo script, le hice un pequeño refactor y aquí te los dejo...

 

Instalando Concurnas, un nuevo lenguaje JVM

Concurnas es un "nuevo" lenguaje de programación dependiente de la JVM.

El sitio oficial dice que el lenguaje es:

Un lenguaje de programación JVM de código abierto diseñado para construir sistemas concurrentes, distribuidos y paralelos confiables, escalables y de alto rendimiento.

Concurnas es interoperable con Java (y otros lenguajes JVM): las organizaciones pueden aprovechar el software Java existente en un entorno concurrente.

En comparación con otros lenguajes, los desarrolladores de Concurnas necesitan escribir menos líneas de código. Ese código es más seguro y más fácil de probar, lo que aumenta la calidad y aumenta la productividad de los desarrolladores.

ejemplo.conc
 

A primera vista es muy parecido a Groovy, pero solo en apariencia.

Para instalar el lenguaje podemos usar SDKMAN!

 

¿Mock a EntiityManager es posible con Spring?

Hola buenas tardes a todos.

Hay una duda que tengo y es referente a la forma en que debo inyectar EntityManager dentro de una clase Test, para ello estoy utilizando JUnit y Mockito.

por ejemplo:
ClaseRepositoryImpl => Es la clase que quiero testear
EntityManager => Es lo que necesito falsear

 

Kotlin for Beginners


Koltin
es un lenguaje dependiente de la Máquina Virtual Java (JVM); empresas como Google han adoptado este lenguaje porque promete ofrecer compatibilidad e interoperabilidad con proyectos hechos con le lenguaje Java. Kotlin es muy similar a otros lenguajes de programación como Scala y Go (e incluso Typescript). Al igual que Java posee tipos clase (Byte, Short, Int, Float, Double, Boolean, Char). Además podemos importar librerías de Java sin ningún problema. Para declarar una variable modificable usamos var, para declarar una variable no modificable usamos val (similar a Scala).

Actualmente es muy popular para el desarrollo de aplicaciones móviles en Android.

Usando SDKMAN! podemos instalarlo.

 

Mostramos la versión instalada.

 

Ya no habra nada mejor que React, VUE o Angular?

Ya ni he escrito nada de React, me ha gustado bastante los hooks y muchos desarrolladores Web piensan que efectivamente React es la cima del desarrollo web, que para mejorar habría incluso que optimizar los navegadores en si mismo, sin embargo, no dejemos de pensar y preguntarnos Virtual DOM es lo mejor, realmente el DOM es tan lento como nos lo venden, a final de cuentas React, VUE y Angular corren sobre el navegador.

Hooks mejora la forma en que distribuimos estado y nos mantiene seguros de la POO, pero le carga bastante fuerte la mano al Garbage Collector, crear y recrear funciones no es de a gratis. Yo en lo personal he estado buscando librerias que no sean tan "gordas" como React, VUE o Angular un hello world en react pesa 70Kb.

Realtime sin websockets

Cuando nos llega un requerimiento de aplicaciones en tiempo real y este requerimiento viene despues de Junio del 2018, la primera solucion que te vendra a la mente, sera usar websockets (creo) porque es una de las formas en las que podemos obtener actualizaciones de informacion desde el servidor, sin embargo, muchas empresas sobre todo las mas actualizadas (bancos, aseguradoras e instituciones financieras), debido a sus restricciones de red no siempre permiten usar protocolos tales como websockets y muchos desarrolladores piensan que la unica alternativa a websockets es polling o long-polling (hacer requests cada 5 o 3 segundos, o extender el request lo mas posible hasta recibir una respuesta) y usar una libreria como cometd para ayudar con eso (adivinas, tampoco me gusta cometd, de hecho soy uno de esos desarrolladores que no le gustan muchas cosas :P).

Distribuir contenido