backendportal | Unsorted

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

15708

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

Subscribe to a channel

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

👩‍💻 Всем программистам посвящается!

Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования:

Выбирай своё направление:

👩‍💻 Backend — t.me/backend_ready
📱 GitHub & Git — t.me/github_ready
👩‍💻 Frontend — t.me/frontend_ready
📱 JavaScript — t.me/javascript_ready
👩‍💻 Весь IT — t.me/it_ready
📖 IT Книги — t.me/books_ready
👩‍💻 Python — t.me/python_ready
🤔 InfoSec & Хакинг — t.me/hacking_ready
🖥 SQL & Базы Данных — t.me/sql_ready
🤖 Нейросетиt.me/neuro_ready
👩‍💻 C/C++ — /channel/cpp_ready
👩‍💻 C# & Unity — t.me/csharp_ready
👩‍💻 Java — t.me/java_ready
👩‍💻 Linux — t.me/linux_ready
🖼️ DevOpst.me/devops_ready
👩‍💻 Bash & Shell — t.me/bash_ready
🖥 Design — t.me/design_ready

📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!

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

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

TCP это один поток.

Мы используем TCP для отправки сообщений (например, можно думать о них как об HTTP-запросах).

Некоторые сообщения большие, другие маленькие. TCP не «видит» сообщений — для него это просто поток байтов.

Байты в TCP это ценный ресурс, и сегодня всё полностью контролируется клиентом (в протоколах с моделью request/response). Разные клиенты отправляют как маленькие, так и большие сообщения, и всё это уходит как «сырые» байты на один и тот же backend.

Связь с этим бэкендом может перегружаться по мере роста объёма передаваемых байтов. Тогда возникает вопрос: как сделать так, чтобы передавались в первую очередь байты сообщений с более высоким приоритетом?

Если дать бэкенду право решать, какие сообщения можно отправлять от разных клиентов, то мы гарантируем, что передаются байты именно от сообщений с высоким приоритетом. Таким образом длинные сообщения с низким приоритетом не смогут «забить» сеть, вызвать перегрузку и тем самым сократить TCP window size без необходимости.

Именно эту проблему решает протокол Homa

👉 @BackendPortal

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

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

Интервьюер:

«Вы сказали, что ваш сервис быстрый. Имеете в виду высокую пропускную способность или низкую задержку?»


Это классическая ловушка на собеседованиях для бэкенд-разработчиков. Многие путают эти термины, но они означают совершенно разные вещи.

1. Latency (задержка)
Время, за которое система отвечает на один запрос.
Думайте так: «Насколько быстро обрабатывается один запрос?»

Пример: вы нажали кнопку → сервер ответил за 200 мс → это и есть latency.

2. Throughput (пропускная способность)
Сколько запросов система способна обработать за определённый промежуток времени.
Думайте так: «Сколько запросов в секунду выдерживает система?»

Пример: если система обрабатывает 1000 запросов в секунду, это её throughput.

Важно понимать:

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

Или наоборот: высокую пропускную способность, но высокую задержку — обрабатывает много запросов, но каждый занимает больше времени.

Сильный ответ на собеседовании может звучать так:

«Мы снизили задержку за счёт оптимизации SQL-запросов и кэширования часто используемых данных. Чтобы повысить пропускную способность, мы горизонтально масштабировали сервис и добавили rate limiting, чтобы избежать перегрузки».


👉 @BackendPortal

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

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

Где найти кнопку переключения с «вялый прокрастинатор» на «энергичный достигатор»?

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

Рутина сжирает, а тревога теперь – верный спутник?
Тогда рекомендую кликнуть сюда, потому что сам ты уже не справишься 🫠

Волшебную кнопку ты, конечно, не получишь, зато научишься выходить из состояния апатии и тревоги и разберешься – а в чем же, собственно, их причина?

Яркая жизнь, где есть место не только работе и обязанностям, но и прочим прелестям жизни, есть!

📍 Поэтому подписывайся на @metaskills_center, чтобы прийти к ней как можно скорее.

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

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

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

