Обновить

Бэкенд

Сначала показывать
Порог рейтинга
Уровень сложности

[Управление репликами] Dogpile Effect

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров499

Часть 2: В поисках классических проявлений Dogpile Effect.

Мое "расследование" началось с самого очевидного — поиска информации по термину Dogpile Effect. Хотелось найти каноническое определение термина Dogpile Effect.

Читать далее →

[Управление репликами] Начало

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров466

Этим постом хочу открыть серию постов по материалам курса Архитектор ПО.

Управление репликами - как избежать проблемы Dogpile при горизонтальном масштабировании и что вообще такое Dogpile.

Читать далее →

Современная разработка или пиши тогда сразу в «Блокноте»

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров13K

Организация рабочего пространства, будь что реального, что виртуального было всегда вопросом индивидуальным. Безусловно, порой есть best practictes: убрать всё лишнее с рабочего стола; отключить уведомления, иметь своё выделенное рабочее место. Вспоминаются сразу нон-фикшн литература о менеджменте пространства, психологии определённых ритуалов и атрибутов. Эта тема будто бы была актуальна всегда, и она настолько же исследована, насколько и индивидуальна: кто-то не может начать свой день, не погладив попугая на рабочем столе. Кто-то не может читать почту, пока не проведёт чайную церемонию, поливая телефон, мышку, колонку и прочее. Когда-то достаточно было просто стола и перфоратора, а сейчас сложно представить человека, работающего за компом без кресла - комбайна, которое затрагивает все частички твоей души в каждый конкретный момент; с механической клавиатурой, Дб нажатия клавиш которая должна быть всегда в пределах 55-60; диагональю монитора, чтобы он вмещал 2 любимые IDE, 1.5 любимых браузеров, 5 чатов с LLM, рабочий мессенджер (1 инстанст по каждой из работ). В каждой IDE 10 открытых pop-up’ов, 2 сплита на каждый буфер, 4 открытых таблиц, 7 активных докер exec bash процессов, 20 рабочих localhost вкладок и более 50 важных, но до сих пор не прочитанных; на каждое действие автокомплит + подсказка от агента + ai-powered copy/paste’ом c ai-powered буфером обмена с blazing fast и thread save обёрткой. Упс, не та тема уже; Общаясь с людьми, понимаешь, что всё чаще идёт сдвиг опциональных инструментов в первостепенные, и это то, о чем будет эта статья. Она не о хейте изобилия инструментария, она для рефлексии и инвентаризации того, что у вас уже есть.

Приоткрыть ящик холивара

Настройка Express 5 для продакшна в 2025 году. Часть 2

Уровень сложностиСредний
Время на прочтение29 мин
Количество просмотров2.5K

Эта статья поможет вам создать приложение Express 5 с поддержкой TypeScript.

Вы настроите готовый к продакшну проект с помощью различных инструментов для линтинга, тестирования и проверки типов. В случае, если вы новичок в REST API, не волнуйтесь, эта статья также включает объяснения основных концепций, которые следует знать, таких как маршрутизация (роутинг) и аутентификация.

Настоятельно рекомендую писать код вместе со мной. Мы будем использовать подход "Разработка через тестирование" (test-driven development, TDD) для создания REST API, который может стать основой вашего следующего приложения Express.

Читать далее

Автоматизация без риска: как уберечь данные в АИС

Время на прочтение8 мин
Количество просмотров3K

Привет! Я Антон, инженер по информационной безопасности в Selectel. Под катом расскажу, как устроены автоматизированные системы, каким угрозам подвержены и какие меры действительно помогают защитить данные.

Читать далее

Параллельное выполнение запросов PHP SOAP client

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров921

Статья о реализации параллельных SOAP запросов в PHP с использованием кастомного HTTP транспорта и Guzzle promises.

Читать далее

Формирование RPM пакета для OC Linux с использованием GitLab CI/CD (часть 2)

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1K

В предыдущей статье рассмотрены основы сборки RPM пакета и автоматизации процесса.

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

Разработку Web сервиса.

Регистрацию сервиса в качестве системной службы с автозагрузкой (systemd) при установке пакета.

Внедрение централизованного логирования через journald.

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров5.9K

Привет Хабр! В этой статье я хотел поговорить о теме вечных конфликтов разработчиков на C++ и Rust. Стоит ли того система управления памятью в Rust или все-же это бестолковый механизм стремящийся составить конкуренцию родному методу?

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

Читать далее

SAP UI5 вопросы без ответов

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров2K

Привет, Хабр! Меня зовут Евгений, я — ведущий разработчик отдела SAP разработки.

Цель этой статьи — «подумать письмом» о том, что такое SAP UI5, каковы его особенности, преимущества и недостатки. Так же, рамках статьи попытаемся ответить на вопрос, стоит ли его использовать, а если стоит то, когда и зачем.

Точнее такой она была изначально. А на самом деле, преследуя исключительно личные корыстные интересы, я решил провести небольшое исследование, на обширную и трудно формулируемую тему «а не посмотреть ли мне в сторону web разработки на SAP UI5».

Основная целевая аудитория — это в первую очередь SAP ABAP разработчики и сочувствующие, которых интересуют похожие вопросы, а во вторую и последнюю — все остальные любопытствующие ИТ‑шники:)

Интересно? Читайте статью под катом.

Читать далее

Давайте поговорим про Web-API

Время на прочтение12 мин
Количество просмотров6.8K

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

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

В наше время каждый слышал про Web-API и у многих это ассоциируется с REST. Однако этот многострадальный REST всегда какой-то не такой, с ним все время что-то не так.

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

Читать далее

GigAPI — это лёгкий «тайм-серии-лейкхаус» на базе DuckDB + Parquet с FDAP-стеком

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.8K

