fa
Feedback
DeVops Библиотека

DeVops Библиотека

رفتن به کانال در Telegram

Гайды, уроки и книги для Devops специалситов по всем вопросам @workakkk

نمایش بیشتر
9 454
مشترکین
-224 ساعت
-117 روز
-5130 روز
آرشیو پست ها
👣 Multi-stage build: лёгкие и быстрые Docker-образы Docker-совет по оптимизации: уменьшите размер образа в несколько раз с помощью multi-stage build. Многие образы весят сотни мегабайт, потому что в них остаются: - компиляторы - dev-зависимости - временные файлы сборки Но в продакшене нужен только готовый бинарь или собранное приложение. Решение — многоэтапная сборка. Идея: 1. В первом этапе — собираем проект 2. Во втором — копируем только результат 3. Всё лишнее остаётся в предыдущем слое и не попадает в финальный образ Пример для Go:

# Stage 1 - сборка
FROM golang:1.22 AS builder

WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download

COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o app

# Stage 2 - минимальный образ
FROM alpine:3.20

WORKDIR /app
COPY --from=builder /app/app .

CMD ["./app"]
Что это даёт: - размер образа уменьшается в 5–20 раз - быстрее pull и deploy - меньше поверхность для уязвимостей - быстрее запуск контейнеров Аналогично работает для: - Node (build → copy dist) - Python (wheel → runtime) - Java (build → copy jar) Главная идея: в продакшен-образе должно быть только то, что нужно для запуска.

🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас
🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇 🖥 ИИ: t.me/ai_machinelearning_big_data 🖥 Python: t.me/pythonl 🖥 Linux: t.me/linuxacademiya 🖥 C++ t.me/cpluspluc 🖥 Docker: t.me/DevopsDocker 🖥 Хакинг: t.me/linuxkalii 🖥 Devops: t.me/DevOPSitsec 👣 Golang: t.me/Golang_google 🖥 Аналитика: t.me/data_analysis_ml 🖥 Javascript: t.me/javascriptv 🖥 C#: t.me/csharp_ci 🖥 Java: t.me/javatg 🖥 Базы данных: t.me/sqlhub 👣 Rust: t.me/rust_code 🤖 Технологии: t.me/machineint 💰 Экономика и инвестиции в ИИ t.me/financeStable 💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi 🖥 Chatgpt бот в тг: t.me/Chatgpturbobot 📚 Бесплатные ит-книги: https://t.me/addlist/HwywK4fErd8wYzQy 🖥Подборка по Golang: https://t.me/addlist/MUtJEeJSxeY2YTFi ⚡️ Лучшие ИИ ресурсы: https://t.me/addlist/2Ls-snqEeytkMDgy Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.

💡 КАК НАЧАТЬ РАБОТАТЬ С DOCKER Docker кажется сложным только до первого запуска контейнера. Главное - понять, что это не “магия серверов”, а способ запускать приложение в изолированной среде с уже готовыми зависимостями. Самый быстрый старт - перестать ставить всё на систему и начать упаковывать проекты в контейнеры. Тогда у тебя одинаково работает код на ноутбуке, сервере и у коллег. Базовый подход такой: у тебя есть приложение → ты описываешь среду в Dockerfile → собираешь образ → запускаешь контейнер. Всё. Никаких конфликтов версий, “у меня работает”, сломанных Python/Node окружений. Начни с простого правила — каждый новый проект сразу оборачивай в Docker, даже если он маленький. Через пару недель это станет привычкой, а проблемы с окружением исчезнут.


Установка Docker уже сделана
Проверка

docker --version

Простой Dockerfile

FROM python:3.11-slim
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

Сборка образа

docker build -t myapp .

Запуск контейнера

docker run -p 8000:8000 myapp

