backendportal | Unsorted

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

14390

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

Subscribe to a channel

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

Различия между HTTP/1, HTTP/2 и HTTP/3

HTTP является основой веб-коммуникации с 1989 года, но за это время он значительно эволюционировал. Вот разбор того, как каждая версия развивалась, чтобы удовлетворять растущие потребности:

1. HTTP/1.1 (1997)

Оригинальный протокол, определивший взаимодействие в вебе, использует простые методы, такие как GET и POST. Однако с развитием веба, появлением сложных приложений, потокового HD-видео и других нагрузок HTTP/1.1 столкнулся с рядом ограничений:

Проблема head-of-line (HOL) blocking, замедляющая загрузку ресурсов.

Избыточные HTTP-заголовки.

Необходимость устанавливать несколько TCP-соединений для параллельной загрузки ресурсов.

2. HTTP/2 (2015)

Значительный шаг вперед, включающий:

Сжатие заголовков для экономии трафика.

Мультиплексирование – возможность одновременной передачи нескольких запросов в одном TCP-соединении.

Приоритезация запросов для ускоренной загрузки важных элементов.

Бинарное кодирование вместо текстового, что ускоряет обработку.

HTTP/2 позволил сократить число TCP-соединений, ускоряя загрузку страниц и оптимизируя использование ресурсов сети. Однако он все еще страдал от TCP head-of-line blocking и проблем безопасности, таких как Stream Reuse Attack.

3. HTTP/3 (2020)

Основан на протоколе QUIC и использует UDP вместо TCP, что дает:

Полное устранение head-of-line blocking TCP.

Улучшенную миграцию соединений (например, при смене Wi-Fi на мобильную сеть).

Встроенное шифрование (TLS 1.3 по умолчанию).

Быстрое установление соединений за счет отказа от трехэтапного рукопожатия TCP.

HTTP/3 не полностью заменяет HTTP/2 – он предназначен для определенных сценариев, где его преимущества наиболее заметны, тогда как HTTP/2 остается надежным вариантом.

👉 @BackendPortal

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

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

Git Merge vs Rebase

Одна из самых важных функций Git — это ветвление. Однако при работе с ветками необходимо объединять изменения из одной ветки в другую, и сделать это можно разными способами.

У нас есть два варианта: 👇

1. Merge

Когда ты выполняешь слияние ветки A в ветку B (с помощью git merge), Git создаёт новый коммит слияния. Этот коммит имеет двух родителей — один из каждой ветки, символизируя объединение их истории. Это неразрушающая операция, которая сохраняет всю историю проекта в первозданном виде.

Когда использовать?
Полезно в совместной работе, где важно сохранять целостность и хронологию изменений.
Однако merge-коммиты могут засорять историю, усложняя её понимание.

2. Rebase

Когда ты перебазируешь ветку A на ветку B (git rebase), это означает: "Давайте представим, что изменения из ветки A были сделаны поверх последних изменений в ветке B."
При этом Git перезаписывает историю, создавая новые коммиты для каждого коммита из исходной ветки. В результате получается более чистая и линейная история.

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

👉 @BackendPortal

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

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

🧔‍♂️

👉 @BackendPortal

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

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

Анализ логов в Linux – полезные команды

Найти все строки с "ERROR" в логах

grep "ERROR" /var/log/syslog


Игнорировать регистр при поиске "failed"

grep -i "failed" /var/log/auth.log


Вывести только уникальные IP-адреса

awk '{print $1}' /var/log/access.log | sort | uniq


Посчитать количество "timeout" в логах Nginx

grep -c "timeout" /var/log/nginx/error.log


Извлечь временные метки из логов

awk '{print $1, $2, $3}' /var/log/syslog


Заменить "ERROR" на "ALERT" (вывод в терминал)

sed 's/ERROR/ALERT/g' /var/log/syslog


Вывести последние 10 записей с "disk full"

grep "disk full" /var/log/messages | tail -n 10


Фильтровать логи по HTTP 500 ошибкам

grep ' 500 ' /var/log/nginx/access.log


Удалить строки с "DEBUG"

grep -v "DEBUG" /var/log/app.log


