Абьюзер ChatGPT | 2.0
21K subscribers
150 photos
10 videos
4 files
153 links
Новый канал, старый я, пишу обо всем, что мне интересно.


https://magerdev-links.vercel.app/ - другие мои соц-сети.

magerkopython@gmail.com или бот @magerdev_bot - только по рекламе/работе, AI агент все остальные сообщения фильтрует.
Download Telegram
🏗 Этап 3: Строим API. Django и FastAPI

Мы знаем Python, умеем работать в Linux и понимаем базы данных. Теперь собираем это воедино. Мы создаем Web API - интерфейс, через который фронтенд (сайты) и мобильные приложения общаются с вашим сервером.

В роадмапе я выделил два пути, которые нужно пройти последовательно.

🎸 1. Django (Django Rest Framework)

Django - это "Framework for perfectionists with deadlines". В нем уже есть всё: админка, аутентификация, работа с базой. Почему начинаем с него? Он учит архитектуре. Django заставляет вас раскладывать код по полочкам (Models, Views, Serializers).

Что учить:

- DRF (Django Rest Framework): Мы не делаем сайты на HTML, мы делаем API (JSON).
- Auth: JWT токены.
- Admin Panel: Кастомизация админки.


Что касается полезных ссылок, лучше документации пока по Django ничего не придумали. Но, есть еще Mozilla Developer Network (MDN) Django - отличный гайд, есть на русском, более "разжеванный", чем официальный.


🚀 2. FastAPI

Когда набьете руку на Django, переходите на FastAPI. Это современный стандарт. Он быстрый, асинхронный и использует типизацию Python на 100%.

Киллер-фичи, которые надо знать:

- Pydantic: Описание схем данных. Это валидация всего, что входит и выходит из API.
- Async/Await: Понимание, как работает асинхронность в Python (Event Loop), и почему нельзя использовать time.sleep() в асинхронном коде.
- Dependency Injection: Система зависимостей (например, получение сессии БД в каждом запросе).

По ссылкам тоже, игры закончились. FastAPI Documentation - эталон документации. Автор фреймворка объясняет не только как писать код, но и концепции (Concurrency, Security). Читать как книгу.


🌐 3. Протокол HTTP (Скрытый фундамент)

Учить фреймворк без знания HTTP - бесполезно. Вы должны понимать "язык" веба.

Методы:

- GET - Дай данные.
- POST - Создай данные.
- PUT/PATCH - Обнови данные.
- DELETE - Удали.

Status Codes: Вы должны знать их наизусть(!).

- 200 OK - Все хорошо.
- 201 Created - Создано.
- 400 Bad Request - Клиент прислал кривые данные.
- 401 Unauthorized - Кто ты? (Нет токена).
- 403 Forbidden - Тебе сюда нельзя.
- 404 Not Found - Не найдено.
- 500 Internal Server Error - Я сломался (ошибка сервера).


🛠4. Практическое задание (Pet-Project)

Не смотрите туториалы пассивно. Напишите Book Store API.

ТЗ для вашего проекта:

1) Стек: FastAPI + PostgreSQL + SQLAlchemy (Async).
2) Функционал:

- Регистрация пользователя (пароль должен храниться в хешированном виде! Используйте bcrypt или Passlib).
- CRUD для книг (Create, Read, Update, Delete).
- Обычный юзер может только смотреть книги.
- Админ может добавлять и удалять книги.


3. Результат: Swagger (автодокументация FastAPI) открывается, все кнопки работают, данные сохраняются в БД.


Как только это заработает - поздравляю, вы можете пробоваться на Junior Developer и даже есть шансы на успех. Чтобы их повысить - нужно превратить этот "код в папке" в "инженерный продукт". Об этом - в следующем этапе про Docker и Тесты.

#Roadmap #Python #Backend
76🔥22👍6❤‍🔥2🍓2💋2
⚙️ Этап 4: Инжиниринг. Docker, Тесты и Async

Вы написали API. Оно работает у вас на ноутбуке. Поздравляю, вы сделали 30% работы. Теперь нужно сделать так, чтобы это работало везде, работало стабильно и выдерживало нагрузку.

Добро пожаловать во взрослый мир CI/CD, контейнеров и тестов.

🐳 1. Docker: "Работает на моей машине" - больше не аргумент

В вакансиях Docker стоит сразу после Python. Это стандарт упаковки приложений. Вы должны уметь запаковать ваш Python-код, зависимости и настройки в контейнер, который запустится одинаково и на вашем MacBook, и на сервере в облаке.

Что нужно знать:

