Обновить

Бэкенд

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

Как продать руководству необходимость изменения архитектуры в эпоху внедрения ГенИИ

Время на прочтение12 мин
Охват и читатели3.9K

Меня зовут Максим Рогоза, я работал корпоративным архитектором в крупнейших компаниях последние 8 лет. В настоящее время занимаюсь стратегическим IT-консалтингом в компании Аксеникс. В рамках своей деятельности я регулярно сталкиваюсь с одной и той же проблемой: компании прекрасно видят огромный потенциал генеративного ИИ, но не могут его реализовать. При этом они не готовы вкладываться в модернизацию архитектуры, считая это излишней тратой денег. Эта статья — попытка систематизировать опыт успешных трансформаций и дать техническим лидерам практический план действий.

Читать далее

Обрабатываем строки в 109 раз быстрее, чем NVIDIA на H100

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

Недавно я выпустил StringZilla v4 — первый релиз с поддержкой CUDA моей библиотеки для обработки строк. нацеленной в первую очередь на SIMD. Это означает, что теперь она стала быстрой не только на CPU, но и на GPU!

• Я хотел добавить ускорение ROCm для GPU AMD
• Я хотел добавить параллельный мультипаттерновый алгоритм поиска
• Я хотел опубликовать всё это ещё в декабре 2024 года

Итак, не всё пошло по плану, но StringZilla 4 CUDA наконец-то здесь, и она добавляет 500 с лишним GigaCUPS вычислений редакторского расстояния; при этом пакет можно установить через pip install. Также в ней есть некоторые другие трюки, предназначенные для крупномасштабных систем извлечения данных, баз данных и озёр данных, а также биоинформационных задач. И всё это под разрешительной опенсорсной лицензией Apache 2.0, позволяющей свободно использовать библиотеку в коммерческих целях. В этом посте я рассмотрю самые интересные части релиза, и в том числе:

• Быструю оценку алгоритмов динамического программирования на GPU,
• Хэширование CRC32MurMurHashxxHash, aHash и не только, а также
• Фингерпринтинг биологических последовательностей 52-битными целыми числами

Читать далее

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

Время на прочтение6 мин
Охват и читатели6.1K

Привет, Хабр! (И тебе, отчаянный страдалец, зашедший сюда в перерыве между дебагом очередного if (a == b) { return true; } else { return false; }. Мы знаем, ты не виноват, так вышло).

Каждый разработчик хоть раз в жизни прилаживал к своему коду «костыль». Знакомое чувство, правда?

Читать далее

Можно ли перейти с Oracle или MS SQL на СУБД из Реестра российского ПО без переписывания всей хранимой логики?

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели8.3K

Можно ли перейти с Oracle или MS SQL на СУБД из Реестра российского ПО без переписывания всей хранимой логики?
Один из возможных подходов к решению этой задачи.

Читать далее

Что происходит с рынком найма в 2025 году и как мы помогаем джунам найти работу

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

Привет! Меня зовут Вика Абдулова, я руковожу карьерными продуктами IT-профессий в Яндекс Практикуме — мы помогаем джунам выйти на рынок труда, делимся партнёрскими вакансиями, даём консультации по составлению резюме и портфолио, а также тренируем новичков в прохождении собеседований.

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

Читать далее

Парсинг pdf-отчётов публичных компаний для получения трейдерских инсайтов

Время на прочтение12 мин
Охват и читатели6.3K

Здравствуйте! В этой статье рассмотрим, как с помощью Python мониторить сайты компаний, парсить отчёты из PDF, извлекать ключевые данные и отправлять обработанные результаты в Telegram.

Публичные компании обязаны публиковать свою отчётность (финансовые результаты, годовые отчёты, пресс-релизы) на своих сайтах, часто в формате PDF. Для трейдера или инвестора скорость получения и анализа этой информации критически важна: тот, кто первым увидит тренд или аномалию в отчёте, может принять лучшее решение и получить преимущество на рынке.

Мы создадим скрипт на Python, который будет скачивать с сайта (разберём на примере Яндекс) отчёт в формате PDF, преобразовывать неструктурированный текст в структурированные данные, извлекать ключевые метрики (выручка, чистая прибыль) и отправлять сжатый инсайт в Telegram-бот.

Читать далее

Пишем и запускаем свой исполняемый файл на Linux

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

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

Больше ничего интересного не будет :-)

Интересненько...

JVM: Барьеры, которые подходят любому GC

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

В новом переводе от команды Spring АйО рассказывается, как сократить время разогрева JVM с помощью ahead-of-time компиляции (в рамках Project Leyden), а также объясняется, почему традиционные GC-барьеры мешают гибкому выбору сборщика мусора.

Статья содержит интересное решение — GC-независимые барьеры загрузки, которые можно «пропатчить» в рантайме под конкретный GC, обеспечивая совместимость без переписывания кода.

Читать далее

Базовые знания для оптимизации кода на PL+, PL/SQL и SQL

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.7K

Всем привет! Меня зовут Андрей Бобронников, я занимаюсь обеспечением надежности ИТ систем в банке Уралсиб. В этой статье я вам расскажу о методах оптимизации для разработчиков на платформе ЦФТ в БД Oracle.

Ввиду роста бизнеса, наши системы стали обрабатывать все больше транзакций и возникла необходимость собрать материалы, которые помогут разработчикам ЦФТ писать оптимальный и быстрый код под Oracle на языке PL+, PL/SQL и SQL.

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

Интересно!

Изучаем Python: модуль os для начинающих с практическим домашним заданием

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

