backendportal | Неотсортированное

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

14390

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

Подписаться на канал

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

Почему ["npm", "start"] — плохой выбор для CMD в Dockerfile

Хотя эту конструкцию используют почти в каждом Dockerfile (включая «рекомендованные», сгенерированные через create-react-app и подобные), ["npm", "start"] в CMD создаёт лишнюю оболочку в дереве процессов контейнера. Это мешает корректной обработке сигналов — и в итоге может сломать graceful shutdown вашего приложения.

Я нашёл практическое задание, которое показывает проблему в действии: https://labs.iximiuz.com/challenges/graceful-termination-for-nodejs-container

Советую пройти, чтобы быстрее находить и избегать подобных багов в проде 🫡

👉 @BackendPortal

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

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

Kubernetes 1.33

Свежий релиз с 64 улучшениями, и вот что действительно важно:

Ensure Secret Pulled Images (alpha)

Теперь kubelet не загрузит образ из кэша, если у пода нет доступа к приватному реестру.
Даже с imagePullPolicy: IfNotPresent — авторизация обязательна.

Это:
– избавляет от imagePullSecrets
– повышает безопасность (zero-trust)
– работает через сервисные токены и Credential Providers

Backoff per index (stable)

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

> Подробнее: kubernetes.io/blog

👉 @BackendPortal

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

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

Больше индексов ≠ выше производительность

💡 Совет: не стоит индексировать всё подряд.

Почему?

➟ Каждый индекс добавляет издержки при изменении данных (вставка, обновление, удаление)
➟ Сосредоточьтесь на столбцах, которые часто используются в WHERE, JOIN, ORDER BY или GROUP BY.

Типы индексов в базе данных:

1. Кластерный индекс
🟡Физически переупорядочивает строки данных на основе ключа индекса.
🟡Только один на таблицу.
🟡Значительно ускоряет диапазонные запросы (например, «найти все заказы между датами X и Y») и запросы по индексируемым столбцам.
🟡Может замедлять модификации данных (вставки, обновления, удаления) из-за переупорядочивания.

2. Некластерный индекс
🟡Создаёт отдельную структуру с указателями на строки данных, отсортированными по ключу индекса.
🟡Может быть несколько на одну таблицу.
🟡Эффективен для точечных запросов (например, «найти клиента с ID 123»).
🟡Может использоваться как покрывающий индекс, если включает все нужные для запроса столбцы.

3. Уникальный индекс
🟡Гарантирует уникальность значений в столбце или комбинации столбцов.
🟡Может быть кластерным или некластерным.
🟡Предотвращает дублирование значений, обеспечивая целостность данных.
🟡Часто используется для альтернативных ключей (не основного ключа), которые должны быть уникальными.

4. Фильтрованный индекс
🟡Индексирует только подмножество строк, соответствующее фильтрующему условию.
🟡Повышает производительность запросов, которые часто используют указанный фильтр.
🟡Уменьшает размер индекса по сравнению с индексом на всю таблицу.

5. Полнотекстовый индекс
🟡Обеспечивает эффективный поиск по текстовым данным (например, документы, статьи) по ключевым словам и фразам.
🟡Использует специальные алгоритмы индексирования и поиска (например, инвертированные индексы).
🟡Поддерживает лингвистические функции, такие как стемминг и тезаурус.

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

7. Покрывающий индекс
🟡Включает все столбцы, необходимые для запроса, прямо в индекс, исключая необходимость обращаться к основной таблице.
🟡Может быть некластерным.
🟡Существенно ускоряет запросы, которым нужны только данные из индексируемых столбцов.

8. Индекс с включёнными столбцами
🟡Похож на покрывающий индекс, но включает только неключевые столбцы.
🟡Некластерный.
🟡Может улучшить производительность, если дополнительные столбцы часто используются в запросах.

9. XML-индекс
🟡Индексирует XML-данные для эффективного запроса с использованием XPath или специфичных XML-функций.
🟡Доступен в СУБД, поддерживающих XML-тип данных.
🟡Позволяет выполнять запросы к конкретным элементам или атрибутам внутри XML-документов.

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

11. Битовый индекс
🟡Эффективно индексирует столбцы с низкой кардинальностью (немного уникальных значений).
🟡Хранит битовые карты, указывающие, какие строки содержат конкретное значение.


👉 @BackendPortal

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

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

