Обновить

Разработка

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

Кто быстрее: исследую производительность std::format

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

Я, как и многие другие другие разработчики на C++, слышал о преимуществах нового std::format: удобство, безопасность и высокая производительность по сравнению с более старыми способами форматирования строк. 

Моя жизнь была прекрасна и полна надежд, пока я не увидел один бенчмарк, где format оказался медленнее всех. Как же так? Неужели «устаревший» std::stringstream или даже operator+ все еще лучше? Далее расскажу о своем небольшом исследовании производительности форматирования, доступного разработчикам на C++, и о необычных результатах, которые я получил.

Читать далее

Gradle для QA-инженера

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

Статья посвящена использованию Gradle в автоматизации тестирования. Рассматриваются настройка проекта, управление зависимостями, запуск тестов и лучшие практики для QA-инженеров. Приведены готовые примеры конфигураций и сравнение с Maven.

Читать далее

Космос как стартап: NASA приземлила свой код на GitHub

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

Космос — самый дорогой стартап в истории человечества, поэтому неудивительно, что его технологии давно окупаются на Земле. И хотя мы привыкли к историям о космических материалах, беспроводных наушниках и системе навигации GPS, NASA сделала кое-что более близкое разработчикам — выложила в Open Source фреймворк, который управляет космическими миссиями.

core Flight System (cFS) зародился как инструмент для управления спутниками и марсоходами, но довольно быстро превратился в модульную платформу, которая позволяет переиспользовать код. Open Source фреймворк не просто «приземлился» и уже помогает делать дроны, промышленные контроллеры и двигать науку в университетских лабораториях, а меняет подход к разработке сложных систем.

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

Читать далее

Мой опыт: украденный iPhone и фишинг — еще одна схема

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

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

Вчера в груде рассылок и уведомлений мне бросилось в глаза письмо как бы от Apple (Локатор) c темой «Звук был воспроизведен на iPhone 14 Plus». Вспомнил, что подобные сообщения мне приходили и раньше, когда я пробовал пинговать свой украденный телефон через FindMy (Локатор). Тогда я не обратил на них внимания, поскольку доступ к локации и прочим функциям у меня были на другом устройстве Apple. А тут, когда с последнего трекинга в Локаторе прошло три недели, я присмотрелся к сообщению.

Читать далее

Когда .arb не тянет: как я подключаю TMS к Flutter-проекту

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

Привет! Я Роза, Flutter Dev Friflex. Недавно на CrossConf рассказывала о том, что такое система управления переводами и как подключить ее к проекту на Flutter. В этой статье — краткое сравнение популярных сервисов локализации и разбор подключения TMS по шагам.

Читать далее

Как мы превратили BI в полноценный корпоративный инструмент: дизайн-система, виджеты и self-service

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

Привет, Хабр! Меня зовут Вадим Крысин, я начальник отдела разработки решений для анализа данных в «Газпром ЦПС». Еще недавно работа с отчетами у нас занимала недели. Данные собирались из разных источников, на разных инструментах, а дашборды каждый отдел собирал по-своему — со своей логикой, метриками и дизайном. BI оставалась удобным инструментом для узкого круга специалистов, все остальные предпочитали старый-добрый Excel.

Этот хаос стал отправной точкой в нашем пути кастомизации BI-системы. В этой статье поделюсь основными инсайтами после перехода на продуктовый подход и улучшениями, которые на 57% сократили время на дизайн и в 7 раз ускорили сборку типового дашборда.

Занимаетесь BI-аналитикой и хотите решать свои задачи быстрее и эффективнее? Нуждаетесь в эффективной и своевременной аналитике для менеджмента проектов, но почему-то не получаете её? А может, вы руководитель в ИТ, уставший по две недели ожидать один дашбоард? Этот текст — о том, как решить ваши проблемы.

Читать далее

Selectolax: быстрая альтернатива Beautiful Soup

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

Если спросить у питониста: «Чем парсить сайт?», — в большинстве случаев он ответит Selenium или Beautiful Soup. И будет по-своему прав — это два главных направления в мире парсинга на Python.

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