Вывести запросы определенного пользователя

awk '$3 == "username"' /var/log/app.log


Конвертировать дату из "YYYY-MM-DD" в "MM/DD/YYYY"

sed -E 's/([0-9]{4})-([0-9]{2})-([0-9]{2})/\2\/\3\/\1/' /var/log/app.log


Следить за логами в реальном времени и фильтровать ошибки

tail -f /var/log/syslog | grep "ERROR"


👉 @BackendPortal

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

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

📕 Открытый урок по разработке веб-приложений на Scala

На открытом уроке 1 апреля в 20:00 мск мы погрузимся в мир бэкенд-разработки на Scala.

📗 В результате вы:

— Узнаете ключевые аспекты создания современных веб-приложений на Scala;
— Познакомитесь с популярными фреймворками и инструментами для работы с базами данных;
— На практике создадите простое CRUD-приложение для закрепления навыков.

Спикер: Алексей Воронец — руководитель разработки департамента проектных решений и поисковых систем в компании Naumen, эксперт с 14-летним опытом, специализирующийся на Scala и функциональном программировании.

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие

https://otus.pw/3X5o/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

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

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

Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает?

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

✔️ Как научиться отвлекаться от работы и отдыхать?
✔️ Как совместить кучу рабочих задач и время с семьей?
✔️ Как справиться с прокрастинацией?
✔️ Как не растерять запал, даже если кажется, что ничего не выходит?

Подписывайтесь на канал @vadimpetrov_psy и научитесь работать без упахивания, выгорания и ущерба для личной жизни!

👨🏻‍💻 Псс. Заходите в закреп канала - там много полезного, и даже бесплатный мини-курс.

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

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

Что такое HTTP Downgrading, зачем его использовать и как это работает?

HTTP/2 является стандартом для большинства веб-приложений в наши дни, однако не редкость, когда серверы на бэкенде все еще используют HTTP/1.1, что может приводить к несоответствиям при разборе запросов между фронтендом и бэкендом.

И вот здесь и появляется HTTP downgrading! Но что это такое?

HTTP downgrading — это процесс принуждения запроса обрабатываться через HTTP/1.1 вместо HTTP/2.

Это позволяет манипулировать тем, как серверы на фронтенде и бэкенде интерпретируют запросы, а также использовать уязвимости, уникальные для разбора HTTP/1.1, такие как атаки Content-Length Transfer-Encoding (CL.TE).

Как понизить HTTP/2 до HTTP/1.1 с помощью Burp Suite 🤔

1️⃣ Откройте Burp Suite и перейдите в Proxy → HTTP History

2️⃣ Найдите запрос, который в данный момент использует HTTP/2.

3️⃣ Отправьте запрос в Repeater

4️⃣ В вкладке Repeater откройте панель "Inspector" → Request Attributes → Protocol

5️⃣ Измените версию HTTP на HTTP/1.1

6️⃣ Нажмите "Send" в Repeater.

Если все прошло успешно, вы получите валидный ответ, подтверждающий, что сервер принимает HTTP/1.1.

Вот и все! Вы только что понизили протокол HTTP и подтвердили, что сервер на фронтенде принимает HTTP/1.1!

👉 @BackendPortal

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

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

Что такое предметно-ориентированное проектирование (DDD) и как оно работает?

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

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

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

Основные концепции DDD: 👇

Ограниченные контексты (Bounded Contexts)
Это логическая граница, в пределах которой термины остаются последовательными. Универсальный язык (Ubiquitous Language) служит мостом между технической и бизнес-коммуникацией в этом контексте, позволяя всем участникам говорить на одном языке — это одно из самых мощных преимуществ DDD.

Сущности и объекты-значения (Entities & Value Objects)

Оба играют ключевую роль в точном моделировании бизнес-домена:

🟡Сущности (Entities) — это объекты с уникальной идентичностью, которая сохраняется во времени и в разных состояниях.

🟡Объекты-значения (Value Objects) описывают характеристики, но не имеют концептуальной идентичности. Они неизменяемы (в отличие от сущностей, которые могут менять свое состояние).

