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
120
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
160
The Shape of a Service Object
inem
0
1.4k
The Curse of Service Object
inem
0
350
Откуда берется сложность в Rails-проектах и куда бы её деть?
inem
0
320
Rails без боли и оверинжиниринга
inem
0
590
Painless Rails: наводим порядок в контроллерах
inem
0
320
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
650
Pure functions and side effects
inem
0
73
Solving architectural problems with OOP in pictures
inem
1
6.2k
Other Decks in Programming
See All in Programming
2026年 エンジニアリング自己学習法
yumechi
0
130
CSC307 Lecture 09
javiergs
PRO
1
830
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
290
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
440
Apache Iceberg V3 and migration to V3
tomtanaka
0
150
AtCoder Conference 2025
shindannin
0
1k
Basic Architectures
denyspoltorak
0
660
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
AI時代の認知負荷との向き合い方
optfit
0
140
今から始めるClaude Code超入門
448jp
7
8.2k
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
登壇資料を作る時に意識していること #登壇資料_findy
konifar
3
710
Featured
See All Featured
Crafting Experiences
bethany
1
46
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
130
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
250
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Navigating Team Friction
lara
192
16k
Into the Great Unknown - MozCon
thekraken
40
2.2k
How to make the Groovebox
asonas
2
1.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
640
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