Archivo: Ruby | Picando Código - Part 2

Enlaces Ruby – Marzo 2021

1 de abril de 2021
Ruby

Colección de los enlaces interesantes sobre Ruby que encontré durante el mes de marzo: Noticias sobre el lenguaje y programación Ruby general: 💎 Se publicó una nueva versión de JRuby 9.2.17.0. Esta agrega características de compatibilidad, rendimiento, mejoras a la biblioteca estándar y más. 💎 El 31 de marzo terminó el soporte para Ruby 2.5, así que hay que actualizarse. Podemos seguir usando 2.6 hasta el 31 de marzo de 2022, así como 2.7 y 3.0. 💎 En RSpec fundamentals: a basic glossary, podemos encontrar una guía práctica de referencia para métodos de RSpec. También puede servir como introducción rápida […]

Nuevo comando ls para IRB en Ruby 3

30 de marzo de 2021
Comando ls en Ruby IRB

Recientemente se agregó el comando ls al código fuente de Ruby. El comando ls está inspirado en la misma funcionalidad al estilo Pry, una alternativa a IRB con algunas capacidades extra. El comando nos permite inspeccionar constantes, métodos y variables de self o de un objeto escribiendo muy poco. ¡Es bastante práctico! Para probarlo tenemos que usar la versión de desarrollo de Ruby, usando RVM tenemos que instalar ruby-head. Un ejemplo usando el comando en la gema ci_uy: head :001 > ls CiUY CiUY.methods: get_random_ci get_validation_digit random transform validate validate_ci validation_digit => nilhead :001 > ls CiUY CiUY.methods: get_random_ci get_validation_digit […]

Enlaces sobre Ruby Febrero 2021

1 de marzo de 2021
Ruby

A raíz de la saga de posts 7 días en el Picandoverso, he ido recolectando y publicando varios enlaces sobre Ruby y cosas relacionadas al lenguaje de programación diseñado para la felicidad de quienes lo programan. Acá están compilados los enlaces Ruby de esos posts y alguna cosa más 🙌🏻 RubyGalaxy es un meetup online para entusiastas de Ruby de todo el mundo. Estuve en el meetup del jueves pasado y estuvo muy bueno, recomiendo unirse y seguirlos en Twitch. También pueden seguir @TheRubyGalaxy en Twitter. AppSignal publicó un artículo sobre tipado estático en Ruby 3. Explica las diferencias entre […]

Mini pique – Rake

21 de enero de 2021
Mini piques

En rake: Cuando usamos rake -T para listar las tareas rake, se muestra sólo la primera oración de la descripción de cada tarea. Pero usando rake -D podemos ver la descripción completa. Error happened.

Mini pique – Ruby Enumerable#tally

10 de diciembre de 2020
Mini piques

¡Ruby es genial! 😁 Esta función está disponible a partir de Ruby 2.7.0: Enumerable#tally – Hace la cuenta de una colección, e.g., cuenta las ocurrencias de cada elemento. Devuelve un hash con los elementos de la colección como llaves y la cuenta correspondiente como valores: > coleccion = [’verde’, ‘rojo’, ‘azul’, ‘verde’, ‘violeta’, ‘amarillo’, ‘verde’, ‘rojo’, ‘verde’] => ["verde", "rojo", "azul", "verde", "violeta", "amarillo", "verde", "rojo", "verde"] > coleccion.tally => {"verde"=>4, "rojo"=>2, "azul"=>1, "violeta"=>1, "amarillo"=>1}> coleccion = [‘verde’, ‘rojo’, ‘azul’, ‘verde’, ‘violeta’, ‘amarillo’, ‘verde’, ‘rojo’, ‘verde’] => ["verde", "rojo", "azul", "verde", "violeta", "amarillo", "verde", "rojo", "verde"] > coleccion.tally => {"verde"=>4, […]

Mini pique – Ruby 3: Hash#except

3 de diciembre de 2020
Mini piques

Algo nuevo que se viene en Ruby 3, Hash#except, un método que nos devuelve un hash nuevo con todas las llaves menos las que pasamos como parámetro: head :001 > data = {name: "Fernando", age: 35, height: 175} => {:name=>"Fernando", :age=>35, :height=>175} head :002 > data.except(:age) => {:name=>"Fernando", :height=>175}head :001 > data = {name: "Fernando", age: 35, height: 175} => {:name=>"Fernando", :age=>35, :height=>175} head :002 > data.except(:age) => {:name=>"Fernando", :height=>175} Fuente. Error happened.

Nuevas versiones de Ruby y fin de soporte para Ruby 2.4

1 de abril de 2020
Ruby

Ayer 31 de marzo se publicaron nuevas versiones con parches de seguridad para Ruby 2.4, 2.5, 2.6 y 2.7. Las versiones de Ruby 2.5.8, 2.6.6 y 2.7.1 cuentan con parches de seguridad para dos vulnerabilidades: CVE-2020-16255: Unsafe Object Creation Vulnerability in JSON (Additional fix) Es un arreglo adicional a una vulnerabilidad de creación no segura de objetos en JSON. La gema json incluida con Ruby puede ser forzada a crear objetos arbitrarios en un sistema. El mismo problema se había corregido en CVE-2013-0269, pero estaba incompleto. Ese arreglo corregía JSON.parse(data_del_usuario), pero no otros tipos de procesamiento de JSON como JSON(data_del_usuario) […]

ghpreview – Gema Ruby para previsualizar archivos Markdown con el estilo de GitHub

28 de octubre de 2019
Ruby

