Habr.com

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

Когда линковщик предаёт: как одинаковые символы из разных библиотек ломают ваше приложение

Sun, 04/20/2025 - 13:15

При линковке приложения с двумя статическими библиотеками, в которых определён один и тот же символ, возникает классическая и потенциально фатальная проблема — двойное определение символа. Вроде бы всё просто: multiple definition — ошибка, надо переименовать. Но не тут-то было.

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

Читать далее

«Сейчас за такое нас бы уничтожили» — Джеймс Кэмерон о кастинге Васкез из «Чужих» (1986)

Sun, 04/20/2025 - 13:05

Воспоминания постановщика об истоках дизайна героини и её смартгана.

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

День в пехоте — всё равно, что день в раю!

Путешествие на Эверест с детьми: мой личный опыт

Sun, 04/20/2025 - 13:00

Что бы вы ответили на предложение подняться к базовому лагерю Эвереста с маленькими детьми (предположим, они у вас есть)? Наверное, что это безумная идея. Но на самом деле все не так страшно — и это я говорю, основываясь на собственном опыте. Сложно? Безусловно. Но для нас это того стоило: впечатления останутся на всю жизнь.

Мы с мужем покоряли тропы Гималаев в Северной Индии, шагали по горам Таджикистана и Кыргызстана, прошли десятки километров по просторам Патагонии. И все же ничто не сравнится с тем, что мы пережили, отправившись к базовому лагерю Эвереста.

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

Читать далее

Проектирование и расчет полумостового преобразователя на ферритовом кольце

Sun, 04/20/2025 - 12:54

В современной силовой электронике полумостовые преобразователи (half-bridge converters) занимают особое место как одна из самых универсальных и широко применяемых топологий для преобразования DC-DC и DC-AC. Сочетая простоту конструкции с высокой эффективностью, эти преобразователи позволяют преобразовывать входное напряжение в более высокое или низкое выходное напряжение. Так же данный тип преобразователя обеспечивает гальваническую развязку выхода от входа, что значительно расширяет области применения данной топологии. Так же следует добавить что транзисторы в данной топологии работают с более низкими напряжения, в отличии от пуш-пульной схемы где на каждый транзистор приходится удвоенное входное напряжение.

Читать далее

[Перевод] Настройка soft-AP с использованием модуля Espressif и ESP-IDF

Sun, 04/20/2025 - 12:24

Перевод статьи с небольшими правками для ESP-IDF 4.4.5.
В этом руководстве показано, как настроить soft-AP с использованием модуля Espressif и ESP-IDF. Оно охватывает процесс создания проекта, настройки Wi-Fi и обработки событий подключения с помощью event loop и логирования.

В любом Wi-Fi-приложении первым шагом является установление соединения между устройством и маршрутизатором. В терминологии Wi-Fi устройство называется станцией (STA), а маршрутизатор — точкой доступа (AP). В большинстве случаев модуль Espressif работает как станция, подключаясь к существующему маршрутизатору. Однако перед этим пользователь должен пройти процесс provisioning — то есть ввести SSID и пароль маршрутизатора.

Существует несколько способов provisioning, но наиболее распространённые — это через Bluetooth и Wi-Fi. При использовании Wi-Fi процесс обычно выглядит следующим образом:

Читать далее

OpenBLAS/gemm отстаёт на RISC-V

Sun, 04/20/2025 - 12:15

В ходе недавних исследований мы выполнили комплексное тестирование производительности математической библиотеки OpenBLAS на платформе RISC‑V и выявили существенную разницу в скорости выполнения ключевой операции матричного умножения cblas_sgemm по сравнению с архитектурой x86 — производительность оказалась значительно ниже. cblas_sgemm — функция для умножения матриц, состоящих из 32-разрядных вещественных чисел. Хотелось бы обратить внимание на то, что функция матричного умножения gemm, соответствующая стандартам BLAS, используется во многих библиотеках и алгоритмах. А OpenBLAS — одна из самых популярных реализаций стандарта BLAS с оптимизацией под различные платформы.

Так на x86_64 OpenBlas получает производительность примерно 80–90% от теоретического максимума процессора. А на Risc‑v примерно 20–25%. Также была рассмотрена самостоятельно реализованная функция перемножения матриц mini‑gemm по алгоритму описанному в статье. При этом наша реализация получает производительность 30–35% от максимума. Из чего встает два вопроса: почему на RISC‑V не получили 80%, как на x86_64 и как так вышло, что наша реализация обогнала OpenBLAS.

Читать далее

[Перевод] Лучшие практики для работы с агентным программированием от Anthropic

Sun, 04/20/2025 - 12:00

