Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 35 min 51 sec ago

Как мы научились строить деревья блокировок PostgreSQL в фоне и без влияния на производительность

Thu, 12/11/2025 - 13:40

Блокировки в СУБД — основа механизма параллельного доступа к данным, но также и частый симптом проблем в архитектуре или ошибок в логике работы с БД. Когда из-за них запросы зависают, нам требуется разбираться, кто кого и когда заблокировал, то есть поднимать и смотреть историю возникновения блокировок.

Чтобы понять цепочку блокировок, обычно строят их дерево рекурсивными запросами. Но частое выполнение таких запросов может существенно замедлить работу СУБД. В худшем случае можно усугубить проблему, которую мы пытаемся диагностировать.

Меня зовут Александра Кузнецова, я бэкенд-разработчик в СберТехе, в команде Platform V Kintsugi — это графический инструмент для сопровождения, разработки и диагностики СУБД на основе PostgreSQL. Расскажу о том, как мы с коллегами интегрировали сбор данных о блокировках в наш мониторинг сессий. Решение работает в фоне и не нагружает БД. И дерево блокировок можно построить для любого момента в прошлом, даже через несколько дней после инцидента. Начнём.

Читать далее

[Перевод] Моя любимая маленькая хеш-таблица

Thu, 12/11/2025 - 13:39

Я из тех, кто всерьёз задумывается о проектировании и реализации хеш-таблиц. Недавно обнаружился донельзя милый вариант, который заслуживает широкой огласки. Это робин-гудовская открытая адресация с применением линейного зондирования, где размер самой таблицы увеличивается как степень двойки. Если вы не знакомы с терминологией хеш-таблиц, то все эти слова могут показаться вам каким-то невразумительным салатиком, но, когда мы разберём этот пример с привлечением кода — всё должно стать понятнее.   

Чтобы не пришлось усложнять код, начнём со следующих допущений:

Читать далее

Текст как пазл: Нашел палиндромы в стихах Маяковского с Python

Thu, 12/11/2025 - 13:35

Как Python помогает находить симметрии в поэтическом тексте. Простой код для поиска палиндромов (слов и фраз, читающихся одинаково в обе стороны) в творчестве Владимира Маяковского.

Читать далее

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

Thu, 12/11/2025 - 13:33

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

Привет, Хабр. Меня зовут Люба Вайгель. Я системный аналитик в СберЗдоровье — MedTech компании №1 в России. Я довольно давно работаю системным аналитиком: помимо медтеха, на моем счету опыт в финтехе, госсекторе. В этой статье я хочу поделиться материалами, которые в своё время помогли мне и могут быть полезны всем, кто только делает первые шаги в системном анализе.

Читать далее

OpenIDE Pro: ответ на запросы бизнеса и разработчиков одновременно

Thu, 12/11/2025 - 13:30

Привет! Я Фёдор, CEO OpenIDE. За год с момента анонса OpenIDE выросла в стабильную, привычную и активно используемую IDE, которую всё чаще выбирают разработчики и компании. Мы создали её быстрой, предсказуемой и полностью доступной — и теперь готовы к следующему шагу.

В этой статье — что мы сделали, зачем мы это делаем и куда дальше движется OpenIDE.

Читать далее

Как системному аналитику перейти в дата-аналитику: советы из личного опыта

Thu, 12/11/2025 - 13:26

Рынок вакансий для системных аналитиков меняется. Растет спрос на работу с данными, облачные технологии и инструменты ETL/ELT. Бизнесу нужны специалисты, которые понимают архитектуру хранения данных, знают процессы их преобразования и принципы управления. Но требования в таких вакансиях часто пугают — со стороны это выглядит как другой мир, требующий совершенно новых знаний.

На своем примере перехода из финтеха в data-платформу VK Tech покажу, что все не так страшно. Расскажу, что в профессии системного аналитика остается неизменным, какие есть ключевые концепции и инструменты Data-направления и что на самом деле нужно знать для перехода.

Читать далее

Как системному аналитику перейти дата-аналитику: советы из личного опыта

