Ir al contenido principal

Entradas

Rust, un vistazo más (6)

Realizar pruebas unitarias es de gran ayuda para encontrar errores o depurar nuestro código. El Test Driven Development (TDD) o Desarrollo Guiado por Pruebas es una metodología para la realización de pruebas automatizadas. Rust al ser un lenguaje moderno nos permite hacer pruebas de nuestro código. El flujo de una prueba, basándonos en a lógica TDD, incluye: Pruebas que fallen ( RED ).  Pruebas que pasen ( GREEN ).  Refactorización ( BLUE ). Crearemos un proyecto con Rust: $ cargo new pruebas-unitarias && cd pruebas-unitarias Modificamos el archivo `` main.rs `` # [ cfg ( test ) ] mod tests { use super : : * ; } Con esto indicamos que estamos creando un módulo denominado `` tests ``. La palabra clave `` use `` importa elementos al ámbito actual. `` super::* `` importa todo (el comodín *) desde el módulo padre (super) del módulo tests. Esto permite que las pruebas dentro del módulo tests accedan a las funciones, estructuras u ...
Entradas recientes

Loopback, creando un sencillo servicio REST

Continuando con Loopback , un framework para crear microservicios con Node JS y Typescript , está vez crearemos un sencillo api rest que calcule la probabilidad de un evento. La fórmula que emplearemos será la siguiente: Probabilidad = eventosExitosos / totalEventosOcurridos Donde: Evento : Un evento es un resultado particular que nos interesa.  Casos favorables (eventosExitosos) : Son los resultados que cumplen con las condiciones del evento que estamos estudiando.  Casos posibles (totalEventosOcurridos): Son todos los resultados que pueden ocurrir en un experimento. Lo primero que haremos seá instalar Loopback si no lo tenemos instalado: $ npm install -g @loopback /cli Creamos un directorio y nos ubicamos en el: $ mkdir calcula-probabilidad && cd calcula-probabilidad Creamos la aplicación con Loopback: $ lb4 app Esto iniciará un prompt donde colocaremos las características del proyecto. Iniciamos la aplicación: $ npm start Ah...

Loopback: un framework para crear microservicios

Loopbak es un framework Node.js y TypeScript altamente extensible para crear API y microservicios. Características principales: Generación automática de APIs RESTful: Crea endpoints CRUD a partir de modelos de datos definidos.  Conectividad con múltiples bases de datos: Soporta SQL ( MySQL, PostgreSQL ) y NoSQL ( MongoDB ), entre otras.  Desarrollo dirigido por modelos (MDD): Simplifica la creación de APIs mediante definición de modelos.  Extensibilidad: Permite personalizar y añadir funcionalidades con hooks y middleware.  Seguridad integrada: Incluye autenticación y autorización personalizables.  Documentación automática: Genera documentación en formato Swagger/OpenAPI .  CLI potente: Herramientas de línea de comandos para agilizar la creación y gestión de proyectos.  Escalabilidad: Diseñado para manejar alto tráfico y proyectos complejos. Requisitos: Tener instalado Node JS . Instalando Loopbak Abrimos una terminal y tecle...

Ballerina en un vistazo (7)

  Cualquier lenguaje de programación moderno tiene la capacidad para la conexión a SGBD como: Oracle, PostgreSQL, MySQL, MariaDB, entre otros. Ballerina no podía ser la excepción. Veremos como conectarnos a MariaDB, un SGBD "fork" de MySQL. Creando la aplicación con Ballerina y MariaDB. Empezamos creando una sencilla base de datos llamada `` cursomariadb `` y una tabla llamada `` persons ``: CREATE OR REPLACE TABLE ( personid int, lastname varchar( 45 ), firstname varchar( 45 ), address varchar( 100 ), city varchar( 45 ) ); Insertamos algunos valores: INSERT INTO persons( personid, lastname, firstname, address, city ) VALUES ( 1 , "Moreno" , "Carmen" , "Gonzalez Arraga 102" , "Gotham" ); INSERT INTO persons( personid, lastname, firstname, address, city ) VALUES ( 2 , "Torres" , "Ji...

Ballerina en un vistazo (6)

Ballerina ha sido diseñado para desarrollar aplicaciones modernas. Nos permite crear aplicaciones para: Consumir servicios. Trabajar con datos.  Crear REST APIs.  Crear gRPC APIs.  Trabajar con GraphQL.  Aplicaciones tipo productor-consumidor con Apache Kafka.  Trabajar con bases de datos.  Trabajar con LLMs. Hoy veremos el paso de parámetros en un programa sencillo hecho en Ballerina. Comenzamos creando un proyecto: $ bal new parametros $ cd parametros Editamos el programa `` main.bal `` import ballerina / io ; public function main ( string ... args ) { } Agregamos una variable tipo Array en la cabecera (main). Ahora escribimos unas sentencias para validar si el arreglo esta vacío o no import ballerina / io ; public function main ( string ... args ) { if args . length () == 0 { io :println( "No se proporcionaron argumentos." ); return ; } } Para mostrar cada uno de ...

Next JS

Next JS es un framework web de desarrollo (también conocido como "metaframework") front-end de React de código abierto creado por Vercel que habilita funcionalidades como la representación del lado del servidor y la generación de sitios web estáticos para aplicaciones web basadas en React. Next JS utiliza la arquitectura JAMstack, que distingue entre frontend y backend y permite un desarrollo frontend eficiente que es independiente de cualquier API de backend . El marco admite CSS común, así como Scss y Sass precompilados, CSS-in-JS y JSX con estilo. Este framework tiene similitudes con React JS, Vue JS y otras herramientas. Instalando Next JS Requisitos: Node JS en su versión 18.18 o mayor. Instalando manualmente: $ npm install next@latest react@latest react-dom@latest Creando proyecto Next JS Creamos un directorio y nos ubicamos en el: $ mkdir myproject $ cd myproject $ npx create-next-app@latest Al ejecutarse este comando saldrá un prompt para...

Apache Kafka: una plataforma distribuida para la transmisión de datos

Apache Kafka es una plataforma de transmisión de eventos distribuidos de código abierto utilizada por miles de empresas para canalizaciones de datos de alto rendimiento, análisis de transmisión, integración de datos y aplicaciones de misión crítica. Permite no solo publicar, almacenar y procesar flujos de eventos de forma inmediata, sino también suscribirse a ellos. Está diseñada para administrar los flujos de datos de varias fuentes y enviarlos a distintos usuarios. Es una alternativa a RabbitMQ o Apache ActiveMQ . ¿Para qué sirve? Procesamiento de datos en tiempo real: Kafka permite ingerir y procesar flujos continuos de datos, como logs, métricas, eventos de usuarios o transacciones.  Mensajería asíncrona: Actúa como intermediario entre sistemas, permitiendo que productores envíen datos y consumidores los procesen sin necesidad de estar sincronizados.  Integración de sistemas : Conecta aplicaciones y servicios heterogéneos, como bases de datos, sistemas de moni...