Надоело писать код, который тормозит?
Хочешь стать востребованным middle или senior разработчиком и получать предложения о работе от топов российского и международного рынка?
Тогда курс «Алгоритмы и структуры данных» — то, что тебе нужно!
На обучении ты:
- освоишь самые актуальные алгоритмы (жадные алгоритмы, бинарный поиск и др.), которые нужны для решения реальных задач и прохождения собеседований в крупные IT-компании;
- научишься оптимизировать свой код так, чтобы он летал, как ракета, а не ползал, как улитка;
- прокачаешь алгоритмическое мышление и сможешь создавать свои собственные алгоритмы для решения любых задач;
- получишь опыт реализации классических алгоритмов: твой GitHub будет сиять;
- разберёшься в сложных структурах данных: деревья поиска, хеш-таблицы, графы и всё, что нужно настоящему профи.
⏰ Только до 21 июля действует 10% скидка на обучение! С 22 июля скидка — 5%.
💚 Действуй сегодня, записывайся в группу: https://vk.cc/cyqZUsРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Приходите на C++ Zero Cost Conf 27 июля!
Конференция одновременно пройдёт в Москве, Ереване и онлайн. На встрече практикующие разработчики из топовых компаний прочитают доклады, поделятся реальными кейсами и метриками. А ещё будет крутой нетворкинг и афтерпати.
Программа получилась насыщенной — зарегистрироваться можно по ссылке.
До встречи на C++ Zero Cost Conf! ☀️
CGAL
Библиотека алгоритмов вычислительной геометрии (CGAL) - это библиотека C++, цель которой - обеспечить легкий доступ к эффективным и надежным алгоритмам вычислительной геометрии.
https://github.com/CGAL/cgal
#cpp #programming
👉 @cpp_lib
🎯 Готовы открыть для себя мир мобильной разработки на ОС Аврора 5?
16 июля в 20:00 мск присоединяйтесь к нашему открытому уроку и узнайте все секреты!
ОС Аврора 5 — это передовая российская мобильная операционная система, готовая к использованию в самых амбициозных проектах. Хотите узнать, как её покорить? Тогда этот вебинар для вас!
На занятии мы познакомимся с ключевыми особенностями ОС Аврора 5 и погрузимся в её уникальную среду разработки приложений — Аврора IDE. Ознакомимся со структурой и конфигурацией приложений на этой платформе.
Вы увидите наглядную демонстрацию приложения, которое отправляет уведомления в графическую подсистему Lipstick.
Встречаемся в преддверии старта курса «Разработка прикладного ПО на Qt и ОС «Аврора».
Все участники вебинара получат специальную цену на обучение!
➡️ Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок: https://vk.cc/cygmmlРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📕Introduction to C++ : 500+ Difficulty-Scaled Solved Programming Exercises.
George S. Tselikis (2023)
Эта книга предназначена в первую очередь для студентов, изучающих курс языка C++, для тех, кто хочет самостоятельно изучить язык C++, а также для программистов, имеющих опыт работы с C и желающих перейти на C++. Она также может оказаться полезной преподавателям курса С++, которые ищут поясняющие примеры программирования для добавления в свои лекции. Основное внимание в этой книге уделено прочному введению в язык C++ и знаниям программирования с помощью большого количества практических примеров и содержательных советов. Она включает более 500 упражнений и примеров постепенного усложнения, чтобы помочь читателю понять принципы C++ и увидеть, как концепции могут материализоваться в коде.
#cpp #programming
👉 @cpp_lib
I HAVE NO CONSTRUCTOR, AND I MUST INITIALIZE
Когда несколько лет назад я проходил первый курс по C++, меня учили, что при определенных обстоятельствах компилятор будет предоставлять некие конструкторы по умолчанию на случай, если мы не предоставим свои собственные. Любопытно было узнать больше, но в первую очередь меня интересовали такие случаи:struct T { /* ... */ };
T t;
T s{};
T r{arg1, arg2, ...};
https://consteval.ca/2024/07/03/initialization/
#cpp #programming
👉 @cpp_lib
Можно ли изменить состояние в const function в C++? Почему? Как?
В этом посте мы обсудим, почему вы можете захотеть изменить состояние в const-функции в C++, и как можно изменить состояние с помощью const_cast
. Мы также обсудим, является ли использование const_cast
в кодовых базах C++ хорошей практикой.
https://bytesandlogs.me/can-you-change-state-in-const-function-in-cpp/
#cpp #programming
👉 @cpp_lib
Юрий Грибов — Как правильно писать компараторы
Один из малоизвестных примеров undefined behavior в C/C++ это нарушение требований к функциям сравнения (компараторам). Компараторы широко используются в алгоритмах (std::sort, std::binary_search, и т.д.) и контейнерах (std::set, std::map) и встречаются как в C++, так и в C (qsort, bsearch). Компараторы должны удовлетворять некоторым аксиомам, которые в математике описываются понятием строгого слабого порядка (strict weak ordering). Эти аксиомы не интуитивны и в них легко ошибиться, о чем свидетельствует большое количество соответствующих багов в open source проектах. Современные тулчейны предоставляют средства для отслеживания таких ошибок. О них рассказано в докладе Юрия.
https://www.youtube.com/watch?v=NKn1pAoB2MM
#cpp #programming
👉 @cpp_lib
🔥 Освой разработку ПО на QT и ОС Аврора
Пройди тест из 20 вопросов и проверь, насколько хорошо nы знаешь язык C++ и готов освоить QT и ОС Аврора .
Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS.
👉 ПРОЙТИ ТЕСТ: https://vk.cc/cy8dmfРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
std::exception
— это базовый класс для всех стандартных исключений в C++
Почему стоит наследоваться от std::exception?
• Единообразие в обработке исключений: Когда вы наследуетесь от std::exception
, ваш класс исключения приобретает интерфейс, который делает его совместимым с другими стандартными исключениями
• what()
метод: std::exception
предоставляет важный метод what()
, который возвращает строковое представление исключения. Это позволяет вам предоставлять информативные сообщения об ошибке при обработке исключений
• Легкость в поддержке кода: Если вы используете сторонние библиотеки или фреймворки, они также могут ожидать обработку исключений, производных от std::exception
• Стандартные типы исключений: std::exception
имеет несколько стандартных подклассов, таких как std::runtime_error
, std::logic_error
и другие. Вы можете использовать эти подклассы вместо базового std::exception
, чтобы более точно определить характер ошибки
#cpp #programming
👉 @cpp_lib
📕Learn C++ Quickly
Автор: Code Quickly (2020)
Самые успешные программы за последние 30 лет были разработаны на C++. От Microsoft Word до Facebook и Adobe Photoshop, C++ лежит в основе самых прибыльных технологий в современном мире. Это один из самых мощных языков программирования по одной простой причине: он позволяет полностью контролировать не только логику программы и графический интерфейс пользователя, но и оборудование. Выбрав эту книгу в качестве обучающего материала, вы получите пошаговое руководство, позволяющее быстро освоить сложный синтаксис C++.
Изучив основы, во время чтения книги вы также получите:
✔️Навыки управления производительностью любого компьютера на микроуровне;
✔️Возможность писать код для Windows, Mac, Linux и мобильных устройств;
✔️Возможность быстро овладеть множеством других высокоуровневых языков программирования.
#cpp #programming
👉 @cpp_lib
Подборка Telegram каналов для программистов
Системное администрирование 📌
/channel/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
/channel/sysadminof Книги для админов, полезные материалы
/channel/i_odmin Все для системного администратора
/channel/i_odmin_book Библиотека Системного Администратора
/channel/i_odmin_chat Чат системных администраторов
/channel/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
/channel/sysadminoff Новости Линукс Linux
/channel/tikon_1 Новости высоких технологий, науки и техники💡
/channel/mir_teh Мир технологий (Technology World)
/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика
/channel/itmozg Программисты, дизайнеры, новости из мира IT.
/channel/phis_mat Обучающие видео, книги по Физике и Математике
/channel/php_lib Библиотека PHP программиста 👨🏼💻👩💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста
1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
/channel/cpp_lib Библиотека C/C++ разработчика
/channel/cpp_knigi Книги для программистов C/C++
/channel/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
/channel/pythonofff Python академия. Учи Python быстро и легко🐍
/channel/BookPython Библиотека Python разработчика
/channel/python_real Python подборки на русском и английском
/channel/python_360 Книги по Python Rus
Java разработка 📌
/channel/BookJava Библиотека Java разработчика
/channel/java_360 Книги по Java Rus
/channel/java_geek Учим Java на примерах
GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
/channel/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
/channel/developer_mobila Мобильная разработка
/channel/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
/channel/frontend_1 Подборки для frontend разработчиков
/channel/frontend_sovet Frontend советы, примеры и практика!
/channel/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
/channel/game_devv Все о разработке игр
Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT
Чат программистов📌
/channel/developers_ru
Библиотеки 📌
/channel/book_for_dev Книги для программистов Rus
/channel/programmist_of Книги по программированию
/channel/proglb Библиотека программиста
/channel/bfbook Книги для программистов
/channel/books_reserv Книги для программистов
БигДата, машинное обучение 📌
/channel/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
/channel/bookflow Лекции, видеоуроки, доклады с IT конференций
/channel/coddy_academy Полезные советы по программированию
QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика
Шутки программистов 📌
/channel/itumor Шутки программистов
Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров
Английский 📌
/channel/UchuEnglish Английский с нуля
Математика 📌
/channel/Pomatematike Канал по математике
Excel лайфхак📌
/channel/Excel_lifehack
Основы С++
Языку C++ почти 40 лет, но он по-прежнему актуален и востребован: сегодня он применяется повсеместно — от разработки игр и десктопных программ до «мозгов» умного дома. С помощью нашего учебника вы сможете самостоятельно изучить базовые концепции C++. Наш курс рассчитан на новичков — однако мы рассчитываем, что вы знакомы с основами информатики и владеете каким-либо языком программирования на уровне школьной программы — например, языком Python.
https://education.yandex.ru/handbook/cpp
#cpp #programming
👉 @cpp_lib
🏆 Хотите стать одним из тех, кто покорил разработку и стал успешным в IT? Добро пожаловать на курс «Специализация C++ Developer»!
Забудьте о скучных лекциях! Вас ждут современные тренды разработки и актуальные инструменты. У нас вы сразу погружаетесь в реальные задачи с обучением на рабочих кейсах.
Что вы получите:
- полное представление о всех аспектах C++ в разных областях разработки;
- качественные, практически применимые знания, ведущие к получению самых выгодных офферов в топовых проектах;
- мощную поддержку с трудоустройством: ваше резюме в базе OTUS, участие в карьерных мероприятиях и публичные разборы. Реальные шансы на крутые предложения!
➡Нельзя упускать такую возможность. Время действовать — время побеждать! Оставьте заявку прямо сейчас, чтобы успеть забрать специальную цену и подарочные уроки: https://otus.pw/Ingz/?erid=2VtzqwXjvmN
🔥При оплате до 30.06 скидка 5%
На грани между exceptions и std::expected
Посмотрев на новый тип из грядущего стандарта под названием std::expected я пришел к интересному на мой взгляд мнению, что можно немного переосмыслить его суть и сделать несколько ближе к исключениям.
В данной статье хочу немного рассказать о небольшом исследовании реализации expected, в которой используется стирание типа ошибки.
https://habr.com/ru/articles/737408/
#cpp #programming
👉 @cpp_lib
Безопасное копирование, перемещение и уничтожение объектов в современном C++ по правилу «все или ничего»
Какие конструкторы нужны классу C++? Какие он генерирует сам? Как насчет различных операторов присваивания? А деструктор? Как не отстрелить себе ногу и без труда ориентироваться в этих водах?
Это и многое другое мы рассмотрим в этом видео, которое расскажет нам о простом правиле, которому нужно следовать при реализации классов в современном C++, - правиле "все или ничего". Мы погрузимся в причины его существования и посмотрим, как оно облегчает нам жизнь.
источник
#cpp #programming
👉 @cpp_lib
Библеотека CPR
C++ Requests - это простая обертка вокруг libcurl, вдохновленная отличным проектом Python Requests.
Несмотря на свое название, простой интерфейс libcurl - это еще не все, и ошибки, неправильное использование этого языка - частый источник ошибок и разочарований. Используя более выразительные языковые средства C++17 (или C++11, если вы используете cpr < 1.10.0), эта библиотека укладывает суть выполнения сетевых вызовов в несколько лаконичных идиом.
Вот быстрый GET-запрос:#include <cpr/cpr.h>
int main(int argc, char** argv) {
cpr::Response r = cpr::Get(cpr::Url{"https://api.github.com/repos/whoshuu/cpr/contributors"},
cpr::Authentication{"user", "pass", cpr::AuthMode::BASIC},
cpr::Parameters{{"anon", "true"}, {"key", "value"}});
r.status_code; // 200
r.header["content-type"]; // application/json; charset=utf-8
r.text; // JSON text string
return 0;
}
https://github.com/libcpr/cpr
#cpp #programming
👉 @cpp_lib
FTXUI
Простая кроссплатформенная библиотека C++ для пользовательских интерфейсов на базе терминала!
• Функциональный стиль
• Простой и элегантный синтаксис
• Создаваемые консольные UI поддерживают навигацию с помощью клавиатуры и мыши
• Поддержка UTF8
• Поддержка анимации
• Поддержка рисования
• Нет зависимостей
• Кроссплатформенность: Linux/MacOS, WebAssembly, Windows
https://github.com/ArthurSonzogni/FTXUI
#cpp #programming
👉 @cpp_lib
Константин Владимиров — О денотации: разрешение имен и его пересмотр в C++23
Этот доклад — попытка сделать темную и мрачную область разрешения имен в C++ простой и ясной для практикующего программиста.
источник
#cpp #programming
👉 @cpp_lib
❓Хотите узнать, какой алгоритм сортировки быстрее и эффективнее? Присоединяйтесь к нашему открытому уроку!
Тема: Визуальное сравнение 4-5 алгоритмов сортировок.
Дата: 15 июля в 20:00 мск.
На занятии мы подробно рассмотрим два популярных алгоритма сортировки: Выбором и Пирамидальной. Разберём их по различным критериям, включая сложность, количество обменов, стабильность и адаптивность.
Мы напишем и сравним алгоритмы по их быстродействию. Этот урок идеально подходит для студентов, разработчиков и всех, кто хочет углубить свои знания в области алгоритмов сортировки.
🔥 Спикер Евгений Волосатов — программист баз данных и преподаватель с огромным и разнообразным опытом, автор статей и учебных программ по C#, Java, PHP.
🔴 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://vk.cc/cyflwxРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🌎Программист, говори с миром на одном языке!
👉Узнайте больше о возможностях С на бесплатном вебинаре онлайн-курса «Программист С» — «Unicode в С»: регистрация
На вебинаре мы:
— подробнее познакомимся с интернациональным стандартом символов Unicode и низкоуровневым устройством его кодировок
— развеем несколько популярных мифов в области кодировок и посмотрим на инструменты языка C для работы с юникодом.
✅Занятие будет полезно всем программистам с опытом.
👉После вебинара вы сможете продолжить обучение на курсе по спеццене, в том числе, в рассрочку
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
C++26 — прогресс и новинки от ISO C++
Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание. Как один из участников, поделюсь сегодня с Хабром свежими новостями и описанием изменений, которые планируются в С++26.
До нового стандарта C++ остаётся чуть больше года, и вот некоторые новинки, которые попали в черновик стандарта за последние две встречи:
⚫️запрет возврата из функции ссылок на временное значение,
⚫️[[indeterminate]] и уменьшение количества Undefined Behavior,
⚫️диагностика при =delete;,
⚫️арифметика насыщения,
⚫️линейная алгебра (да-да! BLAS и немного LAPACK),
⚫️индексирование variadic-параметров и шаблонов ...[42],
⚫️вменяемый assert(...),
⚫️и другие приятные мелочи.
Помимо этого, вас ждут планы и прогресс комитета по большим фичам и многое другое.
https://habr.com/ru/companies/yandex/articles/801115/
#cpp #programming
👉 @cpp_lib
STL с нуля | C++
1:24 - заполнение контейнеров.
2:44 - вопрос о передаче параметра в функцию (копия, ссылка, универсальная ссылка).
4:54 - как посмотреть, что генерит компилятор из универсальной ссылки.
8:53 - про рандом.
10:36 - list vs vector.
14:38 - как удалить элемент из std::vector.
16:19 - решение задачи про исчезнувший элемент.
18:11 - обсуждаем сложность алгоритмов.
21:37 - чем хороша STL.
#cpp #programming
👉 @cpp_lib
🚙Мониторинг движения транспорта в IoT служит для всестороннего мониторинга всех участников дорожного движения, включая отслеживание скорости, траекторий, выхода пешеходов на дорогу и всего, что может в конечном итоге повлиять на поток и безопасность дорожного движения.
👉Узнайте больше 3 июля в 20:00 ч мск на бесплатном вебинаре онлайн-курса «IoT Developer» - «Мониторинг транспорта в платформе ThingsBoard»: регистрация
На занятии рассмотрим решение мониторинга транспорта, познакомимся с реализацией демо проекта на платформе ThingsBoard:
1. Подключение устройств
2. Создание сущностей
3. Разработка цепочек правил
4. Разработка дашборда
🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Метапрограммирование
1. Введение в шаблоны
2. C++20: requires keyword
3. C++20: concepts
4. Operator spaceship
5. ADL и CRTP
6 (семинар). Typelist
7. Traits, Policy Based Design, Mixins
8. Полиморфизм
9 (семинар). Реализация std::function
10 (семинар). Реализация std::any без виртуальных функций
источник
#cpp #programming
👉 @cpp_lib
Если хочется влюбиться в профессию заново. Разрабатывайте курс вместе с Яндекс Практикумом!
Сервис онлайн-образования Яндекс Практикум готовит новый продукт в рамках курса «Разработчик C++». Для создания контента коллегам нужен специалист уровня мидл и выше.
Обратите внимание на это предложение, если у вас есть от 10 свободных часов в неделю и желание влиять на развитие индустрии.
Что предстоит делать: готовить тексты уроков и заданий, составлять тесты и чек-листы, заботиться о том, чтобы материалы увлекали студентов.
Условия сотрудничества: частичная занятость, удалёнка, гибкий график.
Почему интересно: дополнительный доход, комьюнити, возможность делиться опытом с заинтересованными людьми. Хороший способ снова влюбиться в профессию разработчика и влюбить других 👌
Узнать детали и откликнуться ←
Жизнь без линтеров и расчет цены абстракции: материалы для разработчиков на С++
В марте собрали «плюсовиков» на митапе в Санкт-Петербурге. Всем понравилось, поэтому смело принесли вам записи докладов и дискуссии с экспертами из YADRO, VK и Kaspersky, а также создателем Sphinx Андреем Аксёновым. Выбирайте доклад на вечер пятницы (дискуссия про код-ревью зайдет с попкорном) и сохраняйте в закладки:
Руководитель отдела компиляторов научит рассчитывать цену абстракции для функций и других сущностей с учетом ваших ресурсов и возможностей компилятора.
Эксперт из PVS-Studio покажет, почему линтеры не всегда подходят для поиска ошибок и какое решение использовать вместо них, чтобы не навредить безопасности сервиса.
Инженеры с весомым стажем работы на С++ поделятся опытом проведения код-ревью — найдете в их практиках что-то полезное или просто посмеетесь вместе с участниками дискуссии над курьезными случаями.
https://habr.com/ru/companies/yadro/articles/807145/
#cpp #programming
👉 @cpp_lib
*(char*)0 = 0; - What Does the C++ Programmer Intend With This Code?
- JF Bastien - C++ on Sea 2023
источник
#cpp #programming
👉 @cpp_lib
Внимание, разработчики! Приглашаем вас на открытый вебинар по алгоритмам и структурам данных от опытного практикующего эксперта💯
Ждём вас на уроке «Визуальное сравнение 1-2-3 алгоритмов сортировок» от OTUS, где мы:
- подробно рассмотрим три алгоритма сортировок: Пузырьком, Вставкой и Шелла;
- сравним их по различным критериям: сложность и количество обменов, стабильность и адаптивность;
- напишем алгоритмы и сравним их быстродействие;
- продемонстрируем их работу на игральных картах🂱️
🔥 Спикер Евгений Волосатов — программист баз данных и преподаватель с огромным и разнообразным опытом, автор статей и учебных программ по C#, Java, PHP.
Встречаемся 1 июля в 20:00 мск в преддверии старта курса «Алгоритмы и структуры данных». Все участники вебинара получат специальную цену на обучение.
🔴 Ссылка для регистрации: https://vk.cc/cxYdTp
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576