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
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
40
Code Topology Notation
inem
0
200
The Shape of a Service Object
inem
0
1.6k
The Curse of Service Object
inem
0
380
Откуда берется сложность в Rails-проектах и куда бы её деть?
inem
0
330
Rails без боли и оверинжиниринга
inem
0
620
Painless Rails: наводим порядок в контроллерах
inem
0
340
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
670
Pure functions and side effects
inem
0
91
Other Decks in Programming
See All in Programming
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
150
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
470
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
VibeCodingからAgenticWorkflowへ
starfish719
0
310
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
290
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
760
React本体のコードリーディング
high_g_engineer
1
140
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
860
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
470
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
370
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
What's in a price? How to price your products and services
michaelherold
247
13k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
480
Statistics for Hackers
jakevdp
799
230k
エンジニアに許された特別な時間の終わり
watany
108
250k
Speed Design
sergeychernyshev
33
2k
The browser strikes back
jonoalderson
0
1.5k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
680
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
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