- Dockerfile: Как написать инструкцию для сборки образа (выбрать базовый образ python:3.11-slim, установить pip install -r requirements.txt).
- Docker Compose: Как поднять одной командой (docker-compose up) всё окружение: ваше приложение, базу данных Postgres, Redis и Nginx.
- Сети и Тома (Volumes): Чтобы при удалении контейнера база данных не стерлась вместе с ним.

Где учить:

- Docker Curriculum - лучший бесплатный гайд для начинающих.
- Официальная документация Docker "Get Started" - коротко и по делу.


🧪 2. Тесты (pytest): Ваша страховка от увольнения

Новички считают, что тесты - это трата времени. Профи знают: тесты экономят часы отладки. Вы меняете одну строчку в коде регистрации, и у вас (внезапно) ломается создание заказов. Без тестов вы узнаете об этом от разгневанных пользователей. С тестами - вы узнаете об этом через 1 секунду. Инструмент тут только один: только pytest. Забудьте про встроенный unittest, он устарел и неудобен.

Что нужно уметь:

- Писать Unit-тесты (проверка отдельной функции).
- Писать Integration-тесты (проверка API целиком: запрос к эндпоинту -> запись в реальную тестовую БД -> проверка ответа).
- Использовать Fixtures (фикстуры) в pytest - это магия для подготовки данных (создать юзера перед тестом, удалить после).


Где учить:

- TestDriven.io (Курс "Test-Driven Development with FastAPI and Docker") - золотой стандарт. Учит писать тесты до кода (TDD).
-
Документация pytest - Раздел "Getting Started".


⚡️ 3. Асинхронность (AsyncIO): Скорость света

В Этапе 3 (FastAPI) вы уже столкнулись с async def. Здесь нужно понять глубину. Python по умолчанию - однопоточный и синхронный. Если один юзер запросил тяжелый отчет, сервер "зависнет" для всех остальных. Асинхронность позволяет серверу обрабатывать тысячи запросов одновременно, не блокируясь.

Что нужно понимать:

- Разницу между Multiprocessing (для CPU-задач, математики) и AsyncIO/Threading (для I/O задач, сети, баз данных).
- Что такое Event Loop.
- Как правильно использовать await и почему нельзя пихать синхронные вызовы (типа requests или time.sleep) в асинхронную функцию.


Где учить:

- Дам одну статью, но она буквально фундаментальная для понимания (!).


🏹 Итог: Критерий готовности к Этапу 5 (Проект-портфолио)

Вы готовы пилить "проект мечты" для резюме, если можете взять свой API из прошлого этапа и:

- Написать Dockerfile и docker-compose.yml, чтобы приложение и база поднимались одной командой.
- Написать хотя бы 3 теста на pytest (например: успешное создание задачи, ошибка при создании задачи без заголовка, получение списка задач).
- Запустить тесты внутри Docker-контейнера и увидеть зеленые галочки.


📎 Уже все "звучит" складно и связанно, да? Появляется понимание, почему и что мы учили в конкретной последовательности. Ну, точнее, вы учили, а я просто подсказывал. Вы молодцы, если дочитали сюда и действительно все это прошли. Сделали больше 95% "вкатунов". Идем дальше.

#Roadmap #Python #Backend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4235🔥11🐳2❤‍🔥1🍌1
💎 Этап 5: Главный актив. Проект-портфолио (Booking Service)

Вы знаете синтаксис, базы данных и докер. Но у вас нет работы. Почему? Потому что работодателю не нужны знания, ему нужно решение проблем. Портфолио с "Тетрисом" или "Блогом" не показывает, как вы решаете бизнес-задачи.

🏗 Мы будем строить API сервиса бронирования. Почему это круто? Это реальная модель Booking.com, Airbnb или сервиса бронирования переговорок. Тут есть время, деньги, конкуренция за ресурс и сложные связи.

Вот из чего состоит проект уровня Junior+ / Middle:

1. Сложная логика (Business Logic & ACID)

В To-Do листе нет конфликтов. В бронировании - есть. Задача: что будет, если два юзера одновременно нажмут "Забронировать" на одно и то же время? Решение: вы должны реализовать защиту от Race Conditions (гонки данных). Использовать транзакции БД (atomic), блокировки строк (SELECT ... FOR UPDATE) или ограничения на уровне базы. Это покажет, что вы понимаете, как работает многопоточная среда.

2. JWT Auth (Access + Refresh)

Забудьте про простую Basic Auth. Задача: реализовать полноценную систему с двумя токенами.

- Access Token (живет 15-30 минут) - для запросов.
- Refresh Token (живет недели) - для обновления Access. Это стандарт безопасности SPA и мобильных приложений.