В Java-приложениях одна небольшая настройка может улучшить производительность в 50 раз.

@Transactional  
public List<Order> getRecentOrders() {
return orderRepository.findRecent();
}


Видите здесь что-нибудь странное?

Аннотация @Transactional на методе, который просто делает read/GET вызов.

Хуже всего то, что по умолчанию @Transactional работает в режиме read-write, то есть:

- лишние блокировки ресурсов;
- база вынуждена обрабатывать транзакцию даже для простого SELECT.

Что можно сделать:

@Transactional(readOnly = true)


Это позволит:

Пропустить ненужные flush-операции в Hibernate.
Оптимизировать работу транзакций для SELECT-запросов.
Уменьшить оверхед от прокси и избежать лишних блокировок.


Правила, которые стоит помнить:

Не вешайте @Transactional везде подряд только ради «красоты».
Используйте @Transactional(readOnly = true) для запросов.
Убирайте @Transactional, если методу вообще не нужна транзакция.
Регулярно профилируйте приложение — мелкие ошибки выливаются в огромные потери производительности.

👉 @BackendPortal

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

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

Ripgrep - медленный

Nowgrep - быстрый потому что обходит Windows overhead и работает напрямую с NTFS

Вот сравнение Ripgrep и Nowgrep при поиске по 300k файлов на диске с 2M+.

Nowgrep написан с нуля на C99.

Никакого borrow checker.

👉 @BackendPortal

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

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

IT_ONE Cup. Code & Analyst — хакатон для аналитиков и разработчиков, где ты узнаешь, как работает IT-команда, и получишь сильный кейс в портфолио. Выбери трек и реши одну из задач:
→ Проанализируй BPMN-модель кредитного процесса и подготовь ТЗ на систему мониторинга эффективности.
→ Разработай сервис, который в реальном времени следит за переводами и оповещает о подозрительных операциях.

🏆 Призовой фонд: 900 000 рублей
💻 Формат: онлайн
🗓 Регистрация до 16 октября: https://cnrlink.com/itonecupmsubeportal

Приглашаем системных аналитиков, разработчиков и менеджеров проектов. Размер команды — от 1 до 5 человек.

Что тебя ждёт:
• Применишь навыки системного анализа, построения архитектуры и работы с потоковыми данными.
• Получишь готовый проект в портфолио.
• Для участников ТОП-5 команд в каждом треке — фирменный мерч.

Задачи соревнования:
Трек 1. Навигатор оптимизации. Проанализируй кредитный процесс банка, выяви узкие места и создай ТЗ для системы мониторинга производительности. Решение поможет оптимизировать критически важные процессы.

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

Ждём тебя на IT_ONE Cup. Code & Analyst — старт 17 октября на Codenrock: https://cnrlink.com/itonecupmsubeportal

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

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

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

ASP.NET Core Web API, EF Core, PostgreSQL, аутентификация и авторизация, OpenTelemetry, FluentValidation, Swagger, Docker и многое другое

@BackendPortal

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

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

Как он развернул facebook без vercel?

👉 @BackendPortal

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

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

Индексы — одна из самых критичных концепций для баз данных.

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

Вот базовые концепции, которые должен знать каждый backend-инженер: ↓

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

Они помогают быстро находить данные.

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

В целом, выборка данных работает медленно по двум причинам:

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

Поэтому чтение всех данных с диска заняло бы слишком много времени.

Индексы — это структуры данных, которые сокращают время поиска нужных данных.

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

Индексы предоставляют упорядоченное представление данных независимо от того, где они хранятся.

Базовые строительные блоки индексов — это так называемые "листовые узлы индекса."

Если индекс строится по какому-то столбцу, эти узлы содержат ссылки на физическое расположение строк на диске.

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

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

У двусвязного списка есть два преимущества:

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

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

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

Эту задачу решают B-деревья — древовидные структуры, которые строятся снизу вверх.

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

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

Так как B-деревья являются сбалансированными, они поддерживают экспоненциальный рост данных.

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

