Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Инструкция по бесплатной GPT генерации новых фичей для наращивания точности ML модели

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.5K

Одним из самых важных навыков любого специалиста по данным или ML инженера является умение извлекать информативные признаки из исходного набора данных. Этот процесс называемый feature engineering (инженерия признаков), — одна из самых полезных техник при построении моделей машинного обучения.

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

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

Разумеется, feature engineering — это времязатратный, креативный и нередко утомительный процесс, требующий экспериментов и опыта.

Недавно я наткнулся на интересный инструмент — Upgini. Следуя тренду на использование Large Language Models (LLM), Upgini применяет GPT от OpenAI, чтобы автоматизировать процесс feature engineering для ваших данных.

Подробнее о python библиотеке Upgini можно почитать на GitHub странице проекта. У проекта уже 345 звездных оценок, что является показателем востребованности и полезности функционала.

👉 GitHub - upgini/upgini: Data search library for Machine Learning

Читать далее

Как Google S2R (speech-to-retrieval) решает проблему непонимания голосовых запросов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.2K

«Чай. Эрл‑Грей. Горячий». Помните эту фразу капитана Пикара из «Звёздного пути»?

Меня всегда поражало, с какой лёгкостью компьютер «Энтерпрайза» понимает команды Пикара. И вы замечали — никому на мостике корабля никогда не приходится повторять сказанное?

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

Читать далее

Active Directory: от основы управления до защиты от компрометации

Время на прочтение9 мин
Количество просмотров8K

Active Directory не просто каталог пользователей или сервис Windows. Это полноценная информационная система, лежащая в основе почти любой корпоративной сети на базе Windows. Но это не просто «хранилище». Active Directory служба каталогов.

Слово «каталог» здесь означает не папку с файлами, а структурированную иерархическую базу данных, в которой каждый объект имеет: уникальное имя (например, CN=Иванов Иван,OU=Бухгалтерия,DC=company,DC=local), атрибуты (имя, фамилия, пароль, номер телефона, права доступа и т.д.), место в иерархии (в каком подразделении, в каком домене, в каком лесу).

Такая структура позволяет не просто хранить данные, а быстро находить, проверять и управлять ими даже если в системе сотни тысяч объектов.

Active Directory предназначена для сбора, хранения, обработки и предоставления информации обо всех участниках инфраструктуры: пользователях, компьютерах, принтерах, группах, политиках безопасности и правах доступа. Без неё невозможна стабильная, безопасная и масштабируемая работа даже средней компании.

Но именно эта централизация делает её главной целью для атак. Поэтому понимание Active Directory требует не только знания её структуры, но и глубокого осознания её уязвимостей и чёткого плана действий на случай, если защита будет нарушена.

Архитектура: как строится управляемая сеть

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

Читать далее

Rust вместо React: как я написал Telegram WebApp SDK на Rust

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5.4K

Фронтенд на Rust — звучит странно? Я написал Telegram WebApp SDK на Rust, совместимый с официальным API, и уже использую его в реальных проектах. В статье — зачем я это сделал, с какими проблемами столкнулся и чем это лучше привычного React.

Проявить заинтересованность

itertools для тех, кто думал, что знает itertools

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров6.6K

Привет, Хабр! Модуль itertools мне известен многим вдоль и поперёк. Ну действительно, что там сложного? Пара функций вроде chain да product, и кажется, что ничего нового для себя уже не найти. Однако стоит копнуть глубже, и выясняется, что у itertools есть немало нюансов и даже новых возможностей, появившихся в свежих версиях. В этой статье рассмотрим многие функции itertools: от базовых до самых интересных.

Понять силу итераторов

Цифровой двойник пассажирского посадочного моста: реальный кейс решения сервисной задачи

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров807

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

Читать далее

Как научить Telegram-бота на Python не терять задачи пользователей при перезапуске. Кейс ассистента для hh.ru

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.9K

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

Мы тут в свободное время пилим проект, который должен решить боль многих айтишников, — автоматизировать рутинный поиск работы. Идея выросла в Telegram-бота «Аврора» , который на "автопилоте" ищет вакансии на hh.ru и откликается на них.

Но чтобы "автопилот" был полезным, он должен быть надежным. Никому не нужен ассистент, который при первом же деплое новой версии или падении сервера забывает, что он делал, и какие вакансии уже отправил.

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