3. Сложные фильтры и пагинация

GET /hotels - это скучно. Задача: реализовать гибкий поиск:

- "Найти переговорку с проектором, на 5 человек, свободную завтра с 14:00 до 16:00". Это требует сложных SQL-запросов (проверка пересечения диапазонов дат), а не простого WHERE id=1.

4. Асинхронность и фон (Celery + Redis)

Пользователь не должен ждать 5 секунд, пока вы отправите ему Email с билетом. Задача:

- Юзер нажимает "Купить".
- API отвечает "Ок, обрабатываем" (мгновенно).
- Celery (воркер) в фоне формирует PDF-билет, отправляет письмо и списывает бонусы.
- Redis выступает брокером сообщений для Celery.


5. Живой сервер (Deployment)

Код на GitHub никто не запускает. Рекрутер не будет клонировать ваш репозиторий и ставить зависимости. Задача: купить самый дешевый VPS (Virtual Private Server) за 200-300 рублей, купить домен (150 руб) и развернуть там проект.

- Настроить Nginx как обратный прокси.
- Получить HTTPS сертификат (Let's Encrypt).
- Настроить CI/CD (GitHub Actions), чтобы при git push код сам обновлялся на сервере.


🚀И заключение: почему этот проект дает x10 к ценности резюме?

1. Ссылка в резюме: Строчка "https://api.my-booking-service.com/docs" (Swagger) работает магически (ссылка условная!). HR кликает, видит живой проект, видит, что вы умеете доводить дело до конца.
2. Ответы на собеседовании:
- В: "Как решали проблему двойного бронирования?"
- О: "Использовал транзакцию с уровнем изоляции Repeatable Read и блокировку..." (Вы приняты).
- В: "Зачем там Redis?"
- О: "Для кеширования слотов расписания и как брокер для Celery".


🛠 План реализации (да, Roadmap внутри Roadmap).

- Неделя 1: Проектирование БД (Таблицы: Users, Rooms/Items, Bookings). Настройка JWT.
- Неделя 2: Реализация CRUD и логики бронирования (проверка занятости слотов).
- Неделя 3: Подключение Celery + Redis. Отправка тестовых Email.
- Неделя 4: Docker Compose (упаковать всё: app, db, redis, worker).
- Финал: Покупка VPS, деплой, настройка домена и HTTPS.


Естественно, до этого этапа включительно я бы использовал код с нейросетей по минимуму - не стоит себя в первую очередь обманывать. Это сложно. Будет больно. Но именно этот проект превратит вас из "студента" в инженера.

🎓 Что почитать/посмотреть для этого этапа?

1) Celery:
- Официальная документация Celery (сложная, но надо привыкать);
- Гайды "Asynchronous Tasks with FastAPI and Celery".
2) Deploy:
- DigitalOcean Tutorials: "How To Install Nginx on Ubuntu 20.04";
- GitHub Actions Documentation (для CI/CD).
3) Архитектура:
- Почитайте про "Database Isolation Levels" (уровни изоляции транзакций) - это критично для букинга.

Следующий и последний этап - трудоустройство (Резюме + LinkedIn). Готовимся продавать себя.

#Roadmap #Python #Backend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4319🍌5🐳4👍31
🚀 Отрыл старый акк на GitHub, в который хотел в 2024 году начать выкладывать учебные проекты по JS, но там не сложилось. Теперь туда буду выкладывать все, что в ТТ показываю. Но ссылки изначально будут тут.

Загрузчик видео с YouTube и других платформ из одного из последних видео в ТТ.

Что нового в софте и зачем я его снова выкладываю, ведь раньше уже показывал:

• Исправлена загрузка с YouTube
• Добавлена история загрузок
• Проверка обновлений yt-dlp при запуске
• Прогресс-бар теперь показывает обработку видео, после загруки.
• Качаем и сразу переформатируем в тот формат, который будет поддерживаться всеми редакторами, AE, Premier и т.д.
• Оптимизация производительности


Че не работала старая версия и большая часть загручиков с YT в интернетусе:

YouTube усилил защиту видео, зашифровав ссылки на потоки с помощью JavaScript-обфускации. Библиотека yt-dlp больше не могла самостоятельно расшифровать эти ссылки, выдавая ошибку "Signature solving failed". Но, yt-dlp добавил поддержку EJS (External JavaScript) - механизма, который позволяет выполнять JS-код для обхода защиты. Для работы EJS требуется Deno - современный JavaScript runtime. Я добавил в код параметры enable_js: True и remote_components: {'ejs:github': True}, которые активируют загрузку и выполнение JS-скриптов из официального репозитория yt-dlp. Теперь при скачивании видео с YouTube, yt-dlp автоматически скачивает нужный JS-код и выполняет его через Deno для расшифровки защищённых ссылок.


