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

Полиморфизм: подавать холодным

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1K
C++ *Go *Rust *
Recovery mode

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

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

Оптимизированный доступ к GPIO и не только, часть вторая

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 1.2K
C++ *Программирование микроконтроллеров *

Уважаемые жители Habr-а, В данной статье, речь пойдет о доступе к GPIO, и другим регистрам, используя C++.

Несколько лет назад, я подготовил статью, о том, как можно используя constexpr-клаcсы, серьезно оптимизировать доступ к GPIO-порту, таким образом, чтобы команда "PA0.set()" - превращалась в одну-три ассемблерных инструкции, в зависимости от обстоятельств. Этот класс лишь выглядел обычным, который оптимизировался компилятором. Фактически, это была высокоуровневая оптимизация низкоуровневого кода. Теоретически возможно было перегрузить оператор равенства и писать просто PA0=1 или PA0=0, фактически это вызывало inline инструкцию, позволяющую добавить еще и барьерную инструкцию.

Больше года назад, я потерял доступ к аккаунту Habr, и не мог восстановить его. Однако, спустя некоторое время, эксперименты по оптимальному доступу к полям регистров продолжились. И это привело к использованию нехитрых конструкций, построенных на шаблонах. Сегодня, я расскажу к чему привели эти эксперименты.

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

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

Рейтинг языков программирования от TIOBE: C# теряет популярность, C++ становится востребованнее

Время на прочтение 1 мин
Количество просмотров 32K
Программирование *Статистика в IT
Компания TIOBE опубликовала обновленный рейтинг языков программирования.

Обновляется этот рейтинг раз в месяц, позволяя следить за динамикой популярности различных языков программирования. Данные, которые используются для оценки, собираются по всему миру, это количество разработчиков в определенной сфере, доступность курсов по конкретным языкам, решения, которые позволяют расширить возможности языка.
Читать дальше →
Всего голосов 16: ↑13 и ↓3 +10
Комментарии 19

OpenCV Hackathon is coming

Время на прочтение 1 мин
Количество просмотров 3.2K
Open source *
image

Этим летом библиотека OpenCV отмечает свой двадцатый юбилей. OpenCV — самая большая библиотека компьютерного зрения в мире. Она используется чуть ли не в каждом мобильном телефоне, планшете и камере, не говоря уже о настольных системах и серверах. SourceForge рапортует о 20 миллионах скачиваний релизных версий библиотеки, и это число продолжает расти.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

20 февраля состоится С++ Meetup Moscow #6

Время на прочтение 2 мин
Количество просмотров 1.5K
Блог компании VK Программирование *C++ *


20 февраля в офисе Mail.ru Group состоится встреча С++ User Group. На мероприятии расскажут про инновационные подходы к IPC в лице Mojo, являющегося частью фреймворка Chromium, — Mojo позволяет удобно строить IPC между процессами. И даже теми, в которых запущены приложения на других языках: C#/Java и др. Затем мы послушаем истории про std::initializer_list и как с ними непросто жить. А в заключение узнаем, что нам потребовалось почти 20 лет, чтобы научиться нормально объявлять константы.

Описание докладов, ссылка на регистрацию и все детали по митапу под катом. Регистрируйтесь сами и приглашайте друзей!
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 1

Яндекс.Практикум запустил онлайн-курсы для Junior-разработчиков

Время на прочтение 2 мин
Количество просмотров 9.1K
Python *C++ *Учебный процесс в IT
image

Сервис онлайн-образования Яндекс.Практикум объявил о старте программ для фронтенд- и Python-разработчиков начального уровня, которые позволят им вырасти до среднего уровня. Кроме того, появился новый курс «Разработчик C++».
Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 0

Promwad запускает видеоконференции на ТВ-приставках и Smart TV

Время на прочтение 2 мин
Количество просмотров 2.5K
IPTV *Разработка под Android *Разработка под Linux *Производство и разработка электроники *Видеоконференцсвязь