🌟 DOCKER КАК НАСТРОИТЬ ПЕРЕД КАЖДЫМ ПРОЕКТОМ Совет - Docker: настраивай окружение ДО начала проекта, а не когда всё уже «почти готово». Большинство проблем в проде появляется не из-за кода, а из-за разницы окружений. Правильный подход - сначала контейнерная база, потом разработка. Выбирай лёгкий базовый образ без лишнего мусора, фиксируй зависимости отдельным слоем, обязательно делай .dockerignore, чтобы не тащить в образ кэш и хлам. Сразу разделяй dev и prod конфигурации, используй docker-compose даже если сервис один, не храни секреты в Dockerfile и добавляй HEALTHCHECK, чтобы контейнер считался «живым» только когда реально работает приложение. Docker - это фундамент проекта, а не финальный штрих.

Dockerfile (база для Python-проекта)

FROM python:3.12-slim

WORKDIR /app

Сначала зависимости — кеш будет работать правильно

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

Потом код

COPY . .

EXPOSE 8000

HEALTHCHECK CMD curl --fail http://localhost:8000/health
 || exit 1

CMD ["python", "app.py"]

.dockerignore

.git
pycache
venv
node_modules
*.log

docker-compose.yml

version: "3.9"
services:
app:
build: .
ports:
- "8000:8000"
env_file:
- .env
- https://www.youtube.com/shorts/1q4ceKg1wAA

Закономерно
Закономерно

🖥 Большинство “парсеров” умирают через 2 дня. Ты научишься делать те, которые живут в проде. Это не про BeautifulSoup ради г
🖥 Большинство “парсеров” умирают через 2 дня. Ты научишься делать те, которые живут в проде. Это не про BeautifulSoup ради галочки. Это про системы сбора данных, которые: • не падают от мелких правок на сайте • собирают данные в разы быстрее • обновляют всё сами по расписанию • обходят ограничения и баны • выглядят как сервис, а не хаос из файлов Ты начнёшь видеть сайты не как страницы, а как источники данных, к которым можно подключиться. В итоге ты сможешь: • забирать данные для своих проектов • автоматизировать чужую рутину • делать инструменты для аналитики • брать коммерческие заказы на сбор данных Это навык, который напрямую превращается в деньги. Не “знаю Python”, а умею добывать данные из интернета профессионально. 🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/

🌟 LinumV2: T2V модель, которую делали вдвоем Интересная история, которая доказывает, что в индустрии ИИ не всегда нужны милл
+1
🌟 LinumV2: T2V модель, которую делали вдвоем Интересная история, которая доказывает, что в индустрии ИИ не всегда нужны миллиарды долларов и сотни сотрудников. Знакомьтесь - проект Linum. Два брата, Сахила Чопра и Ману Чопра, сделали две text-to-video модели на 2 миллиарда параметров, которые генерируют клипы длиной от 2 до 5 секунд в разрешении до 720p. Согласитесь, это редкое явление в мире, где большинство видео-генераторов закрыты за платными API. Изначально братья совсем не планировали заниматься генерацией видео.
Сахил окончил Стэнфордский университет в 2019, где в соавторстве разработал курс по LLM и занимался исследованиями в области когнитивных наук на стыке ИИ и лингвистики.
Ману досрочно окончил Калифорнийский университет в Беркли в 2021 г.. До основания Linum занимался исследованиями ИИ в биоинженерии.
Стартовав осенью 2022 года и пройдя через YCombinator, они пилили ИИ-инструмент для раскадровки фильмов. Но, пообщавшись с режиссерами, поняли: рынок слишком узкий, а творческий процесс у всех разный. 🟡Первая попытка создания видео-модели Linum v1, была, по их признанию, франкенштейном. Они взяли за основу SDXL, раздули U-NET, превратив 2D-свертки в 3D и добавили временные слои внимания. Получился забавный бот для Discord, который делал гифки в разрешении 180p. Это работало, но было тупиковой ветвью эволюции. Расширять модель, заточенную под картинки, для работы с видео - плохая идея в долгосроке. VAE, идущий в комплекте с имидж-моделью, просто не умеет нормально сжимать и разжимать видеопоток. Качество на выходе получается никакое. К тому же распределения данных в картинках и видео слишком разные, да и переучивать модель стоит дорого. 🟡V2 решили пилить с нуля. VAE взяли от Wan 2.1, успев попутно разработать свой собственный temporal VAE, но решили сэкономить на эмбеддингах, DIT и T5 на роль текстового энкодера. Представьте объем работы: двое парней делали то, чем обычно занимаются отделы с десятками сотрудников. Они сами собирали датасеты, настраивали VLM для фильтрации контента, писали пайплайны для аннотирования архива видео. И, конечно, бенчмаркали провайдеров, пытаясь понять, почему H100 у одного хостера работает хуже, чем у другого. 🟡К чему они пришли за 2 года разработки? Linum v2 — pretrained веса. Модель пока ошибается в физике и эстетике, а генерация 5-секундного клипа в 720p занимает около 15 минут на H100 при 50 шагах. Но, главное, братья не останавливаются: есть планы по ускорению через CFG и timestep distillation, работа над звуком и масштабированием. #AI #ML #T2V

