backendportal | Unsorted

Telegram-канал backendportal - Backend Portal | Программирование

14390

Присоединяйтесь к нашему каналу и погрузитесь в мир Backend-разработки Связь: @devmangx РКН: https://clck.ru/3FobxK

Subscribe to a channel

Backend Portal | Программирование

Наткнулся на нагляднейшую схему — вот прям визуально показывает, как передаётся инфа по сети. От тебя → к другому устройству.

🍩Кликаешь в браузере — пошли данные (уровень 7)

🍩Данные оборачиваются в заголовки (headers) на каждом уровне. Это называется инкапсуляция.

🍩Внизу уже летят по сети нули и единицы (уровень 1)

🍩На стороне получателя — всё разворачивается обратно (деинкапсуляция)

🍩И вуаля — страница на экране

Это прям база

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

Устал вручную пробрасывать порты и настраивать DNS?

Cloudflare Operator — Kubernetes-оператор, который автоматически создаёт Cloudflare Tunnel и обновляет DNS-записи для сервисов (HTTP / TCP / UDP) в твоём кластере

Полезно для внутренних API, админок, dev-сред, где важна безопасность и простота

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

Объяснение Kafka

—> Apache Kafka — это распределённая стриминговая платформа, предназначенная для построения конвейеров обработки данных в реальном времени и стриминговых приложений

—> Она работает по модели pub-sub, где продюсеры публикуют сообщения, а потребители подписываются на темы, чтобы получать эти сообщения.

—> Kafka изначально распределённая, спроектирована для масштабирования и обеспечения отказоустойчивости за счёт распределения данных по нескольким узлам

—>Apache Kafka — проект с открытым исходным кодом, доступный для использования и модификации разработчиками.

—> Сообщения организованы в темы, которые могут быть дополнительно разбиты на партиции для более тонкой параллелизации и масштабируемости

—> Она предоставляет устойчивое хранилище с журналом предварительной записи (write-ahead log), что обеспечивает сохранность данных при сбоях сервера

—> Несколько потребителей могут образовать «группу потребителей» (Consumer Group), чтобы подписаться на темы — это позволяет балансировать нагрузку и параллельно потреблять данные

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

ВКонтакте открывает набор Go-разработчиков для перехода на новую архитектуру 

Компания запускает крупный проект по технической трансформации. Цель-перевести соцсеть на сервисную архитектуру и создать единую платформу разработки. 
Собственную команду ВКонтакте планирует усилить более 100 Go-разработчиками. Это крутая возможность участия в важном этапе развития одного из крупнейших digital-продуктов в рунете.
24 апреля ВКонтакте проведёт митап (ссылка на лендос) в петербургском офисе и онлайн. Команда расскажет о проекте, технологиях и команде.

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

KORE, сети и железная леди: как строится кровеносная система любого big tech

В новом выпуске подкаста «Расскажите про MWS» мы беседуем с Геннадием Липенковым, руководителем направления Engineering & Servers Infrastructure MWS.

Обсудим всё — от сетей и серверов до команд, которые обеспечивают стабильность процессов. Разберемся, какие люди и подходы необходимы для непрерывной разработки продуктов, и, конечно, выясним, кто такая «железная леди».

Смотрите и слушайте на всех популярных площадках:
🎬 YouTube
🎬 VK Видео

🎧 Яндекс Музыка
🎧 Apple Podcasts
🎧 Mave Digital

Читать полностью…

Backend Portal | Программирование

Как научиться разрабатывать API?

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

Разберём 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 Portal | Программирование

Как успешно пройти backend собеседование и получить лучший оффер?

Нужно зазубрить методы класса Object, угождать HR и ванильно рассказывать о себе?

Нет!

Автор канала Backend Interviewer подготовил всё необходимое, чтобы ты "взломал" процесс собеседований.

Только реальная прокачка твоих hard и soft скиллов в сжатые сроки.

Только то, что реально требуется на собеседованиях без воды.

Подписывайся и кликай на закреп - там вся нужная инфа: @backend_interviewer

Читать полностью…

Backend Portal | Программирование

Как выбрать тип базы данных?

Сегодня доступны сотни, а то и тысячи баз данных, такие как Oracle, MySQL, MariaDB, SQLite, PostgreSQL, Redis, ClickHouse, MongoDB, S3, Ceph и другие.