Разбираем один из самых полезных встроенных модулей Python — os. Простыми словами о том, как управлять файлами и папками прямо из кода. Пройдем путь от os.mkdir() до написания скрипта для автоматической сортировки. Статья для начинающих, но с упором на практику. В финале — домашнее задание на GitHub с автоматической проверкой решений.

Читать далее

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

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

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

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

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

Читать далее

asapBI: импортозамещение SAP Calculation View

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

Любите ли вы SQL так же, как и я? Недавно, собирая огромный SQL‑запрос, я понял, что надо что‑то менять.

Логическим блоком в SQL является подзапрос или CTE и вроде бы можно разбивать запрос по блокам и работать с ними отдельно, как строится по кирпичикам любое приложение.

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

А что, если не надо писать SQL? В SAP мы не писали запросы, мы создавали Calculation View, и работать с ними было на порядок быстрее и приятнее.

Перефразируя диалог из Матрицы:

— Когда я стану избранным, я смогу писать длинный SQL?
— Тебе не надо будет писать SQL.

Как?

PipeWire с терминала: pw-cli, pw-top, pw-metadata

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

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

Сегодня рассмотрим консольные утилиты PipeWire: pw-cli, pw-top, pw-metadata и сопутствующие инструменты.

Для начала напомню, что PipeWire — это мультимедийный сервер низкого уровня, способный обрабатывать и аудио, и видео-потоки с минимальной задержкой. Он заменяет и PulseAudio, и JACK, действуя как ядро мультимедиа-пайплайна. Механизм распределения потоков (routing) отделён от политики: PipeWire занимается неким «трубопроводом», а где соединять и какой девайс использовать — за WirePlumber или другим менеджером сессий.

Читать далее

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

Вычисление обратной величины целого числа и его применение в алгоритме деления чисел

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

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

Читать далее

OMS на Apache NiFi: От прототипа до почти микросервисной архитектуры

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

История о том, как очередная «быстрая костыль-интеграция» на коленке неожиданно превратилась в почти полноценную Order Management System (OMS) с элементами event-driven архитектуры. Всё это — без предварительного проектирования и без единой строчки кода на Java/Scala/Python (хотя тут немного лукавства, так как пару скриптов на Groovy все-таки имеется), на чистом Apache NiFi и SQLite.

Девизом этого проекта мог бы стать слоган: «Мы не ищем лёгких путей, мы ищем работающие решения». Я инженер в одной ритейл компании, который любит решать задачи, и сегодня расскажу, как закрыл боль бизнеса малой кровью, используя не совсем типичный для веб-сервисов инструмент.

Вот здесь можно посмотреть исходники

Читать далее

Актуальны ли спустя 40 лет советы из «Жемчужин программирования»?

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

В сентябре 1985 года Джон Бентли опубликовал книгу Programming Pearls — сборник афоризмов об истинах в программной отрасли.

Прошло сорок лет. Наверняка спустя множество революций в нашей отрасли они потеряли актуальность? Эти советы относятся к той же категории, что и «всегда держи при себе пучок сена для лошадей» или «карманный калькулятор не всегда будет под рукой».

Ох, какая наивность! Ничто не ново под луной. Почти все приведённые афоризмы болезненно актуальны.

Читать далее

Шашечки или ехать? В бэкапе теперь можно и то, и другое

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

Привет, Хабр! Я Саша, в Хайстекс отвечаю за B2B-продажи и давно работаю с облаками и бэкапом. В этой статье хочу рассказать о подходе, который, на мой взгляд, помогает закрыть одну из самых болезненных задач в этой области. 

При работе с облачными сервисами часто приходится идти на компромисс: либо хранить дешево, но восстанавливать долго, либо платить за скорость. Допустим, у одного eCommerce-сервиса внезапно упал гипервизор, с ним ушли в офлайн несколько ВМ. Все бэкапы хранились в S3-объектном хранилище. Чтобы восстановить ВМ придется разворачивать ее из архива. На все в среднем уходит около 40 минут. Все это время система заказов лежит, а бизнес считает убытки. С Double Storage мы сделали так, что время восстановления сократилось до 6-8 минут. Что это за технология, как она работает и почему с ней действительно проще – разберём под катом. Технические подробности можем разобрать в комментариях, если будет интерес.

Читать далее

Оптимизация производительности запросов в OLAP‑СУБД: цели, методы и практика

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.6K

Ниже — выверенная и локализованная на русский язык версия текста об оптимизации производительности СУБД. Термины без устойчивых русских эквивалентов сохранены на английском с первым пояснением.

Читать далее

Список докладов с PythoNN в рамках ITGorky

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

Всем привет! Сегодня продолжаем нырять в глубины питона, но в другом формате.

В субботу (20 сентября 2025го) у нас завершилась наша первая бесплатная конференция сообществ Нижнего Новгорода.

На ней у нас был шикарный Python-трек с очень глубокими докладами от наших любимых хабравчан про устройство разных частей интерпретатора и несколькими вводными на смежные темы. Выступали и новички, и «старички» :)

Как по мне — вышло отлично.

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

Читать далее

Как Go 1.24 и Swiss Tables вернули нам 200 гигабайт памяти

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели8.9K

Команда Go for Devs подготовила перевод статьи о том, как Go 1.24 с новой реализацией Swiss Tables помог снизить использование памяти в продакшне на сотни гигабайт. В статье разбирают, что изменилось в реализации map, как это отразилось на профилях памяти, и какие оптимизации в коде дали дополнительный эффект.

Читать далее