👉 @BackendPortal

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

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

PocketBase — лёгкий open-source бэкенд в одном файле для быстрого создания приложений с базой данных, аутентификацией, хранением файлов и панелью администратора. Идеален для прототипов и небольших проектов.

👉 @BackendPortal

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

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

Прокачай базовые навыки работы с Kubernetes

Вот практическое задание, которое проведёт тебя через весь жизненный цикл Pod’а — от его создания до инспектирования, выполнения команд внутри, просмотра логов и удаления.

Это отличный способ потренироваться, если ты только начинаешь работать с Kubernetes или хочешь увереннее чувствовать себя при работе с kubectl.

Попробуй здесь

👉 @BackendPortal

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

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

Неважно, новичок вы или опытный разработчик.

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

Дело в том, что в большинстве случаев компьютеры не выполняют инструкции последовательно.

Во-первых, в системе может быть несколько процессоров, работающих одновременно, и тогда сложно определить, выполняется ли инструкция на одном процессоре раньше инструкции на другом.

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

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

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

Методы на уровне железа, такие как test-and-set или compare-and-swap, мощные, но сложные.

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

Мьютексы (mutexes) лучший способ гарантировать, что только один поток может получить доступ к критической секции кода.

Семафоры (semaphores) более универсальны и могут использоваться для сигнализации и синхронизации между потоками.

👉 @BackendPortal

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

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

Хотите прокачать навыки full-stack? В курсе от freeCodeCamp вы создадите React-фронтенд на базе Go-бэкенда. На практике вы научитесь настраивать проект, строить API, обрабатывать серверную логику и многое другое. Смотреть курс

👉 @BackendPortal

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

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

Нельзя понять производительность SQL-запроса просто по его коду. Для этого нужен план выполнения.

Пример:

select id from student where grade >= 99


Из этого кода не видно, как быстро выполнится запрос.

Если на колонке grade нет индекса, база сделает полное сканирование таблицы, и выполнение займёт несколько секунд в зависимости от числа строк.

Если добавить индекс на grade, тот же запрос выполнится быстрее.

Если сделать индекс покрывающим (добавить id как включённый столбец), то это будет уже index-only scan, и запрос станет ещё быстрее.

Если вставить миллион записей и сразу выполнить запрос (без работы сборщика мусора MVCC), он снова замедлится, так как нужно проверять видимость строк в heap.

Во всех этих случаях код на бэкенде не менялся — один и тот же запрос.

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

План выполнения показывает, как именно запрос исполнялся. Это ключ к пониманию.

👉 @BackendPortal

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

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

Backend вопрос на собеседовании по сценарию, связанному с теоремой CAP

Вы ведущий архитектор в Uber. Ключевой функционал опирается на распределённую систему, которая отслеживает местоположение водителей и доступность поездок в реальном времени. Чтобы обеспечить низкие задержки, система развёрнута в нескольких географических дата-центрах (например, один в Лондоне и другой в Манчестере).

Система должна:

Позволять водителям постоянно обновлять своё местоположение и статус доступности.

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

Теперь представьте, что произошёл network partition: сетевое соединение между дата-центрами Лондона и Манчестера упало. Дата-центры больше не могут обмениваться данными между собой, но оба всё ещё могут общаться с пользователями в своих регионах.

В этот момент:

Спустя мгновение водитель выходит в онлайн, но его запрос попадает в дата-центр Манчестера (хотя он отслеживался лондонским дата-центром; перемещение в зону Манчестера означает, что для Лондона он как бы оффлайн).

При этом обновление о его статусе в Лондон не уходит.

Одновременно пассажир в Лондоне делает запрос на поездку, и этот запрос попадает в лондонский дата-центр.

Так как система Лондона не получила обновление об «онлайне», она всё ещё видит водителя как недоступного.

Вопросы:

Во время network partition, с какой фундаментальной дилеммой или компромиссом сталкивается система, когда пассажир в Лондоне пытается увидеть доступных водителей? Какие два возможных исхода есть для пассажира?

