Меня зовут Екатерина Петрова, я автор медиа «вАЙТИ» и аналитик. Перечитывая свой любимый роман И. Ильфа и Е. Петрова «Двенадцать стульев», а именно сцену с архивариусом Коробейниковым, я вдруг поняла: его бумажный архив ордеров на имущество бывших дворян не что иное, как идеальный пример реляционной базы данных. Алфавитные указатели — это индексы, книги учета — таблицы с первичными ключами, ордера — настоящие транзакции.
Читать далееСерия статей с очередным разбором MV* шаблонов, но с интересными деталями
Даже опытные разработчики смогут найти что-то новое для себя
Это первая статья из серии, которая является подводкой к самому интересному
Вспоминаем что такое MVC и MVP
Статья 1: Введение в MV шаблоны
-
Нейросети уже проникли во все сферы нашей жизни — работу, развлечения и даже быт. Разных версий так много, что разобраться в них сложно. Можно ли доверять нейросетям в важных вопросах? Если речь о здоровье — спорно. Но вот с выбором смартфона ChatGPT справился отлично. В этой статье расскажем, как он может помочь найти подходящую модель в каталоге «М.Видео».
Читать далееИдея создания электронного курвиметра возникла в процессе разработки инструментальной выверки вращающейся печи. Для точного измерения диаметров опорных роликов и определения их износа необходимо было создать специальный прибор.
Износ роликов, возникающий в результате неправильной работы печи, требует ремонта, который заключается в шлифовке и выравнивании их профиля.
Читать далееЗачем вообще этим заморачиваться?
Некоторые образцы malware выполняют различные проверки, чтобы определить, запущены ли они в виртуальной машине. Один из самых частых способов — проверка наличия определённых аппаратных компонентов, обычно не эмулируемых в виртуальных средах. Один из таких компонентов — кулер процессора. Например, malware может проверять наличие кулера процессора, поискав в WMI класс Win32_Fan:
wmic path Win32_Fan get *
Они делают это, чтобы не запускаться в виртуальных машинах, усложнив таким образом процесс анализа для исследователей безопасности.
Зловредное ПО может определять, запущено ли оно в виртуальной машине, множеством разных способов. Есть различные классы WMI, позволяющие обнаружит присутствие виртуальной машины, например, Win32_CacheMemory, Win32_VoltageProbe и множество других.
В этом посте я расскажу о кулере процессора. Мне просто понравилась идея убедить виртуальную машину, что он у неё есть. Однако такой же подход можно применить к другим аппаратным компонентам и классам WMI.
Читать далееПривет, Хабр!
Я не знаю, как у вас, а у меня перед глазами все еще маячат толстенные исходники WinForms-эра на C#, где любой порядочный объект, умеющий держать ручку к файлу или сокету, строго реализует IDisposable. Закрыл — молодец, забыл — получи warning от IDE и пару нехороших утечек в production.
В Python, увы-ях, аналогичный контракт традиционно строили на del и контекст-менеджерах. Первый: если объект в циклическом мусоре, финализатор может не вызваться вообще; к тому же при выключении интерпретатора порядок разрушения объектов хаотичен. Второй (with ... as) шикарен, но требует явного вызова, а значит — дисциплины.
С выходом PEP 442 и появлением weakref.finalize мы получили «почти IDisposable» — финализатор, которому не страшны циклы, и который честно отработает даже на shutdown, если правильно обращаться.
Читать далееЕщё недавно суперкомпьютеры были чем-то вроде космической станции: дорого, сложно и только для избранных. Но мир HPC стремительно меняется — жёсткие конструкции устарели, бизнес требует гибкости, скорости и адаптивности под любые задачи. Старые вычислительные гиганты уже не вывозят, и будущее за платформами, которые превращают высокие вычисления в удобный сервис.
Меня зовут Алексей Зотов, я руководитель направления ИТ-инфраструктуры в К2 НейроТех. Это подразделение, которое мы в К2Тех запустили, опираясь на 19-летний опыт в сфере строительства и технического сопровождения кластеров суперкомпьютеров.
И вот работая в это сфере уже который год, я давно наблюдаю, что бизнес отказывается от простого наращивания мощностей в пользу гибких платформенных решений, которые можно настраивать под конкретные задачи. В этой новой реальности HPC (High-performance computing cluster – высокопроизводительные вычисления) превращается из элитного инструмента в ключевой сервис, меняющий подход к инновациям и цифровой трансформации. Давайте разберёмся, как происходит эта революция и почему 2025 год станет поворотным для высокопроизводительных вычислений.
Читать далееБольшинство проектов не имеют нормального плана восстановления после падений. Если план и присутствует, скорее всего, в нем покрыты не все кейсы, и часть из них, возможно, устарела. При этом задач на подготовку восстановительных процедур никто не ставит. Зато сразу после падений начинаются вопросы к технарям: почему вы не заботитесь о сервисах как следует?
На самом деле создать disaster recovery план — т.е. набор документов и инструкций, в которых указано, как именно восстанавливать сервис — не так сложно. Как это сделать, читайте в статье.
Читать далееСегодня я расскажу, как мы обнаружили проблемы с производительностью на современном китайском оборудовании, которое можно встретить в ЦОДах крупных российских компаний.
Печальная история о том, как 10 материнских плат Gooxi из Шеньчженьска оказались критически непригодными для использования в НЕ самых сложных задачах.
График ниже показывает с чем мы столкнулись. При использовании серверного решения Труконф обнаружили проблему: служба видеоконференцсвязи нагружала систему значительно сильнее, чем должна была.
В первую очередь подумали на процессор, но замена укомплектованного Xeon Gold 6336Y на Xeon 4316 не решила проблему с производительностью.
А вот замена материнской платы Gooxi на проверенную SuperMicro при тех же составляющих дала ощутимый рост. При работе на 10 ядрах — более чем в 2 раза.
Для чистоты эксперимента на SuperMicro были протестированы на комплектном Xeon Gold 6336Y и на Xeon 4316, результаты можете наблюдать сами.
Читать далееВидеокарта в вашем компьютере мощнее процессора в 10, а то и в 100 раз — это зависит от конкретной задачи. В задачах машинного обучения и рендеринга графики в реальном времени мы с удовольствием пользуемся этой мощью видеокарт, так как решать эти задачи на процессорах нецелесообразно. Почему мы не пользуемся этими возможностями для вычислений других видов? Что не даёт видеокартам превратиться в вычислительные устройства более общего назначения?
Я считаю, что существуют два основных фактора, которые этому мешают. Первый — ограниченная модель выполнения операций, из-за которой некоторые задачи либо сложно, либо невозможно решать эффективно. GPU замечательно справляются с обработкой больших блоков данных предсказуемой формы, например — с умножением плотных матриц, но испытывают трудности с динамическими нагрузками. Второй фактор — это наши несовершенные языки программирования и инструменты. Программировать параллельные компьютеры гораздо сложнее, чем обычные.
Современный видеоускоритель — это ещё и невероятно сложная система, которая постоянно становится всё сложнее. Новые возможности, вроде сеточных шейдеров (mesh shader) и графов задач (Work Graphs) хорошо описывает фраза «два шага вперёд, шаг назад». С каждой новой возможностью связана некая базовая задача, поддержка решения которой реализована не полностью.
Я уверен в возможности существования более простых и мощных параллельных компьютеров. В исторических материалах можно найти сведения, подтверждающие эту уверенность. Будь наша вселенная немного иной — сейчас у нас были бы такие компьютеры. Мы бы проектировали алгоритмы и писали бы программы, которые хорошо на них работают, решая с помощью таких компьютеров широкое множество разнообразных задач.
Читать далееНа связи Сергей Скирдин, технический директор компании «Белый код». Поставил себе цель — сделать обзоры на шины данных из реестра отечественного ПО. Сегодня в обзоре продукт «ЭНЕРБАС».
Читать далееОднажды в разгар рабочего дня я прикрыл глаза — и буквально за секунду провалился в сон. Просто отключился. Через минут 15 проснулся свежий, бодрый, и сразу пошел работать дальше. С тех пор я начал практиковать короткий сон. И это стало одним из трех моих секретов продуктивного дня.
Читать далееВ своей предыдущей статье я рассказала о том, какие инструменты совместной работы подойдут для компаний среднего размера, которые справились с активным ростом и задумались о повышении эффективности работы. Сегодня поговорим о том, что нужно взрослым компаниям — мы называем их Small Enterprise. Это компании со средней численностью сотрудников от 500 человек, с четкой развитой структурой компании, множеством отделов, руководителей, заместителей и т.д.
Сегодня на рынке есть очевидный дефицит высокоэффективных специалистов — из-за большой конкуренции за кадры они часто меняют место работы, или даже сферы деятельности. Бизнесу важно не только удерживать таких сотрудников, но и научиться получать максимум эффективности, работая с имеющимися кадрами. Задачу решают цифровые инструменты. Но если раньше они охватывали порядка 20% сотрудников — тех, кто работает в офисе, то сейчас задача крупных компаний в том, чтобы предоставить цифровые решения оставшимся 80% сотрудников, работающим в полях.
Фокус внимания расширяется и компании стараются охватить всех сотрудников, объединить их с помощью инструментов совместной работы. Это даёт возможность удерживать сильные кадры, убеждая каждого сотрудника в его значимости и ценности для компании. Мы в Битрикс24 на собственном примере доказываем, что успех бизнеса зависит не от того, сколько людей в компании, а от того, насколько слаженно они работают вместе. И мы поддерживаем в своих продуктах текущие тренды, подстраиваемся под изменения рынка. Поэтому сегодня мы поговорим об инструментах совместной работы, которые полезны крупному бизнесу и сделаем акцент как раз на инструментах привлечения синих воротничков.
Читать далееТелеграм – мессенджер с мощным API, позволяющим создавать самых сложных ботов. Тут можно найти помощника для любой цели: посоветовать фильм, написать список задач на день и даже поболтать на английском. Но проблема в том, что в ТГ нет поиска по ботам, поэтому даже самые крутые инструменты часто остаются незамеченными.
Мы с командой протестировали десятки сервисов и выбрали самые полезные боты в Телеграм, которые делают жизнь проще. На момент публикации статьи они все функционируют, почти все – бесплатные.
Читать далееДолгие отношения с IDM Midpoint не могли пройти без последствий, так родилось это DEMO под названием EPPL - Employment Position Project LDAP. Как видно из названия это продолжение статей про концепцию Сотрудник Трудоустройства и Назначения на Должность в Midpoint. Но DEMO гораздо больше чем просто перенос кода, когда я описывал концепцию это был поиск, погоня за идей, которая местами уводила не в то место или просто что-то упускалось. В DEMO же во-первых все оттестировано(те функции что показаны ниже), найдена масса моих багов и к сожалению много переписано.. Комментировать код на этот раз не буду, но все что сделано-переделано отражено на окончательной схеме.
Читать далееЯ посвящу этой теме целый пост, потому что она «не помещается в окно Овертона»; чтобы люди хотя бы начали понимать, что я пытаюсь описать, мне обычно приходится показывать видео, которое я выложил под катом.
Читать далееВ работе продакт-менеджера важную роль играет Product Discovery — процесс, в котором мы формируем понимание пользовательских потребностей, проверяем гипотезы и находим точки роста для продукта. Один из нестандартных способов углубить это понимание — выйти за пределы привычного рынка и погрузиться в другую среду.
В этом посте расскажем, как мы искали вдохновение и свежие идеи для 2ГИС в Китае. Мы съездили туда командой продактов и дизайнеров транспорта: изучили местные навигационные приложения, культуру и протестировали транспортные сценарии в их естественной среде обитания.
ЧитатьБлокировка event loop довольно серьезная проблема в асинхронных приложениях, потому что приводит к замедлению не конкретного запроса пользователя, а сразу всех запросов пользователей. Так давайте разберемся, что же это значит и, насколько это страшно и для разработчика и для клиентов сервиса.
Читать далее