Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como erlang

RabbitMQ: un agente de mensajería y streaming confiable

RabbitMQ es un message broker ( intermediario de mensajes ) que facilita el intercambio de datos entre productores ( quienes envían mensajes ) y consumidores ( quienes los reciben ). Los mensajes se almacenan en colas hasta que son procesados, garantizando una comunicación asíncrona, confiable y escalable. funciona como un middleware de mensajería. Implementa el estándar Advanced Message Queuing Protocol ( AMQP ). El servidor RabbitMQ está escrito en Erlang y utiliza el framework Open Telecom Platform ( OTP ) para construir sus capacidades de ejecución distribuida y conmutación ante errores. Además es multiplataforma, compatible con lenguajes como Java, Python, Go, etc. Soporta varios protocolos además de AMQP, como MQTT y STOMP. Puede manejar grandes volúmenes de mensajes y configurarse para alta disponibilidad. Incluye una consola web para monitorear y gestionar colas. RabbitMQ se utiliza principalmente para: Desacoplar sistemas: Permite que diferentes apli...

Haskell for Todos 6

Existe un libro sobre Haskell que se puede leer en la web llamado: "Real World Haskell" Escrito por Bryan O'Sullivan, Don Stewart, y John Goerzen. Para quienes gusten de querer aprenderlo (y usarlo en proyectos de la vida real). Dejamos el link al libro en los enlaces. Enlaces: https://book.realworldhaskell.org/read/

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...

Learning Functional Programming | Erlang Solutions Webinar (vídeo en Inglés)

Vídeo: "Aprendiendo Programación Funcional". Descripción: A Erlang Solutions se une el respetado autor, investigador y profesor Simon Thompson, profesor de Lógica y Computación en la Universidad de Kent. Aquí comparte información valiosa sobre cómo aprender programación funcional, que será adecuada tanto para principiantes como para programadores experimentados. Nota: Todos los derechos a quien corresponda

Haskell for Todos 5

Con Haskell se pueden crear métodos (y tipos) de la siguiente manera: resta :: Int -> Int -> Int doble :: Int -> Int triple :: Int -> Int incremento :: Int -> Int cuadrado :: Int -> Int mayorATres :: Int -> Bool mayorACinco :: Int -> Bool obtenerMoneda :: [ String ] -> String Donde: Definimos el nombre de la función Definimos los parámetros de entrada y su tipo (Int, String, Bool, etc.) Definimos la salida y su tipo (Int, String, Bool, etc.) Ejemplo 1. Crear un programa que sume dos números. suma.hs suma :: Int -> Int -> Int suma x y = x + y {- > suma 4 3 7 > suma 2 1 3 -} Explicación: El método suma recibe dos parámetros x,y para luego hacer la suma de ambos. suma :: Int -> Int -> Int {- El método suma recibe dos parámetros x,y para luego hacer la suma de ambos -} Ejemplo 2. Crear un programa que valide si un número es...

Por qué deberías aprender Elixir y también usarlo en producción (vídeo)

En este vídeo del canal de Youtube "Rafa Páez - Más allá del código" nos hablan de las ventajas de usar Elixir sobre otros lenguajes de programación. Muy recomendable para conocer las bondades del lenguaje. Checa los enlaces de abajo para conocer más. Enlaces: https://www.youtube.com/channel/UCGSxspQQauJQP0TaTFKx7aw https://codemonkeyjunior.blogspot.com/search?q=elixir https://codemonkeyjunior.blogspot.com/search?q=erlang https://emanuelpeg.blogspot.com/search?q=elixir https://emanuelpeg.blogspot.com/search?q=erlang

Haskell for Todos 3

  Continuamos con el tour de Haskell, en esta ocasión veremos como crear funciones y los tipos de datos que permite manejar. Para crear un función es importante conocer la síntaxis. Sintaxis básica para crear una función: nombreFunc :: Tipo -> Tipo -> Tipo En lenguajes como Javascript sería algo como esto: function nombreFunc(a, b){ return a + b; } // o así : var nombreFunc = (a, b) => a+b; Ejemplo 1 . Crear una función con dos parámetros (x, y). Si x es 0, el resultado será el parámetro y. Si y es cero, el resultado será el parámetro x. Si ambos parámetros son distintos de 0,entonces el resultado será la suma de x+y. RESULT = 0 X = 1 Y = 0 IF X == 0 THEN RESULT = Y END IF IF Y == 0 THEN RESULT = X END IF IF X != 0 AND Y != 0 THEN RESULT = X + Y END IF En este ejemplo, el resultado será 1 (el valor de X). Si trasladamos este pseudo código a Haskell obtendremos: A. Cuando y es igual a 0. {-...

Un vistazo a Ocaml

  OCaml (Objective Caml) es un lenguaje de programación de propósito general, de alto nivel, multiparadigma, que combina características de programación funcional, imperativa y orientada a objetos. Fue desarrollado en el INRIA (Institut National de Recherche en Informatique et en Automatique) en Francia. Características Principales: Programación Funcional: OCaml se destaca por sus potentes características funcionales, como funciones de primera clase, funciones de orden superior, inmutabilidad por defecto, y tipos algebraicos (suma y productos), lo que facilita la construcción de programas modulares y reutilizables. Sistema de Tipos Estático y Fuerte: OCaml cuenta con un sistema de tipos estático y fuerte que detecta errores en tiempo de compilación, proporcionando una mayor seguridad y confiabilidad en el código. El sistema de tipos incluye inferencia de tipos, lo que significa que el compilador puede deducir automáticamente los tipos de la mayoría de las exp...

Haskell for Todos 2

  Algunos ejercicios hechos en Haskell . Enlaces: https://emanuelpeg.blogspot.com/search?q=haskell https://alquimistadecodigo.blogspot.com/search?q=haskell http://learn.hfm.io/