Под катом — наш подход к Graceful Shutdown, восстановлению сессий и немного про то, как LLM (в нашем случае Gemini) генерирует поисковые запросы.

Читать далее

Postgres 18 async IO – шаг к «взрослым» нагрузкам?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.4K

Давайте честно – пока что Postgres редко используется для действительно больших и нагруженных баз. Этому множество причин, но главная формулируется просто: «не тянет».

У каждого есть своя граница, где Postgres ещё применим, а дальше —уже нет. Обычно это где-то между одним и пятью терабайтами, дальше жить с этим «больно».

База просто не может обработать большой объем данных с той скоростью, которую способны выдать диски.

И вот — Postgres 18, впервые за долгое время, предлагает не косметическую, а фундаментальную новинку. То, что в Oracle есть уже 20+ лет — асинхронный ввод-вывод (аsync IO).

Попробуем посмотреть async IO и ответить на вопрос - стал ли Postgres ближе к «взрослым» нагрузкам?

Читать далее

Аттракшен инжиниринг и MCCP

Время на прочтение5 мин
Количество просмотров423

В последний месяц очень форсится идея о том, что для универсального промпта нужно правильно натаскать контекст, подключить правильные тулы и MCP, и вот тогда-то наступит счастье.

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

Читать далее

Криптография для чайников: давайте определимся с терминами

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров4.5K

В этой статье приведены основные понятия, которые возникают, когда речь заходит о криптографии. Попытаемся объяснить их на простом бытовом уровне, понятном каждому.

Кому это может быть интересно? Например:

·         менеджерам и аналитикам, которым не важны технические детали, но важно понимать, о чем говорят их коллеги разработчики

·         новичкам, которым предстоит погрузиться в мир криптографии

·         всем несчастным, кому приходится слушать о задачах информационной безопасности при встрече с друзьями программистами.

Читать далее

Security Week 2543: особенности вредоносных атак через npm-пакеты

Время на прочтение3 мин
Количество просмотров1.2K

В сентябре этого года было зафиксировано сразу два инцидента, когда в репозитории пакетов npm загружалось вредоносное программное обеспечение. Имел место как единичный случай загрузки вредоносного пакета, так и масштабная атака Shai-Hulud, в ходе которой у злоумышленников получилось заразить сразу несколько популярных программ. Данные инциденты можно классифицировать как атаку на цепочку поставок: включение вредоносных пакетов в другое ПО может в итоге привести к гораздо более серьезным последствиям, чем компрометация рабочей станции единственного разработчика. На прошлой неделе специалисты «Лаборатории Касперского» отчитались об обнаружении еще одного вредоносного npm-пакета и опубликовали подробное описание его работы.

Вредоносный пакет был обнаружен в октябре, и имел достаточно убедительное название https-proxy-utils. Легитимные пакеты с похожими именами скачиваются десятки миллионов раз в неделю. Легитимная функциональность полностью скопирована из пакета <code>proxy-from-env</code>, но помимо нее в код добавлен вредоносный скрипт, который загружает и запускает фреймворк для постэксплуатации AdaptixC2. AdaptixC2 — это набор инструментов, позволяющий «закрепиться» в системе после первоначального взлома. В подробном обзоре фреймворка от специалистов Palo Alto Networks показаны его возможности: от анализа запущенных программ и файловой системы до прекращения работы определенных процессов и запуска собственного кода.

Читать далее

Немного о «Data Engeneering»

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.5K

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

Читать далее

Представляем XBRL-CSV — машиночитаемую отчетность в формате для людей

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров895

Примечание: Статья посвящена формату XBRL-CSV2 (тэг "@context":"www.cbr.ru/xbrl_csv2").

Авторство формата принадлежит Банку России.
Автор статьи — архитектор, принимавший участие в разработке формата в качестве технического специалиста.

Введение.

Банк России использует стандарт XBRL для сбора отчетности от некредитных финансовых организаций. Несмотря на всю продуманность XBRL, при формировании и обработке отчетности возникает проблема, связанная с реестровыми формами.

Эти формы содержат гиперкубы с открытыми осями. При большой вариативности значений таких осей реестровые отчеты становятся чрезвычайно объемными.

Решение этой проблемы — создание производного от XBRL-XML формата: XBRL-CSV.

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

Остальные колонки — это данные, которые определяют три аспекта показателя:

Читать далее

