backendportal | Unsorted

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

14390

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

Subscribe to a channel

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

Книга Cloud Native DevOps with Kubernetes (второе издание) написана Джастином Домингусом и Джоном Арунделом.

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

🟣Основы облачных технологий и DevOps.
🟣Контейнеризация и работа с Docker.
🟣Развертывание и управление кластерами Kubernetes.
🟣Автоматизация инфраструктуры как кода (IaC).
🟣Настройка безопасности, мониторинга и логирования.
🟣Использование Helm, CI/CD и GitOps.
🟣Масштабирование приложений и оптимизация ресурсов.

Получите свой экземпляр:
https://www.f5.com/content/dam/f5/corp/global/pdf/ebooks/cloud-native-devops-k8s-2e.pdf

👉 @BackendPortal | #книги

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

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

Шпаргалка по командам Linux

📝Это список популярных команд Linux с их кратким описанием, включая команды для работы с файлами и директориями, управления пользователями, процессами, сетью и системой.

👉 @BackendPortal | #ресурсы

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

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

😳 Кто спрашивал на какие каналы по программированию я подписан?

Лично я подписан и читаю этот канал: @umnyiprogrammist

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

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

Делимся приватным архивом на 837 ГБ курсов по программированию:

1. Обучение Python с нуля

2. Обучение JavaScript с нуля

3. Обучение С++ с нуля

4. Обучение С# с нуля

5. Обучение HTML/CSS с нуля

6. Обучение Java с нуля

7. Обучение SQL/GO/PHP с нуля

Архивы скоро удалят, очень важно успеть!🔥

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

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

Rust Atomics and Locks

- 249 страниц
- Издание 2023 года

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

Предполагается, что читатель знает основы Rust, имеет установленный актуальный компилятор Rust и умеет компилировать и запускать код с помощью Cargo.

Получите свой экземпляр:
https://marabos.nl/atomics/

👉 @BackendPortal | #книги

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

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

Linux предоставляет два универсальных инструмента для работы с сетевыми соединениями через сокеты. 🔥

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

Netcat:

🟢Простой клиент и сервер для TCP/UDP.
🟢Поддерживает только TCP и UDP.
🟢Одно соединение за раз
🟢Нет шифрования и модификации пакетов.
Минимальные возможности скриптования и обработки ошибок.

Socat:

🟢Поддерживает мультипротокольную двухстороннюю передачу.
🟢Работает с TCP, UDP, UNIX сокетами, SCTP, SSL и др.
🟢Поддерживает несколько одновременных соединений.
🟢Реализовано шифрование (SSL/OpenSSL).
🟢Расширенные возможности туннелирования (например, проброс портов, SSL-туннели).
🟢Высокая скриптуемость и модификация пакетов.

👉 @BackendPortal | #ресурсы

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

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

Представляем JStack — лучший способ начать новый проект на Next.js

🟢Быстрый и легковесный
🟢Полностью типобезопасный
🟢Развертывание где угодно: Cloudflare, Vercel и другие

https://jstack.app/

Месяцы работы. 100% с открытым исходным кодом.💀

👉 @BackendPortal | #ресурсы

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

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

Механизмы аутентификации – Микросервисы

1. API-ключи
◾️ Простые, уникальные идентификаторы, назначаемые каждому клиенту или сервису.
◾️ Отправляются в заголовке или в параметрах запроса.
◾️ Лучше всего подходят для внутренних сервисов, менее чувствительных API или для предоставления доступа к определённым функциям.
◾️ Легко реализуются и управляются.
◾️ Менее безопасны по сравнению с методами, основанными на токенах. Ключи могут быть утрачены или украдены.

2. Базовая аутентификация (Basic Authentication)
◾️ Имя пользователя и пароль передаются в заголовке Authorization в виде строки, закодированной в base64.
◾️ Простая в реализации, но требует HTTPS для обеспечения безопасности.
◾️ Подходит для простых сценариев с низкими требованиями к безопасности.
◾️ Широко поддерживается и легко понимается.
◾️ Уязвима для атак "человек посередине" (MITM) без использования HTTPS.
◾️ Пароли передаются в открытом виде (даже при кодировании).

