Мы используем 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
Erasmus AMIR Scholarship 2026/28 in Europe 🇪🇺 (Fully Funded)
Visit: https://opportunitiescorners.com/erasmus-mundus-amir-scholarship/
Fully Funded Master Degree Scholarship in Six European Universities.
The Scholarship Covers Airfare, Visa Cost, Accommodation, Monthly Stipend, Insurance, Tuition Fee.
#ErasmusScholarship#StudyinEurope#OpportunitiesCorners
В 2025 году на магистерские программы Erasmus Mundus был принят 41 участник из России.
Среди направлений, выбранных российскими студентами: право и экономика, перепроектирование постиндустриального города, ИИ, механика устойчивых материалов и конструкций, детская литература, медиа и культурное предпринимательство, нанонаука и нанотехнологии, цифровое творчество, устойчивое лесопользование и природопользование, морские биотехнологии и другие.
Поступающим на следующий учебный год доступно более 200 программErasmus Mundus Joint Masters.
На вебинаре "Учёба в Европе" вы сможете узнать больше о возможностях обучения в европейских вузах и стипендиях.
Регистрация открытадо 24 ноября.
📆26/11 в 15:00
📍 Zoom
#ОбучениеВоФранции#CampusFrance#StudyinEurope
🎓 В ноябре открылся приём заявок на большинство программ Erasmus Mundus Joint Masters. Процесс подачи документов – очень волнительный момент. Но есть немало ответственных этапов, которые предшествуют подаче заявки. Конкурс на магистерские программы Erasmus Mundus всегда очень высокий, поэтому тщательный выбор образовательных курсов не менее важен, чем подготовка документов и портфолио. Это в конце концов может стать ключом к долгожданному успеху.
О сложностях и тонкостях поступления на программы Erasmus Mundus Joint Masters рассказала Жанна Фаталова, официальный представитель и амбассадор Erasmus Mundus в России читайте тут.
#EUinRussia#StudyinEurope#ErasmusPlus
Подписывайтесь на новости Представительства ЕС в России
🇫🇷Насколько Франция – студенческая страна?
Давайте посчитаем.
В учебном году 2024-2025 во французских вузах учились чуть более 3 млн студентов. Из них более 443 тыс.иностранных студентов – это примерно 15% от всех учащихся высших учебных заведений Франции.
Реально ли россиянам попасть во французские вузы? Да! Во Франции учится около 5,5 тыс.россиян, из них 65% – в университетах, 13% – в коммерческих школах.
Как поступить во французский вуз? Есть ли полные стипендии? Какие существуют уровни обучения? Какие документы необходимы? А что сейчас с визами?
У вас есть шанс задать свои вопросы представителю Кампюс Франс на вебинаре «Учёба в Европе» 26 ноября в 15:00. На нём будут представлены образовательные возможности в Австрии, Германии, Венгрии, Франции, на Кипре и Мальте, а также стипендиальная программа ЕС Erasmus Mundus Joint Masters.
👉Регистрация открыта до 24 ноября.
А для всех, кто интересуется школьным образованием во Франции, советуем статью «Школы во Франции: как это устроено».
#StudyinEurope#учебавофранции#учебавевропе
🟢Подпишись — Европульс: всё о Европе
🇪🇺AFEPA Master’s Scholarship 2026 in Europe (Fully Taught in English)
The AFEPA Master’s Programme (Agricultural, Food and Environmental Policy Analysis) is a prestigious European joint master’s degree (120 ECTS) designed for students interested in the economic analysis of agricultural, food, and environmental policies.
🗓Deadline: 13 February 2026
🌍Eligible countries: All
🗣Language: English
✔️The programme is delivered by a consortium of four leading European universities:
🇮🇹Università Cattolica del Sacro Cuore (UCSC), Italy
🇩🇪University of Bonn (UBonn), Germany
🇸🇪Swedish University of Agricultural Sciences (SLU), Sweden
🇧🇪Université catholique de Louvain (UCLouvain), Belgium
✔️What does the scholarship cover?
AFEPA offers four scholarships for top applicants:
💸2 scholarships of €1,400/month for 24 months
💸2 scholarships of €700/month for 24 months
Applications and full details are available via the official link below👇
🔗https://www.ilr1.uni-bonn.de/afepa/en/news/scholarship-opportunity-for-top-applicants
#Scholarships#AFEPA#Erasmus#MastersDegree#StudyInEurope#Italy#Germany#Sweden#Belgium
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube