Реальный кейс: создание REST API движка на С++
История, полная ошибок и боли белорусских разработчиков, которая поможет вам избежать типичных проблем при создании REST API.
Узнайте, стал ли этот проект успешным, на бесплатном вебинаре «Движок REST API на C++. Кейс компании СКБ Радиотехпроект (SKB RTP)».
Разберём:
1. Зачем писать свой движок REST
2. Swagger в C++ как fail
3. Почему Rest это не просто url — это философия
📆Когда: 25 марта в 19:00
Спикер: Юрий Вашинко, Tech Lead/Lead Developer
👉 Занять место на вебинаре — через бота.
В конце вебинара — подарок🎁
Вебинар проходит в рамках курса «Разработчик С++20».
#реклама
О рекламодателе
erid: 2W5zFHANXz8
История, полная ошибок и боли белорусских разработчиков, которая поможет вам избежать типичных проблем при создании REST API.
Узнайте, стал ли этот проект успешным, на бесплатном вебинаре «Движок REST API на C++. Кейс компании СКБ Радиотехпроект (SKB RTP)».
Разберём:
1. Зачем писать свой движок REST
2. Swagger в C++ как fail
3. Почему Rest это не просто url — это философия
📆Когда: 25 марта в 19:00
Спикер: Юрий Вашинко, Tech Lead/Lead Developer
👉 Занять место на вебинаре — через бота.
В конце вебинара — подарок🎁
Вебинар проходит в рамках курса «Разработчик С++20».
#реклама
О рекламодателе
erid: 2W5zFHANXz8
Подборка Telegram каналов для программистов
https://t.me/bash_srv Bash Советы
https://t.me/win_sysadmin Системный Администратор Windows
https://t.me/lifeproger Жизнь программиста. Авторский канал.
https://t.me/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://t.me/rabota1C_rus Вакансии для программистов 1С
Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/DevLab1C 1С:Предприятие 8
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
https://t.me/bash_srv Bash Советы
https://t.me/win_sysadmin Системный Администратор Windows
https://t.me/lifeproger Жизнь программиста. Авторский канал.
https://t.me/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://t.me/rabota1C_rus Вакансии для программистов 1С
Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/DevLab1C 1С:Предприятие 8
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Telegram
Bash Советы
🚀 Секреты и советы по Bash
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
Media is too big
VIEW IN TELEGRAM
Что можно знать о C++ в 16 лет?
Сегодня мы собеседуем Богдана и проверяем его познания в C++
Проверим, насколько рано можно программировать.
Приятного просмотра!
источник
#cpp #programming
👉 @cpp_lib
Сегодня мы собеседуем Богдана и проверяем его познания в C++
Проверим, насколько рано можно программировать.
Приятного просмотра!
источник
#cpp #programming
👉 @cpp_lib
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Метапрограммирование
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
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++ проектах? Время автоматизировать процесс! 🕒💻
Пакетные менеджеры Conan и vcpkg позволяют легко управлять библиотеками, устанавливать зависимости и ускорять сборку. Разберем, как это работает, на открытом уроке.
Упростите себе жизнь: научитесь использовать пакетные менеджеры, чтобы писать код, а не разбираться с проблемами сборки.
Спикер Денис Злобин — старший инженер-программист в Astra Linux, опытный наставник разработчиков.
➡️Встречаемся 20 марта в 20:00 мск, разберем всё на практике! Участники получат скидку на большое обучение по разработке на С++.
Регистрация: https://vk.cc/cJOUIw
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Пакетные менеджеры Conan и vcpkg позволяют легко управлять библиотеками, устанавливать зависимости и ускорять сборку. Разберем, как это работает, на открытом уроке.
Упростите себе жизнь: научитесь использовать пакетные менеджеры, чтобы писать код, а не разбираться с проблемами сборки.
Спикер Денис Злобин — старший инженер-программист в Astra Linux, опытный наставник разработчиков.
➡️Встречаемся 20 марта в 20:00 мск, разберем всё на практике! Участники получат скидку на большое обучение по разработке на С++.
Регистрация: https://vk.cc/cJOUIw
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Пишем калькулятор на C++ с SFML
Привет, коллеги и доброжелательные критики! Сегодня я решил отвлечься от своей громоздкой работы, чтобы написать что-то простое, но с изюминкой — калькулятор с графическим интерфейсом на C++20 и SFML. Этот проект — не претензия на что-то грандиозное, а скорее лёгкий эксперимент, чтобы вспомнить, как приятно писать код, который сразу видно на экране. Заодно я поделюсь с вами своими мыслями, подходами и парой советов. Давайте разберём, как я это закрутил и почему выбрал именно SFML.
https://habr.com/ru/articles/891354/
#cpp #programming
👉 @cpp_lib
Привет, коллеги и доброжелательные критики! Сегодня я решил отвлечься от своей громоздкой работы, чтобы написать что-то простое, но с изюминкой — калькулятор с графическим интерфейсом на C++20 и SFML. Этот проект — не претензия на что-то грандиозное, а скорее лёгкий эксперимент, чтобы вспомнить, как приятно писать код, который сразу видно на экране. Заодно я поделюсь с вами своими мыслями, подходами и парой советов. Давайте разберём, как я это закрутил и почему выбрал именно SFML.
https://habr.com/ru/articles/891354/
#cpp #programming
👉 @cpp_lib
📌 Оптимизация кода: убираем лишние копирования в C++
Сегодня я покажу вам, как неочевидные копирования объектов могут замедлять ваш код и как этого избежать.
Проблема: Лишние копирования
Допустим, у нас есть функция, которая возвращает
Раньше здесь действительно происходило копирование, но начиная с C++11 работает NRVO (Named Return Value Optimization) и перемещение (move).
Однако копирования могут появиться, если компилятор не сможет применить NRVO. Например:
🔧 Как исправить?
Используем
Или используем
Вывод
🔹 Следите за копированием больших объектов.
🔹 Используйте
🔹 Проверяйте, оптимизирует ли компилятор ваш код с NRVO.
#cpp #programming
👉 @cpp_lib
Сегодня я покажу вам, как неочевидные копирования объектов могут замедлять ваш код и как этого избежать.
Проблема: Лишние копирования
Допустим, у нас есть функция, которая возвращает
std::vector<int>
:
std::vector<int> getVector() {
std::vector<int> v = {1, 2, 3, 4, 5};
return v; // Возвращаем объект
}
void process() {
std::vector<int> data = getVector(); // Возможное копирование
}
Раньше здесь действительно происходило копирование, но начиная с C++11 работает NRVO (Named Return Value Optimization) и перемещение (move).
Однако копирования могут появиться, если компилятор не сможет применить NRVO. Например:
std::vector<int> getVector(bool flag) {
if (flag) {
std::vector<int> v1 = {1, 2, 3, 4, 5};
return v1; // NRVO сработает
} else {
return {6, 7, 8, 9, 10}; // Но здесь объект создается временно и потом копируется!
}
}
🔧 Как исправить?
Используем
std::move
или std::optional
:
std::vector<int> getVector(bool flag) {
std::vector<int> v1 = {1, 2, 3, 4, 5};
std::vector<int> v2 = {6, 7, 8, 9, 10};
return flag ? std::move(v1) : std::move(v2); // Гарантируем перемещение
}
Или используем
std::optional
(полезно, если отсутствие значения — валидный вариант):
std::optional<std::vector<int>> getVector(bool flag) {
if (!flag) return std::nullopt;
return std::vector<int>{1, 2, 3, 4, 5};
}
Вывод
🔹 Следите за копированием больших объектов.
🔹 Используйте
std::move
, если данные больше не нужны. 🔹 Проверяйте, оптимизирует ли компилятор ваш код с NRVO.
#cpp #programming
👉 @cpp_lib
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Базовый курс C++ (MIPT, ILab)
Lecture 1. Scent of C++.
Lecture 2. Указатели и ссылки
Lecture 3. Имена и сущности
Lecture 4. Инициализация и копирование.
Lecture 5. RAII и перемещение
Lecture 6. Приведение типов
Lecture 7. Перегрузка операторов
Lecture 8. Наследование и полиморфизм
Lecture 9. Множественное наследование
Lecture 10. Языки и грамматики
источник
#cpp #programming
👉 @cpp_lib
Lecture 1. Scent of C++.
Lecture 2. Указатели и ссылки
Lecture 3. Имена и сущности
Lecture 4. Инициализация и копирование.
Lecture 5. RAII и перемещение
Lecture 6. Приведение типов
Lecture 7. Перегрузка операторов
Lecture 8. Наследование и полиморфизм
Lecture 9. Множественное наследование
Lecture 10. Языки и грамматики
источник
#cpp #programming
👉 @cpp_lib