☁️ Cloudness - опенсорс-платформа, чтобы деплоить свои проекты как в “мини-облаке” Сохраняй себе: cloudness-io/cloudness - эт
☁️ Cloudness - опенсорс-платформа, чтобы деплоить свои проекты как в “мини-облаке” Сохраняй себе: cloudness-io/cloudness - это open-source штука, которая помогает разворачивать и управлять приложениями на своих серверах так, будто у тебя свой Heroku / Vercel / PaaS. Что даёт Cloudness: - деплой проектов в пару кликов - управление окружениями (dev/stage/prod) - сервисы рядом (БД, кэш, очереди) - удобный контроль ресурсов и состояния - понятный интерфейс для DevOps без боли Зачем это нужно Когда проектов много, руками держать всё через docker-compose и ssh становится адом. Cloudness превращает это в нормальный продуктовый деплой: быстро, повторяемо и удобно. Идеально для: - пет-проектов - микросервисов - командной разработки - своего self-hosted продакшена GitHub: github.com/cloudness-io/cloudness

🖥 PYTHON СТАРТЕР ДЛЯ ЛЮБОГО ПРОЕКТА Сохраняй себе это - и используй каждый раз, когда начинаешь новый Python-проект. Перед тем как писать код, сделай 5 вещей: - создай правильную структуру проекта - подними виртуальное окружение - закрепи зависимости (requirements/poetry) - добавь линтер и форматтер, чтобы код сразу был норм - вынеси секреты в .env, а не в код Это экономит часы на дебаге и делает проект “взрослым” с первой минуты.


1) создать папку проекта
mkdir my_project && cd my_project

2) виртуальное окружение
python -m venv .venv
source .venv/bin/activate

3) базовые файлы
touch main.py requirements.txt .env .gitignore

4) gitignore + env
echo ".venv/
__pycache__/
.env
*.pyc" > .gitignore

# 5) полезный стартовый набор
pip install -U pip
pip install ruff black python-dotenv
https://www.youtube.com/shorts/lnKQ_2UjOfw

100 технических вопросов для интервью Data Analyst / Data Scientist (Middle/Senior) В этом руководстве мы подробно разберем 1
100 технических вопросов для интервью Data Analyst / Data Scientist (Middle/Senior) В этом руководстве мы подробно разберем 100 реальных технических вопросов, которые часто встречаются на собеседованиях для аналитиков данных и специалистов по данным уровня middle и senior. Вопросы сгруппированы по типам компаний (FAANG, стартапы, финтех, консалтинг), по уровню позиции (middle или senior) и по ключевым категориям знаний. Используя этот гайд, вы сможете оценить свой уровень подготовки, понять глубину ответов, ожидаемую от опытных кандидатов, и избежать популярных ошибок. Давайте перейдем к вопросам. FAANG: Интервью в крупных технокомпаниях (FAANG – Amazon, Apple, Netflix, Google и аналогичные крупные IT-компании) Middle-уровень – FAANG SQL – примеры вопросов (Middle, FAANG) https://uproger.com/100-tehnicheskih-voprosov-dlya-intervyu-data-analyst-data-scientist-middle-senior/

photo content

