Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 15 min ago

Чистый код на React: практики, которые делают проект поддерживаемым

Tue, 12/30/2025 - 16:38

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

В данной статье мы расскажем о принципах «чистого кода» в React, которые используем в повседневной разработке, и покажем их на коротких примерах.

Читать далее

С чемоданом от Нижнего до Москвы: дневник одного большого приключения на конференциях «Импульс Т1»

Tue, 12/30/2025 - 16:36

Начинающим IT-специалистам приходится нелегко. Но прогрессивные компании понимают, что новички — будущее отрасли, и дают им возможность получать необходимый опыт и строить карьеру рядом с профессионалами. Для многих конференция «Импульс Т1» становится именно тем местом, где можно реализовать такой шанс. 

Как сделала героиня нашей истории Оля. О том, как она посетила все конференции «Импульс Т1» и что из этого вышло, читайте под катом.

Читать далее

Зачем нужны аналитики?

Tue, 12/30/2025 - 16:31

Я работаю системным и бизнес-аналитиком, но периодически вижу обсуждения, что аналитики не нужны, либо не нужны били изначально, потому что DDD и вот это всё, либо не нужны становятся сейчас из-за развития нейросетей и трансформации разработки. Однако на своем опыте я вывел несколько причин, почему аналитики всё таки нужны:

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

Дешевая замена - аналитики в рамках выделения своей ролевой специфики часто выступают для сокращения затрат на разработчиков.

Тушитель пожаров - аналитики на проектах часто выступают в роли затыкателя дыр, выполняя все возможные временные функции от тестировщика до тех.писа.

Собиратели конструкторов - аналитики заменяют разработку в проектах с лоу-код и ноу-код конструкторами.

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

Далее рассмотрим подробнее.

Машина, которая никогда не останавливается: как одно предложение поставило предел человеческому познанию

Tue, 12/30/2025 - 16:29

В 1936 году Алан Тьюринг, пытаясь формализовать пределы вычислений, сформулировал вопрос, навсегда изменивший не только компьютерную науку, но и наше понимание границ познания. Этот вопрос — известная как «Проблема остановки» — звучит обманчиво просто: можно ли создать алгоритм, который, анализируя код любой программы и её входные данные, заранее и безошибочно определит, завершится ли её работа или же она уйдёт в бесконечный цикл? Казалось бы, речь идёт о чисто технической задаче, мечте каждого программиста об идеальном отладчике. Однако ответ Тьюринга, уместившийся в элегантное и почти язвительное доказательство от противного, оказался оглушительным: нет, такой алгоритм принципиально невозможен. В этой статье мы не только разберём суть этого гениального доказательства, которое построено на самореференции и логическом парадоксе, подобном «лжецу», но и визуализируем его ход с помощью наглядного кода в MATLAB, превратив абстрактную логику в динамическую демонстрацию. Мы увидим, как гипотетическая «всезнающая» программа H неминуемо запутывается в сетях, расставленных специально сконструированной программой-провокатором , приводя к неразрешимому противоречию в любом исходе. Это открытие — не просто академическая курьёзность. Оно устанавливает фундаментальный, алгоритмический предел: существуют чётко поставленные вопросы, на которые мы никогда не получим однозначный «да» или «нет» от любой вычислительной машины. Мы проследим глубокую связь этого результата с теоремой Гёделя о неполноте, обсудим другие неразрешимые проблемы, такие как проблема соответствия Поста, и затронем трезвые последствия для современной разработки, верификации программ и даже для мечтаний о создании всесильного искусственного интеллекта. Эта история — о том, как осознание непреодолимой границы стало одним из самых мощных интеллектуальных достижений человечества, чётко очертив то, что мы можем знать, и указав на бескрайние области того, что мы знать не в силах.

Читать далее

Как азелаиновая кислота убирает пятна с кожи (коротко — довольно хитро)

Tue, 12/30/2025 - 16:29

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

Но есть две вещи, за которые мы зацепились особенно крепко.

Первая: резистентность к азелаиновой кислоте у бактерий развивается значительно реже, чем к антибиотикам. Это принципиально важно, потому что Cutibacterium acnes переходит в суперустойчивые штаммы.

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

Читать далее

Как кризис оперативной памяти повлияет на видеокарты и консоли новых поколений

Tue, 12/30/2025 - 15:59

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

Читать далее

Домино

Tue, 12/30/2025 - 15:58

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

Читать далее

Настройка Linux после установки: терминал, GNOME и расширения на примере Ubuntu

Tue, 12/30/2025 - 15:49

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

Настроить свой Linux

Плагины с человеческим лицом: истории комьюнити OpenIDE

Tue, 12/30/2025 - 15:43

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

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

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

Читать далее

Самая странная игра по кибербезопасности от Министерства обороны США

Tue, 12/30/2025 - 15:31

Каждый год сотрудники Министерства обороны США проходят обязательное обучение по кибербезопасности. На практике это обычно просто еще одна скучная формальность: пролистал, нажал «далее», получил галочку - и пошел дальше работать.

Но если не спешить и внимательно посмотреть на то, что именно предлагает это обучение, оказываешься в довольно странном месте. Перед тобой вдруг появляется полноценная… игра. Очень специфическая игра. Со странным сценарием и запоминающимися персонажами. Давайте разбираться

Читать далее про геймификацию тренингов

Гадание на взломах. Предсказательная сила EPSS

Tue, 12/30/2025 - 15:28

В конце года принято подводить итоги и делать предсказания. Давайте совместим оба ритуала и посмотрим, насколько лучше эксперты СайберОК могли бы контролировать поверхность атак, если бы слепо верили в магию EPSS. Спойлер: контролировали бы не очень.

Читать далее

MCP сервер для заказа продуктов из ВкусВилла: сделай своего агента

