Cel: +52 (55) 3040-5403 Correo: mariana.velazquez@recluit.com
post-tittle

¿Qué habilidades se requieren para empezar con Elixir?

Por: Reclu IT

9 de marzo de 2023

Elixir es un lenguaje que tiene grandes ventajas para el desarrollo, además de que es fácil de aprender y escribir, así que para adentrarse a éste se requieren ciertas habilidades base para adentrarse a su aprendizaje.

El poder de Elixir es considerable, ya que es un lenguaje funcional compilado para Erlang, por lo que obtienes una simultaneidad y tiempo de actividad asombrosos. Un núcleo estrecho o herramientas y utilidades potentes abren un mundo de posibilidades y gestionan la complejidad como muy pocos idiomas pueden hacerlo.

Algunas de las habilidades para iniciar las comparte Michal Buszkiewicz, CEO de Curiosum empresa de desarrollo:

  • Sentido de concurrencia y escala

¿Qué es la concurrencia? Imagina la computación como una carrera, que se gana sólo cuando todos los competidores terminan la pista. En la mayoría de los casos, los corredores (procesos) están atados con una cuerda; cuando uno falla, el resto no puede moverse. ¿Qué pasa si desatas a los corredores y los dejas terminar en el orden que quieran, sin afectar el resultado final?

Elixir tiene muchas aplicaciones, pero donde realmente se descubre su poder es si necesitas hacer muchos procesos al mismo tiempo. A diferencia de las formas más entrelazadas en que funcionan otras tecnologías, Elixir puede examinar varios procesos que fallan al mismo tiempo, ya que probablemente docenas más se ejecutarán de forma independiente y sin fallas en segundo plano.

Sin este acoplamiento, un sistema Elixir puede tener algunas cualidades de autorreparación, sus procesos son muy ligeros y, por lo tanto, se pueden ejecutar en todas las CPU al mismo tiempo. En este sentido, Elixir es como Erlang, que se describe como «escribe una vez, corre para siempre».

  • HTTPS y cuestiones del servidor

Gran parte de tu trabajo futuro en Elixir estará relacionado con aplicaciones web. Por lo tanto, de manera más general, se regirá en algún nivel por el protocolo HTTP y la infraestructura del servidor.

Elixir está armado con algunos marcos web buenos; algunos son Phoenix y Absinthe, por nombrar los más populares. Pero no se puede hacer mucho en ellos sin al menos un conocimiento básico de cómo funciona la Web.

Primero, aprende el ciclo básico de comunicación solicitud-respuesta. No sólo debes conocer los códigos de estado HTTP, sino también qué hacer cuando se produzcan. Una distinción útil es la que existe entre los métodos POST y PUT. A continuación, perfecciona tu conocimiento de los encabezados HTTP, cortesía de Mozilla. Un buen toque final para este inventario inicial sería algo de conocimiento de Web Socket.

Si tienes la mayor parte de lo anterior cubierto y desesa desarrollar para futuros proyectos, aprende algunas prácticas y filosofía de DevOps. Hay tutoriales para principiantes disponibles en youtube, con docenas de cursos gratuitos o baratos disponibles en Udemy o Coursera. Esto será útil tanto para el trabajo de Elixir como para el servidor.

  • Bases de datos

Con las bases de datos, una implementación típica de Ruby hará muchas cosas para ti, como la creación de la base de datos inicial y la siembra. En Elixir, sin embargo, parte de eso depende de ti.

Después del obstáculo inicial, a Elixir le va muy bien. Su contenedor de base de datos (Ecto) maneja tanto SQL como NoSQL. Es incluso más que eso, ya que también es una consulta integrada en el lenguaje.

Dado que pasará un tiempo considerable desarrollando aplicaciones con PostgreSQL o algunas bases de datos SQL similares para el almacenamiento de datos en su proyecto, saber cómo funciona Elixir con ellas es algo útil para actualizar durante el proceso de contratación.

  • Procesamiento de datos al estilo de canalizaciones

Como Elixir es un lenguaje funcional, promueve en gran medida el procesamiento de datos que pueden describirse como conductos modelados como composiciones de funciones que transforman estructuras de datos inmutables. Si encuentra cómodo este estilo de procesamiento de datos, se sentirá como en casa. Una vez que seas más avanzado, las bibliotecas como GenStage o Flow te harán sentir como en casa aplicándolas en un entorno distribuido, que es una de las principales fortalezas de Elixir.

Hay estudios de casos y talleres interesantes para escuchar y observar sobre este tema. Para obtener una fuente autorizada, no te pierdas las grabaciones de ElixirConf.

  • Alimenta tu curiosidad

Deberás convertirte en una persona que, al ver un botón o dial desconocido, lo presionarás o experimentarás. Deber convertirte en alguien que desee profundizar en las cosas y es lo suficientemente persistente como para buscar sus propias soluciones, donde puede que aún no haya ninguna.

La idea detrás de Elixir es que tiene un núcleo poderoso, que debe complementarse con bibliotecas que contienen las funcionalidades «extra». Esta filosofía también impregna a los propios creadores de bibliotecas.

Entonces, cuando intentes encontrar una biblioteca muy específica para una tarea en particular, esto no es Java o Ruby, donde un viaje corto a través de GitHub te dará soluciones propuestas. En algunos casos, prepárate para escribir cosas por tu cuenta. Elixir es excepcionalmente extensible. Su núcleo y el poder subyacente de BEAM VM están destinados a ser aplicables a un conjunto muy amplio de casos de uso.

Las principales herramientas para ampliar lo que puede hacer Elixir son macros y sygils, y recomiendo familiarizarse con al menos esos dos.

imagen: @diana.grytsku

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

Campos obligatorios(*)
post-tittle

¿Qué habilidades se requieren para empezar con Elixir?

