Instalar Ruby 3 en macOS

Instalar Ruby 3 en macOS

Llevó un tiempo en un proyecto que utiliza la version 3 de ruby, y no había tenido mayor dificultad, hasta que me toco instalarlo en mi Macbook Pro con M2. Estuve intentando con homebrew, utilizando RVM, pero generaba un error de OPENSSL, así que me decanté por utilizar rbenv.

Para instalar rbenv, se debe ejecutar el siguiente comando:

brew install rbenv ruby-build

Luego de instalar rbenv, se debe agregar la siguiente linea al archivo ~/.zshrc:

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

Luego de agregar la linea al archivo ~/.zshrc, se debe ejecutar el siguiente comando:

source ~/.zshrc

Luego de ejecutar el comando, se debe instalar la version de ruby que se desea, en este caso la version 3.0.6:

rbenv install 3.0.6

Luego de instalar la version de ruby, se debe establecer la version de ruby como la version global:

rbenv global 3.0.6

Luego de establecer la version de ruby como la version global, se debe verificar la version de ruby:

ruby -v

Y listo! Ya se tiene instalado ruby 3 en macOS.

Configurar php-mcrypt on macOS usando MAMP

Configurar php-mcrypt on macOS, usando MAMP.

Mcrypt es una biblioteca de cifrado que se usa en PHP. Que si bien su uso ya está obsoleto, aún hay aplicaciones que lo requieren. Es por eso si lo necesitas, aquí te dejo los pasos para instalarlo en macOS.

Para configurar php-mcrypt en macOS, se debe seguir los siguientes pasos:

Instalación usando Homebrew y PECL.

# Instalación con PHP nativo de macOS
brew install mcrypt
pecl install mcrypt-1.0.3

Para usar PECL en una version especifica de PHP de MAMP, se debe usar el siguiente comando:

# Instalación con version especifica de PHP de MAMP, en este caso la version 7.4.33
/Applications/MAMP/bin/php/php7.4.33/bin/pecl install mcrypt-1.0.3

Luego de instalar mcrypt, se debe agregar la extension en el archivo php.ini de la version de PHP que se esta usando.

# Abrir el archivo php.ini
/Applications/MAMP/bin/php/php7.4.33/conf/php.ini
# Agregar la siguiente linea al final del archivo
extension=mcrypt.so

Luego de agregar la extension, se debe reiniciar el servidor de MAMP.

# Reiniciar el servidor de MAMP
/Applications/MAMP/bin/start.sh

Flutter rounded corners

Esquinas redondeadas en Flutter en imagen

Para redondear las esquinas de una imagen en Flutter, se puede usar el widget ClipRRect que recibe como hijo un Image.network y como parámetro borderRadius recibe un BorderRadius.circular(20).

ClipRRect(
    borderRadius: BorderRadius.circular(8.0),
    child: Image.network(
        subject['images']['large'],
        height: 150.0,
        width: 100.0,
    ),
)

Tambien se pueden hacer con el Widget CircleAvatar.

//Usando CircleAvatar
CircleAvatar(
    radius: 50.0,
    backgroundImage: NetworkImage(
        subject['images']['large'],
    ),
)

//Usando ClipRRect
ClipOval(
  child: SizedBox.fromSize(
    size: Size.fromRadius(48), // Image radius
    child: Image.network('imageUrl', fit: BoxFit.cover),
  ),
)

//Usando border 
CircleAvatar(
  radius: 56,
  backgroundColor: Colors.red,
  child: Padding(
    padding: const EdgeInsets.all(8), // Border radius
    child: ClipOval(child: Image.network('imageUrl')),
  ),
)

Container(
  padding: EdgeInsets.all(8), // Border width
  decoration: BoxDecoration(color: Colors.red, shape: BoxShape.circle),
  child: ClipOval(
    child: SizedBox.fromSize(
      size: Size.fromRadius(48), // Image radius
      child: Image.network('imageUrl', fit: BoxFit.cover),
    ),
  ),
)

Esquinas redondeadas.

ClipRRect(
  borderRadius: BorderRadius.circular(20), // Image border
  child: SizedBox.fromSize(
    size: Size.fromRadius(48), // Image radius
    child: Image.network('imageUrl', fit: BoxFit.cover),
  ),
)

