Ir al contenido principal

Entradas

Mostrando entradas de 2023

¿Qué son los Protobufs? | Parte I - Definición de mensajes Proto (Youtube)

En éste vídeo se nos explica lo que son los Protobufs.  Para qué sirven. Cómo podemos definirlos y usarlos.

GraalVM en windows Instalación y configuración(vídeo de Youtube)

En este vídeo del canal de Youtube de @sotobotero veremos como instalar GraalVM en máquinas con SO Windows. Como vemos en el vídeo debes descargar GraalVM del sitio oficial: https://www.graalvm.org/ . Una vez descargado debemos colocarlo en (preferentemente): C: \g raalvm-jdk-21 Abrir una terminal CMD (no Powershell) y teclear los siguientes comandos: setx /M PATH "C:\graalvm-jdk-21\bin;%PATH%" setx /M PATH "C:\graalvm-jdk-21" Comprobamos instalación: $ java -version java version "21.0.1" 2023-10-17 Java ( TM ) SE Runtime Environment Oracle GraalVM 21.0.1+12.1 ( build 21.0.1+12-jvmci-23.1-b19 ) Java HotSpot ( TM ) 64-Bit Server VM Oracle GraalVM 21.0.1+12.1 ( build 21.0.1+12-jvmci-23.1-b19, mixed mode, sharing ) Instalamos la Native Image: $ gu install native-image Con esto terminaremos de la instalación. Enlaces: https://www.graalvm.org/

Clojure for Beginner (3)