Агрегаты (Aggregates)
Это группы взаимосвязанных объектов (сущностей и объектов-значений), которые рассматриваются как единое целое. Они обеспечивают механизм управления и поддержания согласованности внутри набора связанных объектов.

Преимущества DDD:

Согласованность: DDD соединяет бизнес-домены и программное обеспечение, обеспечивая их тесную интеграцию.

Гибкость: Четкие модели домена позволяют легче вносить изменения в соответствии с развивающимися бизнес-требованиями.

Улучшенное взаимодействие: Универсальный язык способствует лучшему пониманию между разработчиками и бизнес-экспертами.

Когда применять DDD:

— Сложные системы: DDD особенно эффективен в сложных доменах с детализированными бизнес-правилами.

— Крупные команды: Обеспечивает единое понимание домена для междисциплинарных команд.

— Быстро развивающиеся бизнесы: Позволяет гибко адаптировать программное обеспечение к изменениям в бизнесе.

Недостатки DDD:

Затраты на внедрение: Проектирование правильных контекстов, сущностей и объектов-значений требует времени.

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

Риск рассинхронизации: Без регулярных консультаций с бизнес-экспертами модель может отдалиться от реальных потребностей бизнеса.


👉 @BackendPortal

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

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

Brain fog - это настоящая эпидемия нашего времени, но есть вещество, которое способно пробудить даже мертвеца..

Alpha GPC + CDP Choline = увеличение скорости и объема электрических импульсов в синапсах головного мозга🧠

Добавка повышает концентрацию внимания и скорость реакции, а так же действует как очень мягкий антидепрессант 🧘‍♂️

Не оказывает сильный стимулирующий эффект и не нарушает качество сна 💤

Ты не можешь сделать 36 часов в сутках, но ты можешь увеличить скорость своего мышления ⚡️

👇👇👇

ЗАКАЗАТЬ НА WILDBERRIES

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

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

Что такое Cross-Origin Resource Sharing (CORS)?

Браузеры используют CORS, чтобы предотвратить загрузку данных с других доменов. Когда браузер делает запрос, он добавляет в заголовок origin (источник запроса). Если запрос идёт на сервер того же источника, браузер его разрешает. Если нет — блокирует.

Как решить проблемы с CORS?

Настроить CORS можно на сервере. Сервер должен добавлять заголовок Access-Control-Allow-Origin в ответ. Этот заголовок должен совпадать с origin из запроса, чтобы браузер разрешил загрузку.

Есть два способа исправить ошибки CORS:

🍩 Настроить сервер для поддержки CORS
Можно разрешить доступ ко всем доменам с Access-Control-Allow-Origin: *, но это небезопасно. Лучше разрешить запросы только с определённого домена, например:

Access-Control-Allow-Origin: https://somedomain.com


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

↔️ Важно: CORS защищает ваш API от несанкционированного использования сторонними сайтами.
Без CORS злоумышленники могли бы использовать ваш API и даже отправлять запросы с пользовательскими куками, что могло бы привести к краже аккаунтов.

👉 @BackendPortal

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

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

6 ключевых видов тестирования API

Тестирование рабочих процессов – проверяет, корректно ли работают последовательности API-запросов (например, процесс покупки в интернет-магазине).

Тестирование производительности – оценивает скорость, стабильность и отзывчивость API под разной нагрузкой.

Тестирование безопасности – выявляет уязвимости, защищая API от атак и утечек данных (используются penetration testing, fuzz testing).

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

Тестирование конечных точек – проверяет, правильно ли API-эндпоинты возвращают ответы, коды состояния и ошибки.

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

Эти методы помогают создать надежное, безопасное и эффективное API!

👉 @BackendPortal

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

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

Понимание заголовков REST

Протокол передачи гипертекста (HTTP) включает в себя заголовки, которые передают дополнительную информацию во время HTTP-запросов и ответов.

Сервер и браузер используют HTTP-заголовки для обмена метаданными о документе и данных, передаваемых веб-сервером запрашиваемого сайта.

Различные данные в REST-заголовках могут помочь в поиске и устранении проблем по мере их возникновения. Так как они содержат метаданные, относящиеся к API-запросу и ответу, HTTP-заголовки играют важную роль в этих процессах. Заголовки включают информацию о:

Теле запроса и ответа
Авторизации запроса
Кэшировании ответа
Cookies в ответе

Кроме перечисленных категорий, HTTP-заголовки содержат информацию о различных типах HTTP-соединений, прокси-серверах и других аспектах.

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

В общем случае существуют заголовки запроса и ответа. Мы устанавливаем заголовок запроса при отправке запроса к API и получаем заголовки в ответе.

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

Некоторые распространенные заголовки:

🟡 Authorization – содержит информацию об аутентификации клиента для запрашиваемого ресурса.

🟡 Accept-Charset – сообщает серверу, какие наборы символов поддерживает клиент. Этот заголовок передается вместе с запросом.

🟡 Content-Type – указывает тип медиа-данных в ответе (например, text/html или application/json), что помогает клиенту обработать содержимое ответа.

🟡 Cache-Control – определяет правила кэширования для ответа. Клиент может хранить и повторно использовать кэшированный ответ в течение указанного времени.

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

👉 @BackendPortal

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

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

Нашёл удобный способ анализировать сетевой трафик в Kubernetes — Kubeshark

Открываешь сайт или выполняешь kubectl krew install kubeshark, и сразу можешь следить за запросами в реальном времени

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

Удобно для DevOps и тестирования

👉 @BackendPortal

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

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

Grafana — это платформа для визуализации и мониторинга данных из разных источников с гибкими дашбордами и оповещениями.

👉 @BackendPortal

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

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

Если вы пользуетесь Pandas — ловите шпаргалку по Data Wrangling.

В хорошем качестве тут

👉 @BackendPortal

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

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

HTTP Статусы

🟡1xx Информационные

— 100 Continue – Сервер получил заголовки, ожидает тело.
— 101 Switching Protocols – Сервер меняет протокол по запросу.

🟡2xx Успех

— 200 OK – Запрос выполнен успешно.
— 201 Created – Создан новый ресурс.
— 202 Accepted – Принято, но не обработано.
— 204 No Content – Успешно, но без контента.
— 3xx Перенаправление
— 301 Moved Permanently – Ресурс перемещен навсегда.
— 302 Found – Временный новый адрес.
— 304 Not Modified – Данные не изменились, нет необходимости пересылать.
— 307 Temporary Redirect – Временное перенаправление.

🟡4xx Ошибки клиента

— 400 Bad Request – Ошибка в запросе.
— 401 Unauthorized – Требуется авторизация.
— 403 Forbidden – Доступ запрещен.
— 404 Not Found – Ресурс не найден.
— 429 Too Many Requests – Слишком много запросов (лимит).

🟡5xx Ошибки сервера

— 500 Internal Server Error – Внутренняя ошибка сервера.
— 502 Bad Gateway – Сервер получил неверный ответ.
— 503 Service Unavailable – Сервер перегружен или на обслуживании.
— 504 Gateway Timeout – Сервер не получил ответ вовремя.

👉 @BackendPortal

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

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

IT_ONE Cup. ML Challenge от IT_ONE и Sk FinTech Hub — создай AI-ассистента, который будет помогать в работе дизайнерам, системным и бизнес-аналитикам. Участвуй онлайн с 12 по 29 апреля и поборись за 1 500 000 рублей.

Регистрация открыта до 11 апреля

Твоя формула победы:
Разбираешься в машинном обучении.
На ты с NLP и LLM.
Концептуально понимаешь принципы работы веб-приложений.  

Также приглашаем Backend и Frontend-разработчиков, системных и бизнес-аналитиков, UI/UX-дизайнеров. Участвуй онлайн соло или командой до 5 человек. 

Задачи IT_ONE Cup. ML Challenge:

🔤 Динамические контекстные подсказки для системного аналитика.
🔤 AI-генератор дизайн-макетов по описанию требований.
🔤 Система визуализации BPMN-диаграмм.

4 апреля приходи на митап с экспертами соревнования — задай вопросы и узнай больше о задачах. 