Ближайшие события

Балансировка и проксирование L4-трафика в Angie

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.1K

Возможности Angie в качестве веб‑сервера и обратного прокси довольно известны. Но кроме работы на уровне L7 (HTTP), мы можем применять его на L4 (TCP и UDP) в качестве балансировщика и прокси‑сервера. Именно об этой функциональности мы и поговорим в сегодняшней статье.

Читать далее

Как я установил n8n и Nginx Proxy Manager на VPS в Beget: пошаговый рассказ новичка

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров5.1K

Привет, друзья! Сегодня расскажу вам, как я установил n8n (крутой инструмент для автоматизации процессов) и Nginx Proxy Manager на свой VPS-сервер в Beget. Если вы читали мою предыдущую статью, то уже знаете, что у меня уже установлен Portainer.io , который делает работу с Docker контейнерами намного проще. Если нет — не переживайте, я всё объясню так, будто это мой первый раз (и, честно говоря, так оно и есть 😅).

Читать далее

(Не)колхозная система для кнопочных игр

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.7K

Попробовал сделать свою брейн-систему. Вроде даже получилось. А потом сделал так, что любой может это повторить.

Читать далее

Почему случается оверинжиниринг

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров14K

Если вы достаточно давно занимаетесь разработкой ПО, то, вероятно, сталкивались с такой ситуацией: CRUD-приложение, обслуживающее небольшую группу пользователей, развёрнутое в кластере Kubernetes и вдобавок с половиной функций CNCF. В теории выглядит впечатляюще. В реальности же это машина Руба Голдберга, решающая задачи, которых у команды на самом деле нет.

В качестве противоположного примера возьмём Levels.fyi. Сегодня этот сайт помогает миллионам разработчиков сравнивать зарплаты и карьерные перспективы, но в начале его «бэкендом» были просто Google Формы, сохраняемые в Google Таблицы. Никаких микросервисов, никакого Kubernetes, никакой шины событий. Самые простые инструменты, которые можно придумать. Такая легковесная система обеспечила владельцам сервиса скорость её развития. Они проверили жизнеспособность идеи, расширили аудиторию и начали вкладываться в более сложные системы только тогда, когда стало ясно, что продукт рабочий. Иными словами, простота не стала для них препятствием, а превратилась в залог успеха. Стоит также помнить о том, что некоторые из самых сложных инфраструктур изначально были очень простыми: например, Airbnb, Facebook*, Reddit. Прежде, чем завоевать всемирную популярность, они были фрагментарными монолитами.

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

Читать далее

Как мы используем RFM-сегментацию, чтобы улучшать CRM-коммуникации в Авито

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров12K

Привет! Я Рамиль Сакаев — аналитик в команде Авито Авто. В статье рассказываю, как адаптированная RFM-методология помогла нам выявить недоработанные зоны CRM-коммуникаций и создать бенчмарк для маркетологов.

Читать далее

Как нейрофизиологи Дэвид Хьюбел и Торстен Визель неожиданно для себя помогли в создании машинного зрения

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров831

В начале 1960-х у нас и в Америке появилась новая разновидность машинного зрения – лазерная, и приборы лазерного машинного видения – лидары. Во второй половине того десятилетия уже продавались промышленные тепловизоры. В основанном в 1966 году Центе искусственного интеллекта Стэнфордского исследовательского института построили программируемого робота колесиках, оснащенного антенной, телекамерой, ультразвуковыми дальномерами и чувствительными демпферами на случай столкновений, способного двигаться по заданному пути, самостоятельно обходя препятствия, а поскольку он при этом все время сам трясся, его так и назвали Shakey (Трясун). Уиллард Бойл и Джордж Смит из Bell Labs изобрели ПЗС-матрицу из светочувствительных диодов, которую окрестили «вездесущим цифровым глазом», новой цифровой ипостасью фотопластинок, фотопленок, телекамер, фотоэлектронного умножителя и т.п. 

Читать далее

Ожидания в избытке: как лишние индексы тормозят PostgreSQL и чем поможет pg_expecto

Уровень сложностиСложный
Время на прочтение5 мин
Количество просмотров4.8K

Определить характерные события ожидания (wait_event), оказывающие влияние на снижение производительности СУБД в ходе нагрузочного тестирования при наличии лишних индексов на тестовые таблицы.

Пример использования pg_expecto