Если вы когда-нибудь собирали аналитику по кликам, метрикам или логам, то знаете цену вопроса: хочется SQL за миллисекунды, хранение в дёшёвом объектном хранилище, минимум «танцев» с кластером и—если повезёт—MIT-лицензию без ловушек. На одном берегу — «тяжёлые» распределённые OLAP-системы (ClickHouse, Pinot, Druid), на другом — специализированные TSDB (InfluxDB, TimescaleDB, QuestDB). Между ними набирает силу «озёрный» подход: складывать сырые события в Parquet, а считать — встраиваемым движком с Arrow/FlightSQL поверх.

GigAPI как раз из этой когорты: DuckDB + Parquet, чтение из локального диска или S3, запросы через FlightSQL (gRPC) и HTTP, режимы writeonly/readonly/compaction, один контейнер для старта и понятная философия «делай просто, делай быстро». Проект обещает суб-секундные аналитические запросы, компактизацию и дружбу с FDAP-миром (Arrow/DataFusion/Parquet/Flight) — всё то, что нравится инженерам, уставшим от «зоопарков» сервисов.

Читать далее

Arc: Убийца ClickHouse на стероидах из DuckDB и Parquet? Разбираем новый движок для time-series

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров8.2K

Привет, Хабр! Если последние годы вас не отпускала фантомная боль от вечного выбора между ураганной скоростью ClickHouse, невозмутимой простотой SQLite и порой адской сложностью настройки InfluxDB, — возможно, вы, как и мы, дождались чего-то по-настоящему нового.

На горизонте появился проект Arc от команды Basekick Labs. Это не просто очередная попытка, а дерзкая заявка на соединение всего лучшего из мира time-series и lakehouse-подхода. Забудьте о тяжёлых серверах и мучительной шардированной архитектуре. Arc предлагает:

Читать далее

Балансировка нагрузки: проблемы, решения, практические рекомендации

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров4.2K

Один сервер — это точка отказа. Рано или поздно он не выдержит. Как только появляется второй, третий, десятый сервер, возникает вопрос: кто будет раздавать им работу? Эту роль и берет на себя балансировщик нагрузки.

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

Читать далее

Ближайшие события

Swift становится ближе. Разработка в контейнере c IDE для VSCode

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров3.1K

Привет, Хабр!

Вы устали иметь дело со сломанными Swift проектами через несколько месяцев после их создания? Каждый раз мучаетесь с настройкой Swift окружения, нюансами под каждую платформу и страдаете от засорения системы кучей устанавливаемых компонентов? Или просто интересуетесь тем как попробовать Swift для разработки за пределами экосистемы Apple? Тогда добро пожаловать под кат, будет интересно!

Читать интересное

Профессия программист С: плюсы, минусы и нужен ли свитер

Время на прочтение5 мин
Количество просмотров14K

В мире, где абстракции правят бал, а скорость важнее эффективности, говорить о C — значит идти против течения. Для многих это «устаревший» язык с ручным управлением памятью и «опасными» указателями. Но что, если именно эти его особенности — не минусы, а ключи к системному программированию, где нет права на ошибку? Программистом Postgres Professional с 22-летним стажем Максим Орлов убеждён, что C — не про мгновенный дофамин и быстрые прототипы, а про суть, контроль и философское понимание того, как действительно работает железо. Погрузитесь в историю любви к C, которая началась с раздражения на Pascal, и узнайте, почему этот «бастион спокойствия» актуален и сегодня.

Читать далее

Чанковая загрузка артефактов CI/CD: оптимизация передачи файлов

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2K

Всем привет! Меня зовут Бороздин Филипп, я разработчик платформы GitFlic.

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

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

Читать далее

Двухфакторная аутентификация с fallback-каналами и оптимизацией text-to-speech: сокращаем затраты и повышаем надежность

Время на прочтение8 мин
Количество просмотров928

Привет, Хабр! Я Катя Саяпина, менеджер продукта МТС Exolve. В прошлом посте я рассказывала, как подключить второй фактор аутентификации через звонок робота, который диктует код. А еще — как реализовать рабочее решение на Django с использованием API МТС Exolve на примере сайта бронирования.

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

Читать далее

Типовые методы решения задач в 1С при использовании БСП

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров5.1K

«Вспоминая требования заказчиков на клиентских интервью, я могу сказать, что сейчас все больше внимания клиенты уделяют знаниям БСП у разработчиков, – рассказывает мой коллега Сергей. – Конечно, вопросы сперва очень общие: «А знаешь ли что-то о БСП?, «Может быть, что-то слышал о БСП?» или «а какие задачи решал с помощью механизмов БСП?». Исходя из этих вопросов, я бы хотел, чтобы у читателя сформировался некий базовый задел, на котором мы и будем дальше развиваться.

Мы рассмотрим стандарты разработки 1С, восполним возможные проблемы и посмотрим на варианты типового решения задач в 1С».

Читать далее

Чем ближе Хэллоуин — тем ниже скидка: запасаемся знаниями к зиме

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров987

Привет, Хабр. Это осенний дайджест для тех, кто откладывал учебу «на потом». В нем мы собрали 49 курсов по ключевым ИТ-направлениям: от разработки, инфраструктуры и QA до аналитики, ИБ и управления. С сегодняшнего дня на них действуют особые условия, подробности — под катом.

Перейти к дайджесту

CCXT + CoinGecko: гибкий сбор рыночных данных для собственного криптотрекера

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров587

Небольшой практический разбор библиотеки CCXT - как получать рыночные данные, баланс и историю ордеров с криптобиржи, обрабатывать ответы API и использовать их в локальном приложении. Примеры на Bitget, интеграция с CoinGecko, код на Nest.js с SQLite и Prisma.

Читать далее