-
Lección 📈 En tendenciaCómo funcionan los wildcards de un genérico
A veces en Java hay genéricos que llevan el símbolo de interrogación, como "?", "? extends X" o "? super Y". ¿Qué quiere decir este símbolo y por qué nos lo encontramos? Como te cuento en este vídeo, el sistema de inferencia de tipos de Java no permite usar por... -
Lección 📈 En tendenciaUso de Optional en Java
Con Optional puedes introducir en tu aplicación Java el concepto de valores opcionales; es decir, tu función te devuelve una caja en la que puede haber valor o no. Si conoces el Maybe de Haskell o te suena el Option de Rust, es el mismo concepto. Esto hace que tu... -
Lección 📈 En tendenciaGenéricos en Java: cómo crear tu propia clase
Definir un genérico aporta algunas ventajas en un lenguaje orientado a objetos como Java, ya que la inferencia de tipos será mucho más rica que si únicamente usasemos la clase Object. Ya sabes qué es un genérico (y si no, recuerda que tengo un vídeo al respecto), así que en... -
Lección 📈 En tendenciaMain implícito: Java va a arreglar la forma de escribir el main
El main implícito va a ser una característica de Java, que ya tienen otros lenguajes de programación, con la que se va a poder escribir el main de un programa sin necesidad de envolverlo en una clase. -
Lección 📈 En tendenciaCómo cambiar el orden de los tests de JUnit 5 (aunque no deberías)
El orden de ejecución de los tests en JUnit es importante. Existe una razón por la cual en JUnit los tests no siempre se ejecutan de arriba a abajo, y por otra parte también es importante saber por qué es buena razón respetar esto y no hacer tests que dependan... -
Lección 📈 En tendenciatry-with-resources
try-with-resources es una forma alternativa de escribir el bloque try-catch cuando se trabaja con recursos que se pueden cerrar, para ocuparse automáticamente de hacer el close independientemente de si sale bien o si sale mal la operación, evitando que nos olvidemos de poner un finally. -
Lección 📈 En tendenciaObject streams con Strings y Objects
Cómo usar ObjectOutputStream y ObjectInputStream para volcar cadenas de caracteres e instancias de clases arbitrarias como ArrayList es lo que se va a contar en este apartado. -
Lección 📈 En tendenciagit-reflog
El reflog es un log especial donde se incorporan commits cada vez que se hace un cambio de rama o un reset, lo que puede ser usado en caso de emergencia para recuperar un estado anterior de la rama si la liamos con el rebase, reset o checkout. -
Lección 📈 En tendenciagit-blame
git-blame es un comando de diagnóstico que analiza un archivo y te dice en qué commit, cuándo y quien, se modificó cada línea de un archivo, para poder identificar el commit concreto en el que se tomó ese cambio. Podemos usar el comando git-show para ver ese commit concreto y... -
Lección 📈 En tendenciagit merge --squash
El botón squash de las interfaces web está bien, pero ¿cómo haríamos un squash desde la línea de comandos usando nuestro propio cliente de Git? El squash es un flag del comando git-merge, por lo que para hacer un squash tenemos que solicitar esta estrategia al realizar un merge.