Beautiful Soup (или просто «суп») — полная противоположность. Он лёгкий, быстрый и прекрасно справляется с «простыми» сайтами, где нет интерактивных элементов и сложного JavaScript.

В этой статье я расскажу об альтернативе Beautiful Soup — библиотеке Selectolax, воплощающую в себе простоту использования и высокую скорость работы.

Читать далее

Как собрать датасет фотографий с помощью LLM: опыт вайб-фильтров

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

Можно ли объяснить модели, что такое «уютно», «романтично» или «пофоткаться»? Мы попробовали — и оказалось, что даже самые субъективные ощущения можно превратить в метрику.

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

Узнать про вайбы

Спрос на инженеров в России достиг рекорда — но молодые уже не соглашаются на 70 тысяч

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

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

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

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

Читать далее

Обзор реализации протокола ISO-TP с сайта Разработчики-Еноты

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

В этом тексте я произвел обзор Си-шной реализации протокола iso-15765 (он же ISO-TP), которую можно свободно скачать с сайта github в репозитории DevCoons.

Определил достоинства и недостатки данной реализации ISO-TP протокола.

Читать далее

Автоматизировали открытие новых торговых точек на базе BPMS с интеграцией геосервисов

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

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

Читать далее

Аргументы воркеров в Node.js и на что они влияют

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

Подробное описание аргументов, доступных при создании воркеров в Node.js и как их можно использовать для многопоточки в серверном JavaScript

Чё ещё за аргументы?

Open source-стратегии — развитие открытых продуктов компании Haulmont: от OpenBPM к консорциуму вокруг OpenIDE

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

Весной этого года Андрей Глащенко, руководитель направления средств разработки и партнер в Haulmont, в интервью поделился подробностями о том, как компания пришла к работе с открытой моделью и развивает глобальные продукты.

На днях я поинтересовался у Андрея, как обстоят дела с новыми open source-проектами, а также узнал некоторые подробности о маркетинговых практиках и подходах к взаимодействию с аудиторией. Далее — делюсь расшифровкой разговора.

Читать далее

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

Как мы сократили время написания инструкций в несколько раз с помощью LLM и Whisper

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

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


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

Читать далее

Ставка на GenAI: генеративные модели меняют правила игры в автономном транспорте

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

Автономный транспорт давно вышел за пределы закрытых полигонов и футуристичных историй. Он уже работает и приносит пользу бизнесу и людям. В России тягачи Navio два года возят реальные грузы коммерческих клиентов по трассе М-11 «Нева». А в США, Китае или Европе можно совершить поездку на роботакси. Тем не менее, восприятие технологии остается противоречивым. Видео, где автомобиль без водителя в салоне не может выехать с кольцевого перекрестка или воспринимает человека в майке с надписью STOP как команду к действию, усиливают скепсис и снижают доверие к результатам разработчиков. Почему компании, которые работают над технологией с 2009 года [больше 15 лет], не смогли добиться ее стабильной работы.

Классический подход в разработке автономного транспорта

Алгоритмический подход признан классическим в разработке автономного транспорта. Логическая архитектура построена на основе последовательности действий водителя за рулем:

восприятие окружающего мира — набор сенсоров (радары, лидары, камеры);

определение местоположения — карты, модуль позиционирования, сенсоры;

предсказывание действий других объектов вокруг — алгоритмы на базе кинематической составляющей и модели динамики объектов;

планирования пути — руководство к действию или свод правил, основанный на правилах дорожного движения (ПДД);

управление — модуль внутри автомобиля приводит его в движение. 

Этот код пишется 15 лет и никогда не будет завершен 