Напоминание о CAP theorem:

Теорема CAP утверждает, что распределённая система может одновременно гарантировать только два из трёх свойств: Consistency, Availability и Partition Tolerance. Так как сетевые разделения (P) — это данность для распределённых систем, реальный выбор приходится делать между C и A.

Подходы, о которых кандидат должен знать:

- Приоритизация Availability
- Асинхронная репликация (Asynchronous Reconciliation)
- Системы разрешения конфликтов (Conflict resolution system)
- Eventual Consistency

👉 @BackendPortal

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

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

Джуны — всё, ИИ победил. По статистике BCG, за последний год компании выбросили на улицу 75% молодняка. При этом миддлам и сеньорам зарплаты подняли в 4 (!) раза.

Чтобы подняться до уровня элит в аномально короткие сроки — подпишитесь на легендарные каналы для айтишников:

Новости и инсайды
Фронтенд разработка
ИИ и биг дата
Node js
Вёрстка
Питон и нейросети
QA-тестировщики

Там раскрыли инфу из курсов общей стоимостью 5.000.000р в эксклюзивных пошаговых инструкциях. Пока остальные пойдут на дно якорем, вы войдете в 10% тех, кто сломал систему.

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

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

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

Нужно ли защищать API?

Сценарий = ваш endpoint для логина может вызываться не более 10 раз в минуту для одного пользователя.

→ Простейший подход — Fixed Window Counter (счётчик фиксированного окна) = считаем запросы с 10:01 до 10:02, потом сбрасываем счётчик.

Проблема? Пользователь может сделать 10 запросов в 10:01:59 и ещё 10 в 10:02:01. Итого 20 запросов за 2 секунды 🤯

Для более надёжного решения используют Sliding Window для плавного ограничения или Token Bucket, чтобы корректно обрабатывать всплески.

→ Sliding Window
Избегает проблемы резких всплесков на границе окна. Вместо фиксированной минуты (например, 10:01) считает запросы за последние 60 секунд от момента запроса. Дает более плавное и точное ограничение скорости.

→ Token Bucket
Отлично подходит для корректной обработки всплесков. Представьте ведро, которое постепенно наполняется «токенами» (например, 1 токен в секунду, ведро для одного пользователя/IP/endpoint). Каждый API-запрос «съедает» один токен. Если токенов нет — запрос отклоняется. Так контролируется средняя скорость, но при этом пользователи могут накопить несколько токенов для небольшого всплеска.

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

👉 @BackendPortal

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

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

Самые популярные стратегии деплоя

Существует множество подходов, но вот пять наиболее распространённых.

У каждой свои сильные стороны:

🔸Blue/Green Deployment

↳ Популярен благодаря отсутствию даунтайма, используется два окружения — Blue и Green. Одно обслуживает продакшен, второе тестирует новую версию.
↳ После тестирования без воздействия на живой трафик пользователи переводятся на обновлённое окружение.
↳ При обнаружении проблем легко вернуть старую версию.
↳ Основная сложность - затраты и управление двумя полноценными окружениями.

🔸Canary Deployment

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

🔸Rolling Deployment

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

🔸Feature Toggles

↳ По сути это тумблеры для функций.
↳ Позволяют деплоить код заранее, включая новые фичи только для отдельных пользователей.
↳ Поддерживают сценарии типа canary-релизов и A/B-тестирования.
↳ Минус - рост числа флагов и сложность их управления, что может вызвать конфликты.

🔸A/B Testing

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

👉 @BackendPortal

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

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

🔥devmangx&utm_term=phystech">Прими участие в Хакатоне от ИТ-холдинга Т1 в Новосибирске и поборись за призовой фонд 800 000 рублей!XoDefender&utm_term=phystech">

Когда: 23–26 октября
Формат: онлайн + финал на площадке

Участвуй, если ты:
🔹обучаешься на технической или ИТ-специальности;
🔹развиваешься в направлении разработки, аналитики, CV, ML или DevOps;
🔹сможешь быть в Новосибирске 26 октября.

