¡Hola! Soy Riccardo (también conocido como TheZal) y dado que febrero es el mes del Open Source, decidí hacer una lista de herramientas que he descubierto recientemente y que han simplificado mi vida como desarrollador. Espero animarlos a probarlas y, tal vez, contribuir a su desarrollo. Dicho esto, ¡comencemos!
Ntfy: pub/sub para todos
Ntfy (se pronuncia «notify») es una herramienta que permite crear un sistema de publicación/suscripción en pocos minutos. Su funcionamiento es muy sencillo: se envía un mensaje al servidor de ntfy especificando un canal, y todos los usuarios suscritos a ese canal recibirán el mensaje en forma de notificación. La potencia de ntfy radica en que es posible recibir notificaciones en cualquier dispositivo, gracias a sus aplicaciones (también de código abierto) para Android e IOS.
Ntfy permite utilizar el servidor oficial a través de suscripción, pero también se puede crear un servidor propio para notificaciones de forma gratuita y sencilla, ya que está disponible como una imagen Docker.
Para crear tu propio servidor usando Docker, solo necesitas ejecutar el siguiente comando:
docker run -p <porta dove si vuole esporre il servizio>:80 -itd binwiederhier/ntfy serve
Lenguaje del código: HTML, XML (xml)
Una vez ejecutado el comando, el servidor estará disponible en la dirección http://localhost:<puerto>. Desde aquí, podrás ver las notificaciones de los canales a los que te has suscrito o enviar nuevas notificaciones.
La interfaz (muy simple e intuitiva) no es la única forma de enviar notificaciones; de hecho, se puede hacer de muchas maneras, incluso desde la línea de comandos utilizando CURL:
curl -d "Esta es mi primera notificación utilizando ntfy" <dirección del servidor notify>/<nombre del canal en el que quiero publicar>
Lenguaje del código: HTML, XML (xml)
Una vez enviado el comando, verás esa notificación aparecer en la interfaz del servidor y, si estás suscrito al canal, también en tu dispositivo.
Nosotros usamos este servicio para recibir notificaciones sobre pipelines y trabajos en Gitlab, y debo decir que es muy conveniente, especialmente porque también puedes recibir notificaciones en el móvil.
GQL: sql + git
GQL es justo lo que sugiere su nombre: Git Query Language. Gracias a GQL, es posible utilizar la sintaxis de consulta para obtener toda la información posible sobre la historia de Git de tu repositorio, filtrando mediante cláusulas where o agrupando por un campo directamente desde la línea de comandos.
La instalación de esta herramienta es simple e inmediata; basta con utilizar un gestor de paquetes como cargo.io, winget o scoop.
#cargo.io
cargo install gitql
#winget
winget install gitql
#scoop
scoop install gitql
Code language: CSS (css)
Lenguaje del código: CSS (css)
Una vez instalado, solo tienes que ir a través de la terminal a una carpeta de un repositorio, usar la palabra clave gitql y realizar tu consulta, ya que GQL crea una base de datos sobre la marcha basándose en la carpeta .git. Por ejemplo, podrías hacer una consulta que devuelva todos los resultados relacionados con los commits de ese repositorio mediante la consulta:
select * <strong>from</strong> commits
Lenguaje del código: HTML, XML (xml)
Code language: JavaScript (javascript)
El resultado de la consulta se mostrará en formato tabular, haciendo que sea legible directamente desde la terminal donde se ejecutó.
Biome: si Rust se encontrara con Prettier
Biome es una cadena de herramientas escrita en Rust que incluye tanto un formateador como un linter para Javascript, Typescript, JSX y JSON. Dada la compatibilidad de Biome con Prettier (certificada al 97%), es posible utilizar Biome como sustituto de Prettier, pero con la diferencia de que Biome es mucho más rápido que Prettier.
Las pruebas de rendimiento muestran que Biome es aproximadamente 25 veces más rápido que Prettier en lo que respecta al formateo de un archivo Javascript, y alrededor de 15 veces más rápido que ESLint en lo que respecta al linting de un archivo Javascript.
Estas prestaciones (posibles gracias a haber adoptado Rust como lenguaje de programación) hacen de Biome una herramienta muy interesante para probar, especialmente si trabajas con proyectos muy grandes o si quieres incorporarla en un flujo de trabajo CI/CD.
Existen diferentes formas de utilizar Biome, pero la más sencilla es instalar la extensión de Biome para tu editor de texto preferido (por ejemplo, VSCode) y dejar que la extensión haga el trabajo pesado.
Tiny RDM: la interfaz para Redis que no sabías que necesitabas
Tiny RDM es un moderno y ligero gestor de Redis disponible para Mac, Windows y Linux. Extremadamente ligero, construido sobre Webview2, ofrece una interfaz de usuario visual y fácil de usar.
Admite múltiples idiomas y proporciona una gestión avanzada de conexiones, incluyendo SSH Tunnel, SSL, Sentinel Mode y Cluster Mode. Permite la visualización y gestión de operaciones clave-valor, con soporte CRUD para Listas, Hash, Cadenas, Sets, Sorted Sets y Streams.
Compatibilidad con varios formatos de visualización de datos y métodos de decodificación/descompresión, utilizando la exploración segmentada para facilitar la enumeración de millones de claves y llevando un seguimiento de las operaciones mediante un registro de comandos.
Fornisce una modalidad a línea de comandos, integra Monaco Editor y soporta el monitoreo en tiempo real de los comandos, la importación/exportación de datos, la publicación/suscripción y el perfil de conexión.
El uso es muy sencillo: una vez descargado el instalador directamente desde su repositorio git, solo necesitas instalarlo y ejecutarlo. Una vez que Tiny RDM esté en funcionamiento, podrás crear una nueva conexión a Redis ingresando la dirección del servidor, el puerto y la contraseña (si es necesaria). Después de hacer esto, podrás utilizar Tiny RDM para gestionar tu propia base de datos Redis.
Zed: el mejor editor del que nunca habías oído hablar
Zed es un editor de texto de código abierto y multiplataforma, creado por los mismos desarrolladores de Atom y Tree-sitter, con el objetivo de ser el mejor editor de texto para programación. Zed, al estar escrito en Rust, destaca por sus prestaciones, siendo el más rápido en comparación con Sublime Text, VSCode y CLion.
Entre otras características, Zed nace para ser compatible con la inteligencia artificial, es decir, está listo para ser utilizado con GitHub Copilot de forma nativa y tiene la capacidad de utilizar GPT-4 para generar o refactorizar código utilizando un prompt escrito en lenguaje natural.
Zed ofrece la posibilidad de colaborar con los miembros de tu equipo directamente desde el editor, con una función integrada que permite tener un espacio de código compartido con otros desarrolladores. Además, es posible organizar los espacios de código en canales, reflejando la lógica de los canales en Slack.
La descarga está disponible para Windows, Mac y Linux; solo tienes que visitar el sitio web oficial para obtener el instalador.
¿Cuáles de estas herramientas conocías? ¿Cuáles herramientas de código abierto utilizas? ¡Cuéntamelo y hasta el próximo artículo!