Также, как смотрите на то, чтобы я сделал вот этот проект из 5-го этапа? Сможете посмотреть, сравнить со своим, использовать как референс. Постараюсь откомментировать нормально, чтобы все моменты были доступны. Если нужно - реакции ставьте.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
129👍28🔥15❤‍🔥8💋2💘2
⚡️ Как вернуть доступ, когда привычные сервисы перестают работать

В 2026 году ограничения стали обычным делом. То, что летало вчера, сегодня может просто не открыться. Ждать, пока всё «починят», можно долго, а интернет нужен сейчас.

🎁Поэтому у меня для вас подарок: 30 дней бесплатного доступа к EVA VPN. Специально для моих подписчиков - целый месяц безлимитного и быстрого интернета бесплатно.

Почему именно EVA? Сервис действует на опережение и подстраивается под блокировки еще до того, как вы их заметите.

- Ютуб в 4K - летает без зависаний;
- Игры и соцсети - стабильный пинг и мгновенная загрузка;
- Одна подписка на всё - iPhone, Android, Windows, macOS, Android TV.


Забирайте свой месяц доступа по ссылке ниже:


👉 Получить 30 дней бесплатно
Please open Telegram to view this post
VIEW IN TELEGRAM
😈4916👎8🔥5🤨5👍2
🤝 Этап 6: Продаем себя. Резюме, LinkedIn и поиск работы

Мы прошли длинный путь. От "Hello World" и настройки Linux до деплоя сложного сервиса бронирования на VPS. Технически - вы готовы. Вы уже знаете больше, чем 50% кандидатов на рынке, которые умеют только проходить курсы.

Но Hard Skills - это товар. А процесс найма - это маркетинг. Если вы не упакуете свой опыт, оффер получит тот, кто знает меньше, но продает себя лучше. Вот инструкция, как конвертировать знания в зарплату.

✍️ 1. Резюме (Это ваш Лендинг)

Резюме — это не биография. Это коммерческое предложение. Рекрутер тратит на него 6 секунд.

Структура:

1. Заголовок: Python Backend Developer (не Junior, просто Developer) (пример!).
2. Стек: выносим наверх. Python, FastAPI, Django, PostgreSQL, Docker, Git, Linux. Это ключевые слова для фильтров HR.
3. Пет-проект (Ваш козырь): Не пишите "делал ту-ду лист". Распишите ваш Booking Service как полноценный продукт:

- Stack: FastAPI, Postgres, Redis, Celery, Docker;
- Key Features: "Реализовал защиту от Race Conditions при бронировании", "Настроил асинхронную отправку уведомлений через Celery", "Покрыл код тестами (pytest) и настроил CI/CD пайплайн";
- ссылка: Обязательно ссылка на Swagger (
api.domain.com/docs) (ПРИМЕР!) и GitHub.
4. Нюансы HR фильтров: не стесняйтесь добавить себе пару лет опыта или же повысить свой возраст в анкете. Увы, для парсера, которым HR пользуется, это может играть ключевую роль. Также пройдитесь по вакансиям, на которые претендуете, и проверьте, какой стек там требуется (наш пункт 1). Очень часто там сами HR пишут больше чем нужно. На свое усмотрение можете докинуть себе пару технологий из списка, которыми еще не владеете. Так или иначе, изначально ваша задача пройти робота и "попасть на стол" к HR.


🌐 2. LinkedIn и GitHub

1) GitHub: в профиле должен быть порядок. У проекта должен быть README.md на английском языке: Что это? Как запустить (docker-compose up)? Какие технологии использованы?.
2) LinkedIn: заполните профиль на английском. Добавьте в друзья рекрутеров из интересующих компаний. Напишите пост о том, что закончили разработку сложного сервиса и ищете вызовы.


🎤 3. Mock-интервью (репетиция)

Самая большая глупость - учиться проходить собеседования на реальных собеседованиях в компанию мечты. Вы провалите первые 3-5 интервью, это статистика. Либо идем сначала куда-то, куда не очень то и хотели устроиться, либо:

1) Найдите ментора или друга-разработчика.
2) Попросите провести Mock Interview (тестовое собеседование).
3) Пусть вас погоняют по теории: Чем отличается процесс от потока? Что такое GIL? Уровни изоляции транзакций? REST vs SOAP?
4) Запишите это на диктофон, послушайте и ужаснитесь тому, как неуверенно вы звучите. Исправьте это.


