Книги для программистов C/C++
前往频道在 Telegram
Библиотека C/C++ разработчика. По всем вопросам @evgenycarter
显示更多5 032
订阅者
-124 小时
-27 天
-1230 天
帖子存档
Городские сервисы Яндекса отправились в Tech Tour — встречайте в Казани и Нижнем Новгороде
15 и 22 ноября приглашаем на митапы о технологиях в Городских сервисах Яндекса — эксперты выступят с докладами, проведут кейслаб и вайбкодинг для backend-, ML- и DS-разработчиков.
📍В Казани расскажут о том, как в Маркете создали AI-ассистента внутри маркетплейса, разработали поиск лекарств в Еде и научились оптимизировать алгоритмы назначения и распределения исполнителей в Лавке.
📍А в Нижнем Новгороде поделятся, как создают сервис Турбо со скидками для пользователей и поддерживают консистентность данных в продукте.
Кроме докладов и практических активностей в каждом городе будут интерактивы, карьерные смолл-токи и нетворкинг.
📌 Казань, 15 ноября
📌 Нижний Новгород, 22 ноября
Сохраняйте даты и регистрируйтесь!
Мероприятие бесплатное. Количество мест ограничено — пожалуйста, дождитесь нашего подтверждения.
C++ Core Guidelines
C++17, C++14 и C++11). Другими словами, каким вы хотели бы видеть свой код через 5 лет, если можете начать изменять подход уже сейчас? А через 10 лет?
Эти рекомендации сосредоточены на сравнительно высокоуровневых аспектах, таких как интерфейсы, управление ресурсами, управление памятью и параллелизм. Подобные правила влияют на архитектуру приложений и дизайн библиотек. Следование этим правилам приведёт к коду, который является статически типобезопасным, не имеет утечек ресурсов и улавливает гораздо больше логических ошибок программирования, чем это обычно встречается сегодня. И при этом такой код будет работать быстро — вы можете позволить себе делать всё правильно.
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md
👉 @cpp_knigi
C++ Coding Standard
https://possibility.com/Cpp/CppCodingStandard.html
👉 @cpp_knigi
An Introduction to the USA Computing Olympiad, C++ Edition
Darren Yao
👉 @cpp_knigi
🤝 Сидите на работе, пишете код и чувствуете, что застряли в рутине?
Ваши проекты скучны, а возможности ограничены? Хотите создавать крутые приложения для современной техники и работать с крупными государственными компаниями и бизнесом?
Представьте себе, что вы стали мастером в разработке на Qt и ОС «Аврора». Вы создаете интерфейсы для цифровой техники, мобильные приложения для госкомпаний и крупного бизнеса, а ваши навыки востребованы как никогда.
Присоединяйтесь к онлайн-курсу «Разработка прикладного ПО на Qt и ОС «Аврора» и сделайте этот прыжок в будущее!
Что вам даст этот курс:
- освоите Qt — одну из лучших кроссплатформенных библиотек для разработки UI на С++;
- изучите нативную разработку для Авроры 5.0;
- изучите структуру библиотеки Qt и научитесь писать программы на QML.
И многое другое!
👉Пройдите тест и присоединяйтесь к курсу: https://vk.cc/cQxNAc
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Programming Fundamentals - A Modular Structured Approach using C++
Kenneth Leroy Busbee, Houston Community College
👉 @cpp_knigi
A Complete Guide to Standard C++ Algorithms
RNDr. Šimon Tóth
Стандартные алгоритмы предлагают множество функций. Сэкономьте время и усилия, хорошо изучив функции, которые уже есть в стандартной библиотеке.
👉 @cpp_knigi
🔥 Открытый урок «Разбираем приложение с уведомлением для ОС Аврора»
🗓 21 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса Разработка прикладного ПО на Qt и ОС «Аврора».
🎯 О чём поговорим:
✔️ Познакомимся с ключевыми деталями для нативной разработки под ОС Аврора 5.
✔️Узнаем Аврора SDK как главного помощника разработчика.
✔️ Разберём QML-приложения для ОС Аврора, которое отправляет графическое уведомление.
👥 Кому будет интересно:
- Для разработчиков и других IT-специалистов, которые разбираются в основах разработки графических приложений и хотят поближе познакомиться с QML и операционной системой Аврора
🔗 Ссылка на регистрацию: https://vk.cc/cQozmg
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Готовы с нуля создавать телекоммуникационные решения для беспроводных мобильных сетей и сопутствующих услуг? Тогда участвуйте в SPRINT OFFER C++ Software Engineer и получите оффер всего за 3 дня 💻
У нас:
🚀 Удалённый формат работы или в офисах городов присутствия (Москва, СПб, Нижний Новгород, Екатеринбург, Минск).
🚀 Реальный карьерный рост: как вертикальный, так и горизонтальный.
🚀 Амбициозные проекты и уникальная команда инженеров.
🚀 Учебный портал с лекциями от экспертов, участие в конференциях, изучение английского и дополнительное обучение на внешних курсах.
🚀 ДМС с первого дня, консультации юристов, психологов и экспертов по ЗОЖ.
Мы в поиске:
Разработчиков C++ (Middle/Senior/Tech Lead) с опытом в промышленной разработке от 3 лет, уверенным знанием C/C++ и Linux, а также сетей, базирующихся на TCP/IP.
Направления, которым вы нужны: Telecom Platform и разработка базовых станций с поддержкой LTE/GSM.
В команде Telecom Platform инженеры разрабатывают полное платформенное решение для телекоммуникационных систем, а разработчики базовой станции LTE/GSM создают высоконагруженные системы, которые обеспечивают связь как критически важных, так и новых поколений.
💙 Прочитать подробнее можно по ссылке. Отправляйте заявку до 19 октября и присоединяйтесь к YADRO!
Beginning C++17, 5th Edition
Авторы: Ivor Horton, Peter Van Weert (2018)
Книга является обновлённым руководством по языку программирования С++17. Если вы собираетесь изучать его, то начните именно с этой книги, где пошаговые инструкции авторов научат вас программированию в обновлённом стандарте с использованием новых функций и операторов. Для чтения книги не требуется предварительный опыт в программировании, поскольку авторы каждый элемент языка подробно объясняют на рабочих примерах. Также в каждой главе вас ждут полезные упражнения по закреплению материала.
В книге рассматриваются следующие темы:
✔️Основы языка;
✔️Заголовочные файлы;
✔️Директива препроцессора и стандартные библиотеки языка;
✔️Функции;
✔️Пространства имён;
✔️Процедурное и объектно-ориентированное программирование;
✔️Шаблоны;
✔️Инкапсуляция, полиморфизм и наследование;
✔️Объявление собственных типов данных;
✔️Ошибки выполнения и исключения;
✔️Контейнеры, алгоритмы и многое другое.
@cpp_knigi
Repost from Библиотека C/C++ разработчика
Практика языка C.
Константин Владимиров.
На этом занятии мы завершим первый семестр знакомства с основами языка C и разберём многомодульные программы и структуры данных.
00:00 Хеш-таблицы.
15:10 Алгоритм Рабина-Карпа.
22:30 Range-based queries и снова о деревьях.
29:42 Многомодульные программы.
36:30 Структуры данных.
42:40 Литература и задачи.
44:45 Демонстрация многомодульных программ.
источник
Мы в MAX
#cpp #programming
👉 @cpp_lib
🔥 Qt остаётся одним из самых востребованных инструментов для создания кросс-платформенных приложений. Хотите научиться писать программы, которые действительно работают и востребованы в бизнесе?
Приглашаем на бесплатный открытый урок «Пишем приложение органайзер на Qt»
🗓 6 октября, в 20:00 мск.
🆓 Бесплатно. Урок в рамках старта курса «Разработка прикладного ПО на Qt и ОС «Аврора»».
Регистрация: https://vk.cc/cQ0xuo
✔️ Разберем процесс создания приложения-органайзера с нуля, используя популярный фреймворк Qt.
✔️ Вы узнаете, как разрабатывать пользовательский интерфейс с помощью основных инструментов Qt.
✔️ В ходе занятия вы получите практические навыки работы с сигналами и слотами, проектированием архитектуры приложения, подбором структуры данных и т.д..
🔗 Ссылка на регистрацию: https://vk.cc/cQ0xuo
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📚C++: Simple and Effective Tips and Tricks to learn C++ Programming Effectively
Автор: Benjamin Smith (2020)
Надоело искать среди множества учебников простое и удобное для чтения руководство? Программистский жаргон и неполные объяснения концепций замедляют обучение? Если вы ищете справочник, в котором освещаются фундаментальные и ключевые компоненты программирования на C++, эта книга отлично подойдет.
👉 @cpp_knigi
🚀 Мечтаете войти в IT и освоить мощный и востребованный язык программирования? Начните с C++ - языка, с которого начинается серьёзная разработка!
📅 Старт обучения - 30 сентября
Курс «C++ Developer. Basic» - идеальный старт для тех, кто хочет научиться программировать с нуля. Вы освоите базовые концепции разработки, разберётесь в синтаксисе C++ и научитесь создавать программы, которые решают реальные задачи. Это прочный фундамент для карьеры в IT и перехода на другие языки объектно-ориентированного программирования.
Вас ждут:
- Поддержка опытного ментора
- Много практики
- Подготовка к первым собеседованиям и реальным проектам
🎓 После курса вы будете готовы к стартовой позиции в IT - или к дальнейшему углублению в C++.
⌛️ Старт обучения уже скоро! Количество мест ограничено - не упустите свой шанс: https://vk.cc/cPOiM4
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Repost from C++ geek
Давай программировать стек TCP/IP. Part 1: Ethernet & ARP
Написание собственного стека TCP/IP может показаться сложной задачей. Действительно, за более чем тридцать лет существования TCP накопилось множество спецификаций. Однако основная спецификация на удивление компактна — важные части включают разбор заголовков TCP, автомат конечных состояний, контроль перегрузок и вычисление времени ожидания повторной передачи.
Наиболее распространенные протоколы второго и третьего уровней — Ethernet и IP, соответственно, — в сравнении с TCP гораздо проще. В этой серии статей мы реализуем минимальный стек TCP/IP в пространстве пользователя для Linux.
Цель этих публикаций и создаваемого ПО исключительно образовательная — углубленное изучение сетевого и системного программирования.
TUN/TAP устройства
Чтобы перехватывать сетевой трафик низкого уровня из ядра Linux, мы будем использовать TAP-устройство Linux. Если кратко, TUN/TAP устройства часто применяются приложениями в пространстве пользователя для работы с трафиком на уровне L3 и L2 соответственно. Популярным примером является туннелирование, когда пакет инкапсулируется внутри полезной нагрузки другого пакета.
Преимущество TUN/TAP устройств в том, что их легко настроить в программе в пространстве пользователя, и они уже используются во множестве программ, таких как OpenVPN.
Поскольку мы хотим строить стек сетевого взаимодействия, начиная со второго уровня, нам потребуется TAP-устройство. Мы создаем его следующим образом:
/*
* Taken from Kernel Documentation/networking/tuntap.txt
*/
int tun_alloc(char *dev)
{
struct ifreq ifr;
int fd, err;
if( (fd = open("/dev/net/tap", O_RDWR)) < 0 ) {
print_error("Cannot open TUN/TAP dev");
exit(1);
}
CLEAR(ifr);
/* Flags: IFF_TUN - TUN device (no Ethernet headers)
* IFF_TAP - TAP device
*
* IFF_NO_PI - Do not provide packet information
*/
ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
if( *dev ) {
strncpy(ifr.ifr_name, dev, IFNAMSIZ);
}
if( (err = ioctl(fd, TUNSETIFF, (void *) &ifr)) < 0 ){
print_error("ERR: Could not ioctl tun: %s\n", strerror(errno));
close(fd);
return err;
}
strcpy(dev, ifr.ifr_name);
return fd;
}
https://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/
➡️ @cpp_geek⌨️ Ручная компиляция и проекты, привязанные к IDE — это вчерашний день. Если вы хотите уверенно собирать кроссплатформенные C++-приложения и масштабировать проекты, без CMake не обойтись.
🗓 30 сентября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «C++ Developer. Professional».
🦾 На открытом уроке мы разберём основы CMake: создадим минимальный CMakeLists.txt, подключим внешние библиотеки и соберём проект из нескольких файлов. Пошагово, на живых примерах.
Вы поймёте, как переводить свои проекты на CMake и почему этот инструмент давно стал стандартом в профессиональной разработке. Эти навыки — must have для любого C++-разработчика, который планирует карьерный рост.
🔗 Ссылка на регистрацию: https://vk.cc/cPHNyY
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📚 Foundations of Linux Debugging, Disassembling, and Reversing: Analyze Binary Code, Understand Stack Memory Usage, and Reconstruct C/C++ Code with Intel x64 (2023)
✍️Автор: Dmitry Vostokov
Эта книга идеально подходит для разработчиков Linux-приложений, которые хотят углубиться в реверс и отладку кода.
Она охватывает темы, от инструкции x64 ассемблера и работы с указателями до отладки в реальном времени и анализа бинарного C/C++ кода.
Что тебя ждет в книге?
-Погружение в x64 ассемблер. Придется вспомнить азы ассемблера, чтобы ты снова почувствовал, как это — работать на низком уровне.
-Работа с GDB. Этот инструмент не просто помогает отлаживать, он раскрывает секреты бинарного кода.
-Чтение кода без комментариев. Научишься читать и анализировать скомпилированный код с нуля, начиная с простого дизассемблирования и заканчивая сложным реверсом.
-Разбор работы компиляторов. Понимание того, как компиляторы превращают C/C++ код в машинный, откроет перед тобой новые горизонты отладки.
👉 @cpp_knigi
📕Книга: «Сетевое программирование. От основ до приложений»
В мире, где технологии связи развиваются стремительно, а интернет объединяет миллиарды устройств, умение создавать надежные и эффективные сетевые приложения становится критически важным навыком для любого IT-специалиста.
Книга «Сетевое программирование. От основ до приложений» предлагает читателям не просто поверхностный обзор, а глубокое и систематизированное руководство, охватывающее все ключевые аспекты разработки сетевых решений.
Об авторах:
Артем Нечипорук окончил Московский государственный университет экономики, статистики и информатики по специальности «Прикладная информатика в экономике».
В настоящее время — архитектор программного обеспечения в отделе перспективных исследований «Лаборатории Касперского». Один из его проектов — «Kaspersky Neuromorphic Platform», платформа с открытым кодом для выполнения импульсных нейронных сетей.
Алексей Баринов — разработчик, свыше 25 лет проработавший в ИТ, более половины из них в области сетевой безопасности.
В настоящее время — разработчик-аналитик в компании
RDP.RU, специализирующейся на создании решений для защиты сетевого трафика.
https://habr.com/ru/companies/piter/articles/915966/
👉 @cpp_knigi