Ты научишься делать те, которые живут в проде.
Это не про BeautifulSoup ради галочки.
Это про системы сбора данных, которые:
• не падают от мелких правок на сайте
• собирают данные в разы быстрее
• обновляют всё сами по расписанию
• обходят ограничения и баны
• выглядят как сервис, а не хаос из файлов
Ты начнёшь видеть сайты не как страницы, а как источники данных, к которым можно подключиться.
В итоге ты сможешь:
• забирать данные для своих проектов
• автоматизировать чужую рутину
• делать инструменты для аналитики
• брать коммерческие заказы на сбор данных
Это навык, который напрямую превращается в деньги.
Не “знаю Python”, а умею добывать данные из интернета профессионально.
🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🌟 DOCKER КАК НАСТРОИТЬ ПЕРЕД КАЖДЫМ ПРОЕКТОМ
Совет - Docker: настраивай окружение ДО начала проекта, а не когда всё уже «почти готово».
Большинство проблем в проде появляется не из-за кода, а из-за разницы окружений.
Правильный подход - сначала контейнерная база, потом разработка.
Выбирай лёгкий базовый образ без лишнего мусора, фиксируй зависимости отдельным слоем, обязательно делай .dockerignore, чтобы не тащить в образ кэш и хлам.
Сразу разделяй dev и prod конфигурации, используй docker-compose даже если сервис один, не храни секреты в Dockerfile и добавляй HEALTHCHECK, чтобы контейнер считался «живым» только когда реально работает приложение.
Docker - это фундамент проекта, а не финальный штрих.
- https://www.youtube.com/shorts/1q4ceKg1wAA
Совет - 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
❤6👍3
This media is not supported in your browser
VIEW IN TELEGRAM
💡 КАК НАЧАТЬ РАБОТАТЬ С DOCKER
Docker кажется сложным только до первого запуска контейнера. Главное - понять, что это не “магия серверов”, а способ запускать приложение в изолированной среде с уже готовыми зависимостями.
Самый быстрый старт - перестать ставить всё на систему и начать упаковывать проекты в контейнеры. Тогда у тебя одинаково работает код на ноутбуке, сервере и у коллег.
Базовый подход такой: у тебя есть приложение → ты описываешь среду в Dockerfile → собираешь образ → запускаешь контейнер. Всё. Никаких конфликтов версий, “у меня работает”, сломанных Python/Node окружений.
Начни с простого правила — каждый новый проект сразу оборачивай в 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
❤6
🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇
🖥 ИИ: 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
Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
💰 Экономика и инвестиции в ИИ t.me/financeStable
💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi
📚 Бесплатные ит-книги: https://t.me/addlist/HwywK4fErd8wYzQy
⚡️ Лучшие ИИ ресурсы: https://t.me/addlist/2Ls-snqEeytkMDgy
Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
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)
Главная идея: в продакшен-образе должно быть только то, что нужно для запуска.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🔍 Исследуйте связи с Эпштейном
EpsteIn — инструмент для поиска упоминаний ваших контактов LinkedIn в судебных документах Эпштейна. Просто загрузите файл с контактами и получите отчет в HTML-формате с результатами поиска.
🚀 Основные моменты:
- Поиск упоминаний в судебных документах
- Генерация отчетов в HTML
- Поддержка CSV-файлов с контактами LinkedIn
- Удобный интерфейс для просмотра результатов
📌 GitHub: https://github.com/cfinke/EpsteIn
#python
EpsteIn — инструмент для поиска упоминаний ваших контактов LinkedIn в судебных документах Эпштейна. Просто загрузите файл с контактами и получите отчет в HTML-формате с результатами поиска.
🚀 Основные моменты:
- Поиск упоминаний в судебных документах
- Генерация отчетов в HTML
- Поддержка CSV-файлов с контактами LinkedIn
- Удобный интерфейс для просмотра результатов
📌 GitHub: https://github.com/cfinke/EpsteIn
#python
😁7❤6👍3💩2🥴2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Forwarded from DevOps Docker
🐳 Docker Layer Caching Trick
Многие Docker-сборки занимают 5–10 минут
даже если вы изменили одну строку кода.
Причина - неправильный порядок инструкций в Dockerfile.
🚫 Плохой Dockerfile
COPY . /app
RUN npm install
RUN npm run build
Если меняется любой файл в коде →
слой
Docker сбрасывает кэш и заново запускает:
• npm install
• build
Даже если зависимости не менялись.
⏳ В итоге - каждая сборка почти с нуля.
✅ Правильный Dockerfile
COPY package*.json /app
RUN npm install
COPY . /app
RUN npm run build
Теперь Docker работает умнее:
если изменился только код:
• слой
• пересобирается только build
⚡ Время сборки
До - ~10 минут
После - ~30 секунд
📌 Золотое правило Dockerfile
Сначала кладём то, что редко меняется:
• package.json
• package-lock.json
• requirements.txt
• go.mod
А часто меняющееся - в конце:
• исходный код
• конфиги
• assets
🚀 Результат
• быстрее сборки Docker
• быстрее CI/CD
• быстрее деплой
Иногда достаточно просто поменять порядок строк в Dockerfile.
🎯Полезные DEVOPS ресурсы 🚀 Max
Docker в телеграм
Многие Docker-сборки занимают 5–10 минут
даже если вы изменили одну строку кода.
Причина - неправильный порядок инструкций в Dockerfile.
🚫 Плохой Dockerfile
COPY . /app
RUN npm install
RUN npm run build
Если меняется любой файл в коде →
слой
COPY . меняется.Docker сбрасывает кэш и заново запускает:
• npm install
• build
Даже если зависимости не менялись.
⏳ В итоге - каждая сборка почти с нуля.
✅ Правильный Dockerfile
COPY package*.json /app
RUN npm install
COPY . /app
RUN npm run build
Теперь Docker работает умнее:
если изменился только код:
• слой
npm install берётся из кэша • пересобирается только build
⚡ Время сборки
До - ~10 минут
После - ~30 секунд
📌 Золотое правило Dockerfile
Сначала кладём то, что редко меняется:
• package.json
• package-lock.json
• requirements.txt
• go.mod
А часто меняющееся - в конце:
• исходный код
• конфиги
• assets
🚀 Результат
• быстрее сборки Docker
• быстрее CI/CD
• быстрее деплой
Иногда достаточно просто поменять порядок строк в Dockerfile.
🎯Полезные DEVOPS ресурсы 🚀 Max
Docker в телеграм
❤2👍2👎1🔥1
➡️ Архитектура Linux простыми словами
Linux — это не просто система, а набор слоёв, которые работают вместе:
1. 🖥 Hardware
Железо: процессор, память, сеть — всё, что даёт вычислительную мощность
2. ⚙️ Kernel
Ядро системы — управляет ресурсами и напрямую общается с железом
3. 💻 Shell
Интерфейс (например, Bash), который переводит команды пользователя в язык ядра
4. 🛠 Utilities
Системные утилиты (ls, grep, cp) — инструменты для работы с системой
5. 🌐 Applications
Приложения: браузеры, плееры, IDE — то, с чем работает пользователь
📌 Как это работает вместе:
Ты вводишь команду → shell передаёт её ядру → ядро обращается к железу → утилиты/приложения выполняют задачу
Просто, но гениально.
#Linux #DevOps #Backend
Linux — это не просто система, а набор слоёв, которые работают вместе:
1. 🖥 Hardware
Железо: процессор, память, сеть — всё, что даёт вычислительную мощность
2. ⚙️ Kernel
Ядро системы — управляет ресурсами и напрямую общается с железом
3. 💻 Shell
Интерфейс (например, Bash), который переводит команды пользователя в язык ядра
4. 🛠 Utilities
Системные утилиты (ls, grep, cp) — инструменты для работы с системой
5. 🌐 Applications
Приложения: браузеры, плееры, IDE — то, с чем работает пользователь
📌 Как это работает вместе:
Ты вводишь команду → shell передаёт её ядру → ядро обращается к железу → утилиты/приложения выполняют задачу
Просто, но гениально.
#Linux #DevOps #Backend
👍5❤2🔥2
Forwarded from Rust
Вот лишь часть тем, которые сразу зацепили:
- Async в продакшене
- Конкурентность и runtime
- Почему разработчикам на C/C++ стоит переходить на Rust
- no_std — Rust без стандартной библиотеки
- Зачем Rust разработчикам на C#
- Системное программирование и продакшн
- Unsafe Rust - управляемый риск
- Phantom types
- Машины состояний для протоколов
И это только малая часть.
Похоже, туда вложили очень много работы, точно стоит выделить время и пройтись.
github.com/microsoft/RustTraining/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Forwarded from Golang
🧠 Контейнерный стек - кто за что отвечает
1. Podman
👉 альтернатива Docker без демона, можно запускать контейнеры rootless
🔗 https://podman.io
2. containerd
👉 низкоуровневый runtime, который реально контейнеры
🔗 https://containerd.io
3. CRI-O
👉 runtime специально для Kubernetes
🔗 https://cri-o.io
4. runc
👉 самый низкий уровень (OCI runtime)
🔗 https://github.com/opencontainers/runc
5. Buildah
👉 сборка образов без Docker
🔗 https://buildah.io
6. Kaniko
👉 сборка образов внутри Kubernetes
🔗 https://github.com/GoogleContainerTools/kaniko
7. nerdctl
👉 docker-подобный CLI для containerd
🔗 https://github.com/containerd/nerdctl
8. Rancher Desktop
👉 локальный Kubernetes + контейнеры
🔗 https://rancherdesktop.io
9. OrbStack
👉 быстрый dev environment для macOS
🔗 https://orbstack.dev
10. LXC / LXD
👉 системные контейнеры (почти как VM)
🔗 https://linuxcontainers.org
11. Colima
👉 лёгкая альтернатива Docker Desktop
🔗 https://github.com/abiosoft/colima
12. Lima
👉 лёгкая VM для macOS
🔗 https://github.com/lima-vm/lima
💡 Как это связать
👉 runc → запускает контейнер
👉 containerd / CRI-O → управляют контейнерами
👉 Podman / nerdctl → интерфейс
👉 Buildah / Kaniko → сборка
👉 Rancher / OrbStack / Colima → dev окружение
👉 Lima → VM база
👣 Полезные ресурсы Go 🚀Max
@Golang_google
1. Podman
👉 альтернатива Docker без демона, можно запускать контейнеры rootless
🔗 https://podman.io
2. containerd
👉 низкоуровневый runtime, который реально контейнеры
🔗 https://containerd.io
3. CRI-O
👉 runtime специально для Kubernetes
🔗 https://cri-o.io
4. runc
👉 самый низкий уровень (OCI runtime)
🔗 https://github.com/opencontainers/runc
5. Buildah
👉 сборка образов без Docker
🔗 https://buildah.io
6. Kaniko
👉 сборка образов внутри Kubernetes
🔗 https://github.com/GoogleContainerTools/kaniko
7. nerdctl
👉 docker-подобный CLI для containerd
🔗 https://github.com/containerd/nerdctl
8. Rancher Desktop
👉 локальный Kubernetes + контейнеры
🔗 https://rancherdesktop.io
9. OrbStack
👉 быстрый dev environment для macOS
🔗 https://orbstack.dev
10. LXC / LXD
👉 системные контейнеры (почти как VM)
🔗 https://linuxcontainers.org
11. Colima
👉 лёгкая альтернатива Docker Desktop
🔗 https://github.com/abiosoft/colima
12. Lima
👉 лёгкая VM для macOS
🔗 https://github.com/lima-vm/lima
💡 Как это связать
👉 runc → запускает контейнер
👉 containerd / CRI-O → управляют контейнерами
👉 Podman / nerdctl → интерфейс
👉 Buildah / Kaniko → сборка
👉 Rancher / OrbStack / Colima → dev окружение
👉 Lima → VM база
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Ты думаешь языки программирования - это просто код?
На самом деле у каждого есть своя родина.
C, Java, Go, Rust - все родились в США.
Python - из Нидерландов.
Kotlin - Россия.
Ruby - Япония.
Scala - Швейцария.
Фактически весь стек, на котором держится современный интернет - это глобальная сборка идей со всего мира.
И чем дальше, тем сильнее это смешивается.
Сохрани, чтобы не забыть, и подпишись на канал - здесь объясняю сложные вещи простым языком
https://youtube.com/shorts/GXVX5fyEBVM?si=YgzKPCw-x0XG3doO
На самом деле у каждого есть своя родина.
C, Java, Go, Rust - все родились в США.
Python - из Нидерландов.
Kotlin - Россия.
Ruby - Япония.
Scala - Швейцария.
Фактически весь стек, на котором держится современный интернет - это глобальная сборка идей со всего мира.
И чем дальше, тем сильнее это смешивается.
Сохрани, чтобы не забыть, и подпишись на канал - здесь объясняю сложные вещи простым языком
https://youtube.com/shorts/GXVX5fyEBVM?si=YgzKPCw-x0XG3doO
❤4👍2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Чек-лист для твоего Linux сервера
Перед тем как ставить проекты и открывать порты - приведи сервер в порядок.
Мой чек-лист на первые 10 минут:
- обнови систему и поставь базовые утилиты
- создай отдельного пользователя и запрети root-login по SSH
- включи firewall (UFW) и открой только нужные порты
- настрой SSH-ключи вместо пароля
- включи авто-обновления безопасности
- зафиксируй таймзону и проверь логи
- поставь fail2ban, чтобы брутфорс не убил сервер за ночь
Это база, которая спасает 90% проблем на проде.
Перед тем как ставить проекты и открывать порты - приведи сервер в порядок.
Мой чек-лист на первые 10 минут:
- обнови систему и поставь базовые утилиты
- создай отдельного пользователя и запрети root-login по SSH
- включи firewall (UFW) и открой только нужные порты
- настрой SSH-ключи вместо пароля
- включи авто-обновления безопасности
- зафиксируй таймзону и проверь логи
- поставь fail2ban, чтобы брутфорс не убил сервер за ночь
Это база, которая спасает 90% проблем на проде.
sudo apt update && sudo apt -y upgrade
sudo apt -y install htop curl wget git ufw fail2ban unattended-upgrades
sudo timedatectl set-timezone Asia/Bangkok
sudo adduser deploy && sudo usermod -aG sudo deploy
sudo ufw allow OpenSSH && sudo ufw allow 80,443/tcp && sudo ufw --force enable
sudo sed -i 's/^#?PasswordAuthentication./
PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/^#?PermitRootLogin./PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart ssh
sudo dpkg-reconfigure --priority=low unattended-upgrades
sudo systemctl enable --now fail2ban
❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Prometheus на пальцах: как устроен главный инструмент мониторинга 🔍
Разбираем архитектуру Prometheus без лишней теории - только суть:
1. Discovery & Retrieval
Автоматически находит сервисы (например, в Kubernetes) и начинает собирать с них метрики.
2. Prometheus Server
Главный мозг системы - ходит по таргетам, собирает данные, обрабатывает и управляет хранением.
3. TSDB
Встроенная time-series база, где лежат все метрики - быстро отвечает как на realtime, так и на исторические запросы.
4. Pushgateway
Нужен для короткоживущих задач - они пушат метрики перед завершением.
5. Exporters
Адаптеры для сторонних систем - превращают их метрики в понятный для Prometheus формат.
6. Alertmanager
Следит за правилами и шлёт алерты в Slack, почту и другие каналы.
7. PromQL + Grafana
Пишешь запросы, строишь графики, собираешь дашборды.
https://www.youtube.com/shorts/zix3HbQ96qc
Разбираем архитектуру Prometheus без лишней теории - только суть:
1. Discovery & Retrieval
Автоматически находит сервисы (например, в Kubernetes) и начинает собирать с них метрики.
2. Prometheus Server
Главный мозг системы - ходит по таргетам, собирает данные, обрабатывает и управляет хранением.
3. TSDB
Встроенная time-series база, где лежат все метрики - быстро отвечает как на realtime, так и на исторические запросы.
4. Pushgateway
Нужен для короткоживущих задач - они пушат метрики перед завершением.
5. Exporters
Адаптеры для сторонних систем - превращают их метрики в понятный для Prometheus формат.
6. Alertmanager
Следит за правилами и шлёт алерты в Slack, почту и другие каналы.
7. PromQL + Grafana
Пишешь запросы, строишь графики, собираешь дашборды.
https://www.youtube.com/shorts/zix3HbQ96qc
❤2👍2🔥2