Pull to refresh
124
126.3
Ольга @Serine

Сею хайлоад, бигдату и хаос

Send message

Конструктор для верстки HTML-писем, создание сайта при помощи нейросети – эти и другие российские стартапы

Reading time3 min
Views1.6K

10 новых российских проектов для бесплатного обучения программированию, взаимодействия клиентов с брокерами по недвижимости, создания интернет-магазина со встроенной CRM, создания и ведения династий в The Sims (!) и многого другого. Битва за «Продукт недели» началась!

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

Читать далее
Total votes 16: ↑13 and ↓3+10
Comments0

Реализация двустороннего A* на двух потоках

Level of difficultyHard
Reading time10 min
Views5K

На Хабре можно найти немало статей, посвящённых оптимизациям поиска кратчайшего пути на графе. Я расскажу ещё про еще один подход. Речь пойдёт о распараллеливании алгоритма A* и исполнении его на двух потоках, а также о сложностях, с которыми я столкнулся при реализации, и их преодолении.

Читать далее
Total votes 56: ↑56 and ↓0+56
Comments35

C++. Унарный минус и беззнаковый тип

Reading time4 min
Views9.3K

Привет, Хабр! Меня зовут Владимир, я работаю в VK Карты. Хочу рассказать про случай, который недавно произошёл у нас в подразделении. Он кажется достаточно типичным и может быть интересен другим программистам.

Нам, программистам на C++, не привыкать, что даже самый безобидный код может таить в себе сюрпризы. Рассмотрим пример:

uint32_t width = 7;

int32_t signed_offset = -width;

Он полон сюрпризов! Каких? Короткий ответ: значение signed_offset не определено стандартом и зависит от реализации. Но это далеко не все неожиданности в этом коде. Статья как раз о них.

Читать далее
Total votes 64: ↑58 and ↓6+52
Comments25

RVO и NRVO в C++17

Reading time8 min
Views22K

Предположим, что в программе на C++ вы возвращаете из функции локальную переменную. Что происходит при вызове оператора return: копирование, перемещение или ни то, ни другое? От этого зависит длительность вызова функции и эффективность наших программ. Я постарался разобраться с этим вопросом и дам рекомендации по написанию функций так, чтобы повысить шансы на применение этой оптимизации компиляторами. Ну, а сокращения в названии статьи — это Return Value Optimization (RVO) и Named Return Value Optimization (NRVO).

Читать далее
Total votes 34: ↑34 and ↓0+34
Comments31

Как начать работу в JOSM

Reading time9 min
Views5.8K


В предыдущей статье были рассмотрены основополагающие принципы картографирования для OpenStreetMap, а также веб-редактор iD. А здесь мы рассмотрим настольный редактор JOSM. Его выбирают продвинутые пользователи OpenStreetMap. Причем выбирают осознанно. При запуске приложения не запускается процесс обучения, но доступны хорошие обучающие материалы, в том числе на русском языке. Ниже рассмотрим, как начать работать в JOSM.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments1

Человеку надо мало: чтоб искал и находил

Reading time7 min
Views8.3K


Нет, это не очередная реклама одного известного автомобильного бренда. И даже не попытка литературного разбора стихотворения Рождественского. Речь пойдет о картах. Мы в Mail.ru Group продолжаем развивать собственные геосервисы как для нужд внутренних проектов, так и для запуска новых продуктов для широкого круга пользователей. Ядром географических данных для наших сервисов выступают данные картографического проекта OpenStreetMap. Но мы не хотим быть просто ленивыми потребителями, которые, получая обратную связь от пользователей, хранят исправления в локальной базе данных и не делятся ими с общественностью. Мы активно вносим свой вклад в проект OpenStreetMap. В цикле статей мы решили рассказать, как корректно вносить правки о наиболее насущных для нас объектах географической действительности.
Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments9

Под капотом сортировок в STL

Reading time7 min
Views21K


Стандарт С++ почти никогда не указывает, как именно должен быть реализован тот или иной std алгоритм. Дается только описание того, что на входе, что на выходе и асимптотические ограничения по времени работы и памяти. В статье я постарался прикинуть, какие математические алгоритмы и структуры данных имели ввиду авторы стандарта, указывая ограничения для той или иной сортировки и для некоторых других алгоритмов. А так же как эти алгоритмы реализованы на практике.


При написании статьи я использовал стандарт C++17. В качестве реализаций рассматривал GCC 10.1.0 (май 2020) и LLVM/Clang 10.0.0 (март 2020). В каждой и них есть своя реализация STL, а значит и std алгоритмов.

Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments17

Information

Rating
27-th
Location
Россия
Registered
Activity