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
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
Other Decks in Technology
See All in Technology
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
320
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
130
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
4
390
制約理論(ToC)入門 2026版
recruitengineers
PRO
8
2.5k
モバイルアプリ開発概論2026
recruitengineers
PRO
6
650
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
Goでデータパイプラインを作ろう
sansantech
PRO
1
500
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
9.2k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
980
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
280
SO-101×VLAによる3色キューブのピック&プレース
abeja
0
220
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
400
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
800
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Making Projects Easy
brettharned
120
6.7k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
What's in a price? How to price your products and services
michaelherold
247
13k
Designing for humans not robots
tammielis
254
26k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
470
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
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]