Как стать автором
Обновить

Устроиться в VK за два дня: приглашаем C++ разработчиков на Weekend Offer

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

C++ разработчики, приходите на Weekend Offer в VK. За выходные, 28 и 29 мая, вы сможете попасть на все собеседования онлайн, познакомиться с командами — и, возможно, получить оффер.

Регистрируйтесь: vk.com/cppoffer.

Читать далее
Всего голосов 8: ↑4 и ↓40
Комментарии0

15000 ошибок в открытых проектах

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

PVS-Studio: 15000 ошибок в открытых проектах
Количество багов в нашей коллекции перевалило за отметку 15000. Именно такое количество ошибок обнаружила команда PVS-Studio в различных открытых проектах. Особенно интересно, что это всего лишь побочный результат от написания статей.

Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии7

«Миссия Мидори»: игра про умный город для C++ разработчиков

Время на прочтение1 мин
Количество просмотров4K
В одном далёком умном городе что-то пошло не так… В системах сбои, техника отказывается работать, оборудование сходит с ума. И только вы и ваши знания в С++ могут это остановить.



«Лаборатория Касперского» приглашает вас сыграть в «Миссию Мидори». Ваша задача – дать отпор всем кибератакам, вредоносам и сбоям, вернув в строй умный город.

Активируйте свои знания в С++ и покажите их в действии. Переходите по этой ссылке и попробуйте пройти миссию до конца.
Всего голосов 18: ↑14 и ↓4+10
Комментарии5

Google развивает язык программирования Carbon для экспериментальной замены C++

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


Разработчики из Google развивают язык программирования Carbon в качестве экспериментальной замены C++. Исходные коды проекта распространяются под лицензией Apache 2.0.
Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии78

BitTorrent-клиент Transmission версии 4.0.0 перевели с языка С на С++

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

Вышел релиз BitTorrent-клиента Transmission 4.0.0, который перевели с языка C на С++. Код распространяется под лицензиями GPLv2 и GPLv3.

Читать далее
Всего голосов 24: ↑23 и ↓1+22
Комментарии4

Знаете про NixNote? Хороший free and open source клиент для Evernote — так ему сейчас нужен мантейнер (разработчик С++)

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

Относительно популярный проект, с 2012 года, изначальный репозиторий имеет 1к+ звезд. Сначала был на Java, потом, перформанса ради, переписали на C++. Жалко если пропадет. Его можно и без Evernote использовать - хранить заметки локально. А еще CLI есть.

У проекта в разные годы было несколько разработчиков, вот сейчас вакантное место.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии6

Найди свою конференцию: календарь для разработчиков

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

Найти конференцию по душе — ещё та задачка. Возможно, многие знакомы с ситуацией: роешься в куче сайтов, зависаешь в поисковике и тематических сообществах. Приходится держать в закладках кучу источников, куда хаотично публикуют анонсы событий. Поэтому команда PVS-Studio запустила на сайте агрегатор событий для разработчиков.

Читать далее
Всего голосов 18: ↑18 и ↓0+18
Комментарии10

АНБ США порекомендовало IT-компаниям отказаться от языков C и C++

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

Агентство национальной безопасности США выпустило отчёт, в котором указало на то, что широко используемые языки программирования C и C++ дают хакерам больше возможностей для использования эксплойтов. В связи с этим эксперты АНБ рекомендуют переходить на более безопасные языки.

Читать далее
Всего голосов 52: ↑50 и ↓2+48
Комментарии165

Google дала Bard возможность создавать код на 20 языках, включая C++, Go, Java, Javascript, Python, Typescript

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


Google добавила в чат-бот Bard возможность генерировать и отлаживать исходный код на 20 языках программирования, включая C++, Go, Java, Javascript, Python и Typescript. Также ИИ умеет выдавать текстовые подсказки, экспортировать код в Colab и переводить на лету код на разные языки программирования.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии7

МойОфис проведет One day offer

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

Компания МойОфис впервые проведет ускоренный найм С++ разработчиков в ключевые команды. Мероприятие пройдет 17 июня 2023 года с 09:00 до 23:59 по московскому времени в онлайн-формате.

В течение одного дня соискатели смогут познакомиться с представителями ИТ-команды МойОфис, узнать о действующих проектах и планах и получить предложение о работе в лидирующей продуктовой российской компании в день интервью. Среди основных требований к кандидатам — опыт работы более 3 лет, хорошее знание С++ 11/14, STL, Boost, QT и технический английский. Сотрудников нанимают в команды разработки ядра продуктов, десктоп- и мобильных приложений.