Thu, 12/11/2025 - 13:26

Рынок вакансий для системных аналитиков меняется. Растет спрос на работу с данными, облачные технологии и инструменты ETL/ELT. Бизнесу нужны специалисты, которые понимают архитектуру хранения данных, знают процессы их преобразования и принципы управления. Но требования в таких вакансиях часто пугают — со стороны это выглядит как другой мир, требующий совершенно новых знаний.

На своем примере перехода из финтеха в data-платформу VK Tech покажу, что все не так страшно. Расскажу, что в профессии системного аналитика остается неизменным, какие есть ключевые концепции и инструменты Data-направления и что на самом деле нужно знать для перехода.

Читать далее

Декабрьский «В тренде VM»: уязвимости в Windows, библиотеке expr-eval, Control Web Panel и Django

Thu, 12/11/2025 - 13:21

Хабр, привет! На связи Александр Леонов, ведущий эксперт PT Expert Security Center и дежурный по самым опасным уязвимостям месяца. Мы с командой аналитиков Positive Technologies регулярно исследуем информацию об уязвимостях из баз и бюллетеней безопасности вендоров, социальных сетей, блогов, телеграм-каналов, баз эксплойтов, публичных репозиториев кода и выявляем во всем этом многообразии сведений трендовые уязвимости. Это те уязвимости, которые либо уже эксплуатируются вживую, либо будут эксплуатироваться в ближайшее время.

С прошлого дайджеста мы добавили еще 4 трендовые уязвимости.

По традиции начнем с Windows.

Читать далее

Feature Flags на фронтенде: как управлять фичами без боли и рисков

Thu, 12/11/2025 - 13:10

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

Привет, Хабр! Меня зовут Михаил Олейник, я разработчик IBS. В этой статье — практический разбор, как устроены фича-флаги, где их хранить, как получать их состояние на фронтенде и что учитывать в реальных проектах. Если вы искали краткий и понятный гайд по теме, это он.

Читать далее

Карьера бэкендера от джуна до сеньора

Thu, 12/11/2025 - 13:07

Бэкенд-разработка — устойчивое и востребованное направление в IT. Но с ростом в карьере растут и требования к разработчику — нужно знать языки и API до проектирования архитектуры, понимать распределённые системы, облака, DevOps-подходы и иметь софт-скиллы. 

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

Читать далее

Разработка USB-клавиатуры без поиска легкого пути

Thu, 12/11/2025 - 13:05

Помимо полноценных клавиатур, есть клавиатуры с несколькими кнопками, клавиши которых можно запрограммировать. Их называют еще макропадами. Макропад не сложно купить, хоть часто он стоит дороже обычной клавиатуры, но можно и сделать. Статей как его смастерить много, самый простой способ — использовать каждый вывод микроконтроллера, пока они не закончатся. Но у меня не было никакого желания делать все как у всех. Хотелось чего-то по-настоящему DIY.

Поэтому в статье пойдет подробный рассказ о разработке USB-клавиатуры на микроконтроллере CH32V003, в котором по умолчанию нет поддержки USB. Но чтобы проект был более интересным, клавиатура состоит из 9 кнопок, 3-х энкодеров и 2-х светодиодов. При этом корпус и кейкапы тоже сделаны самостоятельно (почти).

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

Читать далее

Fluent API. Часть 3 — что нам стоит Fluent API построить?

Thu, 12/11/2025 - 13:03

Теперь, после того как в предыдущей статье так красочно описаны преимущества Fluent API появилось опасение что все  эти “плюшки” просто не могут быть бесплатными. Наверняка это очень дорого, или нет?

Читать далее

Fluent API. Часть 2 — а оно нам надо?

Thu, 12/11/2025 - 13:02

Продолжаем разговор о Fluent API. И теперь, после того как мы из предыдущей статьи (или/и личного опыта) узнали о том что это чудо из себя представляет давайте разберемся зачем оно нужно?

Читать далее

Fluent API. Часть 1 — это вообще о чём?

Thu, 12/11/2025 - 13:01