3. JSON Web Tokens (JWT)
◾️ Самодостаточные токены, содержащие информацию о пользователе и утверждения (claims) в формате JSON.
◾️ Выдаются сервером аутентификации после успешного входа и затем отправляются клиентом в заголовке Authorization.
◾️ Широко используются для статeless-аутентификации в микросервисах, SSO и авторизации.
◾️ Безопасны, компактны, могут содержать дополнительные утверждения.
◾️ Требуют правильного управления ключами для подписания и проверки.

4. OAuth 2.0

◾️ Фреймворк авторизации, позволяющий сторонним приложениям получать ограниченный доступ к ресурсам от имени владельца ресурса (пользователя) без передачи учетных данных.
◾️ Использует различные типы грантов (authorization code, implicit, client credentials и др.) для получения access-токенов и refresh-токенов.
◾️ Широко применяется для авторизации пользователей и делегированного доступа к API.
◾️ Предоставляет стандартизированный способ защиты доступа к ресурсам без передачи учетных данных.
◾️ Может быть сложен в реализации и требует учета возможных уязвимостей.

5. OpenID Connect (OIDC)
◾️ Слой идентификации поверх OAuth 2.0, предоставляющий аутентификацию пользователя и информацию о профиле.
◾️ Использует ID-токен вместе с access-токеном для предоставления информации о пользователе.
◾️ Используется для аутентификации совместно с OAuth 2.0 для авторизации.
◾️ Упрощает аутентификацию, предоставляя стандартизированный способ получения информации о пользователе.
◾️ Требует интеграции с провайдером OIDC (например, Google, Okta).

6. Взаимная TLS-аутентификация (mTLS)
◾️ И клиент, и сервер аутентифицируют друг друга с использованием X.509-сертификатов.
◾️ Требует центра сертификации (CA) для выдачи и управления сертификатами.
◾️ Лучше всего подходит для защиты связи между внутренними сервисами или высокочувствительными API.
◾️ Обеспечивает высокий уровень безопасности за счёт взаимной аутентификации и шифрования.
◾️ Более сложна в настройке и управлении по сравнению с другими методами.

Эти механизмы аутентификации применимы не только к микросервисам.

👉 @BackendPortal | #ресурсы

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

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

📱 Java Developer — мастхев для любого джависта

Канал Team Lead'a с полезными советами и практиками для Java-разработчиков:

Книги, статьи, тесты
Spring, Hibernate, Docker, SQL
Алгоритмы, вопросы и задачи с собеседований

Присоединяйтесь:
@java_tg

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

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

Цифровая трансформация: Yandex B2B Tech и Яндекс 360 для бизнеса представили корпоративные онлайн-доски

Яндекс 360 продолжает развивать решения для бизнеса: представлены онлайн-доски, которые можно развернуть в IT-контуре компании.

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

Пока сервис доступен в on-premise, но скоро появится облачная версия. Подробнее — на сайте Яндекс 360 для бизнеса.

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

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

Совет IT-спецам на 2025 год - чаще посещайте тематические мероприятия

Зачем тратить время на Ютубчик, когда можно интересно проводить время, при этом развивая свои навыки!

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

Оффлайн и онлайн, для разных специальностей и уровней знаний.

👨🏻‍💻 В этом канале ты найдешь самые актуальные и интересные события: анонсы форумов, конференций, митапов, вебинаров, хакатонов, олимпиад и многое другое.

Присоединяйся к комьюнити лучших спецов и заново влюбись в свою работу:

IT мероприятия России / ITMeeting / IT events

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

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

Яндекс разработал и выложил в открытый доступ распределенный непрерывный профилировщик — Perforator.

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

