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
130
0
Share
Modern Make for modern (Rails) programmers
Ivan Nemytchenko
August 05, 2021
More Decks by Ivan Nemytchenko
See All by Ivan Nemytchenko
Semantic_AI_knowledge.pdf
inem
0
27
Code Topology Notation
inem
0
190
The Shape of a Service Object
inem
0
1.5k
The Curse of Service Object
inem
0
360
Откуда берется сложность в Rails-проектах и куда бы её деть?
inem
0
330
Rails без боли и оверинжиниринга
inem
0
600
Painless Rails: наводим порядок в контроллерах
inem
0
330
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
660
Pure functions and side effects
inem
0
87
Other Decks in Programming
See All in Programming
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1k
GoogleCloudとterraform完全に理解した
terisuke
1
190
From Formal Specification to Property Based Test
ohbarye
0
1.2k
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
140
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
140
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
150
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
180
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
150
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.6k
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
5
4.5k
Explore CoroutineScope
tomoeng11
0
170
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.8k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.6k
How to make the Groovebox
asonas
2
2.2k
The SEO Collaboration Effect
kristinabergwall1
1
440
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
240
From π to Pie charts
rasagy
0
180
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
220
The Curious Case for Waylosing
cassininazir
0
340
Six Lessons from altMBA
skipperchong
29
4.2k
Amusing Abliteration
ianozsvald
1
160
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
220
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