Присоединяйтесь к нашему каналу и погрузитесь в мир Backend-разработки Связь: @devmangx РКН: https://clck.ru/3FobxK
Что такое quadtree (квадродерево)?
Квадродерево — это структура данных, которая эффективно управляет двумерными пространствами, такими как карты.
Например, Google Maps использует её в своей библиотеке SDK для поиска ориентиров и точек интереса в заданной области.
Квадродеревья основаны на древовидной структуре, где каждый узел делит двумерное пространство на четыре квадранта.
Корневой узел представляет собой всю карту.
Затем деление продолжается рекурсивно в каждом узле до тех пор, пока каждый квадрант не удовлетворит определённым условиям.
Обычно в качестве условия остановки используется наличие в квадранте определённого количества точек интереса.
С квадродеревьями поиск точек интереса становится очень эффективным:
⏩Построить квадродерево в памяти сервера
⏩Начать поиск с корневого узла, спускаясь к нужному конечному узлу
⏩Добавить точки интереса из конечного узла в результат
⏩Расширить поиск на соседние квадранты, если найденных точек недостаточно
Построение квадродерева на большом наборе данных — ресурсоёмкая операция, которая может занять несколько минут.
Поэтому даже если дерево умещается в памяти одного сервера, лучше распределить нагрузку между несколькими серверами для обработки обновлений.
Это позволит обновлять и перезапускать их по очереди 😐
👉 @BackendPortal
Простое объяснение того, как работает Kubernetes
Пошагово, по делу, без воды
PDF, который должен быть у каждого девелопера под рукой 🏴☠️
👉 @BackendPortal
9 HTTP-методов
1. GET
Читает данные без их изменения.
Безопасный и идемпотентный — повторный запрос возвращает тот же результат.
2. POST
Создаёт новые ресурсы.
Не является идемпотентным — повтор может привести к дублированию данных.
3.PUT
Создаёт или полностью заменяет ресурс по известному URL.
Идемпотентный, идеально подходит для полных обновлений.
4. PATCH
Используется для частичных обновлений, изменяя только нужные поля.
5. DELETE
Удаляет ресурс.
Идемпотентный — повторное удаление не приведёт к ошибке. Часто используется в API для удаления записей.
6. HEAD
Как GET, но возвращает только заголовки (без тела ответа).
Удобен для проверки наличия ресурса или метаданных.
7. OPTIONS
Показывает доступные HTTP-методы для ресурса.
Часто используется для CORS preflight-проверок.
8. CONNECT
Устанавливает туннель — в основном используется для HTTPS через прокси.
9. TRACE
Возвращает полученный сервером запрос "как есть".
Нужен в основном для отладки
👉 @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
Освой сети и командную строку с лучшими обучающими каналами
🤩 Network Admin - обучающий канал по сетевым технологиям
🤩 Network Admin | Guides - канал, где рассказывают полезную информацию про Windows/Linux
📱 BashTex - обучение работе с командной строкой
Kubernetes лучшие практики
В этом блоге рассказывается о 10 лучших практиках проектирования и настройки кластеров — чекнуть
😊
👉 @BackendPortal
Большинство систем выходят из строя не из-за плохого кода
Они ломаются из-за слабой архитектуры под нагрузкой.
Высокая доступность — это не магия. Это архитектура.
В обсуждении доминируют два шаблона: отказоустойчивость и репликация
Вот в чём проблема — многие команды бросаются этими терминами, не понимая компромиссов
➤ Отказоустойчивость (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