В прошедшем июне исполнилось 25 лет первому релизу OpenCV. Господи, как летит время! Кажется, только вчера мы писали первые строчки. А уже четверть века с тех пор прошло. Самое время вспомнить, как все начиналось. Я не ставил себе целью рассказать в этой статье полную историю OpenCV — есть замечательная книга Гари, отличная статья в интеловом блоге и много других материалов. А у меня — скорее взгляд изнутри на то, как зарождался де-факто стандарт компьютерного зрения, размышления о причудливых развилках пути и факторе везения в технологии и дань уважения людям, с которыми мне довелось поработать.
Читать далееПочему в проектах постоянно возникают проблемы, которые приводят к увеличению сроков и бюджета? Как так вышло, что даже при наличии регламента взаимодействие ваших сотрудников напоминает сюжет басни «Лебедь, рак и щука»? Почему руководству приходится тратить свое дорогостоящее время на изучение отчета и извлечение внятной информации по проекту?
Не спешите во всем винить сотрудников. Разберитесь сначала в причинах проблем. И сделать это можно, если провести оценку проектного управления по разным направлениям: от оценки результативности до зрелости проведения совещаний. Как это сделать и какие бывают способы оценки, читайте в этой статье.
Читать далееГде брать идеи для игры, когда в голове идей уже не осталось? Статья является вольным переводом отрывка из видео, который понравился автору. Автор посчитал эту информацию полезной и решил поделиться ей с сообществом.
Читать далееПривет, Хабр! На связи команда UserGate uFactor, и мы снова хотим рассказать о наших исследованиях в области кибербезопасности. Этот материал — продолжение рассказа о вредоносном программном обеспечении, используемом в кибератаках. В прошлый раз мы рассказывали о мощном ВПО DarkWatchman, в этот — рассмотрим не самый сложный вредонос, использующий скомпилированные сценарии на скриптовом языке AutoIt. Злоумышленники часто используют этот язык для создания ВПО.
AutoIt — свободно распространяемый язык для автоматизации выполнения задач в Microsoft Windows. Он позволяет создавать скрипты автоматизации (иногда называемые макросами), способные имитировать действия пользователя, такие как текстовый ввод и воздействие на элементы управления системы и программ, а также реагировать на события (например, выполнять определенные действия при открытии окна с определенным заголовком). Такие скрипты полезны для выполнения часто повторяющихся задач, таких как инсталляция идентичных наборов программ на большое количество компьютеров.
Язык AutoIt прост, внешне схож с Visual Basic и по функциональности близок к языкам общего назначения, но отличается от них наличием встроенных средств, легко предоставляющих доступ к событиям, процессам, элементам графического интерфейса системы и программ. Язык включает GUI-фреймворк, позволяющий использовать в скриптах несложные Windows-формы с типовыми графическими компонентами.
Рассмотрим на примере один из таких образцов ВПО. Подробнее об AutoIt можно почитать на сайте разработчика.
Для анализа PE-файла необходимо сначала получить общую информацию о нем. Для этого можно воспользоваться программным обеспечением Detect It Easy.
Читать далееПри создании временных таблиц в PostgreSQL изменяются до 13 таблиц системного каталога, при этом особенно сильно разрастаются pg_attribute, pg_class, pg_depend и pg_type. Массовое создание и усечение временных таблиц активно применяется, в том числе в 1C:ERP. В статье рассматриваются особенности работы с временными таблицами и описано решение проблемы раздувания таблиц системного каталога, реализованное в СУБД Tantor Postgres.
Читать далееНесмотря на обилие моделей (а я время от времени использую четыре топовые), всё-таки на стыке моих технологий GPT-4.1 даёт лучший результат по сравнению с другими.
... я каждый раз сохраняю эти компоненты в файл Google Документы. И каждый раз при генерации новой функции или целого компонента я "вскармливаю" текст из этого документа именно в формате текста. В общем, эта штука работает хорошо.
Пожалуйста, объясни как ты понял мою проблему, почему я считаю что это важно, как ты собираешься это решать и что будет правильным решением.
Читать далееДекомпиляция — это не магия, а очень упрямый, скрупулёзный и грязноватый процесс, где каждый байт может оказаться фатальным. В этой статье я разложу по винтикам, как мыслят современные декомпиляторы: как они восстанавливают структуру кода, зачем строят SSA, почему не верят ни одному call’у на слово, и как Ghidra и RetDec реализуют свои механизмы под капотом. Это не глянцевый обзор, а техразбор, вплоть до IR, реконструкции управляющего графа и попытки угадать типы переменных там, где они уже испарились. Будет сложно, но весело.
CALL more_textКогда вы ленитесь выйти из-за компа и заказываете доставочку, зарабатывают трое.
– Сервис доставки
Например, Яндекс.еда сразу скушает свой процент.
– Ресторан/магазин
– Курьер
Человек, который пилит к вам и в дождь, и в снег.
А еще зарабатываю я.
Читать далееИтак, вы столкнулись с проблемой расширения традиционных систем хранения данных. С одной стороны, не хочется терять уже функционирующие внешние хранилища, с другой — модернизация требует значительных инвестиций и зачастую привязана к поддержке вендоров, которые больше не присутствуют на рынке. Функциональность, получившая название Unified Storage, решает эти проблемы.
Как можно догадаться из названия, речь идет о доступе к слою хранения, который уже существует внутри виртуальной инфраструктуры, но теперь его можно предоставлять внешним потребителям. Проще говоря, теперь мы можем «одолжить» место из существующих пулов и отдать его физическим хостам или другим виртуальным машинам внутри нашей инфраструктуры.
Давайте подробнее рассмотрим, как работает эта технология.
Читать далееДля эффективной организации производства Информационных систем (ИС) требования должны стать каркасом, связывающим все этапы жизненного цикла ИТ‑продукта и передаваться от одной фазы к следующей, обеспечивая непрерывность и согласованность всего проекта. Так при реализации разработчики наделяют продукт функциональностью в соответствии с утвержденными требованиями. А тестировщики на основе спецификации требований разрабатывают план тестирования: к каждому функциональному требованию привязывают сценарии, тест‑кейсы и подтверждают, что готовое решение удовлетворяет требованиям, и так далее по цепочке.
Поэтому, когда спецификации требований разработаны и производство готово к переводу на этап реализации целевого продукта, крайне важно обеспечить надлежащий процесс приема/передачи инициативы команде разработки. Проектировщики не могут просто кинуть требования на стол разработчикам и считать свою часть работы выполненной. Процесс передачи должен быть регламентирован и по возможности соблюдаться.
Процедура передачи может регулироваться, например, управленческими правилами делегирования, а именно:
Читать далееСегодня использование HTTPS стало практически обязательным для большинства веб‑приложений. Angie позволяет эффективно обрабатывать HTTPS‑трафик, обеспечивая при этом высокий уровень безопасности. В новых протоколах HTTP/2 и HTTP/3 использование защищённого соединения обязательно. Однако, как обычно, есть много деталей в конфигурации, которые мы последовательно разберём в этой статье.
Читать далееЭта статья, скорее для ознакомления и хотелось бы получить советы по данной работе.
Итак, Excel-файл весит 500+ мегабайт, состоит из сотен тысяч строк, десятков листов и формул, которые «протягиваются» по 30+ столбцам — это не работа, а страдание. Именно с таким «монстром» я столкнулся, когда в компании собрались данные из разных отделов в один файл.
Вкратце структура файла — Лист «Массив» (Data_Lake — в левой части 34 столбца с которым работают специалисты и на котором отрабатывают основные формулы и правая часть с 46 столбцами, куда подтягиваются сырые данные, с которыми будет производиться обработка). И множеством листов со справочниками, правками.
Открытие этого Excel‑файла занимает 10 минут, а если обновить хотя бы часть формул — можно идти пить чай. Работать с такими данным и просто невозможно, особенно если тебе нужно анализировать их, строить отчёты или готовить выгрузки. Поэтому решил попробовать все перевести на PostgreSQL.
Для этого всего лишь требовалось переписать формулы с Excel на SQL. Хорошо, что большинство формул это условия ЕСЛИ, ИЛИ.
Вот самая простая формула:
Читать далееКаждый месяц появляются тысячи статей об ИИ, но по-настоящему интересных не так много. В майском топе собрал для вас 10 исследований, которые уже меняют наш мир: от нейросетей, которые учатся мыслить сами и создавать видеоигры, до децентрализованного обучения ИИ, робопомощников, обученных с помощью умных очков и новых подходов к разработке и тестированию ПО.
Читать далееМногие баги, на первый взгляд, зарыты в коде. Но что, если код — это просто зеркало нашего мышления, а баг — результат когнитивной ошибки, которую мы даже не осознали? Эта статья — ретроспектива инженерных провалов, где причина — не баг в логике, а баг в голове. Разбираемся, почему мы думаем криво, как это ломает код, и можно ли «дебажить» собственное мышление.
Читать далееВсем привет! Меня зовут Искандер, я отвечаю за продуктовое развитие A/B-платформы Avito – Trisigma, а раньше работал в EXPF и также отвечал за A/B-платформу, которая называлась Sigma.
В июне произошло важное событие для российского рынка продуктовой аналитики: платформа Sigma официально стала частью Trisigma. В этой статье я рассказываю, чем уникальна Sigma, как она устроена под капотом и какие плюсы появление новой платформы сулит пользователям объединённой системы.
Читать далееВсем привет! Я, Полина Кощеева, – бизнес-аналитик в домене управления персоналом «Ленты». Сейчас я участвую в крупных проектах с масштабами по всей стране и суммарным охватом более 90К пользователей в режиме постоянного изменения HR-процессов: выявляю и собираю требования, провожу анализ AS IS, помогаю бизнесу моделировать TO BE и оцифровывать бенефиты проектов. Расскажу на своем опыте про магию вне Хогвартса: как имея темное HR-прошлое и не имея опыта в IT, совершить успешный карьерный переход и попасть к крупнейшему ретейлеру.
Читать далееЗачастую, в проектах ограничивается использование препроцессора по следующим причинам:
— Он не похож на весь остальной язык;
— Макросы могут возвращать неполные синтаксические конструкции, или вовсе различные, в зависимости от параметров.
Ввиду перечисленных особенностей, читать код с активным использованием препроцессора зачастую становится на порядок сложнее кода без него.
Со всеми его недостатками, инструмент есть в языке и достоин изучения.
Читать далееПосмотрев два видео PewDiePie, в которых он узнал об установке Arch (задача эта считается довольно сложной даже для любителей Linux) и о создании трёх проектов (камеры для собаки, устройства для получения информации о погоде/напоминания о питьевом режиме/медитаций и кто знает, что будет ещё) из опенсорсных напечатанных на 3D-принтере деталей, я стал размышлять о самостоятельном проектировании, своём хостинге и технологической независимости. Эти темы уже давно очень близки мне.
Когда меня спрашивают, как начать писать блог или как получить работу, я всегда говорю, что сначала нужно купить домен. Во-вторых, нужно хостить собственный веб-сайт блога, если вы обладаете техническими навыками (впрочем, сегодня это уже несложно). Я говорю так потому, что всё накапливается со временем. Разумеется, вы можете начать с готового блога и не принадлежащего вам URL, но если вы хотите заниматься этим на долгосрочной основе, то что будет дальше? Я видел, как многие люди скачут с WordPress на Medium, потом на Substack, потом на Ghost. Иногда они не выполняют миграцию своих постов, на написание которых было потрачено много времени, а просто создают новые.
Каждый раз они переходят на новый домен. Меня это очень печалит. Да, можно сказать, что они многому научились и что иногда лучше начинать с нуля, но представьте, что всё это происходило в течение десяти лет. Сравните это с десятилетним блогом, имевшим один и тот же домен, хранящим все накопленные трудами обратные ссылки, демонстрирующим долговременные вложения автора благодаря наличию старых постов, пусть и не столь хороших, чем современные. Мне кажется, разница может быть поразительной.
Я уже долгое время занимаюсь хостингом собственных трудов и каждый год добавляю что-то новое, поэтому решил, что стоит написать об этом краткую статью.
Читать далееCегодня хотим коснуться вопросов по поводу ситуации: дошкольник 6 лет увлекается Роблоксом, играми в нем. Стоит ли опасаться?
Актуальность обзора тематических аспектов обусловлена тем, что совсем маленькие дети могут не до конца понимать, как нужно безопасно вести себя в интернете, на интерактивных развлекательных платформах.
Читать далее