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

Бэкенд

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

Работа с 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.5K

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

В этой статье мы подробно рассмотрим все ключевые параметры 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, если атакующий не знает тег. Этот шанс можно давить паттернами тэгирования и дисциплиной работы аллокатора.

Читать далее

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

Быстрый старт автотестирования с Playwright

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

Добрый день, уважаемые хабровчане! Меня зовут Евгений Иванов, и вот уже год я работаю на позиции QA-lead в компании FixPrice. В прошлом году руководство поставило передо мной задачу: наладить быстрый старт автотестирования и масштабирование решений на все проекты нашего отдела.

Читать далее

Самый лучший мок на свете: разбираемся с инструментами для генерации моков в Go

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

Всем привет! Меня зовут Семён Эйгин, я бэкендер в Авито, люблю опенсорс и периодически что-то туда контрибьючу. В этой статье разбираемся с моками и выбираем самый удобный инструмент (не обязательно лучший!). Это достаточно холиварная тема, хотя при подготовки статьи я не ожидал, что она окажется настолько спорной — у каждого разработчика своё мнение на этот счёт. Чтобы узнать моё и высказать своё — переходите под кат!

Читать далее

Гонзо-репортаж, русская лингвистика и много плюсов: лучшее из хабраблога МойОфис за 10 лет

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

Ветеранам Хабра пора напрячься: время летит слишком быстро... В этом году нашему корпоративному блогу стукнуло 10 лет! За это время мы исследовали мир айтишки через самые разные сферы: от киберспорта и «фантазий о будущем» до классических технических «заглядываний под капот» с сотнями строк кода.

В честь юбилея вспоминаем 10 лучших (по версии редакции) текстов — по одному на каждый год. Это статьи, без которых невозможно представить нас как команду и блог.

Читать далее

Echo сервер на Zig: от потоков к event loop

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

Давно присматривался к языку программирования Zig и наконец решил на нём что-то написать. Выбор пал на TCP/UDP echo сервер: задача не слишком сложная, но с интересными моментами, особенно при переходе на event loop. В статье поделюсь процессом и своими впечатлениями.

Читать далее

Коротко про виды авторизации

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

Эта статья будет интересна тем, кто особо не заморачивался, как устроена авторизация в бекенде, но хочет очень быстро въехать в тему. Мы не будем погружаться в самые недры реализации, но точно поймем как это работает и как прикрутить это на практике. Я буду использовать python и FastAPI, просто потому что так проще показать, но эти подходы работают и для других языков/фреймворков.

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

Быстро срыть тему с авторизацией

Вайб кодинг 1С 3. Лучшие нейросети для генерации кода

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

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

Читать далее

Bubble Tea — TUI-фреймворк для Go. Мои открытия и ошибки

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

Недавно я попробовал Bubble Tea — мощный TUI-фреймворк на Go для создания красивых интерфейсов прямо в терминале. Я делюсь опытом, архитектурными находками, болями и полезными советами. Если вы любите Go и интересуетесь CLI-интерфейсами — статья для вас.

Читать далее