Ir al contenido principal

Entradas

GraphQL con Spring Boot en un vistazo

GraphQL es un protocolo de comunicación que se considera ideal cuando el cliente necesita controlar qué datos obtiene, evitando cargas innecesarias. Consultas flexibles y un solo endpoint para múltiples recursos. Está basado en consultas declarativas ; puesto que el cliente define qué datos necesita . Emplea JSON como formato de datos. El cual es fácil de leer. Se recomienda para aplicaciones web y móviles que requieren flexibilidad en datos. Veremos un ejemplo de uso con ayuda de Spring Boot. Para ello requerimos crear un proyecto: https://start.spring.io/ Las dependencias necesarias son las siguientes: pom.xml <dependencies> <!-- Starter básico de Spring Boot --> <dependency> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-starter </artifactId> </dependency> <!-- Starter Web (para exponer endpoints si lo necesitas) --> <dependency> ...
Entradas recientes

Hack: un lenguaje de programación para web a gran escala

Hack es un lenguaje de programación relativamente nuevo. Creado por la malévola empresa Meta, dueña de Facebook y "propiedad" de Mark Zuckerberg y muy pronto dueña de mundos virtuales (¿broma? 😏). Como lo dice la documentación en su sitio oficial: ...lenguaje de programación orientado a objetos para crear sitios web confiables a gran escala. Hack promete reconcilar el ciclo de desarrollo rápido de un lenguaje tipado dinámicamente con la disciplina proporcionada por la tipificación estática, al tiempo que agrega muchas características que se encuentran comúnmente en otros lenguajes de programación modernos. Hack proporciona además una verificación de tipos instantánea mediante la comprobación incremental de los archivos a medida que los edita. Suele ejecutarse en menos de 200 milisegundos, lo que facilita su integración en el flujo de trabajo de desarrollo sin un retraso apreciable. Hack está diseñado específicamente para HHVM , un entorno de ejecución de a...

Nuevos lenguajes de programación funcional (similares a Haskell)

Los lenguajes de programación funcional hacen que el programador habitual a usar lenguajes como Java y/o C (con paradigma orientado a objetos y estructurado, respectivamente) se den topes en la pared. Y es que con la programación funcional el programador solo escribe lo que quiere obtener, pero no el cómo hacerlo. El paradigma de programación funcional es similar a las matemáticas. Uso de expresiones que resuelven algo, pero no te dicen el paso a paso. Se centra en: Funciones puras.  Inmutabilidad de datos. Composición de funciones para construir software predecible, evitando efectos secundarios y estados compartidos. Uno de los lenguajes que más refleja este paradigma es Haskell. Ya hemos hablado de el en varias ocasiones: https://alquimistadecodigo.blogspot.com/2021/03/haskell-for-todos.html https://alquimistadecodigo.blogspot.com/2021/03/haskell-for-todos-2.html https://alquimistadecodigo.blogspot.com/2021/05/haskell-fot-todos-3.html https://alq...

NLP (Natural Language Processing) en un vistazo

El procesamiento de lenguaje natural (NLP) es una rama de la I.A. que capacita a las computadoras en la interpretación, manipulación y comprensión del lenguaje humano. Combina lingüística computacional con técnicas de machine learning y deep learning para lograrlo. En otras palabras, es la herramienta que permite que las máquinas entiendan lo que les decimos . Sirve para interpretar y analizar grandes volúmenes de texto (o incluso voz). Detectar emociones o sentimientos en el lenguaje. Es lo que da vida a las interacciones entre humanos y chatbots . ¿Cómo funciona el procesamiento de lenguaje natural? Funciona gracias a una combinación de lingüística computacional y modelos de aprendizaje automático. En términos simples, la máquina no "entiende" como un humano, pero aprende patrones estadísticos y semánticos del lenguaje para poder interpretarlo y responder de manera coherente. Este proceso de "entendimiento" tiene que ver con análisis morfológi...

Grafana: una herramienta de visualización

Grafana es una plataforma de observabilidad de código abierto que permite visualizar, analizar y monitorear métricas, logs y datos en tiempo real desde múltiples fuentes. Es ampliamente usada para crear dashboards interactivos que ayudan a entender el comportamiento de sistemas, aplicaciones y servicios. Grafana nos sirve para: Monitoreo en tiempo real de aplicaciones, servidores, contenedores, bases de datos, etc.  Visualización de métricas con gráficos, tablas, alertas y paneles personalizables.  Integración con fuentes de datos como Prometheus, MySQL, PostgreSQL, Loki (logs), etc.  Alertas configurables.  Análisis histórico para detectar patrones, anomalías degradaciones de rendimiento. Como desarrolladores, ¿Cómo puede servirnos? Existen varios casos de uso, nos puede servir para: El monitoreo de microservicios: visualizando métricas como latencia o errores por servicio.   Consultar y filtrar logs de múltiples servicios en un sol...

Typescript en otro vistazo (con Vite)

En esta ocasión veremos cómo crear un proyecto Typescript con Vite . Typescript es un lenguaje de programación considerado como una extensión del clásico Javascript . Con la peculiaridad de ser un lenguaje: De tipado estático.  Compilado.  Orientado a objetos.  Capaz de detectar errores. En pocas palabras, es un lenguaje de programación que aprendió de los errores de su predecesor y obtuvo su propia esencia. Iniciamos con la creación de un proyecto Vite . Elegiremos Typescript como lenguaje base. La instrucción es la siguiente: $ npm create vite En el prompt pondremos como nombre del proyecto `` fundamentos ``. Como framework elegiremos a `` Vanilla JS `` y como variante a `` Typescript ``. Ahora nos ubicaremos en el directorio creado y ejecutamos el proyecto: $ cd fundamentos $ npm install $ npm run dev El directorio lucirá como este: fundamentos / . gitignore ...

Vlang, un lenguaje de programación para el mundo moderno

Vlang es un lenguaje de programación moderno creado en 2019 con la filosofía de ser simple, seguro y rápido. Su sintaxis se inspira principalmente en Go, pero también toma elementos de Rust, Swift, Kotlin, Oberon y Python. Busca combinar lo mejor de Go (simplicidad y velocidad) con la seguridad de Rust y la expresividad de Swift/Kotlin. Su propósito es ser una herramienta práctica para construir software claro, seguro y eficiente, sin sacrificar rendimiento. En una entrega anterior vimos cómo instalarlo y unos ejemplos. Abrimos una terminal y entramos al REPL del lenguaje: $ v Esto abrirá el REPL. Probamos algunas cosas: >>> 23 + 32 55 >>> "ECD" == "ECD" true >>> 6 > 4 true >>> 6 > 40 false >>> 45 == 34 && false false >>> true && true true >>> cad = "ABC" error: undefined ident: ` cad ` (use ` := ` to declare a va...