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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
30
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
610
Painless Rails: наводим порядок в контроллерах
inem
0
330
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
670
Pure functions and side effects
inem
0
88
Other Decks in Programming
See All in Programming
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
170
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
160
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
690
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
370
Modding RubyKaigi for Myself
yui_knk
0
390
今さら聞けないCancellationToken
htkym
0
160
Spec-Driven Development with AI Agents (Workshop, May 2026)
antonarhipov
4
420
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
120
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
1
170
~ 秘伝のタレ化した『神スプシ』と戦う ~ 関数型パラダイムで壊れない仕組みへ
h0r15h0
1
120
AgentCore Optimizationを始めよう!
licux
4
270
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
450
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
Leo the Paperboy
mayatellez
7
1.8k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
We Are The Robots
honzajavorek
0
230
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
We Have a Design System, Now What?
morganepeng
55
8.1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
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