//Con border
final borderRadius = BorderRadius.circular(20); // Image border

Container(
  padding: EdgeInsets.all(8), // Border width
  decoration: BoxDecoration(color: Colors.red, borderRadius: borderRadius),
  child: ClipRRect(
    borderRadius: borderRadius,
    child: SizedBox.fromSize(
      size: Size.fromRadius(48), // Image radius
      child: Image.network('imageUrl', fit: BoxFit.cover),
    ),
  ),
)

La ventaja de priorizar un SDK antes de desarrollar.

Cuando se trata de construir aplicaciones o software, adoptar un enfoque centrado en un Software Development Kit (SDK) desde el principio puede ser la clave para desbloquear un camino de desarrollo más eficiente y exitoso. Un SDK no solo es una herramienta poderosa, sino que también puede ayudar a los desarrolladores a crear aplicaciones más rápido y con menos errores.

placeholder

SDK antes que el desarrollo

El poder iniciar primero programando el SDK, nos permite tener una visión más clara de lo que se quiere lograr, y de cómo se quiere lograr. Esto nos permite tener una mejor idea de los requerimientos de la aplicación, y de cómo se va a comportar.

Ventajas
  • Eficiencia y Consistencia: Al basar tu desarrollo en un SDK, te beneficias de una estructura predefinida y un conjunto de herramientas coherentes. Esto acelera el proceso de creación, ya que gran parte de la funcionalidad básica ya está disponible y probada. En lugar de comenzar desde cero en cada proyecto, puedes aprovechar la base del SDK, lo que te permite concentrarte en las características únicas y diferenciadoras de tu aplicación.

  • Compatibilidad y Escalabilidad: Un buen SDK está diseñado para ser compatible con múltiples plataformas y sistemas. Esto significa que tu software tendrá una mayor probabilidad de funcionar sin problemas en diferentes entornos, lo que reduce la necesidad de reescribir o ajustar el código para cada plataforma. Además, a medida que tu proyecto crezca, la estructura del SDK facilita la expansión y la incorporación de nuevas funcionalidades de manera más organizada.

  • Mejores Prácticas y Actualizaciones: Los SDK a menudo incorporan las mejores prácticas de desarrollo y se actualizan regularmente para adaptarse a las tendencias tecnológicas cambiantes. Al seguir estas prácticas y mantener el SDK actualizado, te aseguras de que tu software esté alineado con los estándares actuales y sea más seguro contra vulnerabilidades. Además, las actualizaciones del SDK pueden agregar nuevas características y mejoras, lo que te permite mantener tu aplicación fresca y relevante.

  • Soporte y Comunidad: Muchos SDK tienen comunidades activas de desarrolladores que comparten conocimientos, resuelven problemas y ofrecen soluciones. Esto crea un entorno colaborativo donde puedes obtener ayuda y aprender de otros expertos en el uso del mismo SDK. Además, el soporte técnico proporcionado por el equipo detrás del SDK puede ser inestimable para superar obstáculos y optimizar tu proceso de desarrollo.

En última instancia, desarrollar con un enfoque en un SDK desde el principio es una estrategia inteligente para impulsar la eficiencia, la calidad y la innovación en tus proyectos. Al aprovechar las ventajas de un SDK, estás posicionando tu software en una base sólida para un crecimiento exitoso y una experiencia del usuario excepcional.

Iniciando

Bueno, aquí estamos otra vez.

Que es esto?

Recidí reiniciar el blog por varias razones:

  • Es un buen archivo, para poner código, soluciones a problemas y tal vez, para que alguien más lo use.
  • Es un buen ejercicio de escritura, que me ayuda a ordenar mis ideas y a mejorar mi redacción.
  • Es un buen ejercicio de programación, para aprender nuevas tecnologías y mejorar las que ya conozco.
  • Es un genial debraigo, para desahogarme, para compartir mis ideas y para expresarme.
  • Se va a ver rudísimo un link en mis cuentas de redes sociales que no esté roto xD.

Here we go again

De tanto en tanto, andaré subiendo contenido, si llegaste aqúi de alguna forma, bienvenido, si le caiste por las redes sociales, mejor vuelve a las redes, aquí casi no habrá memes, creo y si eres el gobierno, pásele oficial, no tengo nada raro…