🧠 4. Алгоритмы (параллельный трек)

В начале роадмапа я говорил про LeetCode. Перед собеседованиями освежите базу. Вас могут попросить развернуть связный список или найти анаграмму. Решите топ-50 задач уровня Easy/Medium из списка "Blind 75".

🎉 Итог всего пути

Вы прошли через:

1) Linux & Git — Фундамент;
2) SQL & DB — Структуру данных;
3) Django & FastAPI — Логику;
4) Docker & Tests — Культуру разработки;
5) Booking Project — Реальный опыт.


Теперь вы не проситель. Вы - инженер, который предлагает свои услуги. Идите на собеседование с позицией: "Я умею решать проблемы бизнеса с помощью кода. Вот доказательства".

Хоть это и не курс, а всего-лишь roadmap с рекомендациями, я надеюсь, это кому-то поможет. Составлял я это, так как сейчас занимаюсь подготовкой к обучению людей, поверивших в меня как в ментора. Далее будет еще пару roadmap, например, на AI\ML, C++. Читайте :)

#Roadmap #Python #Backend
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7552🔥9❤‍🔥2😢1👻1
Telegram-бот для сбора постов с нужных вам каналов

📱 Репозиторий

Автоматически собирает посты из нескольких каналов и публикует в ваш канал. Идеально для агрегаторов контента.

Что умеет:

- Мониторит любое количество каналов-источников;
- Пересылает посты в ваш целевой канал;
- Поддерживает фото, видео, альбомы;
- Премодерация — одобряйте посты перед публикацией;
- Удобная админ-панель прямо в Telegram
.

⚙️ Как работает:

- Telethon читает каналы от вашего аккаунта, Aiogram-бот даёт интерфейс управления. Добавляете источники, указываете куда постить — готово.

⚡️ Запуск:

- Docker или Python. Нужны API_ID, API_HASH с my.telegram.org и токен бота.

Отрыл на ПК, довел до ума. Пользуйтесь, если нужно собирать контент с нескольких каналов.
Please open Telegram to view this post
VIEW IN TELEGRAM
42👍8🔥5😍3❤‍🔥1
Нам нужно сообщество, Discord сервер/чат в Телеграм?
Anonymous Poll
84%
Да
16%
Нет
👍57🤔17🤩106💯3👏2
⚡️ Roadmap для Python-разработчика в сфере web:

1. Основной маршрут.
2.
Фундамент разработчика - Git, IDE, Linux.
3.
Базы данных.
4.
Веб-фреймворки.
5.
Тесты, Docker, async.
6.
Проект-портфолио (Booking Service).
7.
Резюме, LinkedIn и поиск работы.

🌐 Также на днях выгружу пет-проект и проект-портфолио из этапов 4 и 6 на свой GitHub. Cледующая карта будет по AI\ML.

#Roadmap #Python #Backend
Please open Telegram to view this post
VIEW IN TELEGRAM
94👍24🔥18❤‍🔥10🐳3🏆3
🌐 Развивать сообщество нужно. Я не уверен, но по-моему, я один из самых крупных каналов в сфере разработки в Tik-Tok. (Понятно, что на YT есть Монтана и т.д.)

Я иногда попадаюсь на некоторых ребят и вот кого посоветую вам в ленту. Это не реклама, это просто попытка сделать что-то хорошее для сообщества и донести вам несколько источников, откуда можно черпать информацию.

1) Некоторое время назад я рекомендовал Вам подписываться на Романа Воронова - он также Python разработчик и ведет свой ТикТок. Правда, если сейчас зайдете, он там больше музыкой занимается, но видимо отпуск :D

Если Ваша цель понять алгоритмы, увидеть их практическое применение, посмотреть, как решаются задачи на LeetCode, как строится логика и само решение с подробным объяснением - строго рекомендую. Там есть даже ролик с тестовым заданием в один из проектов Microsoft. То, что реально было на техническом собеседовании. Насколько я знаю, он также преподает.

2) Совсем недавно подписался, но именно этот парень когда-то дал идею для ролика о том, что на "собеседованиях нельзя говорить правду". Я не знаю, как его зовут, канал называется bobov_it, но рассказывает он интересно и по большей части о трудоустройстве, HR, своем опыте в IT. Он, как я понял, именно заинтересован в постоянном трудоустройстве, поэтому может быть интересно послушать, как сейчас идет процесс найма. В общем, подписываемся, слушаем.

👀 И не думайте, что я добрый. Я просто за жизнь столько дерьма сделал, что нужно чистить карму. Ну, и вам полезно будет.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7443👍12👀9❤‍🔥7🤔2
⚡️ РАЗЫГРЫВАЮ 10 ПОДПИСОК CLAUDE PRO ⚡️

В последнее время в разработке я все чаще использую Claude. Он пишет чистый код, отлично понимает контекст и реально ускоряет деплой фич. Claude Code - вообще лучший AI агент по моему мнению.

🎁 Хочу разыграть 10 подписок Claude Pro, чтобы вы могли прокачать свой воркфлоу. Приз выдавать буду на TON\USDT, в стоимость подписки/месяц.

Условия участия максимально простые:

1. Быть подписанным на этот канал.
2. Подписаться на мой Instagram.

Нажать кнопку «Участвовать» под постом 👇

📅 Итоги: 08.02.2026 в 13:00 по Киеву бот автоматически выберет 10 победителей.

(Важно: При вручении приза я проверю подписку на Инстаграм вручную, так что не хитрите 😉)

🚀 Всем удачи!
95👍13🔥13😢1
Я там Доту хлопками запускал, и бару открытием банки пикал. Вам интересно было, как я это сделал - вот, выложил пример и в Readme гайд, как сделать и адаптировать под любой звук. Тут версия для хлопков.

🚀 Репозиторий

Еще раз коротко, как это работает: хлопок ладонями имеет характерную частоту — 1400-1800 Гц. Программа пропускает звук через фильтр Баттерворта, который вырезает только эту полосу. Речь, музыка, удары по столу - всё отсекается.

Стек:

- Python (PyAudio, NumPy, SciPy);
- MATLAB для прототипирования.

Еще раз, в README есть таблица частот для разных звуков и пошаговая инструкция.
5241👍14😁6❤‍🔥4👾1
👋Всем кулити. Уже вторые сутки без электричества, зарядная станция и павербанки умерли. F. Уже и роадмап по ML\AI частично готов, и те проекты, которые для практики были в прошлой дорожной карте мог бы выложить. Я вошел в такой отличный ритм, посты каждый день, и вот, опять сбили 😂

Но я могу о чем-то рассказать и с телефона. Надеюсь, Вам будет полезно.

🐳 Docker и Kubernetes: Ликбез. Что, зачем и какая между ними связь?

Многие слышали эти слова, но часто путают их назначение. Давайте разложим по полочкам теорию, прежде чем бежать в консоль.

📦 Docker: "Работает везде так же, как у меня"

Еще раз повторимся: главная боль разработчика до появления Docker звучала так: "На моем компьютере всё работает, почему на сервере упало?". Проблема была в окружении: разные версии библиотек, разные настройки ОС. Docker решил это раз и навсегда.

Суть:
Docker берет ваш код, базу данных, библиотеки и настройки системы и "цементирует" их в Контейнер. Это изолированная коробка. Где бы вы ни запустили этот контейнер - на Windows, на Linux, на макбуке или в облаке - то, что происходит внутри коробки, всегда идентично.

Итог по Docker: это инструмент для упаковки и запуска приложения в изолированной среде. Один контейнер = один процесс (сервис).


🔗 Почему эти понятия связаны?

Тут часто возникает путаница. Docker и Kubernetes - это не конкуренты. Они работают в паре. Представьте, что Docker-контейнер - это кирпич. Он крепкий, стандартизированный и надежный. Из него можно построить будку (запустить одно приложение на сервере).

Но что, если вам нужно построить небоскреб? Вам нужны тысячи кирпичей. Вам нужно следить, чтобы они не падали, менять треснувшие кирпичи на новые, подвозить раствор. Вручную управлять тысячей контейнеров Docker невозможно. Тут на сцену выходит он... 👇

🌐 Kubernetes (K8s): "Дирижер оркестра"

Kubernetes - это система оркестрации (управления) контейнерами.

Если Docker позволяет создать и запустить "коробку", то Kubernetes решает, на каком сервере эту коробку запустить, и следит за ее "здоровьем". Что делает Kubernetes (чего не может сам Docker):

- масштабирование (Scaling): в магазин пришло 10 000 клиентов? K8s автоматически создаст еще 50 копий контейнера с вашим сайтом, чтобы справиться с нагрузкой. Нагрузка упала? Он удалит лишние;
- самолечение (Self-healing): если приложение внутри контейнера зависло или упало, K8s это заметит, "убьет" больной контейнер и тут же запустит новый, здоровый;
- балансировка: он умным образом распределяет трафик между контейнерами, чтобы ни один сервер не перегрелся.

В итоге можно сказать:

Docker - это грузовой контейнер. Он гарантирует, что груз (код) упакован надежно и доедет в сохранности. 🔹 Kubernetes — это порт с кранами. Он управляет погрузкой, следит, куда поставить контейнеры, и обеспечивает бесперебойную работу всего логистического центра.

Используете один сервис? Хватит Docker. Строите сложную систему под высокой нагрузкой? Нужен Kubernetes, который будет управлять вашими Docker-контейнерами.
Please open Telegram to view this post
VIEW IN TELEGRAM
90👍18👀7🫡5❤‍🔥4👾1
⚡️Проект „Criminal IT” - самая полезная и доступная библиотека с сообществом для развития в сфере найма .

Пару слов о Criminal IT:

Criminal IT – это самая доступная экосистема для развития и объединения энтузиастов по всему миру. Наша миссия - победить безграмотность людей в сфере найма и помочь им получить работу за минимально возможное время. Мы обучаем на направления DevOps, ML/DS, Golang

Трудоустройство - это просто.

У нас, у меня есть ответы на ваши вопросы. Не просто что посмотреть, выучить, или переписать код, а как это сделать. Как сделать с минимальным вложением времени, нерв и усилий. Это будет та самая поддержка которая была нужна вам все это время. Как пройти лайвкодинг, как апнуть зп, какие вопросы будут спрашивать на собеседовании. Мы делаем упор на получение оффера. И даем ровно столько практики, сколько нужно для того, чтобы успешно работать после трудоустройства. Вступайте в сообщество CR_IT.

Сразу скажу: попасть в Criminal IT в любой момент - не получится. Мы открываем набор раз в несколько месяцев. Все подробности даю в этом канале, следите.

Пишите: @CR_IT_traff
________

Реклама.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣38😁16🌚109💅6🍌1
Логично после Docker\Kubernetes продолжить тему DevOps.

🚀 CI/CD: Как код попадает на сервер (и почему роботы лучше людей)

Мы разобрали Docker (упаковка) и Kubernetes (управление). Но остался один вопрос: как код с ноутбука программиста попадает в этот самый Docker на боевом сервере? Раньше это делали вручную: заходили на сервер, скачивали обновления, перезагружали службы. Это долго и страшно (а вдруг человек ошибется?). Сейчас это делает CI/CD.

Что это такое?

Это аббревиатура двух процессов, которые превращают разработку в автоматический конвейер.

🔹CI (Continuous Integration) - Непрерывная Интеграцияє это про проверку качества. Как только программист отправляет код в репозиторий (Git), специальный робот (Runner) подхватывает его и начинает "экзамен":

- проверяет, нет ли синтаксических ошибок;
- запускает авто-тесты (ничего ли не сломалось в старом функционале?);
- собирает проект (Build).

Если на этом этапе ошибка - конвейер останавливается, а программист получает уведомление: "Ты что-то сломал, чини!".

🔹 CD (Continuous Delivery / Deployment) - Непрерывная Доставка это про доставку до клиента. Если этап CI прошел успешно (тесты зеленые, сборка готова), робот продолжает работу:

1. Он сам подключается к серверу (или кластеру Kubernetes).
2. Скачивает новый Docker-образ.
3. Аккуратно подменяет старую версию на новую.


Всё это происходит за минуты, пока программист играет в доту пьет кофе.


🏭 Аналогия: Завод vs Кустарное производство

Представьте, что вы производите автомобили. Без CI/CD (ручной труд): мастер (разработчик) собрал машину в гараже. Сам сел за руль, погнал её клиенту в другой город. По дороге может спустить колесо, мастер может устать или забыть прикрутить руль. Клиент ждет долго. С CI/CD (Автоматический конвейер): мастер только чертит деталь и кладет чертеж в ящик. Дальше включается конвейер:

- роботы-сканеры проверяют чертеж на ошибки (CI).
- роботы собирают машину и проводят краш-тесты (CI).
- если машина цела, автовоз сам грузит её и везет в салон клиенту (CD).

Никакого человеческого фактора.


🏆 Зачем это бизнесу и клиенту?

1. Скорость: новая фича (кнопка "Купить") попадает к пользователям через 10 минут после написания, а не раз в неделю по "дням релизов".
2. Надежность: исключена ситуация "Я что-то нажал, и всё упало". Робот не забывает команды и не устает.
3. Безопасность: если новый код с багом — CI-система просто не пропустит его на сервер. Сайт не упадет.


В целом, это касается не только DevOps. Сейчас и от Full-Stack разработчика часто требуюся базовые знания CI\CD. Так что берите на заметку.
Please open Telegram to view this post
VIEW IN TELEGRAM
39❤‍🔥6👍5🔥3🐳3🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Для лучшего понимания Docker\Kubernetes 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
😁124🔥2417🤣9❤‍🔥4🍌4
🎉 Ночью дали свет, впервые за 3 суток, кайф. Что успею, то успею.

