Все потоки
Поиск
Написать публикацию
Обновить

Бэкенд

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

Kafka Streams для начинающих. Потоковая обработка данных в мире Java

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

Привет, коллеги-разработчики! За всю историю человечества в разные эпохи  существовали определенные виды ресурсов, которые определяли наше развитие и эволюцию. В 19 веке главным ресурсом для человечества было золото, в 20 веке – нефть и газ, а в 21 веке этим ресурсом стала информация. В нашем быстро меняющемся мире, где данные льются рекой и эти объемы растут с невероятной скоростью, нам как разработчикам приходится постоянно искать новые подходы для эффективной работы. От финансовых транзакций и логов серверов до показаний IoT-сенсоров и кликов пользователей на веб-сайтах — информация поступает непрерывным потоком. Работать с ней в реальном времени становится критически важным для того, чтобы бизнес мог принимать своевременные решения и оставаться конкурентоспособным.

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

Читать далее

День Linux: друг, учитель или Франкенштейн? Откровения тех, кто живёт в мире открытого кода

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

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

34 года назад Linux был скромным хобби-проектом, а что же сегодня? Сегодня операционные системы на базе Linux действительно завоевали весь цифровой мир! Вот лишь несколько цифр, которые показывают, как далеко шагнула система:

Читать далее

Как интегрировать Kafka Apache с CRM Битрикс24

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

Всем привет! Меня зовут Перебиковский Ярослав и это моя первая статья для Хабр.

Я ведущий разработчик компании «Эм Си Арт» — интегратора Битрикс24. Мы давние партнеры Битрикс24 и у нас в арсенале есть множество кастомных и, что важнее, интересных решений. Одним из них хотелось бы поделиться — расскажу о нем в разрезе пользователя, разработчика, архитектуры и опишу использованные подходы.

У одного из наших клиентов возникла нетривиальная задача — интегрировать CRM Битрикс24 с сайтом, написанным на Go. В качестве брокера сообщений клиент использовал Kafka - как самый устойчивый к нагрузкам и подходящий по ряду других параметров. Но оказалось, что готовых решений для интеграции с этим стеком технологий не было ни у нас, ни на рынке вообще. Поэтому решили написать собственный модуль с нуля.

Читать далее

Мы доверяли фрилансеру. Он ушёл — и унёс всю инфраструктуру с собой

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

Кажется, выстраиваешь стартап на доверии, а потом внезапно обнаруживаешь, что главный технический специалист… не оставил тебе даже пароля от GitHub. Ни в шутку, ни в полсилы. Всё, с чем работала команда: домены, серверы, CI/CD, база клиентов, мониторинг - оказалось привязано к личным аккаунтам подрядчика. Контроль потерян. А вернуть всё не факт, что возможно.

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

Читать далее

Техдолг: как мы вдохнули жизнь в техрадар

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


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

Читать далее

Разворачиваем локально ИИ при помощи клиента Microsoft.Extensions.AI и Ollama

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

Если вы хотите создавать код по запросу, делать переводы текстов, генерировать резюме, и при этом всем не хотите чтобы данные уходили в сеть, то вы наверняка задумывались как развернуть свой ИИ(например deepseek) на локальном компьютере. Эта статья расскажет о том, как просто это сделать. Для этого нам понадобится небольшое знание C# и «docker» для ИИ моделей — Ollama.

Дальше будет интересно...

FastSIO: Как я попытался войти в open source, и надеюсь что у меня получится это сделать

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

FastSIO. Как я впервые сделал что-то для Open Source, и как я к этому пришел.

И что из себя представляет новая Fast<> библиотека

Читать далее

Работа с Binance REST API с помощью Java

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

В предыдущей статье мы рассмотрели основы парсинга данных в Java.

В этой статье мы пошагово разберём, как с помощью Java 11+ быстро отправлять HTTP GET‑запросы, получать JSON от Binance REST API и извлекать из него символ пары (symbol) и цену (price) — без сторонних зависимостей.

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

Читать далее

Лучшие антидетект браузеры: Рейтинг лучших решений для мультиаккаунтинга

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

В эпоху тотального трекинга цифровая идентичность дороже золота. Один неверный клик — и рекламный кабинет улетает в бан, а масс-рег на маркетплейсах буксует. Поэтому именно антидетект браузер (часто называют антики или браузер антик) становится главным щитом против антифрода. Хотите скачать антидетект браузер и сразу выйти в плюс? Ниже собраны лучшие решения, проверенные на реальных CPA-кампаниях, SMM-фарме и e-commerce-воронках. Всего за несколько минут вы узнаете, как с нуля внедрить undetectable browser, держать сотни профилей без бана и автоматизировать рутину до клика.

Читать далее

Парсинг данных в Python: от простых строк до датасетов

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

В этой статье мы разберём основы парсинга данных в Python. Мы начнём с простых строк с помощью регулярных выражений, перейдём к парсингу HTML с использованием библиотеки BeautifulSoup, познакомимся с pandas для работы с данными и, наконец, соберём всё вместе, чтобы спарсить реальный датасет (например, топ фильмов с IMDb) и сохранить его в CSV-файл.

Читать далее

Почему SELECT FOR UPDATE считается вредным в PostgreSQL

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