Tue, 12/30/2025 - 15:20

Привет! Я Сабина из Центра экспертизы ИИ, ВкусВилл. И у нас есть новости.

В этом году у ВкусВилл появился новый тип клиентов – агенты. Благодаря Perplexity, OpenAI, Яндекс и др. стало возможным делегировать заказ продуктов браузерному агенту. По промпту пользователя он, имитируя действия человека, сходит на сайт и от его имени сделает заказ. Это впечатляет, но сложно не заметить минусы: работает медленно, тратит много токенов. Здорово, что агенты могут ходить клиентскими путями человека, но им нужны свои пути. И новость следующая:

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

Читать далее

[Перевод] Скрипты фронтенда и sudo в Zabbix

Tue, 12/30/2025 - 15:20

Всем привет! Мы делаем проекты по Zabbix, накопили большую экспертизу и решили сделать переводы нескольких статей, которые нам показались интересными и полезными. Наверняка, будут полезны и вам. Также своим опытом делимся в телеграм-канале zabbix_ru, где вы можете найти полезные материалы и записи наших вебинаров, опубликованных на нашем ютуб-канале (прим. переводчика). Ниже ссылки на предыдущие статьи из цикла.

Миграция с MySQL на PostgreSQL

SELinux: интеграция с Zabbix и другими инструментами

Защита от ложных срабатываний триггеров в Zabbix с использованием функций min/max/avg

Zabbix – автоматизация управления пользователями (JIT)

Двухфакторная аутентификация (2FA) в Zabbix 7.0

Как настроить прием SNMP-трапов в Zabbix

Отчетность в Zabbix 7.0

Установка и базовое использование Item Browser в Zabbix

В этой статье рассказывается, как легко активировать глобальные скрипты интерфейса в Zabbix и демонстрируются три примера. Подробности под катом.

Читать далее

Scala Digest. Выпуск 36

Tue, 12/30/2025 - 15:07

Привет, Хабр! Мы — Настя, Эвелина и Михаил — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Всех с наступающим Новым годом, желаем сходимости типов во всей вашей жизни! 

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать тридцать шестой выпуск

От «Мистера Робота» до «Разделения»: подборка сериалов на новогодние каникулы, чтобы отвлечься от бэклога

Tue, 12/30/2025 - 14:55

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

Команда Профи.ру сделал подборку сериалов, которые особенно зайдут айтишникам (и не только): про технологии, корпорации, свободу воли, стартапы и людей в IT.

Читать далее

Исследование и анализ структуры файла ECG кардиографа Кардиан-ПМ

Tue, 12/30/2025 - 14:24

Четыре года назад у меня Хабре была статья про цифровой проприетарный формат кардиограммы, структуру которого я попытался разгадать по максимуму. В результате мне удалось увидеть формы сигналов сторонними программными инструментами, в том числе и в аудиоредакторе. Более того, я разобрался, как вычислить недостающие 4 отведения, так как в файле было записано только 8 каналов. И в целом мне повезло с форматом представления цифровых данных: никаких там ADPCM 12 бит и близко не было.

В этом году пару месяцев назад мне пришлось столкнуться ещё с одним проприетарным форматом кардиограммы. На этот раз речь пойдёт о мобильном кардиографе белорусской компании «Кардиан». Основная его аппаратная часть – коробка с электроникой, куда подключаются через разъём электроды для снятия кардиограммы. Дополнительная часть – устройство со смартфоном на андроиде, оснащённое термопринтером. Обе части соединяются через Bluetooth. В основной части стоит современный популярный микроконтроллер STM32, но данная статья не про обратную разработку электроники.

Читать далее

Kotlin и контекстные параметры

Tue, 12/30/2025 - 14:21

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

Cегодня разберём экспериментальную фичу Kotlin 2.2 — контекстные параметры. C помощью контекстных параметров функции и свойства могут объявлять зависимости, которые неявно передаются при вызове.

Допустим, есть сервис логирования UserService, который нужно часто передавать во многие функции. Без контекстных параметров пришлось бы всюду писать fun outputMessage(users: UserService, msg: String). С параметрами контекста достаточно объявить функцию так:

Читать далее

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

Tue, 12/30/2025 - 14:15

Часто дизайнеры и разработчики живут в разных вселенных. Одни думают о пикселях и user flows, другие — о latency & database queries. Но именно на стыке этих дисциплин рождаются самые эффективные и надёжные продукты. Давайте посмотрим, как ваши дизайн-решения могут стать первым и самым важным рубежом обороны для бэкенда.

Смотреть принципы →

от онтологии оливье к онтологии Деда Мороза

Tue, 12/30/2025 - 14:11

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

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

Читать далее

[Перевод] Основы виртуальной памяти

Tue, 12/30/2025 - 14:10

Задумывались ли вы о том, зачем компьютерам нужна оперативная память (ОП, RAM), когда у них уже есть дисковое хранилище (диск)? Ответ кроется в скорости доступа. Хотя диск является постоянным, он намного медленнее, чем ОП. ОП жертвует изменчивостью ради скорости - данные исчезают при выключении питания, но время доступа гораздо меньше. Как следствие, центральный процессор (ЦП, CPU) имеет доступ только к ОП, а не к диску.

ЦП имеют встроенные регистры, которые еще быстрее, чем ОП. Тогда зачем нам вообще ОП? Затем, что количество и размер регистров ограничены. Представьте функцию, которой нужно работать с тысячью переменных - все они не поместятся в регистры. Что если нам нужно хранить большие структуры данных, такие как массивы или объекты? У регистров нет емкости (capacity). Вот где в игру вступает ОП - она предоставляет пространство, необходимое для обработки больших и сложных данных.

Читать далее

Who's online

There are currently 1 user and 1 guest online.