Так, для начала, пет-проект для пункта 4 в Roadmap.

🌐 Github

По сути, классика для портфолио junior backend разработчика - регистрация, авторизация, CRUD, заказы с транзакциями.

Что внутри:

• Регистрация/авторизация (JWT);
• Роли (user/admin);
• CRUD книг и авторов;
• Оформление заказов с проверкой склада;
• 30 тестов на pytest;
• Docker из коробки.

Смотрим, учимся, берем себе.
Please open Telegram to view this post
VIEW IN TELEGRAM
85🔥13🥰3❤‍🔥1👍1
⚡️ Простой пример того, как за пару часов собрать "систему видеонаблюдения" с уведомлениями в Telegram. Нужна только вебка и Python.

📱 Репозиторий

Что под капотом:

- OpenCV для захвата видео и детекции движения;
- MediaPipe для распознавания людей;
- aiogram для Telegram-бота.


Фичи:

- Два режима: фото или видео;
- Управление через бота;
- Автоочистка старых файлов;
- Конфиг через .env.


🌐 Проект старый, со времен моего обучения. Чудь довел, выложил в репу. Если вы - студент, в общаге, поможет проследить, чтобы в вашей комнате во время отсутствия никто не лазил.

Подключаете веб-камеру, запускаете — и получаете уведомления в Telegram при любом движении.
Please open Telegram to view this post
VIEW IN TELEGRAM
57👍9😱4🍓3
👀 Хотите интегрировать в свой софт распознавание текста - есть вариант без платных API!

📱 Репозиторий

Если вы искали надежное решение для извлечения текста из изображений, то Tesseract - это стандарт де-факто в мире Open Source. Изначально разработанный HP, затем поддерживаемый Google, сейчас это один из самых популярных OCR-движков.

🛠 Что под капотом? Это не просто утилита, а полноценный OCR-движок (libtesseract) + CLI-инструмент.

- архитектура: начиная с версии 4.0, используется нейросетевой движок на базе LSTM (Long Short-Term Memory), что дало огромный прирост в точности распознавания строк. Легаси-режим (распознавание паттернов) все еще доступен;
- языки: поддерживает 100+ языков "из коробки" (включая украинский, русский), с возможностью дообучения на своих данных;
- стек: написан на C++ (95%+ кода), что обеспечивает высокую производительность.


Раньше был не самым точным, сейчас, при правильном использовании - топ.


📊 Ввод и вывод:

- Input: PNG, JPEG, TIFF (использует библиотеку Leptonica).
-
Output: Plain text, hOCR (HTML), PDF, TSV, ALTO, PAGE XML.

🧑‍💻 Как использовать? Tesseract не имеет встроенного GUI, это инструмент для терминала или бэкенда, как и FFMPEG, например. Вот одна из базовых команд:

tesseract image.png output -l rus


Где "image.png" - исходник, "output" - имя выходного файла, "-l rus" - язык. Дальше разберетесь сами :D

📱 Пример бота для распознавания текста с этим движком, также тут лучшие практики пост/пре обработки!

📱 Для интеграции в код (Python, Java, etc.) существуют отличные обертки, например, pytesseract для Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
39👍13🔥8
🌐 Ультимативная штука для локальной генерации контента

📱 Репозиторий

Проект работает как агрегатор, позволяя переключаться между задачами, в одном интерфейсе, без возни с зависимостями:

- Текст: Llama-cpp (GGUF), мультимодальные модели (Llava), переводчик NLLB (200 языков);
- Изображения: Stable Diffusion (все версии: 1.5, XL, 3, Flux), Kandinsky, ControlNet, Inpaint/Outpaint, Upscale (Real ESRGAN) и замена лиц;
- Аудио: MusicGen, AudioGen, Bark (TTS), Whisper (STT);
- Видео: Stable Video Diffusion, AnimateDiff;
- 3D: Shap-E.


‼️Что интересно:

- Низкий порог входа: работает даже без видеокарты (CPU-only), запускается на 8 ГБ ОЗУ (хотя для комфорта лучше 16 ГБ+);
- Ускорение: поддерживает CUDA (Nvidia) и экспериментально ROCm (AMD);
- Установка: есть One-click инсталляторы для Windows и Linux, а также готовый Docker-образ;
- Автономность: после загрузки весов работает полностью офлайн.


То есть, даже AMD карты, в теории, будут работать. Сам сегодня буду тестить!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5919🔥7❤‍🔥3🕊1