В то время как аналитики жарко спорят на тему станет ли основным языком программирования 6-го (видимо) поколения английский или все-таки китайский предлагаю поговорить немного на другую тему, но в том же направлении: как сделать код программы ближе к человеку? 

Один из ответов на этот вопрос зародился еще в 70-х годах прошлого столетия как method chaining в рамках языка Smalltalk и, благодаря стараниям Эрика Эванса и Мартина Фаулера дошел до нас как Fluent API.

Читать далее

Lord of the Prints: Filament Fellowship. Путешествие в мир филаментов для FDM-печати

Thu, 12/11/2025 - 13:00

Привет, Хабр! Это снова Лера из Selectel. В прошлой статье я рассказала о двух технологиях в 3D-печати. В комментариях попросили сделать разбор материалов — и вот он. Сегодня продолжим заниматься извращениями под видом технических текстов. Все сравнения и оценочные суждения — исключительно личное мнение. Экспертов в FDM, гуру печати, а также любителей активных обсуждений прошу принять приглашение на чашечку чая в комментариях, посплетничаем там вместе.

Шорткат под кат

ML-проект моей мечты. Часть 1

Thu, 12/11/2025 - 13:00

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

Читать далее

Обработка для 1С, которая отправляет сводку с нужными показателями в Telegram

Thu, 12/11/2025 - 12:59

Обычно, в 1С много показателей и отчётов по ним, а при желании почти каждый можно собрать под свои потребности, так как платформа гибкая и легко поддается доработке. Но это долго и разработка стоит дорого, особенно если речь про кастомный отчёт под руководителя. А с обработкой можно получать короткий отчет сразу в Telegram.

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

Читать что за обработка такая

[Перевод] Формат файлов, который не удаётся взломать уже 20 лет

Thu, 12/11/2025 - 12:56

Splinter Cell (2002) была одной из первых игр, купленных мной для Xbox, и она по-прежнему остаётся одной из самых любимых моих игр. Эта игра была разработана Ubisoft на движке Unreal Engine 2, лицензированном у небольшой инди-студии Epic Games, которая и сегодня продолжает использовать и лицензировать этот движок в современных малобюджетных инди-играх наподобие Fortnite и Halo: Campaign Evolved.

Я начал заниматься программированием/хакингом благодаря видеоиграм, и до сих пор получаю удовольствие от дата-майнинга/исследования контента, вырезанного из тех немногих игр, в которые играю сегодня. Недавно я решил поискать онлайн вырезанный контент Splinter Cell, и был удивлён отсутствием раскопанной информации. За исключением прототипа игры для Xbox, в котором содержались два уровня, вырезанные из розничной версии для Xbox и некоторые другие мелкие отличия, информации об игре практически нет.

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

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

Читать далее

[Перевод] «От входа через OAuth до захвата вашего аккаунта» – десктопная версия приложения

Thu, 12/11/2025 - 12:54

Один клик по вредоносной ссылке — и контроль над аккаунтом потерян. Без фишинга, без вредоносного ПО.

Я обнаружил уязвимость в механизме OAuth аутентификации популярного десктоп-приложения, позволяющую похитить учетную запись любого пользователя всего в один клик. Основные причины проблемы: отсутствие проверки состояния (state validation), хранение долгоживущих токенов после перенаправления (loopback redirect) и слепое доверие параметру remote_key. В данном посте я подробно расскажу обо всех этапах атаки, почему она сработала настолько эффективно, и каким образом разработчики могут устранить данную проблему.

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

Читать далее

Нейробиология рынка: почему наш мозг торгует лучше нас, а ИИ слишком скучен для биржи

Thu, 12/11/2025 - 12:45

По легенде сэр Исаак Ньютон, потеряв состояние на крахе «Компании Южных морей», заметил: «Я могу рассчитать движение небесных тел, но не безумие людей». В этой статье мы разберем анатомию финансовых решений, выясним, подтверждается ли «внутренняя чуйка» статистически, почему роботы проигрывают людям в создании кризисов и как математика пытается формализовать понятие «хайп».

Читать далее

Who's online

There are currently 1 user and 1 guest online.