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
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
OPENLOGI Company Profile for engineer
hr01
1
46k
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
420
新米エンジニアをTech Leadに任命する ー 成長を支える挑戦的な人と組織のマネジメント
naopr
1
340
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
350
re:Inventに行くまでにやっておきたいこと
nagisa53
0
960
LLM APIを2年間本番運用して苦労した話
ivry_presentationmaterials
5
1.8k
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
24
16k
様々なファイルシステム
sat
PRO
0
290
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
10
5.3k
GCASアップデート(202508-202510)
techniczna
0
240
Boxを“使われる場”にする統制と自動化の仕組み
demaecan
0
110
触れるけど壊れないWordPressの作り方
masakawai
0
630
Featured
See All Featured
Scaling GitHub
holman
463
140k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Being A Developer After 40
akosma
91
590k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
How GitHub (no longer) Works
holman
315
140k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Code Reviewing Like a Champion
maltzj
526
40k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
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]