Топ бесполезных CLI-инструментов

→ sl: Часто вместо ls пишешь sl? Тогда смотри, как паровоз проезжает по экрану.
→ cowsay / cowthink: Заставь ASCII-корову говорить (или думать) всё, что захочешь.
→ aafire: Преврати терминал в пылающее пламя. На macOS нужен пакет aalib.
→ banner: Огромные текстовые баннеры в олдскульном стиле. Идеально для громких объявлений в консоли.
→ figlet / toilet: Красивый ASCII-арт из текста. Более продвинутый, чем banner.
→ oneko: Маленький котик бегает за курсором мыши. Отвлекает, но мило. Только для Linux.
→ xeyes: Пара глаз следит за твоим курсором. Классика X11. Только для Linux.
→ cmatrix: Почувствуй себя в "Матрице" — зелёный код сыпется по экрану.
→ fortune: Случайная цитата, афоризм или "печенька с предсказанием".
→ rig: Генерирует случайную фейковую личность.

Некоторые из них реально стоит поставить — просто чтобы были 😃

👉 @BackendPortal

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

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

Хочешь освоить Terraform без лишних трат на облако?

Есть решение: используй провайдер Docker и управляй контейнерами у себя локально.

Тот же синтаксис Terraform — никаких счетов из облака

🤍

👉 @BackendPortal

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

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

Production-ready Dockerfile для вашего Node.js-приложения на pnpm

> Мультистейдж-сборка
> Минимальный размер образа
> Только скомпилированный код в финальном образе
> Без запуска от root-пользователя

👉 @BackendPortal

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

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

Канал с курсами и книгами для айтишников