+1
⚡️ Kali Linux vs Parrot OS – платформы для пентестинга. Что выбрать профессионалам по кибербезопасности Обе операционные системы: отличные платформы для специалистов по безопасности. Kali Linux удерживает лидерство среди профессионалов благодаря большому набору специализированных инструментов и широкой поддержке, а Parrot OS предлагает сбалансированный и ресурсосберегающий вариант с уклоном в приватность и универсальность В этой статье мы разберем что лучше выбрать для пентеста Видео: https://www.youtube.com/watch?v=LRDIQGCurms

Проектирование кластеров Kubernetes - выбор размера рабочих узлов Каким должен быть кластер Kubernetes: с малым количеством м
Проектирование кластеров Kubernetes - выбор размера рабочих узлов Каким должен быть кластер Kubernetes: с малым количеством мощных узлов или с множеством слабых? В этой статье разбираются плюсы и минусы обоих подходов. При создании кластера Kubernetes один из первых вопросов, который у вас возникает: «Какой тип рабочих узлов (worker nodes) использовать и сколько их нужно?» Если вы строите локальный (on-premises) кластер, стоит ли заказать несколько мощных серверов последнего поколения или использовать десяток-другой старых машин, пылящихся в вашем дата-центре? Или, если вы используете управляемый сервис Kubernetes, например Google Kubernetes Engine (GKE), что лучше выбрать для достижения желаемой вычислительной мощности: восемь инстансов n1-standard-1 или два n1-standard-4? https://learnkube.com/kubernetes-node-size #devops #девопс

🔥 На Stepik опубликован топ курс, который учит работать с Docker так, как это делают в реальных проектах с уклоном на реальн
🔥 На Stepik опубликован топ курс, который учит работать с Docker так, как это делают в реальных проектах с уклоном на реальные рейсы. Этот практический курс покажет, как упаковывать приложения в контейнеры, собирать лёгкие и безопасные образы, поднимать несколько сервисов через docker-compose и готовить окружение для продакшена. Ты пройдёшь путь от первого контейнера до полной инфраструктуры: с логами, сетями, томами, переменными окружения, безопасностью и отладкой. Никакой теории ради теории, только реальные шаги, из которых рождается рабочая среда разработчика и прод-окружение. 🎁 В честь нового года ближайшие 48 часов - скидка 50 процентов! 👉 Начать обучение

Нашли красивый и полезный ИНТЕРАКТИВНЫЙ проект, который показывает, как эволюционировали устройства хранения информации. Там можно посмотреть на работу SSD, HDD и даже ленточных накопителей. 👍

🖥️ Создайте свой собственный ОС с uniOS uniOS — это хобби-операционная система, созданная с нуля на C++20. Она поддерживает
🖥️ Создайте свой собственный ОС с uniOS uniOS — это хобби-операционная система, созданная с нуля на C++20. Она поддерживает работу с реальным оборудованием x86-64, включает в себя работающую оболочку, сетевые функции TCP/IP и поддержку USB. 🚀Основные моменты: - Полностью самописный ядро с поддержкой C++20. - Предоставляет многозадачность и управление памятью через битовые карты. - Включает собственный стек TCP/IP и драйвер USB 3.0. - Простая файловая система uniFS и командная оболочка с поддержкой скриптов. 📌 GitHub: https://github.com/unionyxx/uniOS

⚡ Eletrize - live-reload инструмент для Go и других языков: слежка за изменениями файлов + автоматический запуск команд для у
Eletrize - live-reload инструмент для Go и других языков: слежка за изменениями файлов + автоматический запуск команд для ускорения разработки и тестирования. Что важно: • Следит за изменениями и запускает команды (например, сборку/перезапуск сервера) • Поддерживает конфиги в YAML/JSON • Может наблюдать несколько схем/папок • Интегрируется с VSCode launch.json • Работает не только с Go, но и с другими языками при настройке • MIT-лицензия, простой в установке через go install Полезно для того, чтобы быстрее видеть результаты изменений без ручных перезапусков. GitHub: https://github.com/lasfh/eletrize