Perforator собирает данные через eBPF – программируемые плагины в ядре Linux. А для раскрутки стека команда применила комбинацию .eh_frame и eBPF. Благодаря этому Perforator может давать точный анализ, но не влиять на производительность серверов. Еще из преимуществ:

🔸Сокращает затраты на серверную инфраструктуру до 20%
🔸Поддерживает нативные языки, включая C, C++, Go и Rust
🔸Отображает большие объемы данных
🔸Можно запустить на собственных серверах и минимизировать зависимость от внешних облачных провайдеров

🔜 Ознакомиться: тут

👉 @BackendPortal | #ресурсы

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

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

Backend-разработчики просто нарасхват. Крутейшая сеть айтишных вакансий в Telegram подвела итоги полугодия.

Ловите список самых востребованных бэкенд языков и кучу вакансий к ним:
1. С/С++ – для настоящих хардкорщиков
2. Java – тут просто творцы цифрового мира
3. Python – для любителей больших данных и немногословности
4. GO – король микросервисов!

Если ты бэкендер в поиске работы, то тебе однозначно в @back_rabota

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

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

Представляем OpenDeepResearcher

Это открытый AI-агент, который автоматически собирает и анализирует информацию по заданной теме.

Изучение новых технологий
Поиск best practices и решений
Анализ статей, блогов, документации
Сравнение фреймворков, баз данных и инструментов

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

🔜 Ознакомиться: тут

👉 @BackendPortal | #ресурсы

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

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

Хочешь стать Linux-экспертом?

LinuxCamp - канал для тех, кто хочет профессионально освоить Linux и программирование!

- Уникальные гайды по администрированию Linux

- Продвинутые техники и рекомендации по разработке на языках C/C++

- Подробные статьи о внутреннем устройстве операционных систем

- Интересные факты и новости из мира технологий

🌐 Присоединяйся к нам и становись частью сообщества истинных гуру: LinuxCamp

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

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

Онлайн школы — ВСЁ! В телеграме появились каналы, которые напрочь разносят все популярные курсы по программированию.

Вот они:

Технологичка
Frontend Tests & Tasks
Библиотека программиста

Теперь нет смысла покупать дорогущее обучение, чтобы быстро освоить пару языков и получить работу с зпшкой от 120 тысяч, так что подписывайтесь 🖤

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

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

На сайте roadmap.sh собрана шикарная подборка идей для практики backend-разработки — от простых CLI-приложений вроде трекера задач до сложных систем бронирования и масштабируемых e-commerce платформ

Проекты разбиты по уровням сложности: начинающий, средний, эксперт

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

👉 https://roadmap.sh/backend/projects

👉 @BackendPortal | #ресурсы

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

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

Java Backend Developer Полный курс 2025

Курс охватывает ключевые технологии и инструменты, включая Spring Boot, принципы работы серверной части веб-приложений, навыки, необходимые для Java backend-разработчика, и пошаговый roadmap для освоения профессии.

📲 Ознакомиться: тут

👉 @BackendPortal | дать буст #курсы

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

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

Отслеживание расходов с использованием хранения в JSON и REST API.🔥

ExpenseOwl — это предельно простой инструмент для отслеживания расходов с современным интерфейсом, предназначенный для использования в домашних условиях.

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

Ознакомиться:
https://github.com/Tanq16/ExpenseOwl

👉 @BackendPortal | #ресурсы

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

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

Ищем новичков во фронтенд-разработке и вёрстке сайтов.

Хотим показать, как получить реальный опыт в разработке сайтов и веб-приложений.

А именно:

- Сверстать веб-сайт на HTML + CSS;
- Реализовать функционал на JavaScript;
- Пощупать фронтенд-фреймворк Angular;
- Подключить Backend и загрузить сайт на хостинг.

Чтобы в итоге ты своими руками разработал качественный сайт, который не стыдно добавить в портфолио или продать.

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

👉 Приходи на бесплатное обучение и зови с собой друзей

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

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

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

Создание параллельного клиента REST API