Claude Code — это инструмент командной строки для агентного программирования.

В этой статье от Anthropic рассматриваются советы и приемы, которые доказали свою эффективность при использовании Claude Code в различных кодовых базах, языках и средах.

Читать далее

В поисках острова стабильности. От циклотронов до пояса астероидов

Sun, 04/20/2025 - 11:51

Сегодня я вновь затрону полюбившуюся моим читателям тему знаковых иллюстраций в науке и напомню об одной из важнейших идей на стыке химии и физики, появившихся в XX веке. Это недостижимый (пока?) «остров стабильности» - область дальних трансурановых химических элементов, период полураспада которых значительно дольше, чем у более лёгких атомов, расположенных между ураном и «ближней отмелью» этого «острова». Гипотезу о существовании «острова стабильности» была выдвинута в середине 1960-х, а получением элементов, теоретически расположенных на этом «острове» в 2000-2010 занимались группы физиков из Дубны, Дармштадта и Ливермора. Благодаря их усилиям, удалось достроить последний полный период таблицы Менделеева, известный в настоящий момент. Он начинается с франция (Fr), открытого в 1937 году и радия (Ra), открытого в 1898 году, а заканчивается оганесоном (Og), открытым в 2002-2005 годах под руководством Юрия Цолаковича Оганесяна.

Читать далее

Управление проектами: дайджест публикаций #30

Sun, 04/20/2025 - 11:34

Модель Белбина, парадокс Моравека и пирамида Минто, ресурсное планирование и классические законы разработки ПО, юз-кейсы и нескучные ретроспективы, а также много и интересно про управление рисками - всё интересное, что писали на этой неделе про управление проектами. Мы прочитали все публикации и выбрали для вас самые крутые и полезные. Читайте, сохраняйте и применяйте!

Читать далее

Game Engine 3 — оболочка для визуального программирования игр на Python (от идеи до реализации)

Sun, 04/20/2025 - 11:16

Привет, Хабр! Сегодня я хочу рассказать о своём проекте — «Game Engine 3», программной оболочке для создания двумерных игр и приложений.

Game Engine 3 — это инструмент для создания 2D‑игр с физикой и анимацией. С открытым исходным кодом, интуитивным редактором визуального программирования на основе нодов и возможностями работы с графикой, физикой и анимацией, он подходит как для новичков, так и для профессионалов. В этой статье разберем, что делает эту оболочку уникальной.

Читать далее

Так прав или неправ правый руль? Или грустная повесть настоящего разведчика данных

Sun, 04/20/2025 - 10:29

Я вожу машину и живу на Дальнем Востоке России. Праворульные изделия японского автопрома доминируют в парке личного автотранспорта. Периодически возникают холивары на тему запрета праворульных авто, ввиду их повышенной аварийности при правостороннем движении. Но вот убедительных доказательств тому нет, или есть?

Читать далее

[Перевод] Разбор уровней валидации

Sun, 04/20/2025 - 09:43

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

Почему это важно?
Выбор стратегии напрямую влияет на:

Читать далее

Presale менеджеры: увеличивают маржу и ведут IT-компании к успеху

Sun, 04/20/2025 - 04:02

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

Многие IT компании, пытаются сэкономить, полагаясь на обычных менеджеров по продажам (Sales менеджеров) на стадии pre-sale или не понимают необходимость отдельного сотрудника для этой роли. Это всегда не лучший подход, особенно когда проект требует точности, детализации и глубокой технической экспертизы. Сейчас мы подробно разберём, что такое pre-sale, что делает Pre-Sale менеджер, и почему для успешной реализации проекта лучше иметь отдельного Pre-Sale менеджера, а не доверять эту задачу обычному Sales менеджеру.

Читать далее

Умный дом на базе Home Assistant и Orange PI 3B в частном доме

Sun, 04/20/2025 - 03:05

В этой статье я расскажу о том, как делал для себя умный дом, выбрав в качестве платформы Home Assistant.

Мой выбор был обоснован от части желанием не зависить от проприетарных решений, а от части меня привлекла гибкость и возможность доработки под нестандартные сценарии. Также этот проект можно расценить как просто DIY-хобби.

Основные задачи, которые нужно было решить

- Управление отоплением - установки температуры в каждом помещении, а различные общие режимы: "Комфорт", "Не дома", "Только первый этаж", "Приеду завтра".

- Управление вентиляцией - режимы "Постоянно включена", "Включена с 23 до 7".

- Управление бойлером - "Постоянно включен", "с 23 до 7", "с 23 до 20".

- Периодическая откачка воды из колодца (чтобы не застаивалась).

Читать далее

Who's online

There are currently 0 users and 6 guests online.