🟡Реляционная база данных – практически любую задачу можно решить с ее помощью.
🟡Хранилище в памяти – высокая скорость и ограниченный объем данных делают его идеальным для быстрых операций.
🟡База данных временных рядов – хранит и управляет данными с временными метками.
🟡Графовая база данных – подходит для сложных связей между неструктурированными объектами.
🟡Документное хранилище – хорошо подходит для хранения больших неизменяемых данных.
🟡Хранилище широких столбцов – обычно используется для работы с большими данными, аналитики, отчетности и других задач, требующих денормализованных данных.

Есть ли что-то, что вы часто используете, и почему выбираете именно это? 🤔

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

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

Читать полностью…

Backend Portal | Программирование

6 решений в дизайне API, которые я больше никогда не приму

Полезно распечатать и повесить на стену

1. Общие ошибки в ответах

Коды ошибок без контекста бесполезны
"400 Bad Request" не помогает в отладке
Отсутствие структурированных полей ошибок приводит к тратам на поддержку
Каждый ответ об ошибке должен включать: код, сообщение, детали, requestId

2. Мышление только в терминах ресурсов

Не всё укладывается в CRUD
Бизнес-операции часто пересекают границы ресурсов
Глаголы иногда делают лучшие эндпоинты, чем существительные
POST /orders/123/cancel лучше, чем PATCH /orders/123 со статусом в теле

3. Версионирование в пути URL

/v1/users моментально становится техническим долгом
Версионирование через URL делает гипермедиа невозможным
Лучше использовать content negotiation через заголовок Accept
Один стабильный URL для каждого ресурса — правильный подход

4. Пагинация без курсоров

Номера страниц ломаются при параллельной записи
Offset/limit не работает на больших объёмах
Отсутствие ссылок на next/previous усложняет клиент
Пагинация с курсорами — необходима

5. Синхронные операции для всего

Блокировка клиента на долгие операции приводит к таймаутам
Нет механизмов ретрая при сетевых сбоях
Без ключей идемпотентности повторные запросы опасны
Долгие операции требуют асинхронного подхода

6. Игнорирование семантики кэша

Отсутствие ETag и If-None-Match приводит к лишнему трафику
Без cache-control поведение становится непредсказуемым
Кэширование критично для масштабирования
Грамотные HTTP-заголовки кэша снижают нагрузку на 60% и более

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

Топ-10 техник масштабирования баз данных, которые вам стоит знать:

🍩Индексирование: Создавайте индексы на часто запрашиваемых столбцах, чтобы ускорить извлечение данных.

🍩Вертикальное масштабирование: Обновите сервер базы данных, добавив больше процессора, ОЗУ или хранилища для обработки увеличенной нагрузки.

🍩Кэширование: Храните часто запрашиваемые данные в памяти (например, Redis, Memcached), чтобы снизить нагрузку на базу данных и улучшить время отклика.

🍩Шардинг: Распределяйте данные по нескольким серверам, разделив базу данных на более мелкие независимые шардированные части, что позволяет достичь горизонтального масштабирования и улучшенной производительности.

🍩Репликация: Создавайте несколько копий (реплик) базы данных на разных серверах, позволяя распределять запросы на чтение по репликам и улучшая доступность.

🍩Оптимизация запросов: Тщательно настраивайте SQL-запросы, избегайте дорогих операций и эффективно используйте индексы для улучшения скорости выполнения и снижения нагрузки на базу данных.

🍩Пуллинг соединений: Снижайте накладные расходы на открытие/закрытие соединений с базой данных, повторно используя существующие соединения, что улучшает производительность при высоком трафике.

🍩Вертикальное партиционирование: Разделите большие таблицы на более мелкие, более управляемые части (партиции), каждая из которых содержит подмножество столбцов из исходной таблицы.

🍩Денормализация: Храните данные в избыточном, но структурированном формате, чтобы минимизировать сложные объединения и ускорить работу с запросами, ориентированными на чтение.

🍩🍩Материализованные представления: Предварительно вычисляйте и храните результаты сложных запросов как отдельные таблицы, чтобы избежать дорогостоящих перерасчетов, уменьшив нагрузку на базу данных и улучшив время отклика.


Сохраняй чтобы не забыть!

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

