Forwarded from Книги для C/C++ разработчиков
📚Hands-On System Programming with C++: Build robust and concurrent Unix and Linux systems with C++17 (2019)
✍️Автор: Dr. Rian Quinn
📃Страниц: 296
C++ - это язык программирования общего назначения с уклоном в системное программирование. В этой книге приводится подробное пошаговое руководство по стандартам C, Си++ и POSIX и дается четкое представление о различных системных вызовах для UNIX-систем. Темы включают консольный и файловый ввод-вывод, управление памятью, сокеты, временной интерфейс, управление процессами и потоками
Скачать книгу
✍️Автор: Dr. Rian Quinn
📃Страниц: 296
C++ - это язык программирования общего назначения с уклоном в системное программирование. В этой книге приводится подробное пошаговое руководство по стандартам C, Си++ и POSIX и дается четкое представление о различных системных вызовах для UNIX-систем. Темы включают консольный и файловый ввод-вывод, управление памятью, сокеты, временной интерфейс, управление процессами и потоками
Скачать книгу
Что будет при сборке и запуске программы?
Anonymous Quiz
17%
Выведет 0
77%
Не соберётся
2%
Выведет 1
4%
Веведет test
Please open Telegram to view this post
VIEW IN TELEGRAM
😎 Безопасный C++
Говорят C++ не безопасный. Особенно на этом настаивают правительство США в своих последних отчётах.
Основная претензия заключается в том что C++ не безопасен для памяти.
Для решения такого рода проблем предлагается пользоваться концепцией Safe C++. Который предлагает способы для обхода наиболее уязвимых частей языка.
👉 Ссылка
Говорят C++ не безопасный. Особенно на этом настаивают правительство США в своих последних отчётах.
Основная претензия заключается в том что C++ не безопасен для памяти.
Для решения такого рода проблем предлагается пользоваться концепцией Safe C++. Который предлагает способы для обхода наиболее уязвимых частей языка.
👉 Ссылка
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🧩⚛️ React + структуры данных = суперкод: 7 примеров для практики
Представляешь, оказывается, если правильно подобрать структуру данных, можно не только заставить приложение летать, но и сделать код настолько чистым и красивым, что глаз не оторвать. Серьезно, это как убраться в квартире — и жить приятнее, и гостей не стыдно позвать. Причем, это не какая-то там магия — это просто грамотный подход, который может освоить каждый разработчик, было бы желание!
Читать статью
Представляешь, оказывается, если правильно подобрать структуру данных, можно не только заставить приложение летать, но и сделать код настолько чистым и красивым, что глаз не оторвать. Серьезно, это как убраться в квартире — и жить приятнее, и гостей не стыдно позвать. Причем, это не какая-то там магия — это просто грамотный подход, который может освоить каждый разработчик, было бы желание!
Читать статью
📨 Как работают очереди и брокеры сообщений
Очередь сообщений — структура данных, которая хранит сообщения в порядке FIFO. Представьте, что вашему приложению нужно обрабатывать файлы, которые загружают пользователи. Очередь сообщений в этом случае может выступать как очередь задач, обрабатывающая задания асинхронно:
1️⃣ Пользователь загружает большой файл для обработки.
2️⃣ Веб-сервер принимает файл и создает задание.
3️⃣ Задание добавляется в очередь задач, а файл загружается в объектное хранилище.
4️⃣ Позже рабочий процесс забирает задания из очереди одно за другим и обрабатывает их, получая файл из хранилища.
Это самый простой пример. Очереди сообщений можно использовать для:
✔️ Планирования и управления фоновыми задачами.
✔️ Распределения задач между несколькими рабочими процессами.
✔️ Управления сервисами подписки и уведомлений.
✔️ Буферизации данных.
✔️ Повторных попыток обработки платежей и многого другого.
Подробнее читайте в нашем гайде 👇
🔗 Читать статью
🔗 Зеркало
Очередь сообщений — структура данных, которая хранит сообщения в порядке FIFO. Представьте, что вашему приложению нужно обрабатывать файлы, которые загружают пользователи. Очередь сообщений в этом случае может выступать как очередь задач, обрабатывающая задания асинхронно:
1️⃣ Пользователь загружает большой файл для обработки.
2️⃣ Веб-сервер принимает файл и создает задание.
3️⃣ Задание добавляется в очередь задач, а файл загружается в объектное хранилище.
4️⃣ Позже рабочий процесс забирает задания из очереди одно за другим и обрабатывает их, получая файл из хранилища.
Это самый простой пример. Очереди сообщений можно использовать для:
✔️ Планирования и управления фоновыми задачами.
✔️ Распределения задач между несколькими рабочими процессами.
✔️ Управления сервисами подписки и уведомлений.
✔️ Буферизации данных.
✔️ Повторных попыток обработки платежей и многого другого.
Подробнее читайте в нашем гайде 👇
🔗 Читать статью
🔗 Зеркало
🤖 Проект Akhenaten
Akhenaten стремится сделать оригинальную игру Pharaoh совместимой с современными системами с помощью переработанного оригинального движка. В отличие от оригинальной игры, разработанной Impressions Games, Akhenaten — это результат усилий сообщества, направленных на то, чтобы сохранить игру и сделать её доступной. Позволяет загружать оригинальные сохранения из Pharaoh и проходить начальные миссии кампании без особых проблем.
❗ Также на Хабре есть пару статей посвящённых этому проекту
- Как построить мастабу
- ecs, dynvtbl, логические потоки и Фараон
👉 GitHub
Akhenaten стремится сделать оригинальную игру Pharaoh совместимой с современными системами с помощью переработанного оригинального движка. В отличие от оригинальной игры, разработанной Impressions Games, Akhenaten — это результат усилий сообщества, направленных на то, чтобы сохранить игру и сделать её доступной. Позволяет загружать оригинальные сохранения из Pharaoh и проходить начальные миссии кампании без особых проблем.
❗ Также на Хабре есть пару статей посвящённых этому проекту
- Как построить мастабу
- ecs, dynvtbl, логические потоки и Фараон
👉 GitHub
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
👉Переводчик и автор оригинальных статей
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
👉Переводчик и автор оригинальных статей
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
job.proglib.io
Вакансии в медиа «Библиотека программиста»
Количество проектов в редакции постоянно растет, так что нам всегда нужны специалисты
👺 Сборка C++ проектов с помощью CMake
На канале Life EXE вышло новое видео в продолжении темы использования CMake.
Разбираемые темы
- Линковка статических и динамических библиотек
- CMAKE UI
- github actions
👉 Ссылочка
На канале Life EXE вышло новое видео в продолжении темы использования CMake.
Разбираемые темы
- Линковка статических и динамических библиотек
- CMAKE UI
- github actions
👉 Ссылочка
😱 Опасность устарела, неопределенность недопустима: undefined behavior в С++20/23/26
В современных стандартах С++ стало меньше UB. Разбираем на конкретных кейсах.
— Начиная с С++20 отрицательные целые числа обязательно должны быть представлены в дополнительном коде.
— Введение std::ssize, возвращающего знаковый размер контейнеров, уменьшает количество ошибок и UB в циклах.
— Расширение времени жизни временных объектов в циклах for, появившееся в С++23, решает неочевидные проблемы.
— Казалось бы, мелочь, но инициализация std::string нулевым указателем раньше была UB, a теперь запрещена.
— В С++23 появился эксклюзивный режим открытия файла (O_EXCL), что решает проблему гонок (time-of-check to time-of-use).
Некоторые конструкции языка признаются небезопасными и устаревшими, также проходимся по ним:
— Осталось ли что-то от volatile?
— Можно ли теперь делать неявный захват this по значению в лямбдах?
— Какие операции с enum теперь не в почете.
👉 Ссылка
В современных стандартах С++ стало меньше UB. Разбираем на конкретных кейсах.
— Начиная с С++20 отрицательные целые числа обязательно должны быть представлены в дополнительном коде.
— Введение std::ssize, возвращающего знаковый размер контейнеров, уменьшает количество ошибок и UB в циклах.
— Расширение времени жизни временных объектов в циклах for, появившееся в С++23, решает неочевидные проблемы.
— Казалось бы, мелочь, но инициализация std::string нулевым указателем раньше была UB, a теперь запрещена.
— В С++23 появился эксклюзивный режим открытия файла (O_EXCL), что решает проблему гонок (time-of-check to time-of-use).
Некоторые конструкции языка признаются небезопасными и устаревшими, также проходимся по ним:
— Осталось ли что-то от volatile?
— Можно ли теперь делать неявный захват this по значению в лямбдах?
— Какие операции с enum теперь не в почете.
👉 Ссылка
Forwarded from Proglib.academy | IT-курсы
🤼 Генеративно-состязательная нейросеть: ваша первая GAN-модель на PyTorch
Подробная инструкция построения генеративно-состязательных нейросетей (GAN) на примере двух моделей, реализованных с помощью фреймворка глубокого обучения PyTorch в нашей статье.👇
🔗 Статья
У нас есть курс как для начинающих программистов, так и для тех, кто уже шарит:
🔵 Алгоритмы и структуры данных
Подробная инструкция построения генеративно-состязательных нейросетей (GAN) на примере двух моделей, реализованных с помощью фреймворка глубокого обучения PyTorch в нашей статье.
🔗 Статья
У нас есть курс как для начинающих программистов, так и для тех, кто уже шарит:
Please open Telegram to view this post
VIEW IN TELEGRAM
🌳 Написание библиотеки для тензорных вычислений на Си
Автор пишет свою библиотеку для тензорных вычислений. Также подробно описывая по шагам её создание.
Цели:
- Помочь людям понять нейронные сети с нуля.
- Библиотека должна быть доступна для чтения любому, кто знаком с программированием.
👉 Github
Автор пишет свою библиотеку для тензорных вычислений. Также подробно описывая по шагам её создание.
Цели:
- Помочь людям понять нейронные сети с нуля.
- Библиотека должна быть доступна для чтения любому, кто знаком с программированием.
👉 Github
Forwarded from Библиотека задач по C++ | тесты, код, задания