Полезные материалы по всему, что может быть полезно плюсовику/сишнику.
C++ Full Course (FOUR HOUR All-in-One Tutorial for Beginners)
00:00 - Introduction
09:40 - User Input and Output
20:56 - using namespace std (Potential Problems)
30:38 - if Statement and Comparisons
37:41 - Comparing char with tolower
43:43 - User Input with getchar()
48:59 - else Clause and else if
59:14 - Nested if Statements
01:03:12 - Logical Operators
01:10:27 - booleans (The Truth Exposed)
01:22:47 - Switch Statement
01:31:28 - Defining a Function Prototype and Definition
01:37:29 - Function Returns and Arguments
01:45:24 - While Loop with Guessing Games
01:52:58 - Random Number Generation
02:02:44 - Multiple C++ File Compilation
02:10:05 - for Loops vs While Loops
02:16:53 - Decrementing for Loop (Count Down)
02:24:50 - Arrays and Looping
02:35:57 - Vectors
02:40:40 - Passing Arrays and Vectors to Functions
02:56:38 - Function Overloading
03:00:53 - Function Templates and Template Overloads
03:10:27 - Intro to Deques (Double Ended Queue)
03:14:45 - Reading and Writing to Files (ifstream and ofstream)
03:21:06 - Intro to Classes and Objects (Object Oriented Programming)
03:26:44 - Reading and Writing Custom Object Collection from File
03:36:06 - Custom Constructors
03:41:53 - Static Methods
03:46:47 - Stacks and Queues Shopping List Exercise
источник
#cpp #programming
👉 @cpp_lib
Как два байта переслать: контрибьютим в KPHP
KPHP - компилятор для PHP. Он конвертирует PHP код в код на C++, компилируя который, ускоряет производительность в десятки раз. Это open-source проект, созданный ВКонтакте. Благодаря ему собирается огромный монолит ВКонтакте на 9 миллионов строк PHP кода в обычный бинарник, запуская который вы локально поднимаете полноценный ВКонтакте.
Цель
Я расскажу про добавление новых функций в runtime KPHP. Точнее про тернистую дорогу на пути.
https://habr.com/ru/articles/749792/
#cpp #programming
👉 @cpp_lib
Развлечения с gRPC и C++
Погружение в асинхронные серверы и клиенты с использованием C++ и gRPC в 2023 году
Почему я пишу эту серию статей? Так получилось, что я хочу использовать gRPC в своем будущем DNS-сервере.
В прошлом я уже использовал gRPC - с большим трудом. В этот раз я посмотрел несколько примеров и сделал что-то вроде реализации - но понял, что это дерьмо. К тому же было слишком много вещей, которых я не знал и не понимал, чтобы исправить это. Поэтому я решил потратить некоторое время на игру с gRPC, чтобы лучше понять его.
https://lastviking.eu/fun_with_gRPC_and_C++/
#cpp #programming
👉 @cpp_lib
Бьерн Страуструп: Как развивать язык
С самого начала своего существования язык C++ развивался в направлении создания элегантного и эффективного кода, включающего полную безопасность типов и ресурсов, равную поддержку встроенных и определяемых пользователем типов, а также прямое манипулирование аппаратными и системными ресурсами. Я расскажу об основных идеалах языка C++ и о стратегиях его развития, приведших к появлению современного стандарта ISO C++20. Ключевая идея заключалась в том, что мир постоянно меняется, и Си++ должен меняться вместе с ним на основе обратной связи с реальными проблемами. Однако эти изменения должны происходить в условиях жестких ограничений, связанных с необходимостью обеспечения стабильности основных пользователей.
источник
#cpp #programming
👉 @cpp_lib
🎮 Прими участие в бесплатном курсе по 3D моделированию для игр в Blender
Регистрация по ссылке👇
https://srflnk.ru/mvOunb
За 4 занятия ты поймешь, что создавать свои игровые модели может каждый!
📢 Что будем делать:
- Подробно разберем интерфейс Blender
- Изучим технику блокинга формы
- Научимся работать с полигональным моделированием и созданием Lowpoly моделей под игры
- Научимся настраивать pbr материалы в движке Eevee, а также работать со светом и настройками визуализации, чтобы красиво подать модель!
⏳ Продолжительность - 7 дней
Запишись по ссылке 👇
https://srflnk.ru/mvOunb
Вызываем демонов с printf
Начинающие реверс-инженеры часто сталкиваются с многочисленными препятствиями. Эта статья описывает определённый метод, который, как полагает автор, может вызвать замешательство у тех, кто только начинает изучать область анализа приложений. Стоит подчеркнуть, что цель данного материала не в представлении инновационного подхода или оказании значительной практической пользы, а в рассмотрении показательного случая.
https://habr.com/ru/articles/739764/
#cpp #programming
👉 @cpp_lib
Как вывести форматированный текст на экран в C++
Рано или поздно у каждого программиста появляется желание вывести форматированный текст на экран. Немудрено, у пляшущих на экране буковок есть свой неповторимый шарм, а факт форматированности добавляет им еще и загадочности — мы можем даже не догадываться, что в точности будет напечатано.
Но как сделать это оптимально и кроссплатформенно?
https://habr.com/ru/articles/748336/
#cpp #programming
👉 @cpp_lib
Создаём проект на С++ для Unreal Engine 5
#01. Создаём FPS-проект на С++
#02. Рефакторинг персонажа по умолчанию
#03. Рефакторим делегаты
#04. Рефакторинг компонента оружия
#05. Добавим наборы оружия
#06. Создаём оружие
#07. Взаимодействие с предметами
#08. Подбираем оружие
#09. Добавим персонажа Mixamo
#10. Аттачим оружие к персонажу
источник
#cpp #programming
👉 @cpp_lib
CMake с нуля
00 Введение
01 Структура проекта
02 Генерирование проектных файлов
03 Минимальный проект
04 Таргеты - add_executable
05 Таргеты - add_library
06 Таргеты - target_link_libraries
07 Переменные
08 Кэшированные переменные
09 Установка переменных командной строкой
источник
#cpp #programming
👉 @cpp_lib
Constrain your user-defined conversions
https://www.foonathan.net/2023/07/constrain-user-defined-conversions/
#cpp #programming
👉 @cpp_lib
C++ OpenGL 3D Game Tutorial Series From Scratch
1: Making the Window with Win32 API
2: Making OpenGL 3D Engine
3: Drawing a Triangle
4: Shaders
5: Animations
6: The Matrix
7: Rendering 3D Cube
8: Entity System
источник
#cpp #programming
👉 @cpp_lib
Курс современного C++ | Боннский университет, Германия.
Course Introduction and Hello World
Variables, Basic Types, Control Structures
Compilation, Debugging, Functions, Header/Source, Libraries, CMake
Google Test, Namespaces, Classes
Move Semantics, Classes
Polymorphism, I/O, Stringstreams, CMake find
Static, Numbers, Arrays, Non-owning pointers, Classes
Pointers, const with pointers, Stack and Heap, Memory leaks
Smart/Unique/Shared ptrs, Associative con., Enumeration
Templates, Iterators, Exceptions, Program input parameters, OpenCV
источник
#cpp #programming
👉 @cpp_lib
ТОП-3 вопроса о внесении программ в Реестр отечественного ПО
Вопрос №1
На какой срок ПО включается в Реестр Минцифры?
ПО включается в Реестр на неограниченный срок. При этом Минцифры ежегодно проверяет продолжает ли Ваше ПО соответствовать необходимым критериям и, в случае несоответствия, исключает ПО из реестра.
Вопрос №2
Какие льготы дает внесение в Реестр?
Внесение в Реестр позволяет: участвовать в государственных и муниципальных закупках; обнулять свой НДС при продаже программного продукта; получать гранты; принимать участие в акселераторах для малого бизнеса и стартапов.
Вопрос №3
Если ПО не внесено в Реестр, может ли оно быть признанным российским?
Продукты, не включенные в Реестр, не считаются российскими даже если полностью созданы российскими компаниями.
Проверьте, можно ли включить ваш продукт в Реестр Минцифры, пройдя тест по ссылке, и получите скидку 25% на внесение ПО в Реестр.
👉 ПРОЙТИ ТЕСТ 👈
Курс по ООП в С++: шаблоны и метапрограммирование
00:00 - Введение
02:12 - Внутреннее устройство шаблонов
03:55 - Явная специализация
06:25 - Частичная специализация
08:04 - Перегрузка и шаблоны
09:02 - Статический полиморфизм (CRTP)
12:40 - Шиблонный синглтон (CRTP)
17:57 - Основы метапрограммирования
22:17 - Заключение
источник
#cpp #programming
👉 @cpp_lib
Оператор присваивания ( = ), строго говоря, является бинарным оператором. Его объявление идентично объявлению любого другого бинарного оператора со следующими исключениями:
☑️ Он должен быть нестатической функцией-членом.
☑️ Он не наследуется производными классами.
☑️ Компилятор может создать функцию operator = по умолчанию для типов классов, если она не существует.
В примере показано, как объявить оператор присваивания.
#cpp #programming
👉 @cpp_lib
Молниеносный фреймворк нейронных сетей на C++/CUDA (by nvlabs)
https://www.libhunt.com/r/tiny-cuda-nn
#cpp #programming
👉 @cpp_lib
Выносим за скобки настройки CMake
Каждый день я создаю множество однотипных проектов C++ с системой сборки cmake. И открывая проекты в IDE, каждый раз снимаю галочки с типа сборки, оставляя только Debug. А ещё меняю путь к папке сборки. Мелочь, а утомляет.
Я решил изучить, как сделать эти действия автоматически, а в итоге узнал про удобный метод обмена настройками cmake между программистами.
Оказывается, существуют пресеты. Пресеты позволяют вынести параметры сборки из CMakeLists.txt. Это нужно для того, чтобы ваши проекты без проблем собирались под разные платформы и тулчейны. Пресет представляет из себя json-файл, в котором задаются различные параметры, влияющие на сборку проекта (опции конфигурации, флаги компилятора и т. д.).
https://habr.com/ru/companies/timeweb/articles/741868/
#cpp #programming
👉 @cpp_lib
⚡️Сишарповец, апнуться — просто!
Начните на бесплатном вебинаре онлайн-курса «C# ASP.NET Core разработчик» — «ASP.NET: взаимодействие с источниками данных»: регистрация
На бесплатном занятии мы:
— познакомимся с видами баз данных;
— разберем, как работать с реляционными и нереляционными базами данных напрямую и через ORM.
🔥Экспертизой поделится Дмитрий Гурьянов — опытный Тимлид команды разработки CRM-решений на платформе .NET.
— Продолжить обучение после вебинара по спеццене можно на полном курсе, доступном также в рассрочку.
Нативная интеграция. Информация о продукте www.otus.ru
Исправление GCC для создания фактически переносимых исполняемых файлов
https://ahgamut.github.io/2023/07/13/patching-gcc-cosmo/
#cpp #programming
👉 @cpp_lib
ТОП вопросов на С++ собеседовании | Вопросы и задачи с реальных собеседований
00:00 - Введение
02:07 - Общие вопросы на собеседовании по С++
03:46 - Стандартная библиотека С++
06:53 - Указатели в С++
07:51 - Виртуальность в С++
09:51 - Шаблоны в С++
11:52 - Заключение
источник
#cpp #programming
👉 @cpp_lib
⚡️Сишарповец, пора расти дальше!
Узнайте больше про C# ASP.NET Core-разработку ЗАВТРА, 3 августа в 20:00 мск на бесплатном вебинаре онлайн-курса в Отус — «Стандартные middleware своими руками»: регистрация
На бесплатном занятии мы:
— изучим, какие middleware по умолчанию используются в ASP.NET проектах;
— узнаем, зачем они нужны, как они устроены;
— реализуем свои аналоги.
🔥Экспертизой поделится Антон Герасименко — опытный .net developer + lead.
— После вебинара вы сможете продолжить обучение по спеццене, оплатив курс, в том числе, в рассрочку.
Нативная интеграция. Информация о продукте www.otus.ru
C++ с нуля
00 | Введение
01 | Hello World
02 | Биты, байты и двоичная система
03 | Типы данных в C++
04 | Операции с переменными
05 | Логические операции и операции сравнения
06 | Побитовые логические операции
07 | Функции
08 | Компиляция и линковка
09 | Безопасные и небезопасные преобразования
10 | Cсылки
11 | Указатели
12 | Область видимости
13 | Ветвление: if else
14 | switch
15 | Циклы while, do while, for
16 | enum
17 | struct
Все видео доступны на youtube
#cpp #programming
👉 @cpp_lib
🎮 Прими участие в бесплатном курсе по 3D моделированию для игр в Blender
Регистрация по ссылке👇
https://srflnk.ru/mvOunb
За 4 занятия ты поймешь, что создавать свои игровые модели может каждый!
📢 Что будем делать:
- Подробно разберем интерфейс Blender
- Изучим технику блокинга формы
- Научимся работать с полигональным моделированием и созданием Lowpoly моделей под игры
- Научимся настраивать pbr материалы в движке Eevee, а также работать со светом и настройками визуализации, чтобы красиво подать модель!
⏳ Продолжительность - 7 дней
Запишись по ссылке 👇
https://srflnk.ru/mvOunb
C++23: Alias declarations in for loop init-statements
https://www.sandordargo.com/blog/2023/07/12/cpp23-extended-init-statement-with-alias-declaration
#cpp #programming
👉 @cpp_lib
⚡️Скорость разработки ПО падает по мере роста размера проекта. Инструменты разработки не могут изменить тенденции, а лишь замедлить и отсрочить неизбежное. SOLID является одной из практик, которая гарантирует неизменность скорости разработки.
Узнайте больше про SOLID-принципы на бесплатном вебинаре онлайн-курса «Архитектура и шаблоны проектирования» в Отус — «SOLID как условие постоянной скорости разработки»: регистрация
На бесплатном занятии мы:
— разберем, почему SOLID принципы являются достаточным условием сохранения скорости разработки;
— рассмотрим простой и понятный механизм их применения для получения повторно используемого кода.
🔥Экспертизой поделится Евгений Тюменцев — опытный директор компании по разработке программного обеспечения.
Нативная интеграция. Информация о продукте www.otus.ru
🎮 Прими участие в бесплатном курсе по 3D моделированию для игр в Blender
Регистрация по ссылке👇
https://srflnk.ru/mvOunb
За 4 занятия ты поймешь, что создавать свои игровые модели может каждый!
📢 Что будем делать:
- Подробно разберем интерфейс Blender
- Изучим технику блокинга формы
- Научимся работать с полигональным моделированием и созданием Lowpoly моделей под игры
- Научимся настраивать pbr материалы в движке Eevee, а также работать со светом и настройками визуализации, чтобы красиво подать модель!
⏳ Продолжительность - 7 дней
Запишись по ссылке 👇
https://srflnk.ru/mvOunb
Первый проект длиною в полтора года…
На дворе 2021 год, я занимаюсь ремонтом электроники уже на протяжении десяти лет. Свободное от работы время я посвящаю изучению 3D-моделирования и печати. Для этих целей в 2018 году были куплены два самодельных FDM-принтера.
В один из дней приходит знакомый, держа в руках плату с большим количеством радиаторов. Предлагает посмотреть краем глаза, почему она не работает.
Я, конечно же, был не очень рад его предложению, так как занимаюсь больше ремонтом мобильных телефонов и планшетов. В процессе небольшой дискуссии соглашаюсь с одной оговоркой, что если за два выходных дня у меня получится погрузиться в проблему и изучить сам вопрос и понять, что это за плата, то я берусь.
Уже вечером этого дня я изучаю дома плату и первый раз узнаю такие слова, как "Asic", майнер, майнинг. Изучив немного вопрос, понимаю, что имею на руках плату одного такого устройства, а в данном случае именно AntMiner S9.
https://habr.com/ru/articles/746118/
#cpp #programming
👉 @cpp_lib
Оптимизация GUI на Qt
Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GUI. Qt – платформа достаточно надежная, неплохо вылизанная по всем параметрам, в том числе и по скорости работы. Однако всё же иногда бывают ситуации, когда из-за обилия виджетов графический интерфейс немного притормаживает, и это печально). В этой статье я приведу один частный пример простого графического интерфейса и покажу, как за два шага можно сначала ускорить его в 11 раз, а потом и в целых 34 раза. Вдобавок к этому, я постараюсь немного осветить механизм принятия решения для таких оптимизационных задач, постараюсь показать направление мыслей для правильного решения. Поехали!
https://habr.com/ru/post/672962/
#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++
Часто возникает путаница с тем, что же понимается в компьютерных науках под «атомарностью». Как правило, атомарность – это свойство процесса, означающее, что он совершается за один шаг или операцию. Но в языке C++ атомарность определяется гораздо более специфичным образом. На самом деле, при использовании std::atomic с классами и типами еще не гарантируется, что весь код будет подлинно атомарным. Хотя, атомарные типы и входят в состав языка C++, сами атомарные операции должны поддерживаться на уровне того аппаратного обеспечения, на котором работает программа. Эта статья – простое руководство, помогающее понять, что же представляет собой атомарность в C++.
https://blog.devgenius.io/a-simple-guide-to-atomics-in-c-670fc4842c8b
#cpp #programming
👉 @cpp_lib