Habr.com

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

Реляционные базы данных в книге «Двенадцать стульев»: как устроен архив Коробейникова

Mon, 06/30/2025 - 14:14

Меня зовут Екатерина Петрова, я автор медиа «вАЙТИ» и аналитик. Перечитывая свой любимый роман И. Ильфа и Е. Петрова «Двенадцать стульев», а именно сцену с архивариусом Коробейниковым, я вдруг поняла: его бумажный архив ордеров на имущество бывших дворян не что иное, как идеальный пример реляционной базы данных. Алфавитные указатели — это индексы, книги учета — таблицы с первичными ключами, ордера — настоящие транзакции.

Читать далее

«Тупой ИИ» с нами надолго. Почему в новых моделях больше галлюцинаций

Mon, 06/30/2025 - 14:01

В последние несколько месяцев ведущие модели обновились с функцией «рассуждений» (reasoning). Предполагалось, что качество ответов улучшится. Но последующие тесты показали, что уровень галлюцинаций сильно вырос. И это не какая-то случайная недоработка разработчиков, а фундаментальное свойство. Сейчас становится очевидным, что от галлюцинаций мы не избавимся никогда. Читать дальше →

Статья 1: Введение в MV шаблоны

Mon, 06/30/2025 - 14:00

Серия статей с очередным разбором MV* шаблонов, но с интересными деталями
Даже опытные разработчики смогут найти что-то новое для себя

Это первая статья из серии, которая является подводкой к самому интересному
Вспоминаем что такое MVC и MVP

Статья 1: Введение в MV шаблоны
-

Личный опыт: как ChatGPT помог выбрать смартфон

Mon, 06/30/2025 - 14:00

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

Читать далее

Электронный курвиметр

Mon, 06/30/2025 - 13:55

Идея создания электронного курвиметра возникла в процессе разработки инструментальной выверки вращающейся печи. Для точного измерения диаметров опорных роликов и определения их износа необходимо было создать специальный прибор.

Износ роликов, возникающий в результате неправильной работы печи, требует ремонта, который заключается в шлифовке и выравнивании их профиля.

Читать далее

[Перевод] Как я убедил виртуальную машину, что у неё есть кулер

Mon, 06/30/2025 - 13:48

Зачем вообще этим заморачиваться?

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

wmic path Win32_Fan get *

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

Зловредное ПО может определять, запущено ли оно в виртуальной машине, множеством разных способов. Есть различные классы WMI, позволяющие обнаружит присутствие виртуальной машины, например, Win32_CacheMemory, Win32_VoltageProbe и множество других.

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

Читать далее

weakref.finalize: «почти IDisposable» для Python-объектов

Mon, 06/30/2025 - 13:43

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

Я не знаю, как у вас, а у меня перед глазами все еще маячат толстенные исходники WinForms-эра на C#, где любой порядочный объект, умеющий держать ручку к файлу или сокету, строго реализует IDisposable. Закрыл — молодец, забыл — получи warning от IDE и пару нехороших утечек в production.

В Python, увы-ях, аналогичный контракт традиционно строили на del и контекст-менеджерах. Первый: если объект в циклическом мусоре, финализатор может не вызваться вообще; к тому же при выключении интерпретатора порядок разрушения объектов хаотичен. Второй (with ... as) шикарен, но требует явного вызова, а значит — дисциплины.

С выходом PEP 442 и появлением weakref.finalize мы получили «почти IDisposable» — финализатор, которому не страшны циклы, и который честно отработает даже на shutdown, если правильно обращаться.

Читать далее

HPC 2025: Революция вычислений от кластеров к платформам — как суперкомпьютеры становятся сервисом

Mon, 06/30/2025 - 13:40

Ещё недавно суперкомпьютеры были чем-то вроде космической станции: дорого, сложно и только для избранных. Но мир HPC стремительно меняется — жёсткие конструкции устарели, бизнес требует гибкости, скорости и адаптивности под любые задачи. Старые вычислительные гиганты уже не вывозят, и будущее за платформами, которые превращают высокие вычисления в удобный сервис. 

Меня зовут Алексей Зотов, я руководитель направления ИТ-инфраструктуры в К2 НейроТех. Это подразделение, которое мы в К2Тех запустили, опираясь на 19-летний опыт в сфере строительства и технического сопровождения кластеров суперкомпьютеров

И вот работая в это сфере уже который год, я давно наблюдаю, что бизнес отказывается от простого наращивания мощностей в пользу гибких платформенных решений, которые можно настраивать под конкретные задачи. В этой новой реальности HPC (High-performance computing cluster – высокопроизводительные вычисления) превращается из элитного инструмента в ключевой сервис, меняющий подход к инновациям и цифровой трансформации. Давайте разберёмся, как происходит эта революция и почему 2025 год станет поворотным для высокопроизводительных вычислений.

Читать далее

Подход к оценке “живой” инфраструктуры и построению disaster recovery

Mon, 06/30/2025 - 13:30

Большинство проектов не имеют нормального плана восстановления после падений. Если план и присутствует, скорее всего, в нем покрыты не все кейсы, и часть из них, возможно, устарела. При этом задач на подготовку восстановительных процедур никто не ставит. Зато сразу после падений начинаются вопросы к технарям: почему вы не заботитесь о сервисах как следует?

На самом деле создать disaster recovery план — т.е. набор документов и инструкций, в которых указано, как именно восстанавливать сервис — не так сложно. Как это сделать, читайте в статье.

Читать далее

