Мы используем 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
#Loki✨
Sobre si volveremos a ver a la TVA en el MCU ya que persiguen a las variantes de Kang.
"Esa es una decisión que se toma por encima de mi nivel salarial. Ellos deciden quién terminará en qué cosas"
@MARVELNOTICIAS📮
#Loki✨
Sobre los problemas legales de Jonathan Majors.
"Ya sabes, esa es una conversación de estudio más amplia. Para nosotros, simplemente estábamos concentrados en lo que teníamos y en lograrlo"
@MARVELNOTICIAS📮
#Loki✨
Sobre Ravonna y su final.
"Dejaré que la gente reflexione sobre lo que eso puede significar. Ella está en el aire. Hay cosas que pueden pasar con ella. Si miras los cómics, hay algunas inferencias divertidas que se pueden sacar de la pirámide"
"Y sabes, ¿quién sabe? ¿Alioth la mata? ¿O entablaron una amistad? ¿Quizás Alioth la recuerda? No sé"
@MARVELNOTICIAS📮
#Loki✨
Sobre la Sylvie de Sophia DiMartino.
"Sylvie es interesante, por todo lo relacionado con McDonald's y su vida tranquila. Se siente como un año sabático. No estoy del todo preparado para crecer y hacer eso"
"Y ella fue sacada de eso. Ahora comienza el trabajo. No estoy seguro de adónde irá desde aquí. Pero no creo que vaya a vivir sólo una vida tranquila. Quizás lo haría. No sé. Pero ella tomará una decisión muy activa sobre lo que va a hacer, sea lo que sea"
"Ella está tomando esa decisión. No es simplemente como, Oh, voy a sentir las cosas. Ella va a ir en una dirección"
@MARVELNOTICIAS📮
#Loki✨
¿Cómo pasaste del Loki del libertinaje al Loki que tiene que ser un Dios?
"La gran idea era llevar a Loki de un dios con d minúscula a un Dios con D mayúscula, impulsándolo hasta ese lugar donde obtiene su trono, pero ya no es un trono lo que quiere. Este es un deber"
"Está haciendo esto para que todos los demás puedan tener sus vidas. Está renunciando a lo que más desea para que todos los demás puedan tener su libre albedrío... Queríamos potenciar sus habilidades, pero también su sabiduría y conocimiento"
¿Está Loki sufriendo?
"Eso lo dejo a la interpretación. Esa imagen final pretende ser ambigua. Así que dejaré que la gente tome sus propias decisiones. Si nos fijamos en la mitología, alguien como Atlas es una persona interesante a la que mirar con eso"
@MARVELNOTICIAS📮
#Loki✨
¡El guionista de 'LOKI' Eric Martin responde a todas las preguntas del final de la serie!
¿Cómo funciona la comida en la TVA?
"Esa es una pregunta interesante, porque el tiempo no pasa. Siempre lo abordé como si existiera un requerimiento nutritivo. La termodinámica todavía se aplica y necesitan crear energía para moverse. Pero no tienen mucho tiempo para ello"
"Todo avanza rápidamente en la TVA. Siempre estás trabajando y tienes tu descanso de nueve minutos para almorzar. Hubo un gran chiste que tuvimos en la primera temporada. Al final tuvimos que cortarlo, pero fue divertido"
"Vemos a un cazador en la cafetería: terminan su comida y luego simplemente podan la bandeja. En lugar de tirar nada"
@MARVELNOTICIAS📮
#go#cloudnative#grafana#hacktoberfest#logging#loki#prometheus
Loki is a log aggregation system inspired by Prometheus but designed specifically for logs instead of metrics. It is cost-effective and easy to operate because it only indexes metadata (labels) about logs, not the full log content, which reduces storage and complexity. Loki works well with Kubernetes by automatically indexing pod labels and integrates natively with Grafana for easy log visualization. Its stack includes an agent (Alloy) to collect logs, Loki to store and query them, and Grafana to display them. This setup helps you efficiently manage and analyze logs with less cost and simpler operation compared to traditional logging systems[2].
https://github.com/grafana/loki