Создай AI-ассистента, который облегчит выполнение рабочих задач — регистрируйся на IT_ONE Cup. ML Challenge

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

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

❤️ Backend Talks от Яндекс 360
17 апреля, Москва, 19:00

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

В программе:

📌На пути к 9999: принципы и практики построения высоконагруженных сервисов — Игорь Обручев, руководитель группы SRE

📌Эволюция проектирования общих решений в Яндекс 360 — Евгений Ширанков, руководитель команды платформенных сервисов

📌Ценности и культура команды. Почему они важны и как их сохранить в период роста — Роман Акинфеев, руководитель бэкенд-разработки Яндекс 360

Команда Яндекс 360 работает с нагрузками >1 000 000+ RPS и создает продукты которыми пользуются 95+ млн человек каждый месяц — Диск, Почта, Телемост, Мессенджер и другие.

🍻Приходите на митап обсуждать инженерные практики, качественно нетворкаться с разработчиками и классно провести время!

Регистрируйтесь

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

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

Крутейшая онлайн-платформа для практики программирования, которая предлагает более 7000 упражнений на 75 различных ЯП

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

А если застрял, можно получить обратную связь от опытных менторов — не всегда сразу, но всегда по делу ✌️

👉 @BackendPortal

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

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

SSH-туннелирование – трюк, который позволяет безопасно передавать данные через зашифрованное соединение.

Разберем основные виды

🟡Локальное перенаправление

Хочешь получить доступ к веб-ресурсу на удаленном сервере? Используй:

ssh -L 8080:localhost:80 user@server


Теперь можешь открыть http://localhost:8080, а трафик пойдет через SSH к серверу.

🟡Локальное перенаправление через Bastion-хост

Если сервер спрятан за другим сервером (bastion), используем:

ssh -L 8080:server:80 user@bastion


Так мы через bastion пробрасываем доступ к скрытому серверу.

⚡️ Но если сервер доступен только по локальному интерфейсу (localhost на bastion), то тогда команда будет:

ssh -L 8080:localhost:80 user@bastion


В этом случае bastion будет прокидывать трафик только на свой локальный сервер.

🟡Удаленное перенаправление (Remote Port Forwarding)

Хочешь дать доступ извне к своему локальному сервису? Например, открыть локальный веб-сервер для внешнего мира:

ssh -R 0.0.0.0:8080:localhost:80 user@gateway


Теперь сервер будет слушать порт 8080 и перенаправлять запросы на твой локальный компьютер.

📌Сохраняйте памятку

👉 @BackendPortal

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

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

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

Вот основные шаблоны, которые должен знать каждый архитектор.

Шаблон "База данных на сервис"
Каждый микросервис управляет собственной базой данных, что обеспечивает слабую связанность и полное владение данными.

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

Шаблон "API-шлюз"
Выступает в качестве единой точки доступа, которая направляет запросы к микросервисам, обрабатывая такие задачи, как аутентификация и ограничение частоты запросов.

Шаблон "Сага"
Координирует распределенные транзакции, используя последовательность шагов и компенсирующие действия для обработки отказов.

Шаблон "BFF (Backend for Frontend)"
Создает разные бэкенды для веба и мобильных приложений, улучшая производительность и настраивая обработку данных под каждого клиента.


👉 @BackendPortal

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

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

Новые каналы с вакансиями и стажировками для джунов

В этих каналах
публикуются все свежие вакансии и стажировки

🔺 ВАКАНСИИ

Горячие вакансии с привлекательными офферами для джуниор разработчиков, аналитиков, дизайнеров и QA-специалистов.

👉 ПОДПИСАТЬСЯ

🔺СТАЖИРОВКИ
Стажировки для начинающих специалистов в IT независимо от возраста!

👉 ПОДПИСАТЬСЯ

🔺IT interns
Свежие стажировки для junior специалистов в топовых компании России и мира

👉 ПОДПИСАТЬСЯ

🔺Junojobs
Вакансии и стажировки для junior-разработчиков на удалёнке.

👉 ПОДПИСАТЬСЯ

🔺БИГТЕХ
Junior вакансии и стажировки в крупнейших IT-компаниях мира: NVidia, Apple, T-банк, Яндекс, Google и т. д.