Как грамотно структурировать Kubernetes-проект?

Если у тебя куча .yaml файлов валяется в одной папке — не беда. Но пора наводить порядок. Вот как делаем правильно:

1. Вынеси общие манифесты (deployment, service, ingress и т.д.) в папку base/

2. Для каждого окружения (dev, staging, prod) создай папку с переопределениями (overlays/dev, overlays/prod и т.д.)

3. Используй Kustomize, чтобы не копипастить .yaml, а нормально патчить нужные поля

4. Подключай Helm — шаблонизация, переменные и всё, что нужно для удобного управления

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

Объясняем разницу

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

12 алгоритмов для собеседований по проектированию систем

1. Bloom Filter
Снижает издержки на поиск

2. Geohash
Сервисы, основанные на геолокации

3. HyperLogLog
Оценка количества уникальных элементов

4. Консистентное хеширование
Распределение объектов данных в кластере

5. Дерево Меркла
Выявление несоответствий между узлами

6. Raft Algorithm
Алгоритм консенсуса в базах данных

7. Lossy Count
Эффективный подсчёт частоты элементов

8. Квадродерево
Сервис на основе геолокации

9. Оперативная трансформация
Используется для совместного редактирования

10. Протекающее ведро
Используется для ограничения скорости в API

11. Rsync
Синхронизация файлов и каталогов между устройствами

12. Ray Casting
Обнаружение столкновений, рендеринг компьютерной графики

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

Классическая демонстрация работы бинарного поиска — алгоритма, который делит массив пополам, чтобы быстро находить нужный элемент 😍

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

🔒 8539 ГБ платных материалов для программистов выложили в Telegram

Выбирай нужное и обучайся:

🖥 817 ГБ – Frontend

🖥 981 ГБ – Backend

🖥 724 ГБ – Python

👮‍♀ 644 ГБ – Хакинг и ИБ

🖥 5373 ГБ – Все направления IT

Вход открыт ровно 48 часов 🕔

Читать полностью…

Backend Portal | Программирование

Принёс вам приятную лекцию про объектно-ориентированное программирование (ООП) в Python на русском!

— Что такое ООП;
— Классы и зачем они нужны;
— Достоинства и недостатки механизма ООП;
— Конструктора класса;
— Основные понятия в ООП: объекты, наследование, инкапсуляция, полиморфизм и д.р.

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

"Введение в алгоритмы" Массачусетского технологического института

Бесплатный курс с полными заметками

❯ Видеокурс
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

Читать полностью…

Backend Portal | Программирование

Сравнение популярных систем обмена сообщениями между RabbitMQ, Kafka, SQS и Redis Streams

Где лучше использовать, а когда избегать 🤔

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

Хотите разбираться в Big Data так, как это делают специалисты Яндекса? Тогда присоединяйтесь к бесплатному интенсиву ШАДа Big DWH Week!

Вас ждёт 8 онлайн-занятий, на которых вы познакомитесь с YTsaurus — платформой для распределённого хранения и обработки данных. Вы разберётесь в её архитектуре и масштабировании, а также научитесь настраивать систему под свои задачи.

Интенсив открытый, поэтому зарегистрироваться может каждый. Однако интереснее всего программа будет тем, кто уже работает с данными: опытным бэкенд-разработчикам и разработчикам баз данных, инженерам и аналитикам данных, а также студентам технических направлений.

Регистрируйтесь до 25 апреля и прокачивайтесь в Big Data вместе с экспертами Яндекса и ШАДа! Все подробности — по ссылке.

Читать полностью…

Backend Portal | Программирование

Краткий справочник по ключевым концепциям реляционных баз данных для начинающих и продвинутых разработчиков

25 ключевых понятий, таких как индексы, ключи, нормализация, транзакции, шардирование, репликация, консистентность и др

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

Типы облачных сервисов

Существует три основных типа облачных вычислительных сервисов: инфраструктура как услуга (IaaS), платформа как услуга (PaaS) и программное обеспечение как услуга (SaaS)

1. Инфраструктура как услуга (IaaS)

IaaS — это самый базовый уровень облачных сервисов. С помощью IaaS мы можем арендовать инфраструктуру, такую как серверы, виртуальные машины (VM), хранилища данных, сети, операционные системы и другое, у облачного провайдера, оплачивая только то, что используем.

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

