DevOps-инженер — от 200 000 ₽, гибрид (Санкт-Петербург)
DevOps инженер (middle/middle+) — удалёнка
DevOps — от 6 000 €, офис (Ульм)
DevOps Engineer — от 300 000 ₽, удалёнка
DevOps/SRE инженер — от 300 000 ₽, удалёнка
Бустер — Офис у вас дома.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
🫣 Хотите в Data Science, но боитесь высшей математики?
Хорошая новость: вам не нужно становиться математиком. Вам нужно освоить конкретные разделы, которые реально используются в работе и на собеседованиях.
Именно этому учат преподаватели ВМК МГУ на нашем курсе «Математика для Data Science».
Без лишней воды — только то, что нужно для:
✅ успешного поступления в ШАД Яндекса;
✅ прохождения собеседований уровня FAANG;
✅ глубокого понимания ML-алгоритмов.
Это самый прямой путь к математическому фундаменту, на котором строится вся карьера в Data Science.
👉 Начните строить свою карьеру уже сегодня
Хорошая новость: вам не нужно становиться математиком. Вам нужно освоить конкретные разделы, которые реально используются в работе и на собеседованиях.
Именно этому учат преподаватели ВМК МГУ на нашем курсе «Математика для Data Science».
Без лишней воды — только то, что нужно для:
✅ успешного поступления в ШАД Яндекса;
✅ прохождения собеседований уровня FAANG;
✅ глубокого понимания ML-алгоритмов.
Это самый прямой путь к математическому фундаменту, на котором строится вся карьера в Data Science.
👉 Начните строить свою карьеру уже сегодня
🌀 Шпаргалка по циклам в Bash
Чтобы не держать в голове всю синтаксическую магию, собрали удобные примеры: for, while, until, диапазоны, чтение файлов и даже управление потоком с break и continue.
Цикл for в Bash:
Цикл for, как в C:
Цикл for с диапазонами:
Цикл while в Bash:
Цикл while true:
Чтение файлов:
Оператор continue:
Оператор break:
Цикл until:
Код готов к копипасте. Берите и используйте.
🐸 Библиотека devops'a
#буст
Чтобы не держать в голове всю синтаксическую магию, собрали удобные примеры: for, while, until, диапазоны, чтение файлов и даже управление потоком с break и continue.
Цикл for в Bash:
for i in /etc/*; do
echo $i
done
# То же самое (альтернативный синтаксис), также работает с другими видами циклов
for i in /etc/*
do
echo $i
done
Цикл for, как в C:
for ((i = 0; i < 100; i++)); do
echo $i
done
# альтернативный синтаксис
for ((i = 0; i < 100; i++))
do
echo $i
done
Цикл for с диапазонами:
for i in {1..10}; do
echo "Number: $i"
done
# С шагом
# ⇒ {НАЧАЛО..КОНЕЦ..ШАГ}
for i in {5..50..5}; do
echo "Number: $i"
done
Цикл while в Bash:
# увеличение значения
i=1
while [[ $i -lt 4 ]]; do
echo "Number: $i"
((i++))
done
# уменьшение значения
i=3
while [[ $i -gt 0 ]]; do
echo "Number: $i"
((i--))
done
Цикл while true:
# длинная форма while true
while true; do
# TODO
# TODO
done
# или короткая запись
while :; do
# TODO
# TODO
done
Чтение файлов:
# использование пайпов
cat file.txt | while read line
do
echo $line
done
# ИЛИ использование перенаправления ввода
while read line; do
echo $line
done < "/path/to/txt/file"
Оператор continue:
# команда seq может использоваться для генерации диапазонов
for number in $(seq 1 3); do
if [[ $number == 2 ]]; then
continue
fi
echo "$number"
done
Оператор break:
for number in $(seq 1 3); do
if [[ $number == 2 ]]; then
# Пропустить оставшуюся часть цикла или выйти из цикла
break
fi
# Здесь выведется только 1
echo "$number"
done
Цикл until:
# увеличение значения
count=0
until [ $count -gt 10 ]; do
echo "$count"
((count++))
done
# уменьшение значения
count=10
until [ $count -eq 0 ]; do
echo "$count"
((count--))
done
Код готов к копипасте. Берите и используйте.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
👻 Гибридные вакансии и фантомный рост
Вакансии пестрят шестизначными цифрами, но у большинства специалистов ощущение будто деньги обесцениваются быстрее, чем приходят. Работодатели требуют гибридных навыков, а компенсации часто не дотягивают до ожиданий.
Почему статистика расходится с реальностью и что ждёт рынок в ближайшие годы — разбираем в статье.
🐸 Библиотека devops'a
Вакансии пестрят шестизначными цифрами, но у большинства специалистов ощущение будто деньги обесцениваются быстрее, чем приходят. Работодатели требуют гибридных навыков, а компенсации часто не дотягивают до ожиданий.
Почему статистика расходится с реальностью и что ждёт рынок в ближайшие годы — разбираем в статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Бесплатный вебинар — прогнозируем цены и не сходим с ума
21 августа в 19:00 МСК будет бесплатный вебинар с Марией Жаровой — экспертом в ML и Data Science.
Тема:
Подробности рассказываю в гс выше — включай, чтобы не пропустить.
21 августа в 19:00 МСК будет бесплатный вебинар с Марией Жаровой — экспертом в ML и Data Science.
Тема:
«Введение в машинное обучение: как спрогнозировать стоимость недвижимости».
Подробности рассказываю в гс выше — включай, чтобы не пропустить.
👍1
Заголовки безопасности и CORS — дешёвая страховка: 15 минут работ, минус XSS, кликджекинг и утечки. Ни магии, ни «серой» криптографии — только дисциплина.
1. Строгие заголовки безопасности — базовый минимум
Идея: запретить всё, разрешить необходимое. Это резко сужает поверхность атаки.
• CSP — главный щит от XSS. Старт: запрет скриптов извне и инлайна.
• HSTS — принудительный HTTPS. Не включайте preload, пока не уверены во всех поддоменах.
• X-Content-Type-Options: nosniff — браузер не «угадывает» типы.
• Referrer-Policy: strict-origin-when-cross-origin — не светим полный URL.
• Permissions-Policy — режем ненужные API.
• frame-ancestors (в CSP) — современная альтернатива X-Frame-Options.
Рекомендованный набор:
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:; object-src 'none'; base-uri 'self'; frame-ancestors 'none'
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: geolocation=(), camera=(), microphone=()
2. CORS без «*»
Принцип: доверяем только своим фронтам. Никаких универсальных разрешений.
• Access-Control-Allow-Origin — точный домен (https://proglib.io/), не *.
• Allow-Credentials: true — только при точном Origin (иначе браузер заблокирует).
• Allow-Methods / Allow-Headers — перечислите реально используемые.
• Max-Age — кэш preflight (например, 600 сек).
• Vary: Origin — правильное кеширование на прокси.
Шаблон ответа сервера:
Access-Control-Allow-Origin: https://app.example.com
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET,POST,PUT,DELETE
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Max-Age: 600
Vary: Origin
Этот минимум даёт мгновенный прирост безопасности без рефакторинга.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
⏰ Последние 2 дня скидки на курс «AI-агенты для DS-специалистов»
Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы на базе ИИ-агентов.
Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но чтобы получить все плюшки, успевайте до 1 июня.
🎁 Что вы получите при оплате курса до 1 июня:
— Промокод PROGLIBAIна 10 000 ₽ на курс, чтобы изучать AI-агентов еще выгоднее
— Эксклюзивный лонгрид по API и ML от Proglib
💡Что разберем на курсе «AI-агенты для DS-специалистов»:
— Реализацию памяти в цепочках langchain
— Полный пайплайн RAG-системы с оценкой качества
— Основы мультиагентных систем (MAS)
— Протокол MCP и фреймворк FastMCP
Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных».
👉 Успейте до 1 июня: https://clc.to/Cttu7A
Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы на базе ИИ-агентов.
Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но чтобы получить все плюшки, успевайте до 1 июня.
🎁 Что вы получите при оплате курса до 1 июня:
— Промокод PROGLIBAIна 10 000 ₽ на курс, чтобы изучать AI-агентов еще выгоднее
— Эксклюзивный лонгрид по API и ML от Proglib
💡Что разберем на курсе «AI-агенты для DS-специалистов»:
— Реализацию памяти в цепочках langchain
— Полный пайплайн RAG-системы с оценкой качества
— Основы мультиагентных систем (MAS)
— Протокол MCP и фреймворк FastMCP
Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных».
👉 Успейте до 1 июня: https://clc.to/Cttu7A
😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰3😁3
Когда «горит», а времени и ресурса ноль — используйте промпт ниже. Он за минуты выдаст гипотезы, точные проверки и безопасные фиксы.
Промпт:
Ты — дежурный SRE на on‑call. Я дам исходные данные ниже; составь максимально конкретный пошаговый план (не более 10 шагов). Для каждого шага обязательно укажи: гипотезу, точные проверки с командами и пример ожидаемого вывода или паттерна в логах, какие метрики/пороги проверять, критерии завершения шага, безопасный фикс (точные команды и изменения конфига если нужно), команду для отката, уровень риска (низкий/средний/высокий) и примерное время выполнения. В конце дай краткий итог и шаблон инцидентного отчёта.
Заполни следующие поля вместо <> перед выполнением:
- Симптомы: <что наблюдаем — метрики, ошибки, поведение сервиса>
- Сервис/имя Pod/Deployment/VM: <имя сервиса или ресурс>
- Среда: <K8s/VMs> (укажи версию k8s/OS, namespace, количество нод)
- Время начала и SEV: <время, SEV1/2/3>
- Лог-кусок: <фрагмент лога — несколько строк>
- Доступы/ограничения: <можно ли рестартить поды/вносить изменения, maintenance window, контактные лица>
Требования к выходу (формат):
1) Нумерованный список шагов (1..N up to 10). Для каждого шага поля: {гипотеза; проверки: команды и ожидаемый вывод; метрики/логи и пороги; критерии завершения; безопасный фикс (команды/patch) ; команда отката; риск; время}
2) Если даётся kubectl-команда — используй явные флаги (namespace, -o json/yaml, --field-selector) и безопасные опции (например --dry-run=client для изменений) там, где применимо.
3) Метрики указывай конкретно: metric_name (источник, e.g. Prometheus) и порог (например error_rate > 5% за 5m).
4) Включи дополнительные рекомендованные команды для диагностики сети/IO/сторонних зависимостей (curl, ss, top, iostat) по необходимости.
5) В конце — краткое резюме с рекомендуемым порядком действий после инцидента (postmortem checklist).
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
Reftable по умолчанию для хранения ссылок (ветки/теги): более атомарные операции и компактность на крупных репозиториях.
Новый вариант представления stash: записи стэша формируются как последовательность коммитов (упрощает перенос/анализ истории).
Оптимизации хранилища: ускорения вокруг multi-pack index (MIDX), более компактные pack-файлы, появились удобные сценарии импорта/экспорта stash.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
📅 Сегодня в 19:00 МСК — бесплатный вебинар с Марией Жаровой.
Тема: «Введение в ML: как спрогнозировать стоимость недвижимости».
🔹 Разберём задачу прогноза стоимости недвижимости.
🔹 Покажем пошагово, как собрать первую модель.
🔹 Получите готовые скрипты для старта.
Не зайдёшь — будешь ещё год делать вид, что понимаешь графики в чужих презентациях.
👉 Регистрируйтесь
Тема: «Введение в ML: как спрогнозировать стоимость недвижимости».
🔹 Разберём задачу прогноза стоимости недвижимости.
🔹 Покажем пошагово, как собрать первую модель.
🔹 Получите готовые скрипты для старта.
Не зайдёшь — будешь ещё год делать вид, что понимаешь графики в чужих презентациях.
👉 Регистрируйтесь
😁1
🔍 Ракетный поиск по файлам
Когда вы запускаете grep для поиска по проекту, он будет по умолчанию искать во всех файлах, включая большие бинарные файлы, временные файлы или скрытые директории, такие как .git, что может замедлить поиск.
А Ripgrep автоматически игнорирует:
• Файлы и директории, указанные в .gitignore
• Файлы, указанные в .ignore и .rgignore
• Скрытые файлы и директории
• Бинарные файлы
Когда вы запускаете команду
🐸 Библиотека devops'a
#буст
Когда вы запускаете grep для поиска по проекту, он будет по умолчанию искать во всех файлах, включая большие бинарные файлы, временные файлы или скрытые директории, такие как .git, что может замедлить поиск.
А Ripgrep автоматически игнорирует:
• Файлы и директории, указанные в .gitignore
• Файлы, указанные в .ignore и .rgignore
• Скрытые файлы и директории
• Бинарные файлы
Когда вы запускаете команду
rg
, она проверяет файлы и папки, которые вы хотите включить в поиск, и игнорирует все файлы и каталоги, которые находятся в списках игнорирования.#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3