Ir al contenido principal

Entradas

Un vistazo a AWK

AWK es un lenguaje de programación diseñado para procesar datos basados en texto, ya sean ficheros o flujos de datos. El nombre AWK deriva de las iniciales de los apellidos de sus autores: Alfred Aho, Peter Weinberger, y Brian Kernighan. awk, cuando está escrito todo en minúsculas, hace referencia al programa de Unix o Plan 9 que interpreta programas escritos en el lenguaje de programación AWK. Un programa en AWK tiene la extensión *.awk Para ejecutar debemos abrir una terminal y teclear: 1 awk - f . / holamundo.awk Hola mundo en AWK Desde terminal 1 2 # Hola mundo awk 'BEGIN {print "Hola, mundo en AWK"; exit;}' Con un programa (*.awk) holamundo.awk 1 2 3 4 5 6 7 8 9 #!/usr/bin/awk -f # Ejecutar: # awk -f ./holamundo.awk BEGIN{ print "Hola, mundo!!" exit ; } ¿Qué se puede hacer con AWK? Leer el contenido de un archivo 1 2 3 4 5 6 7 8 # Mostrar contenido de un archivo awk '{print $0}' libros.txt awk ...

¿Qué es GraphQL?

Un vistazo a Quarkus el Supersonic Subatomic Java

¿Qué es Quarkus? Es básicamente: Un Framework para crear microservicios. Un Kubernetes nativo. Un "Spring Boot mejorado". ¿Cuáles son sus características? Está optimizado para el tiempo de ejecución y el mejoramiento en el consumo de memoria. Enfocado en el desarrollador. Valores predeterminados razonables con anulaciones. Herramientas ricas y "código vivo"(podrá añadir dependencias y cambios en el código en tiempo de ejecución). Pero, ¿Cuál es la diferencia entre una Arquitectura monolítica y los famosos Microservicios? Arquitectura monolítica Procesos relacionados que se ejecutan como un solo servicio. Código acoplado. Se tiene la lógica del negocio en un solo lugar. Microservicios Componentes independientes que ejecutan cada proceso como un servicio. Código desacoplado. Se comunican a través de una API. ¿Qué es un MicroProfile? Es una especificación para la creación e integración de microservicios y su enfoque engloba: Coherencia y...

Go: declarando funciones(4)

Continuamos con la serie de post sobre Go(lang) y la declaración de funciones . En ésta ocasión haremos una serie de ejemplos con funciones. Pero antes, ¿Cuál es la diferencia entre funciones y procedimientos? Un procedimiento no devolverá ningún valor. Una función deberá devolver al menos un valor. Go(lang) nos permitirá no solo devolver un valor en una función, sino más de dos valores. func sumaResta(x, y int32 ) ( int32 , int32 ) { return (x + y), (x - y) } Se puede observar que los valores de regreso son el resultado de la suma y resta. // Asignamos los valores a las variables opr1 y opr2 var opr1, opr2 = sumaResta( 3 , 2 ) Mostramos los resultados en pantalla: // Imprimimos en pantalla los resultados fmt.Printf( "Suma = %d , Resta = %d\n" , opr1, opr2) Si definimos una función que devuelva más de dos valores: func sumaRestaMultiplica(x, y int32 ) ( int32 , int32 , int32 ) { return (x + y), (x - y), (x * y) } Como se puede obser...

Rust: un vistazo más (2)

Rust al igual que muchos lenguajes de programación "modernos" promete ser la panacea universal para aliviar los problemas del mundo. Un C mejorado, eficiente y con capacidades que los demás lenguajes solo lograrían en sueños. En este post continuaremos con algunos ejemplos de código en este lenguaje. Como recordatorio: Compilamos: rustc programa.rs Ejecutamos: ./programa Ejemplo 1 . Realizar un aumento a un monto dado de acuerdo a las siguientes condiciones: Si el monto original esta entre 25000 y 30000 , aumento del 50% Si el monto original esta entre 30001 y 40000 , aumento del 35% Si el monto original esta entre 40001 y 50000 , aumento del 25% Otro caso, aumento del 15% aumento.rs Empezamos con la función main del programa donde invocaremos la función aumento. /** En este programa se validará: edad y monto. Si cumple con las condiciones, se hará un aumento al monto original. */ fn main(){ aumento(); } Definimos la función au...

Clojure for Beginners(2)

En esta serie de post sobre Clojure veremos ejemplos y más ejemplos. Crear una función que determine si un número es mayor a 10. Crear una función que convierta una variable tipo String a Integer. Para el primer ejercicio definimos la función que valide si un número es mayor a 10. ( defn esMayor10? "Funcion que devuelve un valor booleano" [x] ( if (> x 10 ) (boolean true)) ) Como podemos ver: ( comment IF X > 10 THEN RETURN TRUE ) ;; En Clojure todo es paréntesis ( if (> x 10 ) (boolean true) ) ;; El operador está al principio Al definir una función, se puede agregar un comentario en la cabecera. El operador de validación está antes de la declaracion de las variables. Invocando función: ( if ( esMayor10? 22 ) (println "22 es mayor a 10" ) ) ( def entero "Definimos una variable Integer" 33 ) ( if ( esMayor10? entero) (println (str entero ...

Clojure for Beginners (1)

  En post anteriores hemos visto algunos ejemplos sobre Clojure. Para continuar veremos más ejemplos. Recordar que Clojure es similar a LISP, por lo que el uso de paréntesis es común. Para definir variables en Clojure: ;; Variables, Long, Double, String, Character, Boolean ( def strCadena "Definimos una variable String" "Clojure" ) ( def numeroInt "Definimos una variable Integer" 45 ) ( def numeroFloat "Definimos una variable Float" 2.4 ) ( def numeroDouble "Definimos una variable Double" 300.21 ) ( def carChar "Definimos una variable Character" \u 0032 ) ( def booleano "Definimos una variable Boolean" true) Sintaxis: ( def nombreVar "Comentario" Valor) Imprimir en pantalla: (println "\t [Programando en" strCadena "]" ) (println "Entero: " numeroInt) (println "Flotante: " numeroFloat) (println "Real: " numeroDouble) (println...