RorraCasts

ScreenCasts de programación gratuitos y caseros para programadores (o futuros programadores).

 

¿Que es RorraCasts?

Inicialmente pensé en hacer un sitio como RailCasts donde a través de unos vídeos muy bien armados podía ver distintas librerías o técnicas de Ruby on Rails muy bien explicadas y en el medio sacar unas monedas :). Un día me puse a buscar ScreenCasts de Erlang y primero me decepcione porque no había casi nada, y después me alegre porque sabía que podía empezar por ahí.

Si bien no soy un experto en Erlang ni lenguajes funcionales, y si soy un experto en otros lenguajes pero donde sobran ScreenCasts, bienvenidos a mi sitio de ScreenCast gratuitos donde voy a enseñar primero Erlang, luego Elixir y Phoenix, un framework al que le pongo todas las fichas.

Diseñado para desarrolladores

Contenido de alto nivel para programadores que quieran incursionar en nuevas tecnologías.

Gana tiempo

Te hago un resumen de lo que a mi me llevo un buen tiempo aprender por mi cuenta.

Lenguajes

Arrancamos con Erlang, seguimos con Elixir y finalizamos con Phoenix. Después de eso vemos, probablemente librerías, librerías y librerías.

Mobile-friendly

La idea es que se vea bien desde el celu.

Tags

Son muy interesantes.

Café

Me gusta mucho.

Erlang

000: Introducción y entorno de desarrollo

En este primer vídeo voy a mostrar como configurar el entorno de desarrollo que vamos a utilizar durante el curso.

loading...

001: Introducción a Erlang

Introducción a Erlang, donde vemos la sintaxis básica, explico el tema de ligaduras, módulos y funciones.

loading...

002: Listas y recursividad

Se explica las listas, un tipo de datos fundamental a Erlang, y vemos como se resuelven problemas cotidianos mediante la recursividad. Le damos un pantallazo al debugger.

loading...

003: Funs, iteración y listas por compresión

Vemos funciones anónimas (funs), se explica la manera de recorrer colecciones y como crear listas por compresión.

loading...

004: Registros (records)

Los records son otro tipo de dato básicos de Erlang, aunque funcionan como un hack sobre las tuplas.

loading...

005: Proplists

Un tipo de estructura que se usa mucho para almacenar colecciones de llave/valor, hay que tener en cuenta que los maps fueron introducidos recientemente.

loading...

006: Diccionarios (dict y orddict)

Diccionarios en Erlang.

loading...

007: Conjuntos (sets y ordsets)

Conjuntos en Erlang.

loading...

008: Arboles binarios (gb_sets y gb_trees)

Arboles balanceados en Erlang.

loading...

009: Vectores (arrays)

Arrays en Erlang.

loading...

010: Colas (queues)

Queues en Erlang.

loading...

011: Mapas (maps)

Los mapas son una adición reciente a Erlang, en la release R17, muy bien aprovechada en Elixir :)

loading...

012: Tablas (ets y dets) parte 1

Las tablas (ets y dets) son ampliamente utilizadas en Erlang.

loading...

013: Tablas (ets y dets) parte 2

Segunda parte de las tablas, vemos como hacer consultas y encontrar datos en las tablas. Además vemos como importar un csv en una tabla para una rápida consulta de los datos.

loading...

014: Binarios

A mi entender Erlang tiene uno de los mejores soportes que vi para trabajar con datos binarios, no obstante no usaría a Erlang para convertir binarios de un formato a otro, entendiendo que con Erlang se arman sistemas que soporta una gran cantidad de clientes, delegaría esa tarea a programas en c.

loading...

015: Excepciones

Si bien en Erlang podemos tirar y atrapar excepciones, no es la idea, la filosofía de Erlang "let it crash", ante un error un proceso se muere y se levanta otro, es imposible tratar de atrapar y manejar eficientemente todo tipo de excepciones, aunque se siga intentando :)

loading...

016: Input y Output

El protocolo de entrada y salida de Erlang

loading...

017: Procesos

Finalmente empezamos a ver la programación paralela y distribuida, tardamos un poco pero necesitaba mostrar las partes básicas del lenguaje.

loading...

018: Linkeo y monitoreo de procesos

Linkeo y monitoreo de procesos. No es algo que estén haciendo una y otra vez porque sería reinventar la rueda, la OTP provee una excelente interfaz donde hace uso efectivo del linkeo y monitoreo de procesos, pero por un lado es bueno saber la teoría, y por otro lado, puede que les toque linkear o monitorear procesos en algún que otro proyecto.

loading...

019: Actualización de código

Uno de los features más interesantes de Erlang es el soporte nativo de la Virtual Machine para upgradear código en caliente y así dar el famoso uptime de Joe Armstrong de 99.9999999% (nine nines).

loading...

020: Programación distribuida

La programación distribuida nos permite escalar nuestro sistema en forma horizontal, y a su vez, correr nuestro sistema en diferentes nodos de tal forma que si se cae una computadora, el sistema sigue corriendo en las demás.

loading...

021: Sockets

La librería estandard de Erlang nos pemite trabajar con sockets a partir de la capa de transporte, incluida la capa de aplicación. Si necesitaramos trabajar con Sockets de bajo nivel, es decir, de la capa de Red, podemos recurrir a procket.

loading...

021: Sockets

La librería estandard de Erlang nos pemite trabajar con sockets a partir de la capa de transporte, incluida la capa de aplicación. Si necesitaramos trabajar con Sockets de bajo nivel, es decir, de la capa de Red, podemos recurrir a procket.

loading...

022: Mnesia parte 1

El motor de base de datos que nos brinda Erlang para trabajar con datos nativos en forma muy rápida. No obstante, si van a procesar gygabaytes de información es preferible utilizar una base de datos comercial. Parte 1.

loading...

023: Mnesia parte 2

>El motor de base de datos que nos brinda Erlang para trabajar con datos nativos en forma muy rápida. No obstante, si van a procesar gygabaytes de información es preferible utilizar una base de datos comercial. Parte 2.

loading...

Donaciones

No hacía falta llegar a esta parte de la página, pero ya que estamos... :) Muchos sitios cobran una membresía de 10 dolares mensuales por contenidos similares, incluso un pago único de hasta 60 dólares, yo por mi parte no cobro nada, pero si me regalas algo no me enojo, será muy bien utilizado para seguirle dedicando tiempo a nuevos vídeos, o tal vez a más juegos digitales que me van a robar tiempo para armar nuevos vídeos, he ahí la cuestión.

Contacto

¿Te gustan mis vídeos?

Si queres que siga haciendo vídeos, podes:

  • seguirme en Twitter
  • agregar en linkedin y darme un positivo en mis skills.
  • invitarme a almorzar, con 10 dólares como bien :)

Conectate