Присоединяйтесь к нашему каналу и погрузитесь в мир Backend-разработки Связь: @devmangx РКН: https://clck.ru/3FobxK
Как работает команда "docker exec" 👆
С помощью "docker exec" можно выполнять произвольные команды в запущенном контейнере. Можно даже запустить интерактивную оболочку внутри контейнера (если в нем есть соответствующий бинарный файл оболочки).
docker exec не является частью спецификации OCI Runtime, но используется в Docker.
⏩ Запускает временный контейнер, который использует те же пространства имен (namespaces) и cgroups, что и целевой контейнер.
⏩ Снаружи это выглядит, как выполнение команды внутри контейнера, но на самом деле создается отдельный временный процесс.
Процесс выполнения docker exec
1 Пользователь вводит команду в терминале:
docker exec e0e7a6566220 curl
🔜 Здесь e0e7a6566220
— это ID контейнера (nginx), а curl
— команда для выполнения.
2.Docker CLI отправляет команду демону Docker (dockerd
или containerd
).
3.Демон передает команду runtime shim
, который управляет жизненным циклом контейнера.
4.Создается временный контейнер (tmp container
), который использует все изоляционные примитивы (namespaces
, cgroups
) контейнера nginx
.
5.Этот временный контейнер выполняет команду curl
.
6.Вывод перенаправляется обратно:
⏩ stdin
идет внутрь контейнера,
⏩ stdout
и stderr
возвращаются в терминал пользователя.
Таким образом, команда docker exec
не изменяет контейнер, а просто запускает временный процесс внутри его окружения.
👉 @BackendPortal | #ресурсы
Если вы хотите лучше разбираться в алгоритмах и структурах данных, прочитайте эти 12 статей: ⏬
1. Как анализировать пространственную сложность алгоритма: компромиссы между временем и пространством и рекурсия.
https://newsletter.francofernando.com/p/space-complexity
2. Уроки, которые я извлек, решив все задачи Advent Of Code.
https://newsletter.francofernando.com/p/advent-of-code
3. Все, что вам нужно знать о структуре данных массива, включая многомерные и динамические массивы.
https://newsletter.francofernando.com/p/arrays
4. Удобное для начинающих введение в графики. Различные типы графиков и способы их представления.
https://newsletter.francofernando.com/p/graphs-representation
5. Как эффективно хранить и представлять строки с помощью структуры данных trie.
https://newsletter.francofernando.com/p/tries
6. Почему алгоритмы, основанные на сравнении, не могут выполнять сортировку менее чем за O(nlogn). И почему счетная сортировка, радиксная сортировка и ведерная сортировка могут работать лучше.
https://newsletter.francofernando.com/p/linear-time-sorting
7. Что такое приоритетная очередь и как ее реализовать. Примеры использования приоритетных очередей и алгоритм heapsort.
https://newsletter.francofernando.com/p/priority-queue
8. Три различных подхода к умножению матриц: грубая сила, "разделяй и властвуй" и алгоритм Штрассена.
https://newsletter.francofernando.com/p/multiplying-matrix
9. Как измерить эффективность программы с помощью ее временной сложности. Плюс нотация Big Oh и амортизированный анализ.
https://newsletter.francofernando.com/p/time-complexity
10. Двоичные деревья поиска
Что такое двоичные деревья поиска. Плюс наиболее распространенные реализации BST.
https://newsletter.francofernando.com/p/time-complexity
11. Легкое введение в рекурсию с помощью проблемы Ханойской башни.
https://newsletter.francofernando.com/p/hanoi
12. Как эффективнее решать задачи кодирования, сортируя входные данные.
https://newsletter.francofernando.com/p/solving-problems-by-sorting
👉 @BackendPortal | дать буст | #статья
Есть много способов отправлять обновления в режиме реального времени от серверов к клиентам.
Наиболее популярные варианты: WebSocket, Server-Sent Events (SSE) и Webhooks.
Я сравнил их бок о бок, чтобы помочь вам выбрать, что лучше всего подходит для вашего проекта: ⏬
🟢WebSockets
Предоставляют двунаправленный канал связи через одно TCP-соединение. Клиент и сервер могут отправлять сообщения друг другу в режиме реального времени.
▶Как работает:
Клиент включает определённые поля в HTTP-заголовке, чтобы сообщить серверу о переходе на протокол WebSocket. После ответа сервера устанавливается WebSocket-соединение.
▶Когда использовать:
Когда необходима двусторонняя связь (например, чаты, онлайн-игры, торговые платформы).
🟢Server-Sent Events (SSE)
Двусторонний канал избыточен, если данные передаются только от сервера к клиенту. SSE решает эту задачу, позволяя серверу отправлять сообщения клиенту через HTTP.
▶Как работает:
Клиент отправляет GET-запрос серверу, указывая, что ожидает поток событий. Это создаёт постоянное соединение, через которое сервер может отправлять сообщения.
▶Когда использовать:
Для односторонних обновлений в реальном времени, таких как уведомления, ленты событий или изменения состояния.
🟢Webhooks
В отличие от SSE, которые обычно используются для фронтенда, Webhooks чаще применяются для получения обновлений на бэкенд. Работают как обратный вызов, информируя клиента о новых данных.
▶Как работает:
Сервер создаёт API-эндпоинт для получения обновлений от внешних источников. Этот эндпоинт используется другими сервисами для отправки данных.
▶Когда использовать:
Если требуется сообщать бэкенду о событиях (например, обработка платежей или интеграция с внешними API).
🧠 Выбор технологии зависит от потребностей вашего проекта:
- Если нужна двусторонняя связь — WebSocket
- Для простых односторонних обновлений — SSE
- Для интеграции между бэкендами — Webhooks
👉 @BackendPortal | #ресурсы
Ускорение кода на Python в 30 тысяч раз 😏
Видео рассказывает о способах ускорения кода на Python с помощью NumPy, кэширования, встроенных функций и эффективных алгоритмов.
📲 Ознакомиться: тут
👉 @BackendPortal | дать буст
Топ-5 стратегий кэширования:
🟡Read Through (Чтение через кэш): Приложение всегда сначала запрашивает кэш. Если данных нет в кэше (промах), кэш сам извлекает их из базы данных и сохраняет для будущих запросов.
Преимущества: Упрощает логику приложения, гарантирует, что кэш всегда содержит актуальные данные.
Недостатки: Более высокая сложность кэша, может не подойти для систем с частыми записями.
🔜 Лучше всего для: Приложений с частыми запросами на чтение, таких как CDN, ленты в социальных сетях и профили пользователей.
🟡Cache Aside (Ленивое загрузка): Приложение сначала проверяет кэш. Если данные не найдены (промах), оно извлекает их из базы данных и сохраняет в кэш для последующих запросов.
Преимущества: Удерживает кэш маленьким, избегает ненужных данных в памяти.
Недостатки: Промахи в кэше могут быть дорогими, риск устаревших данных при частых обновлениях.
🔜 Лучше всего для: Систем с высоким соотношением чтений к записям, например, интернет-магазинов.
🟡Write Through (Запись через кэш): Каждая операция записи сначала сохраняется в кэш, а затем немедленно записывается в базу данных.
Преимущества: Гарантирует синхронизацию кэша и базы данных.
Недостатки: Более высокая задержка записи, ненужное кэширование редко используемых данных.
🔜 Лучше всего для: Систем с критичной важностью консистентности, например, финансовых приложений.
🟡Write Around (Запись мимо кэша): Приложение сразу записывает данные в базу данных, минуя кэш. Кэш обновляется только при чтении данных.
Преимущества: Избегает кэширования редко используемых данных.
Недостатки: Более высокая частота промахов в кэше, что вызывает частые чтения из базы данных.
🔜 Лучше всего для: Систем с большим количеством записей, где данные не нужны немедленно, например, в системах журналирования.
🟡Write Back (Запись с отложенным обновлением): Данные сначала записываются в кэш, и кэш асинхронно обновляет базу данных в фоновом режиме.
Преимущества: Очень быстрые записи, уменьшает нагрузку на базу данных.
Недостатки: Риск потери данных, если кэш выйдет из строя до синхронизации с базой данных.
🔜Лучше всего для: Систем с высоким объемом записей, например, ленты в социальных сетях.
Какую стратегию кэширования выбрать?
- Если чтения происходят чаще → Read-Through / Cache-Aside
- Если записи должны быть консистентными → Write-Through
- Если нужно минимизировать ненужное кэширование → Write-Around
- Если нужны сверхбыстрые записи → Write-Back
👉 @BackendPortal | #ресурсы
Change Data Capture (CDC) — это будущее управления измерениями в области обработки данных!
Существует три способа реализации CDC, которые вы можете попробовать:
🍩Потоки изменений в Snowflake
🍩Триггеры базы данных в Postgres
🍩Логирование обновлений на уровне API
В этой статье подробно рассматривают преимущества и недостатки каждого подхода к захвату изменений данных!
📖 Читать: ссылка
👉 @BackendPortal | дать буст | #статья
Быстрый совет по Linux 🖥
Если у вас проблемы с чтением директорий в переменной $PATH
, используйте команду tr,
чтобы заменить двоеточия (":") на символы новой строки ("\n"), и тогда пути отобразятся построчно:
echo $PATH | tr ":" "\n"
Это — база по Machine Learning и Data Science, которая заменит вам сотни тг-каналов и сайтов. Фишка в том, что здесь опытные ML-специалисты первыми освещают новости сферы, пишут емкие разборы статей и делятся прикладными материалами.
И канал – только часть клада: ребята сделали целый сайт с научными лонгридами, ML-соревнованиями и свежими вакансиями индустрии.
Теперь вся жизнь ML-специалиста собрана в одном месте: Data Secrets
⚡ Новые каналы с вакансиями и стажировками для джунов
В этих каналах публикуются все свежие вакансии и стажировки
🔺 ВАКАНСИИ
Горячие вакансии с привлекательными офферами для джуниор разработчиков, аналитиков, дизайнеров и QA-специалистов.
Стажировки для начинающих специалистов в IT независимо от возраста!
Вакансии и стажировки для junior-разработчиков на удалёнке.
Junior вакансии и стажировки в крупнейших IT-компаниях мира: NVidia, Apple, T-банк, Яндекс, Google и т. д.
Эксперименты про трудоустройство в IT, советы для быстрого поиска работы и офферы для джунов.
Гид по техническим собеседованиям для программистов!
✓ Шаблоны проектирования
✓ Архитектура программного обеспечения
✓ Лучшие практики и чистый код
✓ Алгоритмы и структуры данных
✓ Типичные вопросы по языкам и технологиям
🔜 Читать
👉 @BackendPortal | #ресурсы
DeepSeek - вероятно, самый мощный инструмент искусственного интеллекта на данный момент.
Но 99 % людей используют его неправильно. 🤢
Используйте эти 10 подсказок, чтобы полностью раскрыть его потенциал:
👉 @BackendPortal | #ресурсы
Вам нравится читать контент на этом канале?
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
Ваша карьера в Backend-разработке начинается в Авито 😎
Приходите на оплачиваемую стажировку в Авито. Здесь вы будете работать с продуктами, которыми пользуются миллионы.
Профессионально развиваться и расти вам помогут:
• наставник — научит, как найти лучшее решение, и поможет разобраться в инструментах и технологиях
• комьюнити стажёров — поделятся опытом и поддержат
• доступ к базам знаний, библиотекам и корпоративным курсам — даст возможность нарастить экспертизу.
Стажировка открыта в пяти направлениях, вы можете выбрать два — основное и запасное. Если попасть на первое не удастся, сможете пройти отбор на второе при наличии мест.
Условия:
• длительность программы — 6 месяцев
• работа от 25 часов в неделю, после завершения стажировки — возможность остаться в компании на полную занятость
• зарплата и корпоративный ноутбук
• можно работать из офиса, удалённо или в гибридном формате.
Более 80% стажёров продолжают карьеру в Авито. Присоединяйтесь к команде и растите вместе с нами! Регистрация открыта до 5 февраля.
Awesome Backend — структурированный список ресурсов(на английском и русском языке) для изучения Backend разработки, который поможет систематизировать свои знания и составить план обучения
⛓ Ознакомиться: Тык
👉 @BackendPortal | #ресурсы
Оптимизация GUI на Qt
📖 Читать: ссылка
👉 @BackendPortal | дать буст | #статья
Цифровая трансформация: Yandex B2B Tech и Яндекс 360 для бизнеса представили корпоративные онлайн-доски
Яндекс 360 продолжает развивать решения для бизнеса: представлены онлайн-доски, которые можно развернуть в IT-контуре компании.
Сервис помогает организовывать работу с данными, управлять проектами и контролировать процессы. Доступ к доскам регулирует администратор, а данные хранятся в зашифрованном виде.
Пока сервис доступен в on-premise, но скоро появится облачная версия. Подробнее — на сайте Яндекс 360 для бизнеса.
Совет IT-спецам на 2025 год - чаще посещайте тематические мероприятия
Зачем тратить время на Ютубчик, когда можно интересно проводить время, при этом развивая свои навыки!
А чтобы не гуглить афиши и не подписываться на сотню разных каналов, IT-мероприятия России уже собрали все самые топовые события в одном месте.
Оффлайн и онлайн, для разных специальностей и уровней знаний.
👨🏻💻 В этом канале ты найдешь самые актуальные и интересные события: анонсы форумов, конференций, митапов, вебинаров, хакатонов, олимпиад и многое другое.
Присоединяйся к комьюнити лучших спецов и заново влюбись в свою работу:
IT мероприятия России / ITMeeting / IT events
Яндекс разработал и выложил в открытый доступ распределенный непрерывный профилировщик — Perforator.
Полезная штука, чтобы найти и оптимизировать узкие места в коде, снизить нагрузку на сервер и понять, почему ваша программа тормозит. Система поддерживает генерацию профилей для FDO и доступна для развертывания на Kubernetes.
Perforator собирает данные через eBPF – программируемые плагины в ядре Linux. А для раскрутки стека команда применила комбинацию .eh_frame и eBPF. Благодаря этому Perforator может давать точный анализ, но не влиять на производительность серверов. Еще из преимуществ:
🔸Сокращает затраты на серверную инфраструктуру до 20%
🔸Поддерживает нативные языки, включая C, C++, Go и Rust
🔸Отображает большие объемы данных
🔸Можно запустить на собственных серверах и минимизировать зависимость от внешних облачных провайдеров
🔜 Ознакомиться: тут
👉 @BackendPortal | #ресурсы
Backend-разработчики просто нарасхват. Крутейшая сеть айтишных вакансий в Telegram подвела итоги полугодия.
Ловите список самых востребованных бэкенд языков и кучу вакансий к ним:
1. С/С++ – для настоящих хардкорщиков
2. Java – тут просто творцы цифрового мира
3. Python – для любителей больших данных и немногословности
4. GO – король микросервисов!
Если ты бэкендер в поиске работы, то тебе однозначно в @back_rabota
Представляем OpenDeepResearcher
Это открытый AI-агент, который автоматически собирает и анализирует информацию по заданной теме.
☑Изучение новых технологий
☑ Поиск best practices и решений
☑ Анализ статей, блогов, документации
☑ Сравнение фреймворков, баз данных и инструментов
Просто укажите тему, и ИИ самостоятельно проведёт исследование, а затем предоставит подробный отчёт.
🔜 Ознакомиться: тут
👉 @BackendPortal | #ресурсы
Хочешь стать Linux-экспертом?
LinuxCamp - канал для тех, кто хочет профессионально освоить Linux и программирование!
- Уникальные гайды по администрированию Linux
- Продвинутые техники и рекомендации по разработке на языках C/C++
- Подробные статьи о внутреннем устройстве операционных систем
- Интересные факты и новости из мира технологий
🌐 Присоединяйся к нам и становись частью сообщества истинных гуру: LinuxCamp
Ускорьте Python в 50 раз за 4 простых шага
По умолчанию интерпретатор Python, CPython, работает медленно, в основном из-за своей динамичности.
После определения переменной с определённым типом её можно изменить на другой. Эти динамические манипуляции приводят к дополнительным затратам на выполнение и память.
Чтобы ускорить работу, используйте модуль Cython. Он превращает код Python в C, делая его быстрым и эффективным.
Вот как использовать модуль Cython:
1) Загрузите модуль Cython: %load_ext Cython
2) Добавьте магическую команду Cython
3) Указывайте типы данных параметров при использовании функций
4) Определяйте каждую переменную с помощью ключевого слова cdef и указывайте её тип данных
Вот и всё!
Теперь ваш код будет работать с ускорением до скорости нативного машинного кода, как показано на картинке.
👉 @BackendPortal | #tips
Дорожная карта разработчика бэкенда.
🟢ЯП: JavaScript, PHP, Java, Python.
🟢Фреймворки: Next.js, Springboot, Laravel, Django.
🟢Базы данных: PostgreSQL, MongoDB, MySQL, Oracle.
🟢APIs: JSON, REST, RPC, SOAP.
🟢VS Code, облачные вычисления, Git и Github, тестирование.
Эта карта помогает понять, какие технологии и инструменты необходимы для развития в области Backend-разработки.
👉 @BackendPortal | #ресурсы
Рад сообщить о запуске text-to-api.ai
Он позволяет преобразовать любой вебсайт в API всего за несколько секунд. Пользователи могут извлекать данные через конечную точку /extract, что делает процесс получения информации с интернета более доступным.
Платформа также интегрируется с такими сервисами, как Firecrawl и OpenAI. ❤️
🔜 Ознакомиться: тык
👉 @BackendPortal | #ресурсы
🔒 Нашли место, в которое утекает платный контент по Java-разработке прямиком из онлайн-школ
Всё разложено по полочкам:
▪️Интерактивные курсы
▪️Полезные видео прямо в TG
▪️Топовые ресурсы и инструменты
▪️Обучающие игры
▪️Крутые гайды и статьи
▪️Записи собеседований
▪️Многое-многое другое...
Подписывайся и обучайся бесплатно!
ScrapeGraphAI – это библиотека Python для парсинга веб-страниц с помощью искусственного интеллекта.
Предоставляет подробную документацию и примеры использования для различных случаев.
⛓ Ознакомиться: GitHub
👉 @BackendPortal | #ресурсы
Все говорят о DeepSeek, но... ВНИМАНИЕ! Alibaba выпустили Qwen2.5-Max. 😏
✓ Бесплатно и ОЧЕНЬ быстро
✓ Лучше, чем DeepSeek V3
✓ Отлично работает с кодом
✓ С генерацией изображений и скоро видео
🔜 Без подписки → http://chat.qwenlm.ai
👉 @BackendPortal | #ресурсы
NVIDIA AI теперь позволяет запускать Deepseek R1 в VSCode в качестве ассистента по коду! 😤
С помощью расширения CodeGPT можно подключить NVIDIA AI, а затем выбрать модель Deepseek R1.
⚡️ После этого выберите файлы вашего проекта, чтобы использовать их в качестве контекста.
👉 @BackendPortal | дать буст
Яндекс Почта обрабатывает миллиарды писем, около 20–30% из них — спам. Выявить его помогает специальный сервис — «Спамооборона». Он умеет отличать вредоносные письма от обычных с помощью набора определённых признаков.
В новой статье Тимур Нургалиев, тимлид в команде «Спамообороны», рассказал про:
— Особенности архитектуры этого высоконагруженного сервиса.
— Проектирование Key-Value-хранилище, которое в режиме реального времени хранит и отдаёт признаки массовости письма.
Читайте статью на Хабре здесь
Больше материалов о технологиях в Яндекс 360: https://ya.cc/t/OZ4inE495pU96D
🔒 7539 ГБ платного контента для программистов утекли в Telegram
Выбирай направление и обучайся:
👩💻 Java — 644 ГБ
🖥 Python — 724 ГБ
🖥 Frontend — 981 ГБ
🖥 Backend — 817 ГБ
👩💻 Все языки — 4373 ГБ
Пост удалится через 48 часов 🕔