👉 ПОДПИСАТЬСЯ

🔺Макс из < codereview />
Эксперименты про трудоустройство в IT, советы для быстрого поиска работы и офферы для джунов.

👉 ПОДПИСАТЬСЯ

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

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

Язык программирования Go - отличный выбор для создания бэкэнда ваших приложений.

В этом курсе вы создадите фронтэнд React на основе бэкэнда Go.

Вы узнаете, как настроить проект, создать API, обработать логику на стороне сервера и многое другое.

Источник: смотреть

👉 @BackendPortal

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

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

Сила CI/CD:

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

🍩Начало → Разработчик делает коммит кода.

🍩Автоматизированные тесты → Проверка кода.

Если тесты не пройдены → исправление ошибок.
Если тесты пройдены → сборка приложения.

🍩Развертывание на staging → запуск интеграционных тестов.

Если тесты не пройдены → исправление ошибок.
Если пройдены → развертывание в продакшн.

🍩Финал → Приложение успешно развернуто.

👉 @BackendPortal

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

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

🇷🇺«Сталинские Соколы» объявляют первый крупнейший в России турнир «Drone-Con» в номинациях:
- Настройка WiFi
- Пилотирование FPV дронов
- Онлайн стратегия «Битва Дронов»

🕙Когда? 11-13 апреля 2025 года
Заезд участников с 10.04.2025

Приз за выход в 1/8 финала в каждой номинации – 300 000 рублей

За победу в номинации:
🥇I место – 3 000 000 рублей
🥈II место – 2 000 000 рублей
🥉III место – 1 000 000 рублей

Пройди заочный онлайн этап до 1 апреля, и получи возможность попасть на очный этап «Drone-Con»!

Подать заявку и узнать подробности – @dronecon

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

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

8 алгоритмов балансировки нагрузки, которые вы должны знать:

🍩Round Robin (Круговой метод) – запросы распределяются равномерно между серверами по очереди.

🍩Least Connections (Наименьшее количество соединений) – запрос направляется на сервер с наименьшим числом активных соединений.

🍩Weighted Round Robin (Взвешенный круговой метод) – серверам присваиваются веса, и запросы распределяются с учетом этих весов.

🍩Weighted Least Connections (Взвешенный метод наименьших соединений) – учитывается как число соединений, так и вес сервера.

🍩IP Hash (Хэширование по IP) – запрос направляется на сервер в зависимости от хэша IP-адреса клиента.

🍩Least Response Time (Наименьшее время отклика) – запрос идет на сервер с наименьшим временем ответа.

🍩Random (Случайный выбор) – сервер выбирается случайным образом.

🍩Least Bandwidth (Наименьшая пропускная способность) – запрос идет на сервер с наименьшей текущей загрузкой сети.

👉 @BackendPortal

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

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

Нашел для вас мощный инструмент — Apidog

Бесплатная платформа для полного цикла разработки API, объединяющая дизайн, отладку, тестирование, документацию и мокирование в одном месте.

Визуальный редактор для проектирования и отладки API с поддержкой JSON Schema. Автоматизация тестирования и генерация документации — легко

Интеграция на всех этапах разработки API, обеспечивая синхронизацию спецификаций и изменений. 👍

👉 @BackendPortal

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

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

Файл содержит вопросы и ответы для собеседований по Git и GitHub.

В нем рассматриваются основные концепции, такие как контроль версий, создание и управление репозиториями, работа с ветками, команды для коммитов, пушей, пулов и мерджей, а также различия между Git и SVN. 📰

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

👉 @BackendPortal

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

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

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

И в этом подробном руководстве Ифеани обучит вас созданию безсерверного CRUD REST API.

Вы будете использовать Serverless Framework, Node.js и GitHub Actions.

Держи гайд: ссылка

👉 @BackendPortal

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

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

Принёс вам удобную шпаргалку по Python 😍

На quickref.me/python всё чётко и по делу — команды, примеры, быстрые подсказки. Никакой воды, только полезный контент.

Учишь Python? Сохраняй, пригодится.

👉 @BackendPortal

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