REPL Driven
Development
Como y por que darle mas <3 a tu REPL
Objetivo
Convencerlos aprovechar su REPL
Úsalo
¡Úsalo más!
¡Úsalo más mejor!
con algunas ideas, trucos y herramientas
Que es un REPL
REPL: Read, Eval, Print, Loop
Read: Leer
Eval: Evaluar
Print: Imprimir
Loop: Dar la vuelta
Ejemplos
ruby: irb
javascript console en un navegador
python
node
php: artisan tinker
ruby (¿!¿otra vez?!?): pry (irb pero mejor)
¿Pry?
pry: un mejor REPL para ruby
colores
funcionalidad adicional
binding.pry
Como veremos en adelante
Ventajas de un REPL
Feedback inmediato
Hacer pequeños experimentos
Probar en aislamiento
¿Para que sirve?
Aunque no siempre sea obvio, el REPL puede
ser muy útil para:
● Aprender
● Debug
● Desarrollar
Aprender
leer/teoría < escribir scripts < usar REPL
¿Por que?
Te permite reemplazar la búsqueda de
información con su descubrimiento
Descubriendo Información
Pregunta: un array vació []…¿falsy en ruby?
...no se...
Opción 1: Stack Overflow, Google...
Opción 2: Preguntale a pry...
Aprender mejor
La velocidad del feedback determina la
velocidad del aprendizaje
Experiencia > Documentación
Es muy distinto leer algo que verlo en acción
Aprender: Nuevas librerías
Supone que quieres escribir un script para
juntar dos tablas de csv...
pero nunca has trabajado con csvs en ruby
“CSV” es una clase en el Ruby Standard
Library
Veamos como funciona con pry
Debug
instanciar objetos de prueba para verificar que
funcionan como esperabas
¿que causó el error? Usar un REPL para
controlar por variables
Debugging con pry ¿como?
En modelos de rails: rails console (que también
puede usar pry en vez de irb)
En cualquier otro sitio: binding.pry
Desarrollo con REPL ¿por que?
Desarrollo iterativo
Sabes que esta pasando en cada paso y
compruebas que funciona de manera esperada
Particularmente útil para tareas que conoces
bien
Desarrollo ¿Como?
Integrando el REPL con tu editor de text
Otra vez, pry ayuda aqui
Desarrollo Ejemplo CSV
Supone que queremos un método que junta
dos CSVs
Veremos como nuestro REPL nos puede
ayudar
Conclusión
¡Ama tu REPL!
Si eres rubyista, ¡Alégrate! ¡Tienes Pry! Y es lo
máximo :-)
Si usas rails, usa pry en tu consola
Si por una razón tienes que aprender otro
lenguaje puedes aprender sobre él con su
REPL
Herramientas
pry: pryrepl.org/
pry para rails: gem ‘pry-rails’
vim + tmux con el plugin slimux
slimux: github.com/epeli/slimux/
Charlas
Ruby Conf 2013: REPL driven development
with pry
Rails Conf 2013 Pry--The Good Parts!
Rails Conf 2014 Debugger driven development
with pry

Repl driven development

  • 1.
    REPL Driven Development Como ypor que darle mas <3 a tu REPL
  • 2.
    Objetivo Convencerlos aprovechar suREPL Úsalo ¡Úsalo más! ¡Úsalo más mejor! con algunas ideas, trucos y herramientas
  • 3.
    Que es unREPL REPL: Read, Eval, Print, Loop Read: Leer Eval: Evaluar Print: Imprimir Loop: Dar la vuelta
  • 4.
    Ejemplos ruby: irb javascript consoleen un navegador python node php: artisan tinker ruby (¿!¿otra vez?!?): pry (irb pero mejor)
  • 5.
    ¿Pry? pry: un mejorREPL para ruby colores funcionalidad adicional binding.pry Como veremos en adelante
  • 6.
    Ventajas de unREPL Feedback inmediato Hacer pequeños experimentos Probar en aislamiento
  • 7.
    ¿Para que sirve? Aunqueno siempre sea obvio, el REPL puede ser muy útil para: ● Aprender ● Debug ● Desarrollar
  • 8.
    Aprender leer/teoría < escribirscripts < usar REPL ¿Por que? Te permite reemplazar la búsqueda de información con su descubrimiento
  • 9.
    Descubriendo Información Pregunta: unarray vació []…¿falsy en ruby? ...no se... Opción 1: Stack Overflow, Google... Opción 2: Preguntale a pry...
  • 10.
    Aprender mejor La velocidaddel feedback determina la velocidad del aprendizaje Experiencia > Documentación Es muy distinto leer algo que verlo en acción
  • 11.
    Aprender: Nuevas librerías Suponeque quieres escribir un script para juntar dos tablas de csv... pero nunca has trabajado con csvs en ruby “CSV” es una clase en el Ruby Standard Library Veamos como funciona con pry
  • 12.
    Debug instanciar objetos deprueba para verificar que funcionan como esperabas ¿que causó el error? Usar un REPL para controlar por variables
  • 13.
    Debugging con pry¿como? En modelos de rails: rails console (que también puede usar pry en vez de irb) En cualquier otro sitio: binding.pry
  • 14.
    Desarrollo con REPL¿por que? Desarrollo iterativo Sabes que esta pasando en cada paso y compruebas que funciona de manera esperada Particularmente útil para tareas que conoces bien
  • 15.
    Desarrollo ¿Como? Integrando elREPL con tu editor de text Otra vez, pry ayuda aqui
  • 16.
    Desarrollo Ejemplo CSV Suponeque queremos un método que junta dos CSVs Veremos como nuestro REPL nos puede ayudar
  • 17.
    Conclusión ¡Ama tu REPL! Sieres rubyista, ¡Alégrate! ¡Tienes Pry! Y es lo máximo :-) Si usas rails, usa pry en tu consola Si por una razón tienes que aprender otro lenguaje puedes aprender sobre él con su REPL
  • 18.
    Herramientas pry: pryrepl.org/ pry pararails: gem ‘pry-rails’ vim + tmux con el plugin slimux slimux: github.com/epeli/slimux/
  • 19.
    Charlas Ruby Conf 2013:REPL driven development with pry Rails Conf 2013 Pry--The Good Parts! Rails Conf 2014 Debugger driven development with pry