Выбери свой кейс:

✴️Цифровой дресс-код: фон, который выделяет вас. Создай локальный ML-модуль сегментации видео и генератор персонализированных фонов.

✴️CodeMetrics: метрики, которые помогают расти. Разработай систему автооценки эффективности команд через анализ Git-метрик.


Почему стоит участвовать:
🔘Кейс в портфолио и полезная обратная связь от менторов Т1;
🔘Шанс проявить себя, чтобы начать карьеру в одной из крупнейших ИТ-компаний;
🔘Реальный опыт командной работы;
🔘Мерч и атмосфера сильного комьюнити — в Т1 более 5 000 джунов из 580+ вузов России и Беларуси.

Регистрация открыта!
➡️ Успей до 21 октября по devmangx&utm_term=phystech">ссылке.

erid: 2Vtzqwmd32u

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

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

О кэше:

FE использует LRU-кэш для результатов, которые стримятся обратно.

BE имеет более сложную схему кэширования: L1 — In-Memory LRU, в основном для дедупликации запросов и быстрого получения результатов при нажатии backspace;

L2 — Redis, который хранит «терминальные» результаты (с полностью известной доступностью, ценой и премиум-статусом) с TTL, убывающим экспоненциально в зависимости от длины, премиум-статуса и популярности TLD.

На каждом pod-е запускается свой инстанс SQLite, синхронизируемый при старте, для хранения кэша известных премиум-доменов.

Также используются Bloom-фильтры — сейчас их пять: основной фронтлайновый для доступности на основе Root Zone файлов IANA и несколько дополнительных для известных премиум-данных от операторов реестра.

👉 @BackendPortal

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

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

У WebSocket есть собственные механизмы Keep Alive, аналогичные TCP, и называются они PING и PONG.

Основная цель поддерживать соединение активным, проверять, что другая сторона всё ещё на связи. Думаю, что можно отправлять данные inline внутри PING или PONG (хотя сам я этого не пробовал).

Ещё один важный момент. WebSocket может проходить через промежуточные звенья (прокси), поэтому он может растягиваться на несколько TCP-соединений. В результате одного только TCP keep alive недостаточно. Когда отправляется PING, этот WebSocket-фрейм проходит через несколько TCP-соединений и промежуточных узлов, обновляя их.

Очень удобно, что Wireshark умеет расшифровывать TLS и можно увидеть, что происходит, благодаря тому, что Chrome позволяет писать TLS-ключи на диск (переменная окружения SSLKEYLOGFILE).

👉 @BackendPortal

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

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

Ручные проверки тормозят релизы? 🐞
Приглашаем на бесплатный вебинар Test IT x Gitflic!

📆 6 октября в 12:00 (мск)

Покажем, как сократить разрыв между кодом, тестами и релизами через интеграцию платформ Test IT и GitFlic. Связка убирает ручные стыковки и собирает в единый процесс цепочку «код → PR → тесты → баг → фикс».

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

Покажем в действии:

▪️ Как Test IT помогает держать под контролем тесты и результаты.
▪️ Что нового в GitFlic Pro и почему это решение удобно для небольших команд.
▪️ Как работает интеграция Test IT + GitFlic Pro от коммита и PR до тест-кейса и баг-репорта.

Спикеры:

🔸 Андрей Черных, ведущий разработчик автотестов Test IT.
🔸 Андрей Козлов, руководитель отдела тестирования и поддержки GitFlic.

🔜Регистрация на бесплатный вебинар

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

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

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

Посетители заходят, просят книгу и ожидают мгновенного результата. Для этого нужна мощная система поиска.

Именно это делает Elasticsearch для данных.

Думай о Elasticsearch как о Google для твоих данных. Это распределённая, горизонтально масштабируемая поисковая система, которая хранит данные в виде JSON-документов.

Основной поток:

Данные → Индексы → разбиваются на Шарды → распределяются по Нодам → формируют Кластер
Inverted Index → делает поиск очень быстрым


Document → JSON-объект

Index → коллекция документов

