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
Modern Make for modern (Rails) programmers
Search
Ivan Nemytchenko
August 05, 2021
Programming
0
91
Modern Make for modern (Rails) programmers
Ivan Nemytchenko
August 05, 2021
Tweet
Share
More Decks by Ivan Nemytchenko
See All by Ivan Nemytchenko
Code Topology Notation
inem
0
110
The Shape of a Service Object
inem
0
1.1k
The Curse of Service Object
inem
0
320
Откуда берется сложность в Rails-проектах и куда бы её деть?
inem
0
290
Rails без боли и оверинжиниринга
inem
0
500
Painless Rails: наводим порядок в контроллерах
inem
0
280
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
620
Pure functions and side effects
inem
0
52
Solving architectural problems with OOP in pictures
inem
1
6k
Other Decks in Programming
See All in Programming
rbs-traceを使ってWEARで型生成を試してみた After RubyKaigi 2025〜ZOZO、ファインディ、ピクシブ〜 / tried rbs-trace on WEAR
oyamakei
0
580
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
640
ts-morph実践:型を利用するcodemodのテクニック
ypresto
1
510
ワンバイナリWebサービスのススメ
mackee
10
7k
ビカム・ア・コパイロット
ymd65536
1
190
TypeScript エンジニアが Android 開発の世界に飛び込んだ話
yuisakamoto
6
870
『Python → TypeScript』オンボーディング奮闘記
takumi_tatsuno
1
120
Zennの運営完全に理解した #完全に理解したTalk
wadayusuke
1
110
Doma で目指す ORM 最適解
nakamura_to
1
160
推論された型の移植性エラーTS2742に挑む
teamlab
PRO
0
130
「MCPを使ってる人」が より詳しくなるための解説
yamaguchidesu
0
460
Design Pressure
hynek
0
1.4k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
23
1.6k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Code Reviewing Like a Champion
maltzj
523
40k
Thoughts on Productivity
jonyablonski
69
4.7k
The Invisible Side of Design
smashingmag
299
50k
Practical Orchestrator
shlominoach
187
11k
KATA
mclloyd
29
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
Making the Leap to Tech Lead
cromwellryan
133
9.3k
Done Done
chrislema
184
16k
Transcript
Modern Make for modern (RAILS) developers Ivan Nemytchenko, @inem, inem.at
RubyConf Brasil 2020 CRASH COURSE
Ivan Nemytchenko • rubyist since 2006 • former GitLabber •
teacher • railshurts.com author • freelance/consulting
• painlessrails.com
http://urban-connect.ch
What to expect here • What’s the problem? • The
basics • Advanced stuff • Examples from real project • Principles
Make?
What’s the problem?
Modern Developer? • Dev+Ops • Multiple stacks (Rails + JS
for example) • Multiple projects • Multiple environments (dev, ±docker, ssh)
Command line interface tools • git • ssh • rails
• bundle • docker • docker-compose • heroku • aws • ansible • ansible-playbook • yarn • …
Command line interface tools
What’s the problem? ansible-playbook -i inventory/production -- tags "deploy" app-server.yml
--become- user=app --extra-vars=extra.txt --vault- password-file="~/.ansible/vault.txt" -vvv
What’s the problem? ansible-playbook -i inventory/production -- tags "deploy" app-server.yml
--become- user=app --extra-vars=extra.txt --vault- password-file="~/.ansible/vault.txt" -vvv Imperative, not declarative!
• Imperative, not declarative • Implementation, not semantics • Have
to remember a lot of low-level details • Outdated README-s What’s the problem?
Deployment ansible-playbook -i inventory/production -- tags "deploy" app-server.yml --become- user=app
--extra-vars=extra.txt --vault- password-file="~/.ansible/vault.txt" -vvv
How about? make deploy
make deploy
Run tests MINITEST_REPORTER=SpecReporter bundle exec bin/rails test
Make test
Yay! • You can use Make now!
Modern Make In practice
Why not … ? • Rake • Yarn • Bash
scripts
USE Make AS GLUE BETWEEN TECHNOLOGIES!
Principles • No instructions in Readme! • Semantics first! •
Duplication is ok! • StackOverflow → Makefile
Modern make http://makefile.site http://re.dopo.st/201015204327 http://inem.at