Привет, Хабр! Мне принесли на отстройку электрогитару Squier FSR Bullet Telecaster цвета Olympic White, и теперь мы сможем рассмотреть и послушать эту популярную модель во всех подробностях.
Конкуренция на рынке музыкальных инструментов сегодня весьма значительна, и для принятия решения о приобретении того или иного варианта хочется знать о нём и о возможных альтернативах как можно больше.
Видео с котиком тоже будет.Представьте: ваши автотесты проходят стабильно, ошибок почти нет, команда довольна. Но со временем тесты стали работать в «стерильных» условиях и перестали отражать реальность. Именно с такой ситуацией мы столкнулись на крупном продукте после трех лет регулярных прогонов. В этой статье расскажем, как мы перешли от «зашитых» констант к системе динамической генерации данных, сделали тесты «сложнее» и в итоге повысили их реальную эффективность в 10 раз.
Причина такого поведения оказалась в самом фундаменте: автотесты опирались на статичные, «зашитые» данные, созданные еще при первом покрытии кода. Они были разработаны более трех лет назад и для скорости были объявлены в виде констант непосредственно перед кодом теста.
Читать далееВ 22% случаев онкологи не могут назначить лечение из-за рисков, связанных с хроническими заболеваниями. Сегодня разбираем кейс, в котором ИИ помогает врачам решать сложнейшие когнитивные задачи, связанные с лечением различных видов рака. Рассказываем про методологию GraphRAG, разбираем, как устроены и работают решения из кейса и проводим сравнительный анализ всех способов решить эту сложнейшую задачу.
Привет, Хабр! Это Андрей Носов, AI-архитектор из Raft. Я проектирую и создаю системы, которые должны стоять годами — сегодня речь пойдёт именно о них. В этой статье по мотивам моего доклада на AI Сonf 2025 я расскажу, как превратить стандартные RAG-системы из простых источников знаний в управляемый инструмент, способный справиться со сложным контекстом. Вас ждёт не просто технический обзор, а практическое руководство, где мы пойдём от прода к проду.
Читать далееВсем известно, что в распределённых системах невозможно гарантировать доставку сообщений, выполняемую ровно один раз. А вот обеспечить однократную обработку сообщений можно. Добавляя к каждому из сообщений уникальный ключ идемпотентности, можно сделать так, чтобы потребители сообщений распознавали бы и игнорировали дубликаты сообщений. То есть — игнорировали бы сообщения, которые уже были получены и успешно обработаны.
Как именно работают подобные механизмы? Потребитель, получая сообщение, берёт его ключ идемпотентности и сравнивает с ключами сообщений, которые уже были обработаны. Если такой ключ уже встречался — входящее сообщение является дубликатом и его можно проигнорировать. В противном случае потребитель начинает обработку сообщения. Например — сохраняя в базе данных само это сообщение или какое-либо представление данных, полученное после его анализа.
Кроме того, потребитель сохраняет ключ идемпотентности сообщения. Очень важно, чтобы две этих операции были бы выполнены атомарно. Обычно это достигается путём их выполнения в транзакции базы данных. В результате получается, что возможны два исхода такой операции. Первый — сообщение обработано и его ключ идемпотентности сохранён в базе данных. Второй — выполнен откат транзакции, в базу данных не внесено никаких изменений. При таком подходе обеспечивается то, что потребитель, который не смог обработать сообщение, обработает его снова, после его повторной доставки. И это же гарантирует то, что система проигнорирует дубликаты сообщения, полученные после его успешной обработки.
Читать далее48 часов, 100 разработчиков, и одна задача — создать с нуля продукт. Именно так работают хакатоны. Мы собрали всё, что знаем про их организацию, и оформили это в большое пошаговое руководство.
Расскажем, как хакатоны работают на практике: на реальных кейсах, с цифрами, результатами и примерами, которые действительно «зашли». Статья сэкономит месяцы проб и ошибок и будет полезна всем, кто рассматривает хакатоны как инструмент поиска решений, партнёров и сильных команд.
Если вы давно хотели разобраться, как хакатоны выглядят изнутри, этот материал точно стоит прочитать.
Читать далееВ промышленном дизайне форму часто воспринимают как итог: финальный штрих, красивую точку в конце длинного процесса. Мы обсуждаем её через визуальные категории — нравится или нет, современно или устарело, эффектно или спокойно. Но в реальной серийной разработке форма никогда не является просто результатом. Она — обязательство, которое дизайнер берёт на себя.
Обязательство перед пользователем, перед брендом, перед продуктом, который будет жить дольше одного релиза. И если смотреть на дизайн с этой позиции, разговор о форме быстро выходит за рамки эстетики и становится разговором о профессиональной ответственности.
Читать далееTo-do list приложения — это способ записать все свои задачи в одном месте, чтобы не забывать о них и не переживать. Одному нужен минимализм, другому — календарь и привычки, третьему — командная работа и контроль.
Я собрала обзор так, как выбираю инструмент для себя: проверила приложения в реальных сценариях — быстрый захват на телефоне, планирование недели на ПК, повторы и напоминания — и оценивала не функции, а скорость, с которой они превращают хаос в план.
Читать далееЕсли вы работаете в банке, страховой, МФО или любой другой организации, которой нужно проверять паспорта клиентов, запрашивать сведения из ЕГРЮЛ или получать сведения о наличии (отсутствии) судимости — рано или поздно вы упрётесь в СМЭВ. И скорее всего, обнаружите, что подключиться к нему сложнее, чем казалось.
В этой статье расскажем, как устроен процесс подключения, на каких этапах обычно буксуют, и разберём на практическом примере, как мы в Cloud4Y помогали клиенту пройти этот путь.
Читать далееПятница, вечер. Обычный коммит перед выходными. В списке файлов — ничего подозрительного. Через пару часов API-ключи от продакшена уже лежат в публичном репозитории.
Большинство утечек секретов происходят именно так. Не из-за взломов, а из-за инструментов, которые делают небезопасное поведение слишком удобным.
В этой статье разбираем, как API-ключи «утекают» при работе с HTTP-клиентами, почему Postman и IDE создают ложное чувство безопасности и какие системные ошибки приводят к реальным инцидентам с многомиллионными последствиями.
Читать далееВсем привет, меня зовут Сергей Прощаев, и в этой статье я расскажу про то, с чего на самом деле стоит начинать большинство backend-проектов в 2026 году. Spoiler alert: это не микросервисы.
Я покажу, как собрать простое, но полноценное монолитное приложение на Spring Boot и Kotlin — тот самый надежный фундамент, который позволит вам запустить MVP за недели, а не месяцы. А в конце расскажу, где можно системно прокачать навыки Kotlin-разработчика, чтобы строить такие системы уже профессионально.
Читать далееРекурсия часто кажется новичкам «высшим пилотажем» или магией. На деле это фундаментальный инструмент, который незаменим при работе с деревьями и сложными структурами данных. В этой статье мы разберем анатомию рекурсии, заглянем «под капот» стека вызовов, выясним, почему Гвидо ван Россум не любит хвостовую оптимизацию, и научимся ускорять вычисления в тысячи раз с помощью мемоизации.
Читать далееПривет, Хабр! Как вы думаете, с чего начинается путь самурая пользователя? Правильно, с онбординга. Онбординг — это не просто анкета «для галочки», а первый диалог продукта с пользователем. От того, насколько он понятен и предсказуем, зависят и конверсия в заявки, и нагрузка на службу поддержки.
Меня зовут Лена, я работаю дизайнером интерфейсов в ЮMoney. В этой статье делюсь опытом проведения A/B-тестирования изменений процесса онбординга на сайте для B2B-клиентов. Вдруг те же «слепые зоны» и сложные формы есть и в ваших продуктах? Наши решения окажутся вам полезны и помогут улучшить клиентский путь.
Читать далееРекурсия — прекрасный инструмент математического анализа. В математике это реально полезный и фундаментальный инструмент, поэтому математики привыкают мыслить рекурсиями и активно агитируют за перенос этой логики в программирование. Благо в программировании функции технически могут вызывать самих себя. Из‑за этого возникли даже так называемые функциональные языки программирования, основанные на идее отказа от циклов в пользу «универсальной» рекурсии.
Однако, следует понимать что рекурсия в математике и рекурсия в программировании далеко не одно и тоже. Как отметил Ален И. Голуб в книге «Веревка достаточной длины, чтобы… выстрелить себе в ногу» (п. 6. Если вы не можете сказать это по‑английски, то вы не сможете выполнить это и на Си/Си++) — математическое мышление может помешать писать хорошие программы. И как раз рекурсия наглядно демонстрирует эту мысль.
Математика абстрактна — в ней рекурсия работает в рамках математической логики, а это скорее логика вида «что было бы, если бы функция вызывала сама себя» — реальных вызовов функцией самой себя там нет — математики не вычисляют рекурсии пошагово (как это делает компьютер) поэтому там нет и описанных ниже побочных эффектов появляющихся у рекурсии в программировании. В математике рекурсия более универсальна чем цикл, но в программировании всё наоборот — здесь цикл намного гибче и универсальнее.
Негативные эффекты от рекурсии в программировании носят алгоритмический характер поэтому компиляторы языков программирования общего назначения не могут оптимизировать рекурсию — она неуправляема даже для программиста, не то что для компилятора. Компиляторы функциональных языков программирования умеют преобразовывать так называемую «хвостовую» рекурсию в цикл, убирая её негативные эффекты. Но «хвостовая» рекурсия позволяет реализовать лишь простейшие варианты рекурсии. В общем случае рекурсия эквивалентна нескольким псевдоциклам и анализ количества и функционала этих псевдоциклов нетривиален, а потому не подлежит оптимизации компилятором. По сути «хвостовая» рекурсия не более чем «заплатка» позволяющая вернуть в функциональные языки программирования опрометчиво удалённые из них циклы. Вред от мышления рекурсиями в программировании будет рассмотрен ниже на конкретных примерах.
Читать далееИз новостей: суд в Великобритании одобрил иск против Valve на $900 млн, Свен Винке подпалил игрожуров, состоялся релиз Godot 4.6, 52% разработчиков игр считают, что генеративный ИИ негативно влияет на индустрию.
Из интересностей: посиделки с инди с Петром Сальниковым, постмортем Only Way is Down, создание Catacomb 3-D, успех иногда вредит.
Читать далееВ современном мире защита от несанкционированного доступа к внутренней информации предприятия играет важную роль в системе безопасности предприятия. Многие предприятия формируют закрытый информационный корпоративный контур, в котором создается необходимая инфраструктура для решения бизнес задач предприятия. Решение таких задач невозможно без обеспечения сотрудников качественным и функциональным ПО, таким как офисный пакет «Офис+ Стандартный». Информационным службам предприятия приходится решать задачи по установке, обновлению, управлению версиями ПО, создание и поддержание процессов взаимодействия между различным ПО внутри корпоративного контура. Рассмотрим, как офисный пакет «Офис+ Стандартный» помогает решать подобные задачи.
Читать далееХабр, всем привет! С вами Лиза Акманова, ведущий аналитик ГК «Юзтех».
Представьте идеальный мир: аналитик пишет ясное техническое задание, разработчик его реализует и всё работает безупречно. Но когда в проекте появляется Kafka, эта идиллическая картина часто рассыпается. Почему? Потому что существуют технические нюансы, которые аналитик может не заметить, а разработчик не озвучить. Давайте вместе разберемся с этими “граблями” и научимся их обходить.
Читать далееПривет Хабр! В каждой компании есть люди, которые не пишут код каждый день, но почти каждый день принимают решения, от которых этот код либо спокойно живёт под нагрузкой, либо превращается в источник инцидентов и срочных созвонов. Думаю они согласятся, что масштабируемые IT-продукты строятся не только на технологиях, а ещё и на умении мыслить вероятностно.
Когда в команде спорят о фичах, производительности или надёжности, я редко слышу принципиально разные аргументы. Чаще это разные формы одного и того же:
— Мне кажется, пользователям понравится.
— Я уверен, что система выдержит.
— Ну сейчас же всё работает.
Проблема в том, что «кажется» и «уверен» плохо масштабируются. А числа — масштабируются отлично.
Читать далееКак писать «скучные» API-автотесты на Go: выносим всю инфраструктуру в Axiom, оставляя в тестах только бизнес-сценарии, и запускаем всё в CI/CD с Allure.
Читать далееC помощью Python опроверг идею о ветре как о символе революции в поэме Александра Блока "Двенадцать". Поэма начинается со слов про ветер, написана про революцию и где-то внутри строк прячет загадочного Христа.
Читать далееПривет! Я Никита Щербо, разработчик в компании Битрикс24.
Сегодня поделюсь с вами небольшим кейсом — расскажу, как мы с помощью ИИ нагенерили простых примеров для обучения сотрудников работе с Service Locator.
Возможно эта идея пригодится тем, кто проводит онбординг новичков, их обучение работе с новыми инструментами или погружение в какой-то продукт.
Итак, мы все давно знаем, что ИИ может генерить и код, и тесты, и документацию. У нас была обратная задача — имея код, документацию и тесты, создать простые и понятные примеры использования инструмента.
У меня в команде 30 человек — много новичков, которые пришли к нам из «Битрикс24 // Университет», есть те, кто уже давно работали с Service Locator, но не интересовались тем, как устроен механизм. Мы решили организовать общий митап для команды и показать, как можно использовать это решение в наших задачах.
Но оказалось, что простых и понятных примеров у нас нет. Вытаскивать их из кода внутреннего продукта было нереально — без контекста они не имели смысла.
Читать далее