Por: Reclu IT

9 de marzo de 2023

Elixir es un lenguaje que tiene grandes ventajas para el desarrollo, además de que es fácil de aprender y escribir, así que para adentrarse a éste se requieren ciertas habilidades base para adentrarse a su aprendizaje.

El poder de Elixir es considerable, ya que es un lenguaje funcional compilado para Erlang, por lo que obtienes una simultaneidad y tiempo de actividad asombrosos. Un núcleo estrecho o herramientas y utilidades potentes abren un mundo de posibilidades y gestionan la complejidad como muy pocos idiomas pueden hacerlo.

Algunas de las habilidades para iniciar las comparte Michal Buszkiewicz, CEO de Curiosum empresa de desarrollo:

  • Sentido de concurrencia y escala

¿Qué es la concurrencia? Imagina la computación como una carrera, que se gana sólo cuando todos los competidores terminan la pista. En la mayoría de los casos, los corredores (procesos) están atados con una cuerda; cuando uno falla, el resto no puede moverse. ¿Qué pasa si desatas a los corredores y los dejas terminar en el orden que quieran, sin afectar el resultado final?

Elixir tiene muchas aplicaciones, pero donde realmente se descubre su poder es si necesitas hacer muchos procesos al mismo tiempo. A diferencia de las formas más entrelazadas en que funcionan otras tecnologías, Elixir puede examinar varios procesos que fallan al mismo tiempo, ya que probablemente docenas más se ejecutarán de forma independiente y sin fallas en segundo plano.

Sin este acoplamiento, un sistema Elixir puede tener algunas cualidades de autorreparación, sus procesos son muy ligeros y, por lo tanto, se pueden ejecutar en todas las CPU al mismo tiempo. En este sentido, Elixir es como Erlang, que se describe como «escribe una vez, corre para siempre».

  • HTTPS y cuestiones del servidor

Gran parte de tu trabajo futuro en Elixir estará relacionado con aplicaciones web. Por lo tanto, de manera más general, se regirá en algún nivel por el protocolo HTTP y la infraestructura del servidor.

Elixir está armado con algunos marcos web buenos; algunos son Phoenix y Absinthe, por nombrar los más populares. Pero no se puede hacer mucho en ellos sin al menos un conocimiento básico de cómo funciona la Web.

Primero, aprende el ciclo básico de comunicación solicitud-respuesta. No sólo debes conocer los códigos de estado HTTP, sino también qué hacer cuando se produzcan. Una distinción útil es la que existe entre los métodos POST y PUT. A continuación, perfecciona tu conocimiento de los encabezados HTTP, cortesía de Mozilla. Un buen toque final para este inventario inicial sería algo de conocimiento de Web Socket.

Si tienes la mayor parte de lo anterior cubierto y desesa desarrollar para futuros proyectos, aprende algunas prácticas y filosofía de DevOps. Hay tutoriales para principiantes disponibles en youtube, con docenas de cursos gratuitos o baratos disponibles en Udemy o Coursera. Esto será útil tanto para el trabajo de Elixir como para el servidor.

  • Bases de datos

Con las bases de datos, una implementación típica de Ruby hará muchas cosas para ti, como la creación de la base de datos inicial y la siembra. En Elixir, sin embargo, parte de eso depende de ti.

Después del obstáculo inicial, a Elixir le va muy bien. Su contenedor de base de datos (Ecto) maneja tanto SQL como NoSQL. Es incluso más que eso, ya que también es una consulta integrada en el lenguaje.

Dado que pasará un tiempo considerable desarrollando aplicaciones con PostgreSQL o algunas bases de datos SQL similares para el almacenamiento de datos en su proyecto, saber cómo funciona Elixir con ellas es algo útil para actualizar durante el proceso de contratación.

  • Procesamiento de datos al estilo de canalizaciones

Como Elixir es un lenguaje funcional, promueve en gran medida el procesamiento de datos que pueden describirse como conductos modelados como composiciones de funciones que transforman estructuras de datos inmutables. Si encuentra cómodo este estilo de procesamiento de datos, se sentirá como en casa. Una vez que seas más avanzado, las bibliotecas como GenStage o Flow te harán sentir como en casa aplicándolas en un entorno distribuido, que es una de las principales fortalezas de Elixir.

Hay estudios de casos y talleres interesantes para escuchar y observar sobre este tema. Para obtener una fuente autorizada, no te pierdas las grabaciones de ElixirConf.

  • Alimenta tu curiosidad

Deberás convertirte en una persona que, al ver un botón o dial desconocido, lo presionarás o experimentarás. Deber convertirte en alguien que desee profundizar en las cosas y es lo suficientemente persistente como para buscar sus propias soluciones, donde puede que aún no haya ninguna.

La idea detrás de Elixir es que tiene un núcleo poderoso, que debe complementarse con bibliotecas que contienen las funcionalidades «extra». Esta filosofía también impregna a los propios creadores de bibliotecas.

Entonces, cuando intentes encontrar una biblioteca muy específica para una tarea en particular, esto no es Java o Ruby, donde un viaje corto a través de GitHub te dará soluciones propuestas. En algunos casos, prepárate para escribir cosas por tu cuenta. Elixir es excepcionalmente extensible. Su núcleo y el poder subyacente de BEAM VM están destinados a ser aplicables a un conjunto muy amplio de casos de uso.

Las principales herramientas para ampliar lo que puede hacer Elixir son macros y sygils, y recomiendo familiarizarse con al menos esos dos.

imagen: @diana.grytsku

Deja tu comentario

Tu dirección de correo electrónico no será publicada.

Campos obligatorios(*)

Política de privacidad de www.recluit.mx

Para recibir la información sobre sus Datos Personales, la finalidad y las partes con las que se comparte,
contacten con el Propietario.