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
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
140
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
220
DevIO2025_継続的なサービス開発のための技術的意思決定のポイント / how-to-tech-decision-makaing-devio2025
nologyance
1
320
20250903_1つのAWSアカウントに複数システムがある環境におけるアクセス制御をABACで実現.pdf
yhana
3
480
ガチな登山用デバイスからこんにちは
halka
1
230
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
150
Skrub: machine-learning with dataframes
gaelvaroquaux
0
120
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
230
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
150
カミナシ社の『ID管理基盤』製品内製 - その意思決定背景と2年間の進化 #AWSUnicornDay / Kaminashi ID - The Big Whys
kaminashi
3
830
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
9
2.6k
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
210
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Done Done
chrislema
185
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Cult of Friendly URLs
andyhume
79
6.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
What's in a price? How to price your products and services
michaelherold
246
12k
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]