В дизайн-центре электроники Promwad стартовали пилотные проекты по запуску видеоконференций и услуги совместного просмотра на базе Smart TV и ТВ-приставок европейских операторов цифрового ТВ. Функция видеоконференций будет интегрирована в основной контент операторов и не потребует установки Zoom, Skype и других аналогичных приложений.

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

Microsoft упростила доступ к API Win32 для языков Rust и C#

Время на прочтение 2 мин
Количество просмотров 11K
API *C *C# *Rust *Разработка под Windows *

Компания Microsoft рассказала о проекте по упрощению взаимодействия с API Win32 для языков программирования Rust и С#. Проект получил название win32metadata и доступен для предварительного просмотра на Github.

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

OpenCV ищет студентов для Google Summer of Code-2021

Время на прочтение 1 мин
Количество просмотров 1.8K
Алгоритмы *

Крупнейшая библиотека компьютерного зрения OpenCV присоединилась к программе Google Summer of Code-2021 и объявляет набор студентов, которые хотели бы попробовать свои силы и заодно помочь улучшить работу библиотеки. Детальную информацию об OpenCV и ее участии в GSoC можно найти здесь

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

Mixxx 2.3 — свободный пакет для создания музыкальных миксов

Время на прочтение 3 мин
Количество просмотров 2.9K
Open source *C++ *Разработка под MacOS *Разработка под Linux *Разработка под Windows *

Вчера 28.06.2021, на сайте разработчика было объявлено о релизе Mixxx версии 2.3.0. Выпуск релиза затянулся на два года, было сделано 7477 правок, что затронуло более чем 1 миллион строк кода!

Поехали..
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 7

Онлайн-митап DevDay Mobile: C++ -> Swift, скрытый API Android и будни разработчика

Время на прочтение 2 мин
Количество просмотров 1.5K
Блог компании 2ГИС Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Swift *

8 июля в 19 часов в рамках интерактивной ютуб-трансляции обсудим много интересного с ребятами из питерского 2ГИС, Podlodka, Самоката, SberDevices и Cococaheads. В программе хардкорные доклады, нескучные перерывы и жаркие дискуссии. 

Здесь можно добавить событие в календарь.

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

Открытый вебинар «The Python Packaging»

Время на прочтение 1 мин
Количество просмотров 1.3K
Python *C++ *Конференции

"The Python packaging has a reputation of a somewhat black box from the early days. There are many unknown parts, and people mostly get by with just copying other projects, build configurations, and roll with them.” (c) Bernat Gabor - the maintainer of both the virtualenv and tox project, occasionally contributing to both setuptools and pip.

Попытаемся исправить эту ситуацию и разобраться, как устроено построение пакетов в питоне (а точнее, как оно было устроено раньше и как предлагается делать сейчас). А также, рассмотрим более сложный случай - построение пакетов с нативными модулями (С++/CUDA).

Технические вебинары компании Xperience AI проходят регулярно в свободном доступе. Чтобы получить приглашение на доклад Григория Серебрякова, а также получать приглашения на будущие выступления, оставьте свой адрес здесь. Часть лекций появляется на youtube-канале Xperience AI.

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

Cppcheck Premium 21.10

Время на прочтение 1 мин
Количество просмотров 2.3K
Блог компании PVS-Studio C++ *C *

Вышел инструмент под названием Cppcheck Premium. Он включает в себя открытый инструмент Cppcheck, а также премиальный компонент.

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

Когда вездекодить — это твой профиль: итоги второго IT-марафона в поддержку талантливых разработчиков и дизайнеров

Время на прочтение 2 мин
Количество просмотров 547
Блог компании VK Разработка мобильных приложений *Разработка игр *Хакатоны Графический дизайн *

В 2020 году провести офлайн-мероприятие было невозможно. Мы отказались от традиционного VK Hackathon, но решили поддержать разработчиков — и устроили двухнедельный марафон.

Проверили свои гипотезы, пересмотрели формат и решили провести в 2021 году целую серию таких двухдневных соревнований сразу в нескольких городах России. Отбор прошли площадки во Владивостоке, Туле, Екатеринбурге и Калининграде. 

