reload_flag=""
if [[ -n "${DEBUG}" ]]; then
reload_flag="--reload"
fi
if [[ -n "${WORKER_COUNT}" ]]; then
workers=${WORKER_COUNT}
else
workers=2
fi
gunicorn --workers ${workers} \
--bind 0.0.0.0:8000 \
${reload_flag} main.wsgi
Писали такие конструкции чтобы проверить наличие флага и сформировать команду правильно?
На самом деле можно сделать тоже самое проще. Для этого используются операторы условной подстановки, доступные в оболочках семейства POSIX.
:- для установки значений по умолчанию
${WORKER_COUNT:-2}
Если переменная не объявлена, то будет дефолтное значение 2.
:+ подставляет указанный текст, если переменная не пуста
${DEBUG:+--reload}
Если что-то есть в переменной то распечатается текст после символа +, в противном случае - ничего. Удобно для опциональных флагов, как в нашем примере.
Итого наш скрипт может выглядеть так:
gunicorn --workers ${WORKER_COUNT:-2} \
--bind 0.0.0.0:8000 \
${DEBUG:+--reload} main.wsgi
Есть еще два оператора.
:= не только подставить дефолтное значение, но и присвоить его переменной, если она пуста
# никаких переменных еще нет
VAL1=${VAL2:=hello}
# теперь доступны обе
echo $VAL1 $VAL2
# hello hello
:? остановить выполнение с ошибкой, если переменной нет.
echo ${MISS:?is required}
bash: MISS: is required
Код выхода будет 1.
#tricks#linux
🔨Вышла Android Studio Panda 3
В новом стабильном релизе Android Studio два изменения, которые напрямую влияют на работу с Agent Mode.
Первое — собственные Agent Skills. Создаёшь папку .skills/ в корне проекта, кладёшь туда SKILL.md с описанием нужного воркфлоу, и агент начинает использовать его автоматически. Можно вызвать вручную через @имя. Скилл может содержать инструкции по код-ревью под ваши стандарты, информацию о внутренних библиотеках, любые кастомные практики команды. Концепция ровно та же, что в Claude Code с CLAUDE.md, только встроена прямо в Studio.
Второе — гранулярные разрешения для AI. Агент явно запрашивает разрешение перед чтением файлов, запуском shell-команд и веб-запросами. Можно настроить постоянные исключения для доверенных операций, SSH-ключи всегда требуют явного OK. Плюс опциональный sandbox для полной изоляции.
#AndroidStudio#AgentMode#AIdev
🌐 OpenAI представила Atlas - свой новый AI-браузер с памятью и режимом агента.
Atlas полностью интегрирован с ChatGPT и работает на базе ChatGPT Search.
Главная фишка - Agent Mode, который может самостоятельно перемещаться по сайтам, открывать страницы и выполнять задачи прямо в браузере.
Можно запускать несколько вкладок с агентами одновременно.
🧠 Браузер также имеет постоянную память (Memory Recall), он запоминает контекст, прошлые действия и может продолжить с того места, где вы остановились.
Atlas уже доступен для всех пользователей: Free, Plus, Pro, Go и Business.
Для Enterprise и Education доступна бета-версия.
📱Доступен для MacOs. Версии для Windows, iOS и Android - в разработке.
Скоро поделюсь результатами тестов и первыми впечатлениями от Agent Mode.
@ai_machinelearning_big_data
https://chatgpt.com/atlas
#OpenAI#Atlas#ChatGPT#AIbrowser#AgentMode
⭐️Gemma 4 в Android Studio: локальный AI-агент на вашем компьютере
Google представил Gemma 4 — новое семейство открытых моделей для сложных рассуждений и вызова инструментов. Главная цель: сделать локальный агентный ИИ стандартом на Android — от разработки до продакшена на смартфоне.
Сейчас фокус на Android Studio. Gemma 4 работает полностью локально на вашем компьютере. Код не уходит в облако.
Agent Mode в Android Studio с Gemma позволит вам делать
👉 рефакторинг легаси‑кода
👉 создание целого приложения или новых фич
👉 итеративное исправление ошибок (агент сам применяет правки)
Без интернета, с полным контролем приватности и без оплаты за токены.
———
Gemma 4 бывает разного размера: от E2B (2 млрд параметров) до 31B. Требования зависят от модели:
👉E2B (2B) — 8 ГБ RAM, работает на CPU. Для базовых подсказок.
👉E4B (4B) — от 16 ГБ RAM. Идеальный баланс для большинства разработчиков.
👉7B–14B — от 16 ГБ (лучше 32 ГБ). Нужен GPU или мощный нейронный движок.
👉26B A4B / 31B — 32+ ГБ RAM. Только с квантованием или на профессиональных станциях.
Для обладателей MacBook Pro с 32+ ГБ и чипом M Pro/Max открвается много интересного. На такой конфигурации вы комфортно запустите:
👉E4B (4B) — молниеносно
👉26B A4B — отличный уровень интеллекта
👉31B — с квантованием (потеря качества минимальна)
Благодаря Unified Memory и оптимизации через Metal MacBook Pro часто эффективнее PC с дискретными видеокартами в том же классе памяти.
———
Gemma 4 в Android Studio делает локального агентного ассистента реальностью. Вы получаете современный AI для сложных задач без облаков и без счетов за API.
Выбрать модель можно прямо в настройках Android Studio через LLM‑провайдера (LM Studio, Ollama и др.). Я пойду тестировать её, потому что локальный AI агент - это очень круто!
🔗 Источник - Android Dev Blog
#Gemma4#AndroidDe#AndroidStudio#AgentMode