В статье рассматривается процесс разработки пользовательского клиентского кода для тестирования алгоритма ограничения скорости (Rate Limiting), реализованного на стороне API-сервера. Для выполнения HTTP-запросов используется синхронный клиент Spring's RestTemplate. 🔥

Приводятся примеры реализации интерфейса IClientAPI с методами для обращения к различным конечным точкам API, таким как "suppliers" и "buyers".

https://codersite.dev/building-rest-api-client/

👉 @BackendPortal | дать буст | #статья

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

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

Back-End Engineer Roadmap 🔥

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

👉 @BackendPortal | #ресурсы

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

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

Лучший способ передачи данных из бэкенда во фронтенд: События, отправленные сервером

Видео объясняет различные методы передачи данных между клиентом и сервером, включая HTTP-соединение, Web Sockets, Polling и Server-Sent Events (SSE). Рассматриваются их преимущества и недостатки, сравниваются SSE и Polling, а также обсуждаются случаи, когда SSE оказывается эффективнее Web Sockets.

📲 Ознакомиться: тут

👉 @BackendPortal | дать буст

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

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

Как работает команда "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 | #ресурсы

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

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

Если вы хотите лучше разбираться в алгоритмах и структурах данных, прочитайте эти 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 | дать буст | #статья

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

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

Есть много способов отправлять обновления в режиме реального времени от серверов к клиентам.

Наиболее популярные варианты: 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 | #ресурсы

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

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

Ускорение кода на Python в 30 тысяч раз 😏

Видео рассказывает о способах ускорения кода на Python с помощью NumPy, кэширования, встроенных функций и эффективных алгоритмов.

📲 Ознакомиться: тут

👉 @BackendPortal | дать буст

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

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

Топ-5 стратегий кэширования:

🟡Read Through (Чтение через кэш): Приложение всегда сначала запрашивает кэш. Если данных нет в кэше (промах), кэш сам извлекает их из базы данных и сохраняет для будущих запросов.

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

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

🟡Cache Aside (Ленивое загрузка): Приложение сначала проверяет кэш. Если данные не найдены (промах), оно извлекает их из базы данных и сохраняет в кэш для последующих запросов.

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

🔜 Лучше всего для: Систем с высоким соотношением чтений к записям, например, интернет-магазинов.

🟡Write Through (Запись через кэш): Каждая операция записи сначала сохраняется в кэш, а затем немедленно записывается в базу данных.

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

🔜 Лучше всего для: Систем с критичной важностью консистентности, например, финансовых приложений.

🟡Write Around (Запись мимо кэша): Приложение сразу записывает данные в базу данных, минуя кэш. Кэш обновляется только при чтении данных.

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

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

🟡Write Back (Запись с отложенным обновлением): Данные сначала записываются в кэш, и кэш асинхронно обновляет базу данных в фоновом режиме.

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

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

Какую стратегию кэширования выбрать?

- Если чтения происходят чаще → Read-Through / Cache-Aside
- Если записи должны быть консистентными → Write-Through
- Если нужно минимизировать ненужное кэширование → Write-Around
- Если нужны сверхбыстрые записи → Write-Back

👉 @BackendPortal | #ресурсы

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

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

Change Data Capture (CDC) — это будущее управления измерениями в области обработки данных!

Существует три способа реализации CDC, которые вы можете попробовать:

🍩Потоки изменений в Snowflake
🍩Триггеры базы данных в Postgres
🍩Логирование обновлений на уровне API

В этой статье подробно рассматривают преимущества и недостатки каждого подхода к захвату изменений данных!

📖 Читать: ссылка

👉 @BackendPortal | дать буст | #статья

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

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

Быстрый совет по Linux 🖥

Если у вас проблемы с чтением директорий в переменной $PATH, используйте команду tr, чтобы заменить двоеточия (":") на символы новой строки ("\n"), и тогда пути отобразятся построчно:

echo $PATH | tr ":" "\n"


Так гораздо удобнее анализировать содержимое $PATH 🧔‍♂️

👉 @BackendPortal | #ресурсы

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