Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
REPL Driven Development no Elixir com IEx
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Miriam Retka
November 28, 2020
Technology
0
110
REPL Driven Development no Elixir com IEx
Uma introdução a REPL Driven Development dentro do Elixir usando o IEx.
Miriam Retka
November 28, 2020
Tweet
Share
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
190
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
1
420
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.5k
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.5k
あたらしい上流工程の形。 0日導入からはじめるAI駆動PM
kumaiu
5
760
MCPでつなぐElasticsearchとLLM - 深夜の障害対応を楽にしたい / Bridging Elasticsearch and LLMs with MCP
sashimimochi
0
140
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
4.8k
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
140
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.3k
Webhook best practices for rock solid and resilient deployments
glaforge
1
260
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
190
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Facilitating Awesome Meetings
lara
57
6.7k
The Invisible Side of Design
smashingmag
302
51k
Paper Plane (Part 1)
katiecoart
PRO
0
4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Done Done
chrislema
186
16k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Marketing to machines
jonoalderson
1
4.6k
Transcript
REPL Driven Development com IEx Miriam Retka
Process.info(self()) • Desenvolvedora Backend • Licenciada em Física pela Universidade
Estadual de Ponta Grossa • Veio do Ruby e Emacs Lisp • Guitarrista • Retrogamer • Zerou Cuphead no Expert
O que é um REPL? • Read • Eval •
Print • Loop
Exemplo
Inspirações
Inspirações
Inspirações
Debugando um sistema no espaço sideral • http://flownet.com/gat/ jpl-lisp.html
“Debugging a program running on a $100M piece of hardware
that is 100 million miles away is an interesting experience. Having a read- eval-print-loop running on the spacecraft proved invaluable in finding and fixing the problem.” Ron Garret – Lisping at JPL
Por que usar um REPL? • Reduzir o ciclo de
feedback entre a ideia e o código • Ter um contato mais próximo com a criação do código
“Creators need an immediate connection to what they create” Bret
Victor – Inventing on Principle https://www.youtube.com/watch? v=PUv66718DII
Quais problemas RDD resolve?
Esperar o programa compilar
Não sei por onde começar a resolver o problema
Para que usamos RDD?
Reduzir o ciclo de feedback entre ideia e resultado
Explorar problemas e testar conceitos
Mas e o TDD?
Eles se complementam!
Estado das ferramentas • Hoje o fluxo está mais fácil
dentro do Emacs • O que é necessário: – Um terminal com o IEx aberto – Um editor de texto do lado – Um atalho pra mandar o código do editor pro IEx
Customizando o IEx
Arquivos .iex.exs • https://alchemist.camp/episodes/iex-exs • Permite configurar a inicialização do
IEx • Dica: coloque o .iex.exs no seu .gitignore global
Dicas e truques do IEx
Documentação de funções • Iex> h Module.function
open • Iex> open Module.function
Exemplo prático
Conclusão
Referências e créditos • https://practicalli.github.io/clojure/repl-driven-de vlopment.html • https://xkcd.com/303/ • Imagens:
https://pexels.com • http://flownet.com/gat/jpl-lisp.html • https://www.youtube.com/watch? v=PUv66718DII
Obrigada! • Telegram: https://t.me/mretka (@mretka) • Twitter: @miriamretka • LinkedIn:
https://www.linkedin.com/in/miriam-retka/ • Email:
[email protected]