Мы используем Makefile думая, что нет альтернатив, что это стандарт и всё такое.
Но make это не запускалка команд, а система сборки. Мы фактически используем его не по назначению.
И на самом деле альтернатива есть! Некоторое время назад я открыл для себя прекрасный инструмент - just. Он решает все проблемы make.
just - это не система сборки как make, это именно исполнитель команд!
Больше никаких Phony Targets и табуляций, привет нормальный синтаксис и передача аргументов!!! 😎
⭐️Что умеет just:
✅ Автодокументирование команд
Не нужно делать отдельную команду с докой, просто добавь комментарий
# команда сборки
build:
...
$ just --list
Available recipes:
build # команда сборки
Команда с именем default запускается по умолчанию если не указано другое, так что я обычно делаю так:
default:
just --list
Теперь просто выполняем just и получаем доку из текущего файла.
✅ Удобная работа с переменными окружения
# загрузить из .env
set dotenv-load
# глобальная переменная
export PYTHONPATH := "./src"
# переменная для команды
test $TESTUNG="true":
pytest
✅ Передача аргументов
build target:
@echo 'Build {{target}}...'
команда запуска
$ just build dev
# Build dev...
✅ Выбор интерпретатора прямо в команде
Пример с инлайн-скриптом на python:
system:
#!/usr/bin/env python3
import platform
print(platform.system())
Эта же функция позволит выполнить скрипт как одну команду вместо перезапуска шела для каждой строки
foo:
#!/usr/bin/env sh
for file in ls .; do
echo $file
done
✅ Выполнение команды в определенной директории. Можно указать как релятивный путь так и абсолютный
[working-directory: 'backend']
build:
docker compose build
Также можно задать рабочую директорию глобально
Там еще много интересного:
- поддержка функций
- автокомплиты и интеграции
- экспрешены
- алиасы команд
- группировка команд
- альтернативы команды под разные ОС
- импорт других just-файлов
- цветной вывод
- ... и другие штуковины!
Так что вперёд - ➡️ читать доку!
Репозиторий: ➡️https://github.com/casey/just
Статья: ➡️https://www.chicks.net/reference/file_formats/just/
ЗЫ. Кажется, на Makefile я уже не вернусь)
#tools
🪐 ESA’s Hera mission, launching in 2024, will be one of the first spaceships to investigate a double asteroid system up close—Didymos and its moonlet Dimorphos. Hera is packed with advanced navigation and tiny CubeSats, showing how future spaceships may use mini-robots and smart sensors to explore hazardous, distant worlds far beyond Earth. ✨
#Hera⚡#Didymos⚡#CubeSats⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
Лекция от Евгения Скляревского на церемонии открытия программы UniSat 2.0
Тема: «Без математики лучистой жизнь скучна и неказиста»
О спикере: Евгений Скляревский - блогер, сотрудник пресс-службы хокимията, любитель орнаментов, фракталов и флексагонов, популяризатор науки.
📍Мероприятие пройдёт в Министерстве Инновационного развития, 28 ноября в 14.00
Регистрация по ссылке: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link
---------
UniSat 2.0 dasturining ochilish marosimida Yevgeniy Sklyarevskiy ma’ruzasi
Mavzu: «Nurli matematikasiz hayot zerikarli va ko‘rksiz»
Spiker haqida: Yevgeniy Sklyarevskiy - bloger, hokimlik matbuot xizmatining xodimi, naqshlar, fraktallar va fleksagonlar ishqibozi, ilm-fan targ‘ibotchisi.
📍Tadbir Innovatsion rivojlanish vazirligida 28-noyabr kuni soat 14:00 da o‘tkaziladi
Ro‘yxatdan ushbu havola bo‘yicha o‘tish mumkin: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link
#unisat#nanosatellite#GirlsinSTEM#cubesats#spacetalents
28 ноября гостем церемонии открытия программы UniSat 2.0.. станет Дмитрий Шноль - академический директор школы "Oxbridge", автор школьных пособий по математике, член жюри российского творческого конкурса учителей математики.
⚙️Тема: Геометрия неба
Мы начнем разговор с того, как в Древней Греции люди впервые смогли размышлять о Земле как об астрономическом теле, поняли, что Земля шарообразна, и измерили ее размер. Замечательно, что математические знания современного 8-классника позволяют ему понять, как решили эту задачу гении прошлого.
Затем мы обсудим, как математика позволяет выбрать самый экономичный маршрут для современного самолета.
А шаг от самолетов к спутникам вы сделаете сами.
📍Мероприятие пройдёт в Министерстве Инновационного развития, 28 ноября, в 14:00.
Регистрация по ссылке: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link
UniSat — это совместная программа ННО Tech4Impact, UNICEF, Министерства инновационного развития Республики Узбекистан.
---------------
28-noyabr kuni Dmitriy Shnol - "Oxbridge" maktabining akademik direktori, matematika bo‘yicha maktab qo‘llanmalarining muallifi, Rossiya matematika o‘qituvchilari ijodiy tanlovining hakamlar hay’ati a’zosi – UniSat 2.0 dasturining ochilish marosimida mehmonga aylanadi.
⚙️Mavzu: Osmon geometriyasi
Biz suhbatni qanday qilib Qadimiy Yunonistonda odamlar ilk bor Yer haqida astronomik jism sifatida fikr yurita boshlaganidan, Yer sharsimon shaklda ekanini tushunishganidan va qanday qilib uning o‘lchamini aniqlashganidan boshlaymiz. Hozirgi 8-sinf o‘quvchisining matematika bo‘yicha bilimlari unga o‘tmish daholarining bu masalasini qanday yechishni tushunish imkonini berishi ajoyib.
Keyin biz matematika qanday qilib zamonaviy samolyot uchun eng tejamkor yo‘nalishni tanlash imkonini berishini muhokama qilamiz.
Samolyotlardan sun’iy yo‘ldoshlarga qadamni esa o‘zingiz tashlaysiz.
📍Tadbir Innovatsion rivojlanish vazirligida 28-noyabr kuni soat 14:00 da o‘tkaziladi.
Ro‘yxatdan o‘tish ushbu havola bo‘yicha: https://docs.google.com/forms/d/e/1FAIpQLSdi6BxQnbCP79qX5ApubfwIPI_yeoOfrxlqqjgGiumY4NE7UQ/viewform?usp=sf_link
UniSat — bu Tech4Impact NNT, UNICEF, O‘zbekiston Respublikasi Innovatsion rivojlanish vazirligining hamkorlikdagi dasturi.
#unisat#nanosatellite#GirlsinSTEM#cubesats#spacetalents
❓Какими словами можно описать программу UniSat? Какие важные знания можно получить, участвуя в программе?
🗣 Ответить на этот вопрос мы попросили участниц прошлого запуска CubeSat.
"Космос, мечта, крутые девчонки, исполнение мечты, командная работа, навыки программирования и многое другое".
✅ Участвуй в программе и найди свой ответ на эти вопросы.
Регистрация на сайте https://unisat.uz/
———————
❓UniSat dasturini qanday so‘zlar bilan ta’riflash mumkin? Dasturda qatnashgan holda qanday muhim bilimlarga ega bo‘lish mumkin?
🗣 Biz avvalgi CubeSat’ni uchirishda qatnashgan ishtirokchilardan shu savollarga javob berishlarini iltimos qildik.
"Fazo, orzu, ajoyib qizlar, orzularning ro‘yobga chiqishi, jamoaviy ish, dasturlash ko‘nikmalari va boshqalar".
✅ Dasturda qatnashing va bu savollarga o‘z javobingizni toping.
Ro‘yxatdan o‘tish https://unisat.uz/ saytida
#unisat#nanosatellite#GirlsinSTEM#cubesats#spacetalents