Программирование 24/7 — настоящий портал для тех кто хочет стать айтишником. Там есть всё необходимое — топовые курсы и книги по всем языкам программирования(Frontend, Python, Java, C#, PHP и др.)

Все бесплатно, доступно и удобно — @edprogramming

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

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

Что значат номера версий в IT-проектах?

Многие библиотеки и сервисы используют семантическое версионирование (SemVer) — формат X.Y.Z (например, 5.1.2), где:

• X (major) — важные изменения, которые могут нарушить обратную совместимость.
• Y (minor) — новые функции, не ломая текущую работу.
• Z (patch) — исправления багов без изменения поведения системы.

📌Перед каждым релизом мы добавляем Git-тег (например, v1.5.2), а сборка может автоматически обновлять номер версии в зависимости от коммитов.

SemVer помогает:

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

👉 @BackendPortal

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

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

Запустить локальную базу данных PostgreSQL с помощью Docker проще простого

Нужно протестировать или разработать приложение? Просто:

→ Создайте изолированную среду без конфликтов с другими сервисами
→ Используйте официальный образ PostgreSQL — стабильность и совместимость гарантированы
→ Настройте пароль суперпользователя через переменные окружения (-e)
→ Пробросьте порт (-p), чтобы подключаться с вашей машины или других контейнеров
→ Всё запускается одной командой — Docker сам подтянет образ, если его ещё нет

👉 @BackendPortal

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

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

9 принципов чистого кода, о которых следует помнить

👉 @BackendPortal

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

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

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

Хочется видеть результат и понимать, зачем все это.

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

Мы верим, что код должен работать не только в проде, но и в реальности.

А разработчик — это не просто исполнитель, а человек, который влияет на результат.
Если тебе откликается такая работа — мы в поиске новых коллег:

🔹Senior Frontend-разработчик (Розница Desktop)
🔹Middle Frontend-разработчик (Розница Desktop)
🔹Senior Frontend разработчик (Активация)
🔹Middle Java-разработчик (E-commerce)
🔹Middle Java-разработчик (ОПТ)
🔹Frontend Architect
🔹Senior Frontend-разработчик (Розница Backend)
🔹Middle Java-разработчик (Трекинг)

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

Реклама ООО «Логнекс» ИНН: 7736570901 erid: 2SDnjevqbdf

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

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

Нашёл классный ресурс — огромная коллекция бесплатных API на любые случаи жизни:

> Погода, крипта, фильмы
> Искусственный интеллект
> Словари, страны, курсы валют
> Мемы, котики и другое

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

👍 — лайк

👉 @BackendPortal

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

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

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

https://github.com/sreekar2307/queue

👉 @BackendPortal

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

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

#вакансия

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

Требования:

Знания Backend технологий, не на базовом уровне.

Опыт работы Figma

Умение писать грамотные тексты с доступным объяснением на разные темы.


Если вам интересно и есть достаточно свободного времени, отпишите — @energy_it.

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

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

Обработка конкуренции (параллелизма) в Go

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

> Используйте пакет sync/atomic для безопасного изменения общих переменных.

> Функция atomic.AddInt64 атомарно увеличивает значение счётчика между горутинами.

> Без блокировок — только прямые обновления значения

👉 @BackendPortal

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

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

Инженеры — новые джедаи?

Судя по докладу с недавнего Repair Cafe — да. Там рассказали, как сделать настоящий световой меч. Всё по канону: он гудит по-разному с помощью генератора случайных звуков, способен моментально менять свет, а еще правильно реагирует на удары с помощью гироскопа и акселерометра.

Repair Cafe собрал всех, кто любит работать с железом и изобретать, а главное — разделяет подход компании, где ценится изобретательность и тяга к экспериментам. За два дня участники успели оживить около 400 приборов: роботы-пылесосы, старые приставки, электросамокаты и даже легендарный ПК «Ленинград», на котором запустили пару ретро-игр.

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

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

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

API — как мосты. Убери одну опору — и всё рухнет

API соединяют системы так же, как мосты соединяют города.
Но мост — это не просто бетонная плита, он держится на опорах.
Убери одну — появятся трещины. Игнорируй — и вся конструкция развалится.

Надёжный API стоит на 6 опорах:

1. Предсказуемость — никаких сюрпризов, только стабильное, ожидаемое поведение.
2. Версионирование — можно вносить изменения, не ломая уже работающий функционал.
3. Минимализм — только нужное. Без шума и перегруза.
4. Документация — если разработчик вынужден догадываться, ты уже проиграл.
5. Устойчивость — ошибки обрабатываются аккуратно, а не выбрасывают 500 без объяснений.
6. Наблюдаемость — мониторинг и отладка не должны быть мучением.

Плохой API — это не просто неудобно. Это как мост с трещинами: никто не захочет по нему пройти.

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

👉 @BackendPortal

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

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

⚠️ 7.834.500₽ - бесплатно! ⚠️

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

>Python (564гб курсов, 332гб видео)
>C# (127гб курсов, 82гб видео)
>Java (345гб курсов, 223гб видео)
>PHP (134гб курсов, 217гб видео)
>Go (223гб курсов, 79гб видео)
>Rust (187гб курсов, 149гб видео)
>SQL (341гб курсов, 127гб видео)
>MySQL (221гб курсов, 134гб видео)
>REST (178гб курсов, 94гб видео)
>NoSQL (89гб курсов, 54гб видео
>C++ (163гб курсов, 231гб видео)
>Kotlin (294гб курсов, 128гб видео)
>ИБ (172гб курсов, 98гб видео)
>GoLang (182гб курсов, 283гб видео)
> 1C (291гб курсов, 102гб видео)
>DevOps (92гб курсов, 71гб видео)
>Swift (62гб курсов, 27гб видео)
>Другое (1114гб курсов, 871гб видео)


Не видео на ютуб, а реальный СЛИВ огромных баз. Проверь сам!🚨

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

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

Хочешь научиться делать API с нуля?

Лови мощный бесплатный гайд, который проведёт тебя шаг за шагом

Что внутри:

> Курсы по REST и GraphQL API — без воды
> Руководство по защите своих API
> Лучшие практики + тестирование
> Как заработать на своём API

http://rapidapi.com/learn

👉 @BackendPortal

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

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

Awesome DevOps MCP Servers — топовый список серверов для DevOps-инфраструктуры с поддержкой MCP (Model Context Protocol).

Тут собраны инструменты для:

> IaC (Terraform, Pulumi)
> Kubernetes и контейнеров
> AWS, Azure и других облаков
> Мониторинга (Prometheus, Dynatrace)

💖

👉 @BackendPortal

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

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

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

Тонул в бенчмарках, блогах и маркетинговых обещаниях. 💩 Пока не нашёл эту простую блок-схему.

Она отсекает лишнее и помогает выбрать всего по двум вопросам:

> Какие у тебя данные?
> Что ты с ними делаешь?

Суть такая:

-> Структурированные + OLTP → реляционная БД
-> Структурированные + OLAP → колоночная БД
-> Неструктурированные → объектное хранилище

Полуструктурированные?

> В формате словаря? → Key-Value или In-memory
> Много связей? → графовая БД
> По времени? → time-series БД
> Геоданные? → геопространственная БД
> Вложенный JSON? → документная БД
> Много поиска? → поисковая БД

Эта схема сэкономила мне кучу времени. Возможно, поможет и тебе 💖

👉 @BackendPortal

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

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

То, что контейнер запущен, ещё не значит, что приложение работает корректно

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

❤️ — лайк
👎 — дизлайк

👉 @BackendPortal

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

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

🚀 Почему пользователи платят $30 за простой конвертер картинок? Давайте разберемся.

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

Как он это сделал:
1️⃣ Анализ спроса: через поисковые запросы он увидел, что много людей ищут конвертацию «HEIC to JPG».
2️⃣ Фокус на главном: удалил всё лишнее, оставив только функцию конвертации в один клик.
3️⃣ Скорость внедрения: за 30 дней сделал запуск без перфекционизма.

Посты про конвертер (ч.1, ч.2)

Что из этого получилось:
— Доход $500 в месяц с тенденцией роста.
— Более $10K заработано на конвертере.
— $0 на рекламу, всего $40 в месяц на сервер.

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

Результаты из комьюнити билдеров:
— Более 400 запусков по этой методике.
— Некоторые продукты уже набрали от 50К до 100К+ пользователей.

Присоединяйтесь к @its_capitan — следите за процессом разработки, продвижения и узнайте, сколько можно заработать на таких микро-продуктах.

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

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

Шпаргалка по командной строке psql для PostgreSQL для всех вас

источник

👉 @BackendPortal

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

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

Алгоритмы балансировки нагрузки в действии

1. Round Robin

— Распределяет запросы равномерно по кругу (в фиксированном порядке)

2. IP Hash
— Хеширует IP клиента, чтобы назначить сервер

3. Least Connections
— Сервер с наименьшим числом активных подключений

4. Weighted Round Robin
— Нагрузка распределяется с учётом мощности сервера

5. Least Response Time
— Выбирает сервер с наименьшим временем отклика

6. Random
— Случайный выбор сервера

👉 @BackendPortal

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

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

Шпаргалка по Docker на русском

В одном файле — всё от docker pull до docker network create и docker system prune

👍за такое и лайк не жалко

👉 @BackendPortal

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

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

Отлично знаете Go? Пройдите онлайн-собеседования за один день и присоединяйтесь к масштабному проекту по переносу ВКонтакте на сервисную архитектуру и новый технологический стек. Это VK One Day Offer для Go-разработчиков с опытом от трёх лет!

Зачем участвовать? Чтобы поработать с продуктами, которые выдерживают нагрузку свыше 2 млн RPS, стать частью команды с активно растущим Go-сообществом и собственным тулингом, работать над сложными архитектурными задачами и возможность влиять на то, каким станет ВКонтакте в ближайшие годы.

ВКонтакте переходит на сервисную архитектуру и строит единую платформу разработки на Go. Не упустите шанс участвовать в проекте, который упростит совершенствование продуктов VK и улучшит опыт миллионов пользователей.

Оставляйте заявку на участие.

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

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

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

Именно поэтому каждому Outbox нужен свой Inbox

В этой статье разбирают:

• Что на самом деле означают гарантии доставки (at-most-once, at-least-once, exactly-once)
• Как реально работают паттерны Outbox и Inbox
• Где они дают сбои (и как этого избежать)
• Иллюстрации + SQL-схемы + компромиссы

Идеально подходит для инженеров, которые проектируют или поддерживают событийно-ориентированные системы

Читать здесь -> read

👉 @BackendPortal

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

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

Microsoft и VS Code дарят два бесплатных курса прямо в редакторе

> Python с нуля — 19 часов практики
> HTML, CSS, JavaScript — 16 часов основ веба

Без воды — просто открыл VS Code и учишься

Начни сейчас: vscodeedu.com/courses

👉 @BackendPortal

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

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

⚡️ Дождались! Ребята сделали крутейшие каналы про Айти

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

📱 Python | Программирование

⚙️ Webdev | Backend & Frontend

😷 Hacking | Кибербезопасность

🖥 Memes | Мемы айтишников

🖥 CodHub | Курсы IT

Читать полностью…
Подписаться на канал