Присоединяйтесь к нашему каналу и погрузитесь в мир Backend-разработки Связь: @devmangx РКН: https://clck.ru/3FobxK
Большинство систем выходят из строя не из-за плохого кода
Они ломаются из-за слабой архитектуры под нагрузкой.
Высокая доступность — это не магия. Это архитектура.
В обсуждении доминируют два шаблона: отказоустойчивость и репликация
Вот в чём проблема — многие команды бросаются этими терминами, не понимая компромиссов
➤ Отказоустойчивость (Failover) — это переключение на резервную систему, когда основная выходит из строя
Active-Active: Все узлы обрабатывают трафик. Если один выходит из строя, другие продолжают работу.
Плюсы: отсутствие простоя, высокая загрузка ресурсов
Минусы: сложная координация, риск гонок (race conditions)
Active-Passive: Один узел работает, другой в режиме ожидания.
Плюсы: проще в управлении, меньше конфликтов
Минусы: простой при переключении, возможная потеря данных при отставании репликации
➤ Репликация — это наличие одних и тех же данных в нескольких местах
С одним лидером (Single-Leader): Один узел записывает, остальные читают.
Плюсы: проще обеспечить согласованность
Минусы: узкое место при записи, задержки на репликах для чтения
Много лидеров (Multileader): Несколько узлов могут записывать.
Плюсы: можно записывать с любого узла, выше доступность
Минусы: конфликты данных, сложное разрешение расхождений
Что это значит для тебя 🤔
—> Не думай, что репликация исключает потерю данных.
—> Не думай, что отказоустойчивость гарантирует отсутствие простоев.
—> Не выбирай шаблон по популярности — выбирай по допустимому времени восстановления, задержкам и требованиям к согласованности.
Хорошая архитектура — это не про аптайм. Это про контролируемый отказ.
Если ты не понимаешь компромиссы, твоя система не так "доступна", как тебе кажется.
Один вопрос: от чего твоя система сегодня не сможет оправиться? ☕️
👉 @BackendPortal
Совет по Linux
Представь, что в системе всего 2 ГБ оперативной памяти, а приложению нужно 3 ГБ. Без swap-пространства этот процесс завершится сбоем, потому что не хватает доступной памяти.
Однако с использованием swap
ОС может переместить неактивные данные в эту зону переполнения, освободив место для приложения 🍪
Таким образом, swap
действует как страховка, позволяя системе справляться с ресурсоёмкими задачами даже при ограниченной оперативной памяти.
Хотя swap
не так быстр, как физическая оперативная память, в таких ситуациях он может спасти положение
👉 @BackendPortal
🇷🇺Подрабатываешь настройкой wifi? Патриот, при этом хочешь заработать?
Есть работа по профилю на юге Курской области!
🇷🇺Условия:
- Заработная плата 178 000 рублей на руки;
- По результатам выполнения боевых задач, дополнительная премия;
- Проживание, питание, обмундирование за счет компании;
- Обучение и переквалификация за счет компании;
- Страховые выплаты;
- Официальное трудоустройство (трудовой договор, полный соц.пакет);
🇷🇺Присоединяйся к Сталинским Соколам!🇷🇺
Подать заявку - @pilot_sokol
Подробная информация - сталинские-соколы.su
Рассказываем на примере блочных устройств нового облака MWS.
➡️Читайте новую статью на Хабр в хабе "Разработка публичных облаков".
Вы узнаете:
🔴 Как декларативный API облегчает управление циклами реконсиляции
🔴 На каких компонентах и технологиях написали управление циклами
🔴 Как работают межсервисные нотификации об изменении ресурсов
Подписаться на хаб
Твой фронтенд и бэкенд находятся в разных репозиториях?
Не проблема — ты всё равно можешь собрать и доставить всё в одном Docker-образе.
👉 @BackendPortal
Наткнулся на нагляднейшую схему — вот прям визуально показывает, как передаётся инфа по сети. От тебя → к другому устройству.
🍩Кликаешь в браузере — пошли данные (уровень 7)
🍩Данные оборачиваются в заголовки (headers) на каждом уровне. Это называется инкапсуляция.
🍩Внизу уже летят по сети нули и единицы (уровень 1)
🍩На стороне получателя — всё разворачивается обратно (деинкапсуляция)
🍩И вуаля — страница на экране
Это прям база
👉 @BackendPortal
Устал вручную пробрасывать порты и настраивать DNS?
Cloudflare Operator — Kubernetes-оператор, который автоматически создаёт Cloudflare Tunnel и обновляет DNS-записи для сервисов (HTTP / TCP / UDP) в твоём кластере
Полезно для внутренних API, админок, dev-сред, где важна безопасность и простота
👉 @BackendPortal
Объяснение Kafka
—> Apache Kafka — это распределённая стриминговая платформа, предназначенная для построения конвейеров обработки данных в реальном времени и стриминговых приложений
—> Она работает по модели pub-sub, где продюсеры публикуют сообщения, а потребители подписываются на темы, чтобы получать эти сообщения.
—> Kafka изначально распределённая, спроектирована для масштабирования и обеспечения отказоустойчивости за счёт распределения данных по нескольким узлам
—>Apache Kafka — проект с открытым исходным кодом, доступный для использования и модификации разработчиками.
—> Сообщения организованы в темы, которые могут быть дополнительно разбиты на партиции для более тонкой параллелизации и масштабируемости
—> Она предоставляет устойчивое хранилище с журналом предварительной записи (write-ahead log), что обеспечивает сохранность данных при сбоях сервера
—> Несколько потребителей могут образовать «группу потребителей» (Consumer Group), чтобы подписаться на темы — это позволяет балансировать нагрузку и параллельно потреблять данные
👉 @BackendPortal
ВКонтакте открывает набор Go-разработчиков для перехода на новую архитектуру
⏩ Компания запускает крупный проект по технической трансформации. Цель-перевести соцсеть на сервисную архитектуру и создать единую платформу разработки.
⏩ Собственную команду ВКонтакте планирует усилить более 100 Go-разработчиками. Это крутая возможность участия в важном этапе развития одного из крупнейших digital-продуктов в рунете.
⏩ 24 апреля ВКонтакте проведёт митап (ссылка на лендос) в петербургском офисе и онлайн. Команда расскажет о проекте, технологиях и команде.
👉 @BackendPortal
KORE, сети и железная леди: как строится кровеносная система любого big tech
В новом выпуске подкаста «Расскажите про MWS» мы беседуем с Геннадием Липенковым, руководителем направления Engineering & Servers Infrastructure MWS.
Обсудим всё — от сетей и серверов до команд, которые обеспечивают стабильность процессов. Разберемся, какие люди и подходы необходимы для непрерывной разработки продуктов, и, конечно, выясним, кто такая «железная леди».
Смотрите и слушайте на всех популярных площадках:
🎬 YouTube
🎬 VK Видео
🎧 Яндекс Музыка
🎧 Apple Podcasts
🎧 Mave Digital
Как научиться разрабатывать API?
👉 @BackendPortal
Разберём Docker Workflow 👇
1. Разработка
—> Пиши код своего приложения
2. Dockerfile
—> Создай Dockerfile, в котором описывается окружение и зависимости для твоего приложения
3. Сборка образа
—> Используй docker build, чтобы создать Docker-образ из Dockerfile
4. Запуск контейнера
—> Используй docker run, чтобы запустить контейнер из своего образа
—> Контейнер — это изолированная среда с твоим приложением
5. Тестирование
—> Протестируй приложение внутри контейнера.
—> При изменениях — пересобери образ и перезапусти контейнер
6. Push (необязательно)
—> Используй docker push, чтобы загрузить образ в реестр (например, Docker Hub)
7. Pull (необязательно)
—> Другие могут использовать docker pull, чтобы скачать твой образ и запустить приложение у себя
👉 @BackendPortal
Как успешно пройти backend собеседование и получить лучший оффер?
Нужно зазубрить методы класса Object, угождать HR и ванильно рассказывать о себе?
Нет!
Автор канала Backend Interviewer подготовил всё необходимое, чтобы ты "взломал" процесс собеседований.
Только реальная прокачка твоих hard и soft скиллов в сжатые сроки.
Только то, что реально требуется на собеседованиях без воды.
Подписывайся и кликай на закреп - там вся нужная инфа: @backend_interviewer
Как выбрать тип базы данных?
Сегодня доступны сотни, а то и тысячи баз данных, такие как Oracle, MySQL, MariaDB, SQLite, PostgreSQL, Redis, ClickHouse, MongoDB, S3, Ceph и другие.
🟡Реляционная база данных – практически любую задачу можно решить с ее помощью.
🟡Хранилище в памяти – высокая скорость и ограниченный объем данных делают его идеальным для быстрых операций.
🟡База данных временных рядов – хранит и управляет данными с временными метками.
🟡Графовая база данных – подходит для сложных связей между неструктурированными объектами.
🟡Документное хранилище – хорошо подходит для хранения больших неизменяемых данных.
🟡Хранилище широких столбцов – обычно используется для работы с большими данными, аналитики, отчетности и других задач, требующих денормализованных данных.
Есть ли что-то, что вы часто используете, и почему выбираете именно это? 🤔
👉 @BackendPortal
2 архитектурных подхода — MVC и MVP. Оба используются для разделения ответственности в приложении
MVC (Model - View - Controller)
⏩View
Это шаблон или HTML-страница. Слушает изменения модели (например, через data-binding или рендер шаблона).
⏩Controller — обрабатывает HTTP-запросы. Получает данные от пользователя и решает, что делать. Может напрямую изменить View (например, вернуть другую страницу) или вызвать методы модели.
⏩Model — бизнес-логика и доступ к данным. Работает с базой (например, через ORM). При изменениях может оповестить View (в интерактивных системах)
MVP (Model - View - Presenter)
⏩View — пассивная: не принимает решений, только отображает. Все действия отправляет в Presenter.
⏩Presenter — получает события от View. Работает с Model. Сам обновляет View — View ничего не делает без команды
⏩Model
То же самое — бизнес-логика и данные
👉 @BackendPortal
Формошлёп — сотни хаков для фронтендеров в одном месте
Никакой скучной теории, воды и прочей шляпы, только практические примеры, которые работают.
👉 Подписывайся на @frontbox — стань тем, кто знает, как решить проблему, пока остальные ищут ответ на Stack Overflow.
Большая актуальная базу бесплатных API, которая обновляется ежедневно
Тут собрано аж 363 бесплатных API на все случаи жизни: от игр и погоды до финансов и здоровья.
Алгоритмы присваивают рейтинг каждому API на основе надежности, частоты ошибок и времени отклика
Если API перестает работать или становится платным, он теряет рейтинг и удаляется с сайта
Переходите и смотрите сами: https://www.freepublicapis.com/
👉 @BackendPortal
Ищешь удобную альтернативу Kubernetes Dashboard?
Встречай Headlamp —> мощный open-source интерфейс для управления кластерами
⏩Просмотр всех ресурсов (Pods, Services, ConfigMaps и др.)
⏩Поддержка нескольких кластеров
⏩WebSocket для обновлений в реальном времени
⏩Подключение CRD и кастомных API
⏩Расширяется плагинами
Работает локально, в облаке и легко запускается через Docker или в Pod 😮
👉 @BackendPortal
Обзор рабочего процесса Docker 👆
Полезнo, если только осваиваешь Docker и не до конца понимаешь весь цикл работы
👉 @BackendPortal
⚡️ Айтишник из «VISION» скупил курсы айти школ и выложил гигабайты материалов к себе
Каждый найдет что-то по душе:
1202 ГБ — Python
1811 ГБ — Frontend
1100 ГБ — C / C++ / C#
804 ГБ — Java
411 ГБ — SQL & БД
309 ГБ — DevOps
998 ГБ — ИБ & Хакинг
773 ГБ — Kotlin / Swift
189 ГБ — PHP
201 ГБ — GoLang
170 ГБ — Rust
167 ГБ — QA / Тестирование
310 ГБ — 1C + Лицензии
495 ГБ — Машинное обучение
704 ГБ — Аналитика Данных
991 ГБ — Дизайн
Материалы в закрепе, постоянно пополняются👆🏻
Классическая демонстрация работы бинарного поиска — алгоритма, который делит массив пополам, чтобы быстро находить нужный элемент 😍
👉 @BackendPortal
🔒 8539 ГБ платных материалов для программистов выложили в Telegram
Выбирай нужное и обучайся:
🖥 817 ГБ – Frontend
🖥 981 ГБ – Backend
🖥 724 ГБ – Python
👮♀ 644 ГБ – Хакинг и ИБ
🖥 5373 ГБ – Все направления IT
Вход открыт ровно 48 часов 🕔
Принёс вам приятную лекцию про объектно-ориентированное программирование (ООП) в Python на русском!
— Что такое ООП;
— Классы и зачем они нужны;
— Достоинства и недостатки механизма ООП;
— Конструктора класса;
— Основные понятия в ООП: объекты, наследование, инкапсуляция, полиморфизм и д.р.
👉 @BackendPortal
"Введение в алгоритмы" Массачусетского технологического института
Бесплатный курс с полными заметками
❯ Видеокурс
https://youtube.com/playlist?list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY
❯ Конспекты лекций
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/lecture-notes/
❯ Практические вопросы
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/practice-problems/
❯ Задания
https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/assignments/
👉 @BackendPortal
Сравнение популярных систем обмена сообщениями между RabbitMQ, Kafka, SQS и Redis Streams
Где лучше использовать, а когда избегать 🤔
👉 @BackendPortal
Хотите разбираться в Big Data так, как это делают специалисты Яндекса? Тогда присоединяйтесь к бесплатному интенсиву ШАДа Big DWH Week!
Вас ждёт 8 онлайн-занятий, на которых вы познакомитесь с YTsaurus — платформой для распределённого хранения и обработки данных. Вы разберётесь в её архитектуре и масштабировании, а также научитесь настраивать систему под свои задачи.
Интенсив открытый, поэтому зарегистрироваться может каждый. Однако интереснее всего программа будет тем, кто уже работает с данными: опытным бэкенд-разработчикам и разработчикам баз данных, инженерам и аналитикам данных, а также студентам технических направлений.
Регистрируйтесь до 25 апреля и прокачивайтесь в Big Data вместе с экспертами Яндекса и ШАДа! Все подробности — по ссылке.
Краткий справочник по ключевым концепциям реляционных баз данных для начинающих и продвинутых разработчиков
25 ключевых понятий, таких как индексы, ключи, нормализация, транзакции, шардирование, репликация, консистентность и др
👉 @BackendPortal
Типы облачных сервисов
Существует три основных типа облачных вычислительных сервисов: инфраструктура как услуга (IaaS), платформа как услуга (PaaS) и программное обеспечение как услуга (SaaS)
1. Инфраструктура как услуга (IaaS)
IaaS — это самый базовый уровень облачных сервисов. С помощью IaaS мы можем арендовать инфраструктуру, такую как серверы, виртуальные машины (VM), хранилища данных, сети, операционные системы и другое, у облачного провайдера, оплачивая только то, что используем.
Мы можем быстро запускать ресурсы, масштабировать их вертикально или горизонтально в зависимости от потребностей. Когда ресурсы больше не нужны — просто удаляем их и платим только за фактическое время использования.
2. Платформа как услуга (PaaS)
С помощью PaaS мы получаем доступ к средам и сервисам, необходимым для разработки, тестирования, доставки и управления программными приложениями.
Это упрощает работу разработчиков, позволяя быстро создавать веб-приложения, API, мобильные приложения и т.п., без необходимости заботиться о настройке или управлении серверной инфраструктурой, хранилищами, сетями, базами данных и т.д. Примеры — GitHub, Docker и др.
3. Программное обеспечение как услуга (SaaS)
В модели SaaS, которая чаще всего основана на подписке, мы используем программные приложения через Интернет по мере необходимости. Облачный провайдер управляет всей инфраструктурой, операционной системой, программным обеспечением, а также обновлениями и безопасностью. Мы просто подключаемся к приложению через браузер и начинаем работу.
@BackendPortal
Начните карьеру разработчика в Авито 😎
Стажировка для разработчиков возвращается — Авито открывает набор в направлениях Frontend, Backend и QA.
Здесь вы будете работать с продуктами, которыми пользуются миллионы.
Профессионально развиваться и расти вам помогут:
• наставник — научит, как найти лучшее решение, и поможет разобраться в инструментах и технологиях,
• комьюнити стажёров — поделятся опытом и поддержат,
• доступ к базам знаний, библиотекам и корпоративным курсам — поможет нарастить экспертизу.
Стажировка оплачивается. Доступно три направления, вы можете выбрать два – основное и запасное. Если попасть на первое не удастся, сможете пройти отбор на второе при наличии мест.
Условия:
• длительность программы — 6 месяцев,
• работа от 25 часов в неделю, после завершения стажировки — возможность остаться в компании на полную занятость,
• зарплата и корпоративный ноутбук,
• можно работать из офиса, удалённо или в гибридном формате.
Более 80% стажёров продолжают карьеру в Авито. Присоединяйтесь к команде и растите вместе с нами! Регистрация открыта до 10 апреля.
⚡ Совет на 2025 год — не трать деньги на дорогие IT-курсы!
Обучение стоит дорого, но в Telegram слили топовый контент по программированию: курсы, статьи, видео и гайды — всё бесплатно:
👩💻 JavaScript 👩💻 React
👩💻 Python 👩💻 Docker
👩💻 Java 🖼️ Spring
👩💻 C# 👩💻 Game Dev
👩💻 С/С++ 👩💻 DevOps
👣 GoLang 🖼️ Redis
👩💻 Kotlin 👩💻 Mob Dev
🖼️ PHP 🖥 SQL
🖼️ Swift 👩💻 Kubernetes
Не плати за то, что можно получить бесплатно — подписывайся и учись👆