Принять участие в One day offer могут ИТ-специалисты из любого региона России — работать в компании можно в гибридном / удаленном формате. МойОфис помогает с релокацией и предоставляет все необходимые для работы условия и технику.

Узнать подробности
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Возможное решение проблемы ссылок в языках программирования

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


Любому программисту знакомо понятие "ссылка". Под этим термином обычно понимают небольшой объект, главная задача которого обеспечить доступ к другому объекту, физически расположенному в другом месте. Из-за этого ссылки удобно использовать, они легко копируются, и с их помощью очень просто получить доступ к объекту, на который эта ссылка ссылается и можно получить доступ к одним и тем же данным из разных мест программы.


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


Тем не менее, ссылки в той или иной форме поддерживаются во всех языках программирования, хотя под этим термином часто подразумеваются не полностью эквивалентные термины. Например, под словом "ссылка" можно понимать ссылку как адрес в памяти (как в С++) и ссылку, как указатель на объект (как в Python или Java).


Хотя встречаются языки программирования, которые пытаются решать данные проблемы за счет концепции "владения" (Rust, Аргентум или NewLang). О возможном решении этих, и других имеющихся проблем со ссылками далее и пойдет речь.

Читать дальше →
Рейтинг0
Комментарии4

Как мы создаём редакторы документов. Ядро и его роль в кроссплатформенной разработке

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

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

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

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

Читать далее
Всего голосов 39: ↑37 и ↓2+35
Комментарии10

Разработка игры на C++/SFML: Начало

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

Всем привет!

Пришла, значит, мне в голову идея - сделать свою игру по типу Vampire Survivors и Brotato, а потом я подумал, что можно еще и цикл статей написать про то, как я ее разрабатываю, вдруг кому-то это покажется полезным (ну или хотя бы смешным).

Ну, собственно, вот - первая часть. В ней я покажу, как я создал персонажа и научил его бегать.

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии15

Правило трех и пяти в C++: что это такое и зачем они нужны?

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

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

Сегодня я хочу поговорить о двух правилах С++: правиле трех и правиле пяти.

Правильное понимание этих правил способно уберечь код от утечек и неопределенных поведений.

Читать далее
Всего голосов 38: ↑28 и ↓10+18
Комментарии10

С 500 мс до нуля, или история о том, как я написал Node.js C++ addon и ускорил скидочный сервис в 500 раз

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

Приветствую тебя! Меня зовут Дмитрий и я работаю в LAD.
Сегодня я поведаю историю о том, как эволюционировал скидочный сервис одного из наших проектов. Пройдя путь от всеми нелюбимого, "тормозящего" сервиса, до сервиса,
который имеет наилучшие показатели на недельных графиках SLA.

Читать далее
Всего голосов 44: ↑43 и ↓1+42
Комментарии37

CRTP в C++

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

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

CRTP — это метод в C++, при котором класс наследуется от шаблона класса, используя себя в качестве параметра шаблона. Это выглядит примерно так: класс X наследуется от класса-шаблона Y<X>. Этот паттерн позволяет базовому классу напрямую обращаться к методам производного класса. С помощью CRTP можно можно обогатить интерфейс производного класса, внеся в него дополнительные методы через базовый класс-шаблон.

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

Читать далее
Всего голосов 18: ↑16 и ↓2+14
Комментарии12

Как не надо проверять размер массива в С++

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

Как часто вам приходится сталкиваться с конструкцией sizeof(array)/sizeof(array[0]) для определения размера массива? Очень надеюсь, что не часто, ведь на дворе уже 2024 год. В заметке поговорим о недостатках конструкции, откуда она берётся в современном коде и как от неё наконец избавиться.

Читать далее
Всего голосов 84: ↑83.5 и ↓0.5+83
Комментарии103

Радикальная асинхронщина

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

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

Читать далее
Всего голосов 20: ↑17 и ↓3+14
Комментарии53

Жизнь без линтеров и расчет цены абстракции: материалы для разработчиков на С++

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

В марте мы собирались на митапе по С++ в Санкт-Петербурге. Для всех, кто не смог присоединиться к встрече, подготовили записи докладов и дискуссии с экспертами из YADRO, VK и Kaspersky, а также создателем Sphinx Андреем Аксёновым. Почему стоит сохранить подборку в закладки:

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

• Эксперт из PVS-Studio покажет, почему линтеры не всегда подходят для поиска ошибок и какое решение использовать вместо них, чтобы не навредить безопасности сервиса.

• Инженеры с многолетним опытом работы на С++ поделятся опытом проведения код-ревью — возможно, вы найдете в их практиках что-то полезное или просто посмеетесь вместе с участниками дискуссии.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии4
1
23 ...