Habr.com

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

Самый доступный из настоящих Телекастеров

2 hours 44 min ago

Привет, Хабр! Мне принесли на отстройку электрогитару Squier FSR Bullet Telecaster цвета Olympic White, и теперь мы сможем рассмотреть и послушать эту популярную модель во всех подробностях.

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

Видео с котиком тоже будет.

Как мы «усложнили жизнь» автотестам и повысили качество тестирования

2 hours 45 min ago

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

Причина такого поведения оказалась в самом фундаменте: автотесты опирались на статичные, «зашитые» данные, созданные еще при первом покрытии кода. Они были разработаны более трех лет назад и для скорости были объявлены в виде констант непосредственно перед кодом теста.

Читать далее

GraphRAG: 8 способов укротить расширенный контекст у LLM

2 hours 45 min ago

В 22% случаев онкологи не могут назначить лечение из-за рисков, связанных с хроническими заболеваниями. Сегодня разбираем кейс, в котором ИИ помогает врачам решать сложнейшие когнитивные задачи, связанные с лечением различных видов рака. Рассказываем про методологию GraphRAG, разбираем, как устроены и работают решения из кейса и проводим сравнительный анализ всех способов решить эту сложнейшую задачу.

Привет, Хабр! Это Андрей Носов, AI-архитектор из Raft. Я проектирую и создаю системы, которые должны стоять годами — сегодня речь пойдёт именно о них. В этой статье по мотивам моего доклада на AI Сonf 2025 я расскажу, как превратить стандартные RAG-системы из простых источников знаний в управляемый инструмент, способный справиться со сложным контекстом. Вас ждёт не просто технический обзор, а практическое руководство, где мы пойдём от прода к проду.

Читать далее

[Перевод] О ключах идемпотентности

2 hours 45 min ago

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

Как именно работают подобные механизмы? Потребитель, получая сообщение, берёт его ключ идемпотентности и сравнивает с ключами сообщений, которые уже были обработаны. Если такой ключ уже встречался — входящее сообщение является дубликатом и его можно проигнорировать. В противном случае потребитель начинает обработку сообщения. Например — сохраняя в базе данных само это сообщение или какое-либо представление данных, полученное после его анализа.

Кроме того, потребитель сохраняет ключ идемпотентности сообщения. Очень важно, чтобы две этих операции были бы выполнены атомарно. Обычно это достигается путём их выполнения в транзакции базы данных. В результате получается, что возможны два исхода такой операции. Первый — сообщение обработано и его ключ идемпотентности сохранён в базе данных. Второй — выполнен откат транзакции, в базу данных не внесено никаких изменений. При таком подходе обеспечивается то, что потребитель, который не смог обработать сообщение, обработает его снова, после его повторной доставки. И это же гарантирует то, что система проигнорирует дубликаты сообщения, полученные после его успешной обработки.

Читать далее

Как организовать хакатон: пошаговое руководство по организации с реальными кейсами 2026

2 hours 50 min ago

48 часов, 100 разработчиков, и одна задача — создать с нуля продукт. Именно так работают хакатоны. Мы собрали всё, что знаем про их организацию, и оформили это в большое пошаговое руководство.

Расскажем, как хакатоны работают на практике: на реальных кейсах, с цифрами, результатами и примерами, которые действительно «зашли». Статья сэкономит месяцы проб и ошибок и будет полезна всем, кто рассматривает хакатоны как инструмент поиска решений, партнёров и сильных команд.

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

Читать далее

Дизайн, который можно выпускать годами: профессиональный взгляд на форму

2 hours 59 min ago

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

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

Читать далее

Обзор 8 приложений To-Do List: как выбрать свой список дел

3 hours 8 min ago

To-do list приложения — это способ записать все свои задачи в одном месте, чтобы не забывать о них и не переживать. Одному нужен минимализм, другому — календарь и привычки, третьему — командная работа и контроль. 