Shard → часть индекса

Replica → копия для отказоустойчивости

Cluster / Node → группа серверов

Используется для: логов, метрик, поиска в приложениях и на сайтах, аналитики.
Используют: Netflix, eBay, Walmart

👉 @BackendPortal

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

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

Один разработчик подготовил для нас полноценный и практичный fullstack-шаблон на основе Cloudflare + Next.js: fullstack-next-cloudflare, идеально подходящий для быстрого старта проекта.

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

GitHub: http://github.com/ifindev/fullstack-next-cloudflare

👉 @BackendPortal

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

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

7 книг, которые каждый программист должен прочитать хотя бы раз:

① «Cracking the Coding Interview» — Гейл Лакманн МакДауэлл
Полное руководство по техническим собеседованиям с разобранными задачами и понятными стратегиями.

② «Sustainable Code» — Карлос Бле
Как писать программное обеспечение, которое «стареет» хорошо, благодаря тестам и эмерджентному дизайну.

③ «Черная книга программиста» — Рафаэль Гомес Бланес
Рецепты против плохой коммуникации, нереалистичных оценок и постоянно меняющихся требований.

④ «Refactoring» — Мартин Фаулер
Практический метод улучшения дизайна живого проекта, шаг за шагом.

⑤ «The Pragmatic Programmer» — Эндрю Хант и Дэвид Томас
Вневременные принципы для более качественного программирования: от DRY до «программируй, думая о будущих изменениях».

⑥ «Design Patterns» — Эрих Гамма и др.
Словарь проверенных решений для повторяющихся архитектурных задач.

⑦ «Clean Code» — Роберт С. Мартин
Правила и принципы написания читаемого и поддерживаемого кода.

👉 @BackendPortal

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

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

Городские сервисы Яндекса отправились в Tech Tour — встречайте в Казани и Нижнем Новгороде

15 и 22 ноября приглашаем на митапы о технологиях в Городских сервисах Яндекса — эксперты выступят с докладами, проведут кейслаб и вайбкодинг для backend-, ML- и DS-разработчиков.

📍В Казани расскажут о том, как в Маркете создали AI-ассистента внутри маркетплейса, разработали поиск лекарств в Еде и научились оптимизировать алгоритмы назначения и распределения исполнителей в Лавке.

📍А в Нижнем Новгороде поделятся, как создают сервис Турбо со скидками для пользователей и поддерживают консистентность данных в продукте.

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

📌 Казань, 15 ноября
📌 Нижний Новгород, 22 ноября

Сохраняйте даты и регистрируйтесь!

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

Реклама. ООО «Яндекс.Такси». ИНН: 7704340310. Erid: 2W5zFHt1KQL

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

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

🔥Свежий слив курсов!

Python - (170 уроков)
Flask - (122 уроков)
Git - (74 уроков)
OpenCV - (144 уроков)
Flask - (59 уроков)
GameDev - (137 уроков)
Pyramid - (96 уроков)
AIOgram - (34 уроков)
Ruff - (82 уроков)
HTTPX - (57 уроков)
Pyramid - (72 урока)
Django - (132 урока)
NumPy - (46 урока)
Pillow - (74 урока)
PyTorch - (32 урока)
Pymorphy2 - (42 урока
)

Получить доступ - /channel/+tQSu_wTnoQ03ZTM6

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

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

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

На GitHub появился визуальный редактор деплоев, который превращает YAML в удобный drag-and-drop

Объекты можно тянуть мышкой, схемы всегда актуальны, зависимости и апдейты видны в реальном времени, а готовые YAML можно экспортировать или использовать напрямую для GitOps. Шаблоны и переиспользуемые спеки ускоряют работу с кластерами.

https://github.com/kubenote/KubeForge

👉 @BackendPortal

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

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

Более 80% компаний из Fortune 500 используют Kafka. Разработчик подготовили видео по её развертыванию на Kubernetes.

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

Смотреть можно здесь — http://youtu.be/Fzf11oPDX1M

👉 @BackendPortal

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