Мы используем 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
#Topic: 📌🏙Town and City🌆📌
Ten useful collocations, phrasal verbs and expressions for speaking (+definitions)
🖇to close down~ to stop doing business
🖇to get around ~ to travel around
🖇high-rise flats ~ multi-story apartments
🖇office block ~ a large building that contains offices
🖇pavement cafe ~ cafes with tables outside on the pavement
🖇residential area ~ an area where people live
🖇shopping malls ~ large indoor shopping centres
🖇sprawling city ~ a city that has grown over time and which covers a wide area
🖇upmarket shops ~ expensive fashionable shops
🖇public spaces ~ areas in a town or city that are open to the public
Prepared by Mr Andrews
👉@IELTS_with_Steven👈
🔹Obstacle: a thing that blocks one's way or prevents or hinders progress.
🔹Breakthrough: an important development that may lead to an achievement or agreement (make/achieve a breakthrough)
🔹Scrape through (an exam): only just succeed in passing an exam.
🔹Make a go of sth: (inf) make sth succeed specially a business or marriage
➕➕➕➕➕➕➕➕➕➕➕
⚜Tellus about your experiences in this regard and try to use the abovewords and expression in your writing.
#Topic
#Teamjimmy
@Sirjimmy
🔸Outstanding (adj) exceptionally good.
🔹Bias (n) A concentration on or interest in one particular area or subject.
🔸To rise to stardom (expression): to become famous.
🔹Public figure (n): a well-known and notable person.
🔸Paparazzi (n) a freelance photographer, especially one who takes candid pictures of celebrities for publication.
➕➕➕➕➕➕➕➕➕➕➕
⚜Tellus about your experiences in this regard and try to use the abovewords and expression in your writing.
#Topic
#Teamjimmy
@Sirjimmy
🎙🌀 Speaking Activity 🌀🎙
Genetic engineering is an important issue in modern society.
Some people think that it will improve people’s lives in many ways.
Others feel that it may be a threat to life on earth.
⚜️Please discuss on both opinions and tell us about your experiences in this regard.
#Topic
#speaking
#Essay#IELTS
#Teamjimmy
@Sirjimmy
It is an educational group for English learners of different levels, from beginners till advanced( who speak fluently). How we practice English here: 1) 👩🏫”every”day SPEAKING topic is pinned,to find it here press #topic.To take part in it, find the topic, press on it- reply and answer the questions by giving the full answer (not short), essay or a speech presentation by recording your voice, then tag admins or some members who can check your pronunciation or grammar mistakes. You can also find here a speaking partner and practice together by exchanging different opinions, healthy debates, ask extra questions . 2) 👨🏫 LISTENING skills (quiz) press #test_of_theday or #listening_quiz or #audio 3)👩🏫learn and make sentences with new IDIOMS and WORDS of the day, press #idiom_of_the_day#test_of_the_day or #word_of_the_day. Whenever u need some GRAMMAR tips press #grammar_in_brief, SPELLING press #spelling or #common_mistakes4) On Sundays PRONUNCIATION class at 7pm Iranian time. The host is an American professional university teacher- Fatima g. 5) 👩🏫for any assistance ask ADMINS @SB838@Scud21 6) 👨🏫read and record in order to practice your PRONUNCIATION skills and fluency press #readrecord. Press reply, read text and record your voice 7) 👩🏫 Don’t forget to check our GROUP FILES files- downloaded books, curriculums, useful information( music, vocal messages of other members,photos), 8) 👨🏫 CHAT with people from Ireland, Iran,Yemen, India, Brazil,Uzbekistan, Iraq, , Indonesia, Korea, Africa, Turkey, UAE etc. and practice your English. Try to start your conversation politely with a neutral phrase: Hello guys, I’m...... a new member, from...... Nice to meet you. 9) 👩🏫 when we have some free time, we play a game which is called- Crocodile 🐊- when one member is a host who sees the word, gives some hints( explains this words without naming it) and other members guess the word by typing it in chat. So you can practice reading , listening, writing, grammar, speaking
#Start#contents#index#mark
This channel publishes groups and channels according to a main directory and several subject sub-directories for index search
The search keywords are as follows:
One type of keywords:
Nine categories of first-level keywords
Two types of keywords:
Second-level keywords + geographic region + language family
1. Telegraph #telegram#Promotion
#Group#channel#robot
#Search#index#navigation
2. Resources #Resources#Share
#Sharing#Welfare#moive#music#Books
3. Broadcasting #Broadcasting
#message#info#news#blog
4. Chat category #Chat
#chitchat#communication#city#area
#Chinese#English#language#country
#Mainland#HongKong#Taiwan
5. Computer category #Computer
#Hardware#software#VPN#programming
6. Life category #life
#Entertainment#Game#Funny#Anime
#Live#tourism
7. Subjects #Subjects
#Interest#hobbies#topic
8.Industry #Industry#business
9.To be classified
#notes Unclassified