Подводные камни у материнских плат из Поднебесной

Mon, 06/30/2025 - 13:15

Сегодня я расскажу, как мы обнаружили проблемы с производительностью на современном китайском оборудовании, которое можно встретить в ЦОДах крупных российских компаний.

Печальная история о том, как 10 материнских плат Gooxi из Шеньчженьска оказались критически непригодными для использования в НЕ самых сложных задачах.

График ниже показывает с чем мы столкнулись. При использовании серверного решения Труконф обнаружили проблему: служба видеоконференцсвязи нагружала систему значительно сильнее, чем должна была.

В первую очередь подумали на процессор, но замена укомплектованного Xeon Gold 6336Y на Xeon 4316 не решила проблему с производительностью.

А вот замена материнской платы Gooxi на проверенную SuperMicro при тех же составляющих дала ощутимый рост. При работе на 10 ядрах — более чем в 2 раза.

Для чистоты эксперимента на SuperMicro были протестированы на комплектном Xeon Gold 6336Y и на Xeon 4316, результаты можете наблюдать сами.

Читать далее

[Перевод] Мне нужен хороший параллельный компьютер

Mon, 06/30/2025 - 13:15

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

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

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

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

Читать далее

Обзор интеграционной платформы «ЭНЕРБАС»

Mon, 06/30/2025 - 13:15

На связи Сергей Скирдин, технический директор компании «Белый код». Поставил себе цель — сделать обзоры на шины данных из реестра отечественного ПО. Сегодня в обзоре продукт «ЭНЕРБАС».

Читать далее

Регулярные выражения простыми словами. Часть 3

Mon, 06/30/2025 - 13:08

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

Я сплю на рабочем месте и вам советую

Mon, 06/30/2025 - 13:04

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

Читать далее

Совместная работа за 500: как объединить сотни сотрудников и выстроить эффективные процессы

Mon, 06/30/2025 - 12:58

В своей предыдущей статье я рассказала о том, какие инструменты совместной работы подойдут для компаний среднего размера, которые справились с активным ростом и задумались о повышении эффективности работы. Сегодня поговорим о том, что нужно взрослым компаниям — мы называем их Small Enterprise. Это компании со средней численностью сотрудников от 500 человек, с четкой развитой структурой компании, множеством отделов, руководителей, заместителей и т.д.  

Сегодня на рынке есть очевидный дефицит высокоэффективных специалистов — из-за большой конкуренции за кадры они часто меняют место работы, или даже сферы деятельности. Бизнесу важно не только удерживать таких сотрудников, но и научиться получать максимум эффективности, работая с имеющимися кадрами. Задачу решают цифровые инструменты. Но если раньше они охватывали порядка 20% сотрудников — тех, кто работает в офисе, то сейчас задача крупных компаний в том, чтобы предоставить цифровые решения оставшимся 80% сотрудников, работающим в полях. 

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

Читать далее

Топ-25 полезных ботов в Телеграм, от планеров до поисковиков

Mon, 06/30/2025 - 12:55

Телеграм – мессенджер с мощным API, позволяющим создавать самых сложных ботов. Тут можно найти помощника для любой цели: посоветовать фильм, написать список задач на день и даже поболтать на английском. Но проблема в том, что в ТГ нет поиска по ботам, поэтому даже самые крутые инструменты часто остаются незамеченными.

Мы с командой протестировали десятки сервисов и выбрали самые полезные боты в Телеграм, которые делают жизнь проще. На момент публикации статьи они все функционируют, почти все – бесплатные.

Читать далее

Docker Demo IDM Midpoint EPPL c трудоустройствами, назначениями, проектами и LDAP

Mon, 06/30/2025 - 12:53

Долгие отношения с IDM Midpoint не могли пройти без последствий, так родилось это DEMO под названием EPPL - Employment Position Project LDAP. Как видно из названия это продолжение статей про концепцию Сотрудник Трудоустройства и Назначения на Должность в Midpoint. Но DEMO гораздо больше чем просто перенос кода, когда я описывал концепцию это был поиск, погоня за идей, которая местами уводила не в то место или просто что-то упускалось. В DEMO же во-первых все оттестировано(те функции что показаны ниже), найдена масса моих багов и к сожалению много переписано.. Комментировать код на этот раз не буду, но все что сделано-переделано отражено на окончательной схеме.

Читать далее

[Перевод] Как я использую терминал

Mon, 06/30/2025 - 12:43

Я посвящу этой теме целый пост, потому что она «не помещается в окно Овертона»; чтобы люди хотя бы начали понимать, что я пытаюсь описать, мне обычно приходится показывать видео, которое я выложил под катом.

Читать далее

Продакты в Китае: как мы искали вдохновение для 2ГИС в стране, где навигация — это искусство

Mon, 06/30/2025 - 12:35

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

В этом посте расскажем, как мы искали вдохновение и свежие идеи для 2ГИС в Китае. Мы съездили туда командой продактов и дизайнеров транспорта: изучили местные навигационные приложения, культуру и протестировали транспортные сценарии в их естественной среде обитания.

Читать

Python asyncio, блокировка цикла событий

Mon, 06/30/2025 - 12:16

Блокировка event loop довольно серьезная проблема в асинхронных приложениях, потому что приводит к замедлению не конкретного запроса пользователя, а сразу всех запросов пользователей. Так давайте разберемся, что же это значит и, насколько это страшно и для разработчика и для клиентов сервиса.

Читать далее

Who's online

There are currently 0 users and 1 guest online.