La gema ghpreview es una herramienta que te permite previsualizar un archivo Markdown localmente con el estilo de GitHub: Cuando escribes el README para tu proyecto, quieres poder previsualizar el Markdown localmente antes de madnarlo a GitHub. ghpreview es una utilidad de línea de comando que abre tu archivo Markdown en un navegador web. Usa el estilo de GitHub y (opcionalmente) actualiza automáticamente cada vez que guardes el archivo fuente. Corría el año 2012 y estaba trabajando en Neo (antes conocida como “New Context”), una empresa multinacional que había adquirido Cubox, empresa uruguaya donde estaba trabajando. Neo también había adquirido […]

Gamesdb – Gema Ruby para la API de TheGamesDB

2 de septiembre de 2019
GamesDB

El sábado pasado pensaba irme de aventuras por algún castillo de Escocia. Pero me desperté con un dolor de garganta tremendo que se transformó en resfrío y no me dejó salir todo el fin de semana. Qué mejor que ponerme a programar y actualizar una de mis gemas Ruby… TheGamesDB es una base de datos online de videojuegos. El sitio sirve como servicio frontend que se enlaza a una base de datos de metadata de videojuegos y arte de alta calidad. La base de datos puede ser usada en varias aplicaciones a través de su API (PC’s como centro multimedia, […]

Crystal: Lenguaje de programación inspirado en Ruby

13 de marzo de 2019
Lenguaje de programación Crystal

Crystal es un lenguaje de programación de propósito general orientado a objetos. Su sintaxis está inspirada en Ruby pero no busca ser compatible. Surgió del amor a la eficiencia para escribir código de Ruby, y el amor a la eficiencia para ejecutar código C. Busca ser lo mejor de ambos mundos. Entre las diferencias fundamentales con Ruby se encuentran: Es un lenguaje compilado, el código es convertido a código de máquina nativo a través de LLVM. Ruby, por otro lado, es un lenguaje interpretado. Tiene un sistema de tipado estático, por lo que la comprobación de tipos se realiza durante […]

Awesome Rubies – Una colección de Rubies increíbles

12 de marzo de 2019
Ruby

Awesome Rubies es una lista de “Rubys” (¿”Rubíes”?), o distintas implementaciones del lenguaje e información al respecto. La más conocida es MRI (Matz’s Ruby Interpreter), la implementación “de referencia” y probablemente la más usada. Actualmente se llama CRuby porque es un esfuerzo colaborativo y no “de Matz”, y existen además otras implementaciones como Rubinius, JRuby: Implementación de Ruby en la JVM y unas cuantas más. Si has estado siguiendo Ruby, o has ido a conferencias recientemente, probablemente ya sepas de Ruby 3×3. Mi primer encuentro con el concepto “Ruby 3×3” fue en Euruko 2017. donde Matz abrió la conferencia con […]

6ta edición de Rails Girls en Argentina – 22 y 23 de marzo en Buenos Aires

7 de marzo de 2019
Rails Girls Argentina 2019

El 22 y 23 de Marzo se realiza una nueva edición de Rails Girls Argentina en el coworking AreaTres en Buenos Aires. El evento consta de un taller gratuito de fin de semana donde aprenderás sobre aplicaciones Web y programación con Ruby on Rails. ¡No es necesario tener conocimientos previos en programación! Más sobre Rails Girls: Rails Girls propone herramientas para que chicas y mujeres construyan sus sueños e ideas con código. Aprenderás sobre diseño, prototipado y programación con la ayuda de nuestros coaches. Podés aplicar para participar en este formulario. También te podés sumar como Rails Coach: Como Rails […]

Rails Girls Argentina: Próximo evento y llamado para sumarse como Rails coach

5 de marzo de 2018
Rails Girls

Los días 16 y 17 de marzo de 2018 se realiza un nuevo taller de iniciación a la programación de la mano de Rails Girls en Buenos Aires. Rails Girls propone herramientas para que chicas y mujeres construyan sus sueños e ideas con código. Aprenderás sobre diseño, prototipado y programación con la ayuda de nuestros coaches. Llamado para Rails Coach: Querés ser el mentor que siempre quisiste tener cuando arrancaste? Sumate ahora al equipazo de coaches de Rails o Escribinos! El taller de iniciación a la programación se realizará en la oficinas de Google Argentina, los días 16 de marzo […]

Mi entorno de desarollo con Emacs

16 de julio de 2015
Emacs conf

Como comentaba en el post anterior sobre Emacs, arranqué mi archivo de configuración de Emacs de cero. Antes que nada comentar que si les interesa verlo, pueden encontrar mi configuración de Emacs en GitHub. Tengo organizado el proyecto con un directorio .emacs.d y adentro el archivo init.el que es el iniciador de todo el resto. Los paquetes y demás archivos están en un directorio packages. Ahí tengo por ejemplo programming.el donde guardo todas las configuraciones y personalizaciones de modos relacionados a programación. También tengo el archivo key-bindings.el donde seteo alias (ejemplo que ‘ll’ sea un alias de ‘goto-line’) y combinaciones […]

Fizz Buzz y Pattern Matching en Elixir

4 de mayo de 2015
Programming Elixir

Fizz Buzz es un “ejercicio de entrevista de trabajo” para programadores: Escribir un programa que muestra los números del 1 al 100. Pero para múltiplos de tres, mostrar “Fizz” en vez del número y para múltiplos de cinco mostrar “Buzz”. Para números que son múltiplos de ambos mostrar “FizzBuzz”. Imran Ghory empezó a usarlo para filtrar programadores que no supieran escribir código. Aparentemente hay una cantidad alarmante de desarrolladores y personas recibidas de Ciencias de la Computación que no pueden resolver este ejercicio. Jeff Atwood escribió también sobre el tema en su blog. Generalmente no estoy muy de acuerdo con […]

Toasty!