В итоге мы организовали «Вездекод» — IT-марафон в четыре этапа с задачами разной сложности по нескольким категориям. Участники не обязательно могли быть знакомы с темами. Но в этом и прелесть: у каждого была возможность самостоятельно разобраться в новой для себя сфере.

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

Magnit Tech++ Meet Up 29.11 – поговорим о C++

Время на прочтение 2 мин
Количество просмотров 2.4K
Блог компании Магнит C++ *Разработка под Linux *Конференции
29 ноября в 17:00 (Мск, GMT+3) пройдет бесплатный онлайн-митап для C++ разработчиков от команды POS-систем «Магнита» и JUG.RU.

Кассовая платформа «Магнита» — один из самых масштабных проектов компании. Она выдерживает 5 миллионов чеков в день, устанавливается даже на маломощное железо и способна работать даже в условиях апокалипсиса. А еще это 5 лет развития, 500 тысяч строк кода и сильнейшая команда экспертов в C++.

Проведет митап Антон Дмитриев, директор по производству JUG.RU.

На митапе спикеры из команды «Магнита» — Александр Крикунов, Дмитрий Пестеха и Дмитрий Архипов — поделятся опытом разработки на плюсах, методами и инструментами.

Антон Полухин из Yandex Go расскажет о новых стандартах языка С++. Антон — автор нескольких принятых предложений к стандарту языка и Boost-библиотек, признанный эксперт в С++.

image

Под катом – еще больше информации о докладах, а также о розыгрыше призов.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

Linux-порт Far Manager: теперь beta

Время на прочтение 3 мин
Количество просмотров 6.9K
C++ **nix *C *Разработка под Linux *Софт

Я планировал выпускать заметки с новостями про far2l — Linux/Mac/BSD-порт (автор считает, что, скорее, «форк») Far Manager. Однако вчера произошло значимое событие, требующее лаконичного, но всё же поста — проект перешёл из стадии «alpha», длившейся долгих 5 лет, в стадию beta!

Так что сегодня подведу некоторый итог 5 лет разработки, а также расскажу про новую интересную фичу, которую добавили в far2l совсем недавно — уже после последнего моего обзорного поста.

И чего там новенького?
Всего голосов 37: ↑36 и ↓1 +35
Комментарии 54

Когда бэкенд-разработка — это твой профиль

Время на прочтение 1 мин
Количество просмотров 4.9K
Блог компании VK IT-инфраструктура *Карьера в IT-индустрии IT-компании Удалённая работа

Станьте частью Команды ВКонтакте всего за два дня: приглашаем на Weekend Offer!

Это встреча с большими перспективами. До 4 февраля включительно оставьте заявку на сайте — пришлём вам анкету и предложим рассказать о себе. 

Финальные собеседования пройдут 5 и 6 февраля.

Подробнее →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 0

Приглашаем на онлайновый митап-практикум по кибериммунитету

Время на прочтение 1 мин
Количество просмотров 444
Блог компании «Лаборатория Касперского» Информационная безопасность *Программирование *Производство и разработка электроники *Будущее здесь
Во вторник, 19 апреля, в 16 часов (МСК) в формате онлайн мы проведем митап-практикум KasperskyOS Night Practice «Cтроим программный диод данных на KasperskyOS».



Мы в KasperskyOS — сторонники концепции кибериммунитета, то есть подхода к разработке заведомо безопасных IT-решений. Разработчики одного из первых таких решений — шлюза для промышленного интернета вещей (Kaspersky IoT Secure Gateway) на базе нашей операционной системы — выступят на KasperskyOS Night Practice.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

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

Время на прочтение 1 мин
Количество просмотров 2.5K
Блог компании VK Работа с видео *C++ *Администрирование баз данных *Удалённая работа

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

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

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

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

Время на прочтение 2 мин
Количество просмотров 2K
Блог компании PVS-Studio Open source *

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

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