Разбирая взаимоблокировки, Лоренс вспомнил, насколько опасным может быть использование SELECT FOR UPDATE при конкурентном доступе. В этом нет ничего нового, но Лоренс заметил, что многие не знают о режимах блокировки строк в PostgreSQL. Лоренс решил подробно описать, когда следует избегать SELECT FOR UPDATE.

Читать далее

Простенький лендинг/wiki для вас и вашего проекта или как покорить Diplodoc'а и опубликовать на GitHub Pages

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

Diplodoc - платформа для создания технической документации в концепции Docs as Сode с открытым исходным кодом.

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

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

Читать далее

Замедляю Postgres в 42 000 раз, потому что мне нечем больше заняться

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

Кругом только и разговоров о том, как бы заставить Postgres работать быстрее, эффективнее, и так далее. Но при этом никто даже не задумывается о том, как бы его замедлить. Само собой, о продуктивности и эффективности парятся в основном те, кому за это платят. Я не из из числа (можете это исправить -- дайте мне знать). На днях я работал над чуть более полезным руководством и в какой-то момент решил, что этому миру нужна такая конфигурация Postgres, которая будет выполнять запросы максимально медленно. Нахрена? Черт знает, но вот что у меня получилось.

Читать далее

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

TitanRt — реактивный рантайм для реального времени (и не только HFT)

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

Сегодня решил собрать воедино то, что я знаю о разработке высокочастотных систем в связке с Rust. Из кусков кода, по сусекам, что называется, по репозиториям наскреб и склеил с помощью готопоты достойную к вашему вниманию либу. Библа позволит сохранить время всем, кто стремиться одновременно и к скорости, и гибкости. Планирую сам активно юзать, чтобы перейти со старой асинхронной торговой инфры в истинные треды с закосом под ультра. И развивать либу под брендом TitanRt. А если сообществу зайдет, так вообще мотивации прибавиться.

Итак, TitanRt - typed reactive runtime для построения реактивных, низколатентных систем на Rust.

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

Читать далее

Как мы снизили время отклика в 15 раз на новом портале ВДНХ через Laravel + Nuxt и масштабируемую архитектуру

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

Привет! Я Алексей Постригайло, старший партнер крупного ИТ-интегратора.

В этой статье я расскажу о технических деталях масштабной работы, которая была проделана перед тем, как новый сайт ВДНХ объединил все проекты выставки на одной платформе.

Читать далее

Bitnami Secure Images: Прощание с Бесплатным Продом

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

Команда Spring АйО перевела статью про то, что не так давно, компания Broadcom, которая на данный момент в силу различных M&A сделок косвенно управляет компанией Bitnami, внесла существуенные изменения в политику поддержки docker образов.

Теперь не бесплатно!

Читать далее

Ленивые вычисления в PHP: как генераторы и итераторы экономят память и ускоряют код

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

Как обрабатывать миллионы строк в PHP и не убить память?

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

Читать далее

Мониторинг и анализ производительности бэкенда с помощью ClickHouse и Grafana. Часть 1

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

Всех приветствую! Я Артём Седых, ведущий разработчик команды банковского сопровождения. Нашему cервису уже 8 лет, 16 разработчиков, бэкенд - монолит на PHP. В данном наборе статей расскажу про наш опыт разработки альтернативы pinba и внедрения гибкой системы мониторинга бэкенда в легаси проекте с возможностью увидеть всю систему как на ладони и понять, почему именно проседают определенные экшены. Узнать о замедлении работы не в письмах и звонках от пользователей, а автоматически и прозрачно. На конкретных примерах дашбордов графаны покажу как обнаружить типичные проблемы экшенов, запланировать оптимизацию и даже предсказать снижение производительности.

Читать далее

Как работать с OpenSearch: обзор полнотекстового поиска и пример использования

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

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

Привет, Хабр! Меня зовут Евгений Ляшенко, я старший разработчик IBS. В эпоху, когда объемы данных растут с каждым днем, эффективный поиск информации становится критически важным для бизнеса и разработчиков. OpenSearch как мощный инструмент для полнотекстового поиска и аналитики предлагает гибкие решения для работы с большими массивами данных. Чтобы наглядно продемонстрировать его работу, я создал pet-проект с поиском по библиотеке книг и фильмов. Но сначала немного теории.

Читать далее

ARM MTE и жёсткая память: как сделать С-процессы менее уязвимыми

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

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

Если вы держали в руках любой крупный C или C++ код, то знаете, что память частенько ошибается . На ARM-системах давно есть TBI, возможность прятать биты в верхнем байте адреса. На этой базе появился Memory Tagging Extension, коротко MTE. Это аппаратная проверка того, что указатель действительно свой для конкретного куска памяти. Часть механизмов есть в ядре Linux, часть в libc, часть в компиляторах, и из этого можно собрать жёсткую память, строгую к факапам и терпимую к продакшен-нагрузке.

MTE добавляет к каждой 16-байтной грануле памяти 4-битный allocation tag. А в верхние биты адреса (59…56) вы добавляете logical tag указателя. Процессор на каждом доступе сравнивает тег указателя и тег памяти. Если не совпало, прилетит fault по выбранному режиму проверки. Гранула фиксированная — 16 байт. Тегов 16. Это значит, что при рандомизации тегов теоретический шанс пронести левый указатель без ошибки — 1 из 16, если атакующий не знает тег. Этот шанс можно давить паттернами тэгирования и дисциплиной работы аллокатора.

Читать далее