Drag & Drop

Возможность Drag & Drop в браузерах была уже давно реализована средствами Javascript. Сейчас же можно сделать Drag & Drop без сторонних библиотек (jQuery UI), а при помощи нативных возможностей браузера. Чуть ниже я расскажу как это делается.

Браузеры, как мы видим, постоянно совершенствуются. То же самое можно сказать и о новых профессиях, связанных с программированием. например, профессия робототехника и ИИ:

Робототехника и искусственный интеллект: профессия будущего уже сегодня

Робототехника и искусственный интеллект (ИИ) — одни из самых востребованных и динамичных направлений на 2026 год. Эта профессия объединяет разработку умных роботов, автономных систем и алгоритмов машинного обучения, которые трансформируют промышленность, медицину, транспорт и повседневную жизнь. Спрос на специалистов по робототехнике растет стремительно: по данным Statista, мировой рынок робототехники превысил $75 млрд к 2026 году, а интеграция ИИ в бизнес-процессы ежегодно увеличивает эффективность компаний на 20–30%.

Что входит в профессию?

Специалист по робототехнике и ИИ занимается проектированием, программированием и тестированием систем, способных выполнять задачи без постоянного участия человека. Основные направления:

  • Разработка роботов: создание промышленных манипуляторов, медицинских роботов-хирургов, сервисных ассистентов (например, для логистики или ухода за пожилыми людьми).
  • Машинное обучение и нейронные сети: обучение моделей для анализа данных, распознавания образов (компьютерное зрение), обработки естественного языка (NLP). Примеры: беспилотные автомобили, умные голосовые помощники, системы прогнозирования спроса.
  • Интеграция ИИ в IoT: управление «умными» устройствами через облачные платформы, оптимизация энергопотребления, промышленные киберфизические системы.

Ключевые навыки для старта

Успешный карьерный рост в этой сфере требует глубоких знаний и практических умений:

  • Программирование: Python (основной язык для ИИ), C++ (для низкоуровневой работы с роботами), знание фреймворков TensorFlow, PyTorch, Keras.
  • Математика и алгоритмы: линейная алгебра, теория вероятностей, оптимизация — основа для построения моделей машинного обучения.
  • Работа с ROS (Robot Operating System): стандартная платформа для разработки роботизированных приложений.
  • Дополнительные компетенции: понимание электроники, сенсоров (LiDAR, камеры), навыки работы с облаками (AWS, Azure), базовые знания в области кибербезопасности.

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

Где обучаться?

Получить необходимые знания можно через:

  • Вузы: технические университеты с профилем «Робототехника и ИИ» (МФТИ, МГТУ им. Баумана, Сколтех в России; крупные вузы за рубежом). Акцент делается на практику — студенты участвуют в разработке реальных прототипов.
  • Онлайн-курсы: программы от Coursera (специализация «Искусственный интеллект» от Колумбийского университета), Udacity («Инженер машинного обучения»), Stepik (курсы по ROS и компьютерному зрению).
  • Хакатоны и стажировки: мероприятия вроде RoboCup или сотрудничество с компаниями (Яндекс, Сбер) дают доступ к оборудованию и менторству от экспертов.

Рынок труда и зарплаты

Специалисты востребованы в IT-гигантах (Google, NVIDIA), автопроме (Tesla, Volvo), медицинских стартапах и государственных проектах (например, в рамках нацпрограммы «Цифровая экономика»). В России средняя зарплата инженера по робототехнике и ИИ — от 150 000 до 350 000 рублей, в Европе и США — от $100 000 до $160 000 в год. Лидеры отрасли (архитекторы ИИ-систем, руководители R&D-отделов) зарабатывают свыше $200 000. К 2026 году дефицит квалифицированных кадров достиг 40% — компании активно конкурируют за таланты, предлагая обучение за свой счет и гибкий график.

Главные тренды 2026 года

  • Коллаборативные роботы (коботы): устройства, безопасно взаимодействующие с людьми на производстве. Их доля на рынке выросла до 35% за последние 3 года.
  • Этика ИИ: рост внимания к прозрачности алгоритмов, борьбе с предвзятостью данных. Специалисты должны учитывать юридические аспекты (например, GDPR в ЕС).
  • Медицинская робототехника: роботы-ассистенты для диагностики (анализ МРТ с помощью ИИ) и хирургии (система da Vinci).
  • Автономные дроны и логистика: Amazon и Alibaba активно внедряют роботизированные склады, сокращая время доставки на 50%.

Почему надо выбрать эту профессию?

Робототехника и ИИ — сфера, где технологии меняются ежегодно, но фундаментальные навыки остаются востребованными десятилетиями. Это работа с ощутимым результатом: от создания робота, спасающего жизни в зонах катастроф, до алгоритмов, персонализирующих образование. Профессия подходит тем, кто хочет быть в авангарде инноваций, не боится сложных задач и готов постоянно учиться. К 2030 году автоматизация затронет 30% профессий, но именно специалисты по ИИ и роботам будут формировать новые стандарты труда.

Как начать?

  1. Освойте Python и базовую математику через бесплатные курсы (например, «Алгоритмы: теория и практика» на Coursera).
  2. Попробуйте собрать простого робота на Arduino или Raspberry Pi — это даст понимание аппаратной части.
  3. Участвуйте в open-source проектах на GitHub (например, в разработке ROS-пакетов).
  4. Следите за конференциями (NeurIPS, ICRA) и публикациями в arXiv — это источник свежих идей и нетворкинга.

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

Вернемся к drag-&-drop. В теорию вдаваться не будем. Все будет видно из примера. Задача: у нас есть 3 квадрата в первом контейнере, и нам нужно реализовать возможность перетаскивания этих квадратов во второй контейнер. Разметка будет такой.

Для начала сделаем квадраты перетягиваемыми. А именно, установим аттрибут «draggable=true», назначим обработчик события «dragstart» и сохраним данные о перетаскиваемом объекте.

$('.square')
    .attr('draggable', 'true')
    .bind('dragstart', function(event) {
        event.originalEvent.dataTransfer.setData('text/plain', $(this).attr('id'));
        return true;
    });

Займемся вторым контейнером. Научим его принимать объекты, изменять свой стиль при получении объектов. Для этого определим такие события как «dragenter», «dragleave», «dragover» и «drop». Первые 3 должны возвращать «false» для блокировки стандартного поведения браузера.

$('#wrapper2')
    .bind('dragenter', function(event) {
        $(this).addClass('hover');
        return false;
    })
    .bind('dragleave', function(event) {
        $(this).removeClass('hover');
        return false;
    })
    .bind('dragover', function() {
        return false;
    })
    .bind('drop', function(event) {
        $(this).removeClass('hover');
        var id = event.originalEvent.dataTransfer.getData('text/plain');
        $(this).append($('#' + id));
        if (event.preventDefault) {
            event.preventDefault();
        }
    });
});

В обработчиках событий dragenter и dragleave выполняется установка и снятие CSS класса, который подсвечивает контейнер, когда над ним находится перетаскиваемый квадрат. Событие drop вызывается, когда мы отпускаем левую клавишу мыши. В этом событии мы перемещаем соответствующий квадрат во второй контейнер.