← 6 августа 2025     

7 августа 2025 на Хабре было опубликовано 12 статей.

[Перевод] Как Senior Product Manager думают по-другому

Полагаю, каждый Product Manager хотел бы стать Senior Product Manager и на эту тему написано множество статей. Поэтому эта статья не о том, как получить повышение до старшего руководителя, а о том, как улучшить свое мышление и стать лучшим руководителем. Любой человек может мыслить как старший PM, независимо от его должности - и если у кого-то есть должность старшего PM, это еще не значит, что он ее заслуживает.

Читать далее

(Не)случайные числа в VBA Excel Ч. 2

Вторая часть из моего цикла исследований, посвященного генерации псевдослучайных чисел в скриптовом языке VBA, используемого в офисных приложениях от Microsoft.

Читать далее!

Лучшие статьи Хабра в июле 2025 года

С возвращением в ежемесячный дайджест Хабра! Прошло несколько месяцев с последнего выпуска, и я захотел узнать изменилось ли что-нибудь за это время на платформе?

Посмотрим, какие темы стали трендовыми в июле 2025, как поменялись интересы аудитории и кто из авторов оказался в центре внимания.

Этот выпуск особенный: с марта прошло четыре месяца, и важно понять - стал ли Хабр более техническим, более «историко-социальным» или окончательно ушёл в сторону лайфстайл-контента?

Внутри:

? Методология и критерии
? Топ по просмотрам, комментариям, закладкам и рейтингу
? Скрытые жемчужины
? Лучшие авторы месяца
? И аналитика главных трендов месяца.

Инфоцыгане тут?

[Перевод] React Custom Hook: useMediaQuery

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

Читать далее

Контракт с одним адресом на все EVM-блокчейны: как работает Safe Singleton Factory

Когда мне понадобилось задеплоить один и тот же контракт в разные EVM-сети с одинаковым адресом — оказалось, что всё не так просто. Даже если всё заранее посчитать и подготовить, любой лишний nonce может всё сломать.

В этой статье я разбираю, как вообще формируется адрес контракта при деплое (при использовании CREATE и CREATE2), зачем появился Deterministic Deployment Proxy, и почему Safe в итоге сделали свою версию — Safe Singleton Factory.

Расскажу, как ей воспользоваться через Remix, Foundry и Hardhat, на что стоит обратить внимание (например, при работе с байткодом), и какие грабли могут ждать при попытке всё упростить.

Читать далее

Вас наняли спасать проект — вот что пойдёт не так

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

Меня зовут Степан Сорокин, я Delivery-менеджер в Outlines Tech и руководитель проектов с опытом более 10 лет. Запускал процессы в стартапах и корпорациях. Почти в каждом проекте сталкивался с одной и той же проблемой: компания хочет внедрить Agile или другую методологию, но не готова действительно менять процессы и вкладывать в это ресурсы. От менеджера ждут, что он изменит всё сам, без поддержки сверху.

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

Читать далее

Язык Cangjie от Huawei — скачаем, запустим, попробуем

О том что Huawei обнародует собственный язык программирования новости ходили уже давно. Ещё в прошлом году при поиске работы мне уже предлагали работать с этим языком - правда "не сейчас а вот-вот вскоре" :) На тот момент компилятор и прочие инструменты ещё не были в открытом доступе. Сейчас же страница скачивания - вот она - под Linux, Windows и Darwin (да ещё и плагин к VSCode)!

В этой статье - беглый обзор. Я попробовал скачать-запустить и, пройдясь по разделам документации, описал основные фичи - так что вы можете сэкономить себе время и за 5-10 минут составить представление о Cangjie. Сразу скажу - чего-то оригинального, инновационного - я не заметил. Нет такого, чтобы как с Haskell, Erlang или Rust на первых порах пришлось ломать голову. Для программистов на Java, Go, C++ много будет довольно привычных вещей (можно сказать - "обокрали" эти языки тут и там понемногу).

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

Есть нюанс с примерами - Habr естественно не поддерживает подсветку синтаксиса для Cangjie (пока) - а для наглядности это желательно. Пожалуй буду вставлят картинками, за что заранее прошу извинения.

Читать далее

Откуда берется абсолютная инкапсуляция и зачем она нужна. Практика Архитектуры ПО, часть вторая

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

На идею этой статьи меня натолкнула следующее цитата брошенная в запале дискуссии:

Читать далее

AI Software Engineering: От хаоса Vibe Coding к системной разработке с AI-агентами

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

В этой статье мы исследуем эволюцию подходов к AI-разработке - от такого подхода как Vibe Coding к системной методологии AI Software Engineering (AI SWE), которая позволяет превратить AI-агентов в управляемый инструмент для создания больших и сложных систем.

Читать далее

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

Можно ли создать робота, который без рельсов перевезет 400 тонн и при этом не промахнется мимо точки разгрузки из-за прогиба шасси на 5 сантиметров? За два года работы над автономными мобильными роботами (AMR) для металлургических и машиностроительных предприятий мы выяснили — можно, но придется переизобрести половину алгоритмов навигации.

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

Читать далее

Ассиметрия в ревью

Как-то в одной известной компании решили упразднить процесс под названием "код-ревью". Упразднили не на уровне компании, а на уровне отдела, но в итоге упразднили не процесс, а того самого менеджера (по офицальный версии причины были другие, но мы-то знаем). Процесс (код-ревью), как видно, полезный, если способен пережить одного менеджера, но видно, вопросы к нему имеются. Код-ревью представляет собой взаимодейсвие автора пулл реквеста и ревьюера, что-то типа игры с ненулевой суммой, где та самая сумма аккумулируется между участниками процесса.

Фикс критической ошибки (не архитектурной или по дизайну системы, а именно ошибки/баги) не добавляет профита ревьюеру. При удачной фиче похвала и бонус пойдут автору. То есть действия ревьюрера приносят ноль ему и что-то автору. Хотя ревьюер может не только помочь, но и навредить - заблочить пул реквест (и иногда действительно такое случается), бизнес невилирует отрицательные последствия - вмержат только в путь, когда бабло начнет течь мимо кассы. Не беря во внимание совесть ревьюера, получить максимальный профит можно на дейликах (ведь для этого утренние созвоны и нужны, так ведь?) - аккурат перед мержем пулл реквеста упомянуть о критической неисправности.

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

Читать далее

Оптимизация снабжения и закупок: как обработка для 1С:ERP возвращает порядок в работу

«Разрозненность отделов снабжения и закупок – это не просто бюрократия, а прямая угроза эффективности бизнеса, – рассказывает Дина, cистемный аналитик 1С в Programming Store. – Пока одни сотрудники формируют потребности в Excel, другие вручную обрабатывают заказы, теряя время на согласование, исправление ошибок и поиск актуальных данных. Результат? Задержки, избыточные заказы и недовольство смежных подразделений. Как решить эту проблему, расскажу в статье»

Читать далее

← 6 августа 2025