Несовершенность классического подхода обнаружилась на этапе планирования пути. При алгоритмическом подходе условия прописываются вручную (what-if сценарии). Автономное транспортное средство принимает решение на основе типа объекта (автомобиль, пешеход, др.), дальше добавляются такие условия, как состояние дорожного покрытия, погода, светофоры, другие объекты. Все это ведет к экспоненциальному росту проверок вложенных условий. Обладая достаточным парком автомобилей, за несколько лет разработчик может закрыть самые часто встречающиеся сценарии на дороге. Следующие несколько лет проездов выловят более редкие случаи и укрепят базу. Но остается открытым вопрос, что делать с уникальными ситуациями, как человек в футболке с надписью STOP или объездом препятствия в месте, где обгон запрещен разметкой. Невозможно вручную прописать все условия заранее, мир сегодня слишком непредсказуем. Такой подход не позволит масштабировать технологию и обеспечить ее стабильность на 100%, особенно в условиях города. Такая бесконечность сценариев называется Long Tail.

Читать далее

О пакетах в экосистеме Apple (часть 2)

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

Всем привет! Это снова Эрик, инженер технической поддержки из Ринго, и мы продолжаем разговор о пакетах в экосистеме Apple. В первой части мы разобрали теорию: изучили устройство PKG-файлов, познакомились с Gatekeeper и нотаризацией, научились инспектировать пакеты с помощью встроенных утилит. Теперь перейдём к практике — будем создавать и переупаковывать пакеты.

Читать далее

Интервью с автором книги «Архитектура бэкенда. API для надёжных корпоративных приложений»

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

Здравствуйте, уважаемые читатели. Сегодня мы предлагаем вашему вниманию текст, который приоткрывает некоторые аспекты нашей авторской кухни. Пост получился благодаря тому, что своим авторским опытом с нами поделился уважаемый Владислав Светлаков из Минска, выпустивший у нас книгу "Архитектура бэкенда. API для надёжных корпоративных приложений". Книга отлично продаётся у нас чуть менее трёх месяцев и продолжает разработку большой темы проектирования API. Ранее мы выпустили другие подобные книги, большинство из которых ориентировано на поддержку и доработку бэкенда. Важнейшие из них:

Читать далее

Cursor 2.0 и модель Composer: как изменился популярный AI-редактор кода

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

Вчера компания Anysphere выпустила Cursor 2.0 - крупнейшее обновление своего AI-редактора кода. Новая версия представляет собой не просто набор улучшений, а концептуальный переход к агентному программированию, где искусственный интеллект берёт на себя выполнение сложных многошаговых задач.

Читать далее

Как автоматизировать подготовку отчетности в Word: макросы на практике

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

Всем привет! Я студент-работяга, который увлекается аналитикой в многогранном мире ИБ. Почти каждая задача (как аналитика, так и студента) так или иначе заканчивается подготовкой каких-то материалов: для аналитика — отчета, для студента — курсовой работы. В процессе подготовки этих материалов неизбежно сталкиваешься с рутиной из однообразных кликов (разметка текста, форматирование картинок и много другой скукоты). Однако справиться с ней можно, и сегодня я расскажу, как это сделать с помощью автоматизации в редакторе Word посредством VBA-макросов.

Статья может быть полезна студентам и начинающим специалистам, но уверен, какие-то идеи пригодятся и тем, кто уже работает. Даже если вы не пользуетесь Microsoft Office, то все равно сможете почерпнуть для себя некоторые идеи, так как почти во всех пакетах есть поддержка языков программирования, например Basic в LibreOffice, Lua в пакете «МойОфис» или JavaScript в «Яндекс Документах». Кроме того, часть моих скриптов я выложил в открытый доступ.

Когда пишут про автоматизацию в Microsoft Office, то в большинстве случаев имеют в виду Excel, однако я сломаю шаблон и расскажу вам про автоматизацию в Word, которую часто незаслуженно обходят стороной.

Читать далее

5 библиотек Python, которые выведут вас на новый уровень. Часть 2

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

Вы научились получать и обрабатывать данные. Но что дальше? Как хранить эту информацию надежно, а не в CSV-файлах? Как поделиться результатами своей работы с другими, предоставив им удобный доступ через API? Что делать, если сайт настолько сложен, что Requests не может справиться с его динамическим контентом? И как убедиться, что весь написанный вами код не сломается после очередного изменения?

Читать далее