Я собрала обзор так, как выбираю инструмент для себя: проверила приложения в реальных сценариях — быстрый захват на телефоне, планирование недели на ПК, повторы и напоминания — и оценивала не функции, а скорость, с которой они превращают хаос в план.

Читать далее

Подключение к СМЭВ: теория, практика и подводные камни

3 hours 19 min ago

Если вы работаете в банке, страховой, МФО или любой другой организации, которой нужно проверять паспорта клиентов, запрашивать сведения из ЕГРЮЛ или получать сведения о наличии (отсутствии) судимости — рано или поздно вы упрётесь в СМЭВ. И скорее всего, обнаружите, что подключиться к нему сложнее, чем казалось.

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

Читать далее

Postman удобен ровно до тех пор, пока не слил секреты твоего прода

3 hours 24 min ago

Пятница, вечер. Обычный коммит перед выходными. В списке файлов — ничего подозрительного. Через пару часов API-ключи от продакшена уже лежат в публичном репозитории.

Большинство утечек секретов происходят именно так. Не из-за взломов, а из-за инструментов, которые делают небезопасное поведение слишком удобным.

В этой статье разбираем, как API-ключи «утекают» при работе с HTTP-клиентами, почему Postman и IDE создают ложное чувство безопасности и какие системные ошибки приводят к реальным инцидентам с многомиллионными последствиями.

Читать далее

Kotlin + Spring Boot: полный гайд по монолиту на 2026 год

3 hours 25 min ago

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

Я покажу, как собрать простое, но полноценное монолитное приложение на Spring Boot и Kotlin — тот самый надежный фундамент, который позволит вам запустить MVP за недели, а не месяцы. А в конце расскажу, где можно системно прокачать навыки Kotlin-разработчика, чтобы строить такие системы уже профессионально.

Читать далее

Рекурсия в Python: от матрешки до стека вызовов. Полный гид для новичков

3 hours 26 min ago

Рекурсия часто кажется новичкам «высшим пилотажем» или магией. На деле это фундаментальный инструмент, который незаменим при работе с деревьями и сложными структурами данных. В этой статье мы разберем анатомию рекурсии, заглянем «под капот» стека вызовов, выясним, почему Гвидо ван Россум не любит хвостовую оптимизацию, и научимся ускорять вычисления в тысячи раз с помощью мемоизации.

Читать далее

Переехали из многоэтажного монстра в уютную субурбию: как мы улучшаем процесс онбординга

3 hours 28 min ago

Привет, Хабр! Как вы думаете, с чего начинается путь самурая пользователя? Правильно, с онбординга. Онбординг — это не просто анкета «для галочки», а первый диалог продукта с пользователем. От того, насколько он понятен и предсказуем, зависят и конверсия в заявки, и нагрузка на службу поддержки.

Меня зовут Лена, я работаю дизайнером интерфейсов в ЮMoney. В этой статье делюсь опытом проведения A/B-тестирования изменений процесса онбординга на сайте для B2B-клиентов. Вдруг те же «слепые зоны» и сложные формы есть и в ваших продуктах? Наши решения окажутся вам полезны и помогут улучшить клиентский путь.

Читать далее

Антирекурсия. Часть 1

3 hours 30 min ago

Рекурсия — прекрасный инструмент математического анализа. В математике это реально полезный и фундаментальный инструмент, поэтому математики привыкают мыслить рекурсиями и активно агитируют за перенос этой логики в программирование. Благо в программировании функции технически могут вызывать самих себя. Из‑за этого возникли даже так называемые функциональные языки программирования, основанные на идее отказа от циклов в пользу «универсальной» рекурсии.

Однако, следует понимать что рекурсия в математике и рекурсия в программировании далеко не одно и тоже. Как отметил Ален И. Голуб в книге «Веревка достаточной длины, чтобы… выстрелить себе в ногу» (п. 6. Если вы не можете сказать это по‑английски, то вы не сможете выполнить это и на Си/Си++) — математическое мышление может помешать писать хорошие программы. И как раз рекурсия наглядно демонстрирует эту мысль.

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

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