En esta serie de post de Clojure for Beginners veremos más ejemplos. La interoperabilidad es uno de los temas que más le interesan a los programadores. Los programadores Java verán que no es una promesa, sino más bien una realidad. Clojure en verdad lo permite. Basta ver un ejemplo. Ejemplo 1 . Creamos un programa para obtener el cuadrado de un número. En este ejemplo la entrada es 12 y el cuadrado de ese número será 144. ( import ' ( javax.swing JOptionPane )) ;' ( defn introduceDato [ s ] ( JOptionPane/showInputDialog ( str s ) ) ) ( def numero ( introduceDato "Introduce numero:" )) ;;convertir String a número ( defn String->Number [ str ] ( let [ n ( read-string str )] ( if ( number? n ) n nil ))) ;;función cuadrado ( defn cuadrado [ n ] ( * n n ) ) ;;'main' del programa ( try ( JOptionPane/showMessageDialog nil , ( str "El numero introducido es: " numero ) ) ( JOptionPane/showMessageDi

Clojure Web Development Evolved by Dmitri Sotnikov & Nik Peric (in English)

In this video we will see some tools, frameworks and alternatives for web development using Clojure.

gRPC Unleashed! Con Renato Aguilar de Endava

En está ocasión hay un vídeo por parte de Java México sobre gRPC . Pero antes que nada... ¿Qué es gRPC? gRPC es un marco moderno de llamada a procedimiento remoto (RPC) de código abierto y alto rendimiento que puede ejecutarse en cualquier entorno.  Puede conectar de manera eficiente servicios dentro y entre centros de datos con soporte conectable para equilibrio de carga, rastreo, verificación de estado y autenticación.  También es aplicable en la última milla de la informática distribuida para conectar dispositivos, aplicaciones móviles y navegadores a servicios backend. Enlaces: https://grpc.io/

Crear un proyecto con Helidon

Hace unos días hicimos un sencillo proyecto usando Javalin . En este post veremos como crear un sencillo proyecto con Helidon . Ejecutamos en siguiente comando: mvn -U archetype:generate -DinteractiveMode= false \ -DarchetypeGroupId=io.helidon.archetypes \ -DarchetypeArtifactId=helidon-quickstart-se \ -DarchetypeVersion=4.0.0 \ -DgroupId=io.helidon.examples \ -DartifactId=helidon-quickstart-se \ -Dpackage=io.helidon.examples.quickstart.se Nos ubicamos en la carpeta generada: cd helidon-quickstart-se Empaquetamos la aplicación: mvn package Ejecutamos: java -jar target/helidon-quickstart-se.jar Probamos la aplicación: curl -X GET http://localhost:8080/greet { "message" : "Hello World!" } curl -X GET http://localhost:8080/greet/Joe { "message" : "Hello Joe!" } curl -X PUT -H "Content-Type: application/json" -d '{"greeting" : "Hola"}' http://localhost:8

Ecosistema de base de datos Oracle para desarrolladores Java, con Andrés Almiray

Frameworks para crear MS

Algunos frameworks para crear microservicios con Java, Groovy, Scala y Kotlin: https://spring.io/projects/spring-boot https://javalin.io/ http://sparkjava.com/ http://actframework.org/ https://doc.networknt.com/getting-started/light-rest-4j/ http://www.ninjaframework.org/ https://www.playframework.com/ https://resteasy.github.io/ https://restlet.com/open-source/ http://eventuate.io/ https://axoniq.io/ https://ktor.io/ https://vertx.io https://helidon.io/ https://es.quarkus.io/ https://micronaut.io/

Crear un proyecto web con Ninja framework

En este post veremos cómo crear un proyecto web usando el framework Ninja framework , el cual es un framework similar a Spring Boot y que puede ser construido con Maven. Para ello es necesario contar con un Java y Maven actualizados. Crear el proyecto con Maven: mvn archetype: generate - DarchetypeGroupId = org . ninjaframework - DarchetypeArtifactId = ninja - servlet - archetype - simple - DgroupId = com . inforhomex . auditor - DartifactId = auditor - DinteractiveMode = false Esto nos creará la estructura del proyecto. Nos ubicamos en el directorio creado y tecleamos: cd auditor mvn clean install Esto nos bajará las dependencias y construirá el proyecto Para ejecutar: mvn ninja:run Abrimos un navegador en la ruta: http://localhost:8080/ ¡Listo! Hemos creado nuestro primer proyecto usando este framework. Enlaces: https://www.ninjaframework.org

Helidon Project Starter (Youtube)

En este vídeo de Youtube podemos ver cómo crear un proyecto con Helidon.

Creando un proyecto con Javalin framework

En el post anteriot vimos lo que es Javalin framework . Es esta ocasión haremos un ejemplo del clásico Hola, mundo usandolo. Debemos tener Maven instalado en nuestras máquinas. Java versión 19 o más. Crear proyecto: mvn archetype:generate -DgroupId=com.inforhomex.auditor -DartifactId=auditor -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode= false Al terminar nos creará el proyecto Maven con un archivo pom.xml y la carpeta src con una clase llamada App.java Editaremos nuestro pom.xml para que quede como el de abajo: pom.xml <project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" > <modelVersion> 4.0.0 </modelVersion> <groupId> com.inforhomex.auditor </groupId> <artifactId> auditor </artifactId> <packaging> jar &l

Helidon, un framework para microservicios

Helidon es una colección de bibliotecas Java para escribir microservicios que se ejecutan en un núcleo web rápido impulsado por Netty. Es pequeño, rápido y divertido de usar. Helidon viene en dos versiones: Helidon SE y Helidon MP .   Helidon SE   Helidon MP   Le brinda total transparencia y le da el control.   Construido sobre las bibliotecas Helidon SE y proporciona una plataforma familiar para los desarrolladores empresariales de Java.   Modelo de microframework con un tamaño muy pequeño y funcionalidad limitada (~7 MB).   Implementación de MicroPerfil; Tamaño ligeramente mayor que SE (~13 MB).   Estilo funcional, reactivo, sin bloqueo.   Estilo declarativo con inyección de dependencia.   Experiencia de desarrollo transparente "sin magia"; Desarrollo puro de aplicaciones Java sin anotaciones ni inyecciones de dependencia.   Experiencia de desarrollador similar a la de Spring Boot, Jakarta EE y MicroProfile; capas en algunos componentes de Jakar

Javalin, un framework ligero para Java y Kotlin

Javalin es: Un framework lihero y simple. Tiene integrado a Jetty. Puedes usar Java o Kotlin como mejor te parezca. Puede operar en modo asíncrono. Compatible con OpenAPI. Incluye Swagger y ReDoc. Para agregar Javalin Maven <dependency> <groupId> io.javalin </groupId> <artifactId> javalin </artifactId> <version> 5.6.1 </version> </dependency> Gradle implementation("io.javalin:javalin:5.6.1") HolaMundo.java import io.javalin.Javalin ; public class HolaMundo { public static void main ( String [] args ) { var app = Javalin . create ( /*config*/ ) . get ( "/" , ctx -> ctx . result ( "Hola, mundo" )) . start ( 7070 ); } } HolaMundo.kt import io.javalin.Javalin fun main() { val app = Javalin. create ( /*config*/ ) . get ( "/" ) { ctx -> ctx. result ( "

Lo mínimo que debe conocer un Full-Stack Developer | Meetup Agosto 2023

En esta ocasión nuestro amigo José Díaz de Perú, Java Champion y fundador de JoeDayz.pe nos trae este interesante tema: Lo mínimo que debe conocer un Full-Stack Developer Descripción de la charla: Spring Boot en la actualidad es el framework líder para desarrollos en la plataforma Java en muchas compañías a nivel global. Esta presentación tiene como objetivo mostrar qué es lo que se necesita saber como mínimo para sobrevivir en el desarrollo con Spring Boot. En esta presentación veremos los siguientes tópicos, mostraremos código y probaremos en vivo el uso de las librerías o proyectos mencionados: Crear monolitos con Spring Boot (Frontend y backend integrados en un mismo proyecto) Crear módulos frontend y backend separados. Diferencias entre Spring MVC y Spring WebFlux. Proyectos más utilizados cómo: Spring JDBC, Spring Data, Spring Security, Spring HATEOAS, Spring REST Docs, Spring Authorization Server Llamadas entre servicios. Mensajería con RabbitMQ y/o

Introducción a Spring Batch, con Gerardo Lucas - Meetup Presencial CDMX

En esta ocasión, Gerardo (@geezy_lucas) nos dará una Introducción a Spring Batch, en la que nos hablará de su experiencia haciendo batch processing, en qué escenarios lo podemos usar, qué alternativas hay, además de mostrarnos algunos conceptos alrededor de Spring Boot. Gerardo es Software Engineer en Wizeline, ha dado charlas dentro de su empresa y también en algunos otros eventos de tecnología. Enlaces: https://www.javamexico.org/blogs/benek/introduccion_spring_batch_con_gerardo_lucas_meetup_presencial_cdmx

z/OS: Ejecutando programas con JCL

JCL , un lenguaje utilizado para definir trabajos y tareas en z/OS , que especifica cómo se deben ejecutar programas y procesos. Ejemplo simple del uso de JCL (Job Control Language) en z/OS para ejecutar un programa COBOL: Supongamos que tienes un programa COBOL llamado "MIAPLIC" y un dataset de entrada llamado "ENTRADA.DAT" en la biblioteca "USER.DATA" . Crear un miembro de JCL llamado "MIJOB" en una biblioteca adecuada, por ejemplo "USER.JCL" . Agregar el siguiente código JCL al miembro "MIJOB": //MIJOB JOB (ACCT),'MI TRABAJO',CLASS=A,MSGCLASS=H //COBOL EXEC PGM=IGYCRCTL //SYSPRINT DD SYSOUT=* //SYSIN DD DSN=USER.COBOL.SOURCE(MIAPLIC),DISP=SHR //SYSOUT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //ENTRADA DD DSN=USER.DATA.ENTRADA.DAT,DISP=SHR //SALIDA DD SYSOUT=* Este JCL ejecutará el programa COBOL "MIAPLIC" utilizando el compilador IGYCRCTL. Lee los datos de &quo

z/OS, ¿Qué es? y ¿Cuáles son sus herramientas?

  En este post veremos las herramientas de z/OS de IBM. z/OS es un sistema operativo de mainframe desarrollado por IBM.  Es parte de la serie IBM z Systems (anteriormente conocida como System z), que se utiliza en los sistemas mainframe de IBM. z/OS es uno de los sistemas operativos más utilizados en el mundo empresarial para ejecutar aplicaciones críticas y procesar grandes volúmenes de datos. Características clave de z/OS: Escalabilidad : z/OS es conocido por su capacidad para manejar grandes cargas de trabajo y escalabilidad vertical, lo que permite agregar recursos de hardware para satisfacer las demandas de procesamiento. Confiabilidad y disponibilidad : z/OS está diseñado para ofrecer alta disponibilidad y confiabilidad. Incorpora características como redundancia y recuperación ante fallas para garantizar la continuidad de las operaciones. Seguridad : Proporciona una amplia gama de funciones de seguridad, como autenticación, autorización y auditoría, para proteger los datos y

Ejemplo de uso de MySQL: una pequeña bitácora

Tener una bitácora nos ayuda a tener un mejor control de nuestra información: Ver quien hace cambios por “error” Ver la fecha Tipo de operación (inserción, actualización y/o borrado) He aquí los pasos para crear una pequeña bitácora 1. Crear la base de datos: create database prueba1; show databases; use prueba1; 2. Crear una tabla llamadas personas create table personas (id_persona int auto_increment primary key , nombre varchar ( 50 ), apellido_p varchar ( 50 ), apellido_m varchar( 50 ), edad int, peso double , talla double ); 3. Crear un procedimiento almacenado para insertar registros DELIMITER $$ DROP PROCEDURE IF EXISTS `prueba1`.`Insertar` $$ CREATE PROCEDURE ` prueba1 ` . ` Insertar ` ( in nombre varchar ( 50 ), apellido_p varchar ( 50 ), apellido_m varchar( 50 ), edad int, peso double , talla double ) BEGIN INSERT INTO personas (nombre,apellido_p, apellido_m , edad , peso , talla) VA