Мы используем 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
Taste of Africa: Музыка без границ: русская гармония + африканский ритм 🎹🌍🥁
Все народы Земли объединяет наличие языка и музыки. Музыка и язык в мозге тесно связаны 🎶 Музыка проходит сквозь эпохи и континенты и соединяет то, что на карте выглядит раздельным🧭✨
В начале XX века русский композитор Александр Скрябин искал гармонию как пространство, выходя за пределы понятий «вопрос–ответ», напряжение–разрешение, он искал состояние: звук, который будто зависает в воздухе, светится изнутри, существует между нотами 🌫️🎼 Он мечтал о синтезе искусств - о музыке как силе, способной менять человека и мир 🔥🎨
А в это же время по другую сторону Атлантики рождалась стихия, основой которой стал пульс ❤️🥁 Африканские ритмические принципы, повтор, смещение акцентов, многослойность, полиритмия.
Джаз оказался местом встречи ритма и гармонии🎷✨
Когда в конце 1950-х джаз начал освобождаться от «жёстких коридоров» гармонии и идти в модальность и атмосферу, в нём стало больше воздуха 🌬️ Гармония перестала диктовать маршрут и стала ландшафтом 🏞️🎹 А африканская ритмическая энергия - тем мотором, который удерживает эту красоту во времени ⏳🥁
Так и родился один из самых важных культурных симбиозов
• русско-европейская гармония дала джазу новые краски 🎨
• африканский ритм сохранил телесность, свободу и огонь 🥁
• вместе они сделали музыку, которая стирает все границы 🚫🗺️
Сегодня этот диалог продолжается в world music, афро-джазе и фьюжне - везде, где музыканты соединяют культуры звуком 🎵
Если в мире начинает преобладать принцип «разделяй и властвуй», то всегда есть альтернатива «Объединяй и Здравствуй»!
Простая практика: включить музыку и услышать, как человечество говорит на одном языке 🌍
🎧 Что поставить сегодня: Miles Davis — “Kind of Blue” 🎺💙
https://moochinaboutltd.bandcamp.com/track/flamenco-sketches-kind-of-blue
и рядом — Скрябин 🎹✨ (любая поздняя фортепианная вещь, где гармония становится светом 💡). Слушайте связь 🔗🎶
🌟 Ритмическое путешествие продолжается – в языке музыки🌟
#TasteOfAfrica#МузыкаБезГраниц🌍#Джаз🎷#Скрябин🎹#AfricanRhythms🥁#WorldMusic🎶#СимбиозКультур🤝✨
🗣️🎶 Taste of Africa: Язык и музыка
🌟🔔 «Ритмическое путешествие продолжается!» 🥁🌟
Когда речь становится ритмом, а мелодия — смыслом 🥁
В Африке язык и музыка часто звучат как единое целое, и это ощущается даже при первом знакомстве. В ряде языков региона (например, Yorùbá, Igbo и многих других) значение передают и слоги, и высота произнесения.
📌 Тональные языки используют тон (высоту голоса) для различения значений. Одна и та же последовательность звуков, произнесённая выше или ниже (или с другим контуром), передаёт другое слово.
Ключевая мысль рубрики:
🎼 в песне мелодия работает как часть смысла и помогает ему звучать точно.
🎤 1) Как язык задаёт форму вокалу
Тональная речь направляет вокальную линию к смысловой точности, поэтому в музыке часто встречаются такие решения:
🗣️ Вокал как речь: мелодия держится в узком диапазоне, звучит как разговор, уложенный в ритмический узор.
🔁 Хуки‑формулы: важная фраза повторяется, смысл закрепляется и становится общим.
👥 Call-and-response (вопрос–ответ): лидер произносит строку → хор отвечает и поддерживает. Формат создаёт ощущение общинного согласия: “мы услышали, мы повторили, мы поняли”.
🥁 2) Барабаны как продолжение языка
Связь языка и музыки проявляется и через ритм речи. У каждой этнической традиции формируется свой набор привычек:
⏱️ акценты
✂️ паузы
📌 группировки слогов
⚡ ускорения и “перебросы”
🥁 Барабанные рисунки часто отражают эти принципы: ритм становится моделью речи.
Поэтому в ансамблях барабаны звучат как участники диалога:
отвечают голосу “репликой”,
поддерживают ключевую фразу,
закрепляют смысл повтором,
в ряде традиций передают сообщения и статус через говорящие барабаны и кодированные сигналы.
🎧 Как услышать это в треке:
представьте вокальную строку как фразу, произнесённую вслух. Когда перкуссия попадает в те же акценты, возникает ощущение разговора внутри музыки.
🌍 3) Кого послушать сегодня (по странам) 🎶
Под тему отлично подходят артисты, у которых композиция строится на риторике, повторе, коллективном ответе и “говорящем” груве.
🇳🇬 Нигерия
• Fela Kuti — длинная музыкальная “речь” поверх гипнотического грува 🔥
fela-kuti.bandcamp.com
• Seun Kuti & Egypt 80 — лозунг‑фраза ↔ ответ, энергия сообщества 👥
seunkuti.bandcamp.com
🇬🇭 Гана
• Ebo Taylor — highlife/afro-funk, где риффы звучат как реплики 🎸
ebotaylor.bandcamp.com
• Gyedu-Blay Ambolley — речевой фанк/highlife 🗣️
gyedublayambolley.bandcamp.com
🇸🇳 Сенегал
• Orchestra Baobab — ансамбль как разговор: слои ответов и мягкий грув 🧵
orchestrabaobab.bandcamp.com
🇲🇱 Мали
• Ali Farka Touré — фразировка как интонация речи, музыка “рассказывает” 🌀
alifarkatoure.bandcamp.com
• Tinariwen — сила повтора и коллективного звучания 🌙
tinariwen.bandcamp.com
🇬🇳 Гвинея
• Bembeya Jazz National — городская оркестровая традиция, где ритм держит “сюжет” 🎺
bembeyajazznational.bandcamp.com
🇪🇹 Эфиопия
• Mulatu Astatke — этно‑джаз: интонации и паузы как пунктуация 🎷
mulatuastatke.bandcamp.com
🇿🇦 ЮАР
• Hugh Masekela — инструмент “говорит”: вопрос–ответ, паузы, реплики 🗣️🎺
hughmasakela.bandcamp.com
🇹🇿 Танзания
• Siti Muharam — суахили‑песня: текст и интонация ведут аранжировку ✨
sitimuharam.bandcamp.com
🎧 4) Мини‑упражнение (2 минуты)
Выберите любой трек из списка и отметьте:
🎤 где вокал поёт, а где говорит/скандирует
🔁 какие фразы повторяются как “формулы”
🥁 где ритм‑секция отвечает голосу — как подтверждение смысла
🔄 Сохраняйте пост и приглашайте друзей в наше увлекательное путешествие вокруг света африканских ритмов!🎶🌍
#TasteOfAfrica#ЯзыкиАфрики#ЯзыкИМузыка#АфриканскаяМузыка#ТональныеЯзыки#Этномузыка#WorldMusic#AfricanRhythms#Drums#TalkingDrum#Djembe#CallAndResponse#Afrobeat#Highlife#AfroJazz#WestAfrica#EastAfrica#SouthAfrica#Nigeria#Ghana#Senegal#Mali#Guinea#Ethiopia#Tanzania#FelaKuti#SeunKuti#EboTaylor#OrchestraBaobab#AliFarkaToure#Tinariwen#MulatuAstatke#HughMasekela#SitiMuharam