Читать далее

Недельный геймдев: #263 — 1 февраля, 2026

3 hours 32 min ago

Из новостей: суд в Великобритании одобрил иск против Valve на $900 млн, Свен Винке подпалил игрожуров, состоялся релиз Godot 4.6, 52% разработчиков игр считают, что генеративный ИИ негативно влияет на индустрию.

Из интересностей: посиделки с инди с Петром Сальниковым, постмортем Only Way is Down, создание Catacomb 3-D, успех иногда вредит.

Читать далее

«Офис+ Стандартный» офисный пакет в закрытых и открытых корпоративных контурах

3 hours 32 min ago

В современном мире защита от несанкционированного доступа к внутренней информации предприятия играет важную роль в системе безопасности предприятия. Многие предприятия формируют закрытый информационный корпоративный контур, в котором создается необходимая инфраструктура для решения бизнес задач предприятия. Решение таких задач невозможно без обеспечения сотрудников качественным и функциональным ПО, таким как офисный пакет «Офис+ Стандартный». Информационным службам предприятия приходится решать задачи по установке, обновлению, управлению версиями ПО, создание и поддержание процессов взаимодействия между различным ПО внутри корпоративного контура. Рассмотрим, как офисный пакет «Офис+ Стандартный» помогает решать подобные задачи.

Читать далее

Типичные грабли Kafka: что (не)видит аналитик

3 hours 35 min ago

Хабр, всем привет! С вами Лиза Акманова, ведущий аналитик ГК «Юзтех».

Представьте идеальный мир: аналитик пишет ясное техническое задание, разработчик его реализует и всё работает безупречно. Но когда в проекте появляется Kafka, эта идиллическая картина часто рассыпается. Почему? Потому что существуют технические нюансы, которые аналитик может не заметить, а разработчик не озвучить. Давайте вместе разберемся с этими “граблями” и научимся их обходить.

Читать далее

Три кита масштабируемого IT-продукта: закон больших чисел, теория вероятностей и статистика

3 hours 40 min ago

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

Когда в команде спорят о фичах, производительности или надёжности, я редко слышу принципиально разные аргументы. Чаще это разные формы одного и того же:

— Мне кажется, пользователям понравится.
— Я уверен, что система выдержит.
— Ну сейчас же всё работает.

Проблема в том, что «кажется» и «уверен» плохо масштабируются. А числа — масштабируются отлично.

Читать далее

Как писать API-автотесты на Go: Axiom, Resty, Testify, Allure и запуск в CI/CD

3 hours 42 min ago

Как писать «скучные» API-автотесты на Go: выносим всю инфраструктуру в Axiom, оставляя в тестах только бизнес-сценарии, и запускаем всё в CI/CD с Allure.

Читать далее

«Ветер истории» в «Двенадцати». Найдет ли его Python?

3 hours 44 min ago

C помощью Python опроверг идею о ветре как о символе революции в поэме Александра Блока "Двенадцать". Поэма начинается со слов про ветер, написана про революцию и где-то внутри строк прячет загадочного Христа.

Читать далее

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

3 hours 45 min ago

Привет! Я Никита Щербо, разработчик в компании Битрикс24.

Сегодня поделюсь с вами небольшим кейсом — расскажу, как мы с помощью ИИ нагенерили простых примеров для обучения сотрудников работе с Service Locator. 

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

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

У меня в команде 30 человек — много новичков, которые пришли к нам из «Битрикс24 // Университет», есть те, кто уже давно работали с Service Locator, но не интересовались тем, как устроен механизм. Мы решили организовать общий митап для команды и показать, как можно использовать это решение в наших задачах. 

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

Читать далее

Who's online

There are currently 0 users and 1 guest online.