⚡️ State of the Modern Software Development - подробный срез того, **как на самом деле** сегодня выглядит разработка ПО, без
+6
⚡️ State of the Modern Software Development - подробный срез того, **как на самом деле** сегодня выглядит разработка ПО, без маркетингового шума и модных лозунгов. 1) Разработка стала платформо-ориентированной Компании всё чаще строят внутренние платформы для разработчиков: - developer platform - internal tooling - self-service инфраструктура Цель - сократить путь от идеи до продакшена и убрать лишние согласования. Kubernetes сам по себе больше не цель, а лишь инструмент. 2) Kubernetes - уже стандарт, а не преимущество K8s окончательно перешёл в разряд базовой инфраструктуры: - стандарт для средних и крупных команд - основа CI/CD, безопасности и observability - фундамент platform engineering Фокус сместился с «как развернуть кластер» на «как сделать его незаметным для разработчика». 3) DevOps трансформировался в Platform Engineering Классический DevOps как универсальная роль постепенно исчезает. На его место приходят: - platform teams - golden paths - стандартизированные шаблоны сервисов Главная цель — developer experience, а не бесконечная поддержка инфраструктуры. 4) Облако больше не про дешевизну Сегодня облако — это: - скорость запуска продуктов - масштабирование без боли - managed-сервисы вместо самописных решений Экономия вынесена в отдельную дисциплину — FinOps, а не считается встроенным преимуществом облака. 5) Наблюдаемость важнее логов Логи перестали быть основным инструментом понимания системы. На первый план выходят: - метрики - трассировки - SLO и error budgets Системы проектируются так, чтобы их можно было понимать в реальном времени, а не разбирать постфактум. 6) Инструментов стало слишком много Одна из ключевых проблем индустрии: - перегруженные CI/CD пайплайны - десятки инструментов без владельцев - высокая когнитивная нагрузка на команды Выигрывают те, кто упрощает стек, а не добавляет новые инструменты. Вывод Современная разработка — это уже не гонка фреймворков и технологий. Это про: - удобство и скорость работы разработчика - стандарты и повторяемость - управляемую сложность - устойчивое развитие команд без выгорания Коротко: инфраструктура стала продуктом, а разработчик — её пользователем. https://stateof.themodernsoftware.dev/

🖥 Гайд по продвинутому профессиональному использованию SQL В этом руководстве мы рассмотрим ключевые аспекты работы с SQL на
🖥 Гайд по продвинутому профессиональному использованию SQL В этом руководстве мы рассмотрим ключевые аспекты работы с SQL на практике. Начнём с сравнения популярных СУБД, затем перейдём к продвинутым приёмам аналитического SQL, оптимизации запросов, администрированию баз данных, и закончится всё интеграцией SQL с Python (SQLAlchemy, pandas и т.д.). Для каждого раздела приведены примеры на реальных сценариях (интернет-магазин, CRM, аналитика продаж), код и полезные советы. 👉 Читать гайд

Repost from Machinelearning
📌 Андрей Карпаты написал ИИ-пайплайн для проверки IT-прогнозов десятилетней давности. Андрей опубликовал разбор своего новог
📌 Андрей Карпаты написал ИИ-пайплайн для проверки IT-прогнозов десятилетней давности. Андрей опубликовал разбор своего нового пет-проекта. Он создал систему, которая анализирует архивные треды Hacker News и с помощью LLM проверяет, сбылись ли предсказания пользователей спустя 10 лет. Проект использует так называемые «послезнание» (hindsight), чтобы сравнивать старые комментарии с реальностью, выявлять визионеров и находить самые громкие ошибки. Технически решение представляет собой пайплайн, который собирает данные через API Algolia и обрабатывает их с помощью структурированного промпта. Тестовый прогон на 930 обсуждениях (месячный архив статей Hacker News) занял около часа и обошелся всего в 58 долларов. На выходе система генерирует статический сайт с «Залом славы» аналитиков и рейтингом точность прогнозов. Исходный вайб-код проекта, по традиции - в открытом доступе. @ai_machinelearning_big_data #AI #ML #LLM #Tutorial #Karpaty