2. Платформа как услуга (PaaS)

С помощью PaaS мы получаем доступ к средам и сервисам, необходимым для разработки, тестирования, доставки и управления программными приложениями.

Это упрощает работу разработчиков, позволяя быстро создавать веб-приложения, API, мобильные приложения и т.п., без необходимости заботиться о настройке или управлении серверной инфраструктурой, хранилищами, сетями, базами данных и т.д. Примеры — GitHub, Docker и др.

3. Программное обеспечение как услуга (SaaS)

В модели SaaS, которая чаще всего основана на подписке, мы используем программные приложения через Интернет по мере необходимости. Облачный провайдер управляет всей инфраструктурой, операционной системой, программным обеспечением, а также обновлениями и безопасностью. Мы просто подключаемся к приложению через браузер и начинаем работу.

@BackendPortal

Читать полностью…

Backend Portal | Программирование

Начните карьеру разработчика в Авито 😎

Стажировка для разработчиков возвращается — Авито открывает набор в направлениях Frontend, Backend и QA.

Здесь вы будете работать с продуктами, которыми пользуются миллионы.

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

Стажировка оплачивается. Доступно три направления, вы можете выбрать два – основное и запасное. Если попасть на первое не удастся, сможете пройти отбор на второе при наличии мест.

Условия:
• длительность программы — 6 месяцев,
• работа от 25 часов в неделю, после завершения стажировки — возможность остаться в компании на полную занятость,
• зарплата и корпоративный ноутбук,
• можно работать из офиса, удалённо или в гибридном формате.

Более 80% стажёров продолжают карьеру в Авито. Присоединяйтесь к команде и растите вместе с нами! Регистрация открыта до 10 апреля.

Читать полностью…

Backend Portal | Программирование

Совет на 2025 год — не трать деньги на дорогие IT-курсы!

Обучение стоит дорого, но в Telegram слили топовый контент по программированию: курсы, статьи, видео и гайды — всё бесплатно:

👩‍💻 JavaScript 👩‍💻 React
👩‍💻 Python 👩‍💻 Docker
👩‍💻 Java 🖼️ Spring
👩‍💻 C# 👩‍💻 Game Dev
👩‍💻 С/С++ 👩‍💻 DevOps
👣 GoLang 🖼️ Redis
👩‍💻 Kotlin 👩‍💻 Mob Dev
🖼️ PHP 🖥 SQL
🖼️ Swift 👩‍💻 Kubernetes

Не плати за то, что можно получить бесплатно — подписывайся и учись👆

Читать полностью…

Backend Portal | Программирование

😲

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

Мои коллеги из Яндекса создали сильнейшие IT каналы 🔥

Наше кредо — программирование не сложно, просто никто не объяснял нормально.


🐍 Ghostly Python - Разбираем код, автоматизируем рутину, пишем ботов, скрипты и полезные утилиты. Все что нужно для уверенного старта в программировании на Python.

☕️ Easy Java - вскрываем Java изнутри. Все тонкости этого универсального языка в одном канале, врывайся!

😎 IT Syndicate - гигабайты свежего материала по всем направлениям. GameDev, InfoSec, Frontend - и это лишь малая часть..

Читать полностью…

Backend Portal | Программирование

Недавно опубликовывал дорожную карту по бэкенд. а теперь держите по микросервисам! 😁

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

5 лучших бесплатных курсов по Kubernetes

1. K8 для начинающих - https://bit.ly/3cnHzUE
2. Учимся развертыванию Kubernetes в DevOps - https://bit.ly/3PgZk6X
3. Введение в Kubernetes - https://bit.ly/3O8ds0Z
4. Контейнеры 101 - https://bit.ly/3PDEJcR
5. больше - https://bit.ly/3RCXH4V

👉 @BackendPortal

Читать полностью…

Backend Portal | Программирование

Контроллер раннеров GitHub Actions (ARC) — это Kubernetes-контроллер для управления self-hosted раннерами GitHub Actions.

С ARC можно:

Разворачивать self-hosted раннеры в Kubernetes-кластере через несколько простых команд

Автоматически масштабировать раннеры в зависимости от количества входящих задач (job'ов)

👉 @BackendPortal

Читать полностью…
Subscribe to a channel