Shared memory
Это может быть полезно для:
💩 Повышения производительности: Обмен данными через shared memory гораздо быстрее, чем традиционные методы, такие как межсетевое взаимодействие или файлы.
💩 Уменьшения задержки: Данные доступны обоим процессам напрямую в памяти, устраняя необходимость копирования.
💩 Упрощения синхронизации: Совместное использование памяти упрощает реализацию синхронизации между процессами.
Однако использование shared memory также имеет свои сложности:
💩 Потенциальные ошибки синхронизации: Необходимо тщательно продумать механизмы синхронизации, чтобы избежать проблем.
💩 Отсутствие защиты памяти: Доступ к shared memory могут получить и другие процессы, если не реализованы механизмы защиты.
💩 Сложность отладки: Отладка программ, использующих shared memory, может быть более сложной, чем отладка традиционных программ.
Shared memory является мощным инструментом для межпроцессного взаимодействия, позволяя нескольким процессам совместно использовать область памяти.
Это может быть полезно для:
Однако использование shared memory также имеет свои сложности:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥22👍18❤2
🤔❓ Так сколько на самом деле строк на C нужно, чтобы выполнить a + b в Python?
Автор решил, что будет сравнивать разницу не в интерактивном режиме, а при чтении из файла. Потому, что в это случае, можно избавиться от лишних процедур ввода вывода для интерактивного режима. Соответственно Python будет исполнять файл. И вот будет сравниваться разница между выполнением пустого файла и файла, где сложение надо будет произвести. Что для этого нужно:
🔹 узнать сколько строк Python нужно вообще, чтобы исполнить пустой файл и выйти без ошибок
🔹 узнать сколько строк Python нужно, чтобы исполнить файл где надо сложить два числа не сохраняя никуда результат
🔹 узнать сколько строк Python нужно вообще, чтобы исполнить файл где идет сложение двух переменных содержащих числа
Читать статью
#почитать
Автор решил, что будет сравнивать разницу не в интерактивном режиме, а при чтении из файла. Потому, что в это случае, можно избавиться от лишних процедур ввода вывода для интерактивного режима. Соответственно Python будет исполнять файл. И вот будет сравниваться разница между выполнением пустого файла и файла, где сложение надо будет произвести. Что для этого нужно:
🔹 узнать сколько строк Python нужно вообще, чтобы исполнить пустой файл и выйти без ошибок
🔹 узнать сколько строк Python нужно, чтобы исполнить файл где надо сложить два числа не сохраняя никуда результат
🔹 узнать сколько строк Python нужно вообще, чтобы исполнить файл где идет сложение двух переменных содержащих числа
Читать статью
#почитать
👍11❤1
Мы продолжаем собирать ваши истории о смене профессии и трудоустройстве в IT, чтобы написать большую аналитическую статью.
👉Если вы еще не рассказывали о своем опыте, пройдите короткий опрос по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🔥1🌚1
🥸👁️ Отслеживание изменений в директории с помощью Inotify
Автор материала столкнулся с задачей, где необходимо было отслеживать в ОС Linux изменение файла в директории на чистом С++. Так как чистый С++, Qt с его QFileSystemWatcher сразу отпадал, из-за того что необходимо было подключать QObject. В итоге выбор пал на линуксовую функцию Inotify.
Inotify позволяет через файловый дескриптор наблюдать за директорией или файлом, отслеживая их события. Все события ввода-вывода ссылаются на открытый файл с использованием файлового дескриптора. Файловый дескриптор представляет собой целое число типа int.
Работа типичной программы мониторинга организована следующим образом:
♦️ С помощью inotify_init() открывается файловый дескриптор
♦️ Добавляется одно или несколько событий для наблюдений
♦️ Ожидаем добавленное событие
♦️ Обрабатываются события, после чего снова начинаем ждать в бесконечном цикле
♦️ При отсутствии активных наблюдений или при получении определенного сигнала файловый дескриптор закрывается, выполняется очистка и программа завершает работу.
#туториал
Автор материала столкнулся с задачей, где необходимо было отслеживать в ОС Linux изменение файла в директории на чистом С++. Так как чистый С++, Qt с его QFileSystemWatcher сразу отпадал, из-за того что необходимо было подключать QObject. В итоге выбор пал на линуксовую функцию Inotify.
Inotify позволяет через файловый дескриптор наблюдать за директорией или файлом, отслеживая их события. Все события ввода-вывода ссылаются на открытый файл с использованием файлового дескриптора. Файловый дескриптор представляет собой целое число типа int.
Работа типичной программы мониторинга организована следующим образом:
♦️ С помощью inotify_init() открывается файловый дескриптор
♦️ Добавляется одно или несколько событий для наблюдений
♦️ Ожидаем добавленное событие
♦️ Обрабатываются события, после чего снова начинаем ждать в бесконечном цикле
♦️ При отсутствии активных наблюдений или при получении определенного сигнала файловый дескриптор закрывается, выполняется очистка и программа завершает работу.
#туториал
🎉26👍10❤3🔥1
🎄✨ До Нового года осталось меньше недели, поэтому мы подводим итоги
🧑🎄 За год наше комьюнити стало больше почти на 4000 человек
❤️ Особенно вам понравились вот эти посты:
Свежие и обновленные статьи
LMDeploy — это набор инструментов для сжатия, развертывания и обслуживания LLM
Перегрузка операторов
Позднее связывание
Дайджест статей и материалов
💜 А ещё вы с интересом читали эти статьи:
Итог одной валютной удаленки: проработал месяц бесплатно и ушел с долгами
ТОП-10 книг по языку программирования С++ в 2023 году
ТОП-9 не самых очевидных компаний для стажировки в ИТ
🧑💻 В 2023 году мы запустили несколько новых каналов:
Библиотека собеса по C/C++ | вопросы с собеседований
Библиотека задач по C/C++ | тесты, код, задания
Книги для C/C++ разработчиков
Кстати, в канале с книгами прямо сейчас проходит новогодний розыгрыш 👈
🎁 И последнее, но не менее важное: мы сделали скидку -35% на все курсы нашей академии proglib.academy
🧑🎄 За год наше комьюнити стало больше почти на 4000 человек
❤️ Особенно вам понравились вот эти посты:
Свежие и обновленные статьи
LMDeploy — это набор инструментов для сжатия, развертывания и обслуживания LLM
Перегрузка операторов
Позднее связывание
Дайджест статей и материалов
💜 А ещё вы с интересом читали эти статьи:
Итог одной валютной удаленки: проработал месяц бесплатно и ушел с долгами
ТОП-10 книг по языку программирования С++ в 2023 году
ТОП-9 не самых очевидных компаний для стажировки в ИТ
🧑💻 В 2023 году мы запустили несколько новых каналов:
Библиотека собеса по C/C++ | вопросы с собеседований
Библиотека задач по C/C++ | тесты, код, задания
Книги для C/C++ разработчиков
Кстати, в канале с книгами прямо сейчас проходит новогодний розыгрыш 👈
🎁 И последнее, но не менее важное: мы сделали скидку -35% на все курсы нашей академии proglib.academy
❤2👍2🔥2❤🔥1
🤔 Очередной #дайджест по С++
⏫ Книга «C++ for Financial Mathematics» — Книга учит всему, что вам нужно знать для решения реальных финансовых задач
⏫ Игровая легенда из 90-х — как работала 3dfx Voodoo «под капотом»? Пишем 3D-приложение с нуля на Glide
⏫ Poco — набор open-sorce библиотек для создания кроссплатформенных сетевых и веб-приложений
⏫ Мои советы после 20 лет в программировании — краткий очерк профессионального пути
⏫ Анализ приложений на C++ для оптимизации производительности — введение в оптимизацию производительности приложений на C++ с помощью таких инструментов, как Intel VTune Profiler и Intel Advisor
⏫ Книга «C++ for Financial Mathematics» — Книга учит всему, что вам нужно знать для решения реальных финансовых задач
⏫ Игровая легенда из 90-х — как работала 3dfx Voodoo «под капотом»? Пишем 3D-приложение с нуля на Glide
⏫ Poco — набор open-sorce библиотек для создания кроссплатформенных сетевых и веб-приложений
⏫ Мои советы после 20 лет в программировании — краткий очерк профессионального пути
⏫ Анализ приложений на C++ для оптимизации производительности — введение в оптимизацию производительности приложений на C++ с помощью таких инструментов, как Intel VTune Profiler и Intel Advisor
🤩17👍14❤9🥰8👏8
Чему бы вы хотели научиться?
Пишите в комментариях
Пишите в комментариях
❤2👍2
👨🎓 14 бесплатных ресурсов, которые пригодятся каждому разработчику
Эти ресурсы помогут изучить новый стек с нуля, научиться решать алгоритмические задачи, наполнить портфолио интересными проектами и успешно пройти техническое собеседование.
Читать статью
Эти ресурсы помогут изучить новый стек с нуля, научиться решать алгоритмические задачи, наполнить портфолио интересными проектами и успешно пройти техническое собеседование.
Читать статью
❤2❤🔥2🔥1
-35% на курс по алгоритмам
🎄 Новый год начинается с подарков, а хороший подарок для себя — новые знания со скидкой 35%!
🌟«Алгоритмы и структуры данных» — 23 390 ₽ (вместо 35 990 ₽)
Полугодовая программа от преподавателей МФТИ и НИУ ВШЭ, которая включает в себя все необходимые знания по алгоритмам для работы.
Самое ценное — это развернутая обратная связь по всем вашим домашним заданиям, а также ссылки на полезные дополнительные материалы.
У вас не будет шансов не усвоить какие-то темы курса👌
🔥 Переходите и активируйте вводные занятия курса — https://proglib.io/w/ff97c30a
🎄 Новый год начинается с подарков, а хороший подарок для себя — новые знания со скидкой 35%!
🌟«Алгоритмы и структуры данных» — 23 390 ₽ (вместо 35 990 ₽)
Полугодовая программа от преподавателей МФТИ и НИУ ВШЭ, которая включает в себя все необходимые знания по алгоритмам для работы.
Самое ценное — это развернутая обратная связь по всем вашим домашним заданиям, а также ссылки на полезные дополнительные материалы.
У вас не будет шансов не усвоить какие-то темы курса👌
🔥 Переходите и активируйте вводные занятия курса — https://proglib.io/w/ff97c30a
👍4🔥1
🏦⚠️ Борьба с ошибками разработки ПО в финтехе
Рассказываем, как избежать неловких, а то и непоправимых ситуаций при разработке программного обеспечения для финтеха.
Читать статью
Рассказываем, как избежать неловких, а то и непоправимых ситуаций при разработке программного обеспечения для финтеха.
Читать статью
👍7❤2
Forwarded from Библиотека задач по C++ | тесты, код, задания
Задача
Найти среднее арифметическое в трех рядах.
Для начала продумаем наше решение. Сразу условимся что длинна ряда у нас будет 5 . Хотите ставьте своё число. Нам надо найти среднее арифметическое в трех рядах, и в каждом по отдельности, т.е. мы сначала сделаем цикл для рядов, а потом в этом цикле сделаем еще один цикл только уже для чисел этого ряда.
Теперь подумаем какие переменные нам понадобятся :
Переменная summa — для суммы чисел каждого ряда
Переменная average — для среднего арифметического каждого ряда
Переменная number — обычное число которое мы будем постоянно прибавлять
Переменные i и j — для циклов, перпенные у нас будут локальные, т.е. использоваться и объявляться и цикле.
Найти среднее арифметическое в трех рядах.
Для начала продумаем наше решение. Сразу условимся что длинна ряда у нас будет 5 . Хотите ставьте своё число. Нам надо найти среднее арифметическое в трех рядах, и в каждом по отдельности, т.е. мы сначала сделаем цикл для рядов, а потом в этом цикле сделаем еще один цикл только уже для чисел этого ряда.
Теперь подумаем какие переменные нам понадобятся :
Переменная summa — для суммы чисел каждого ряда
Переменная average — для среднего арифметического каждого ряда
Переменная number — обычное число которое мы будем постоянно прибавлять
Переменные i и j — для циклов, перпенные у нас будут локальные, т.е. использоваться и объявляться и цикле.
👍11👏3
🥰7🤔6
🤔 Очередной #дайджест по С++
☀️ Как крысячить и выжить — крысы бегут первыми с ИТ-корабля
☀️ 4 миллиарда операторов if — идея проверки чётности числа при помощи одних сравнений
☀️ Книга «C and Python Applications» — встраивание кода Python в программы на C, методы SQL и сокеты Python
☀️ Паттерн проектирования «Наблюдатель» в C++ — основы шаблона проектирования Observer на C++ с теорией и реализацией
☀️ CspChan — чистая реализация каналов Go на C89, включая блокирующие и неблокирующие селекты
☀️ Как крысячить и выжить — крысы бегут первыми с ИТ-корабля
☀️ 4 миллиарда операторов if — идея проверки чётности числа при помощи одних сравнений
☀️ Книга «C and Python Applications» — встраивание кода Python в программы на C, методы SQL и сокеты Python
☀️ Паттерн проектирования «Наблюдатель» в C++ — основы шаблона проектирования Observer на C++ с теорией и реализацией
☀️ CspChan — чистая реализация каналов Go на C89, включая блокирующие и неблокирующие селекты
👍8🥰3
🤲✍️ Базовые алгоритмы на графах
Рассматриваются основные алгоритмы на графах и их реализацию на C++:
▪️Обход графа в ширину (Поиск в ширину) aka BFS | Breadth First Search
▪️Обход графа в глубину (Поиск в глубину) aka DFS | Depth First Search
▪️Алгоритм Дейкстры
▪️Алгоритм Флойда-Уоршелла
▪️Алгоритм Прима
Изучить вопрос
#туториал
Рассматриваются основные алгоритмы на графах и их реализацию на C++:
▪️Обход графа в ширину (Поиск в ширину) aka BFS | Breadth First Search
▪️Обход графа в глубину (Поиск в глубину) aka DFS | Depth First Search
▪️Алгоритм Дейкстры
▪️Алгоритм Флойда-Уоршелла
▪️Алгоритм Прима
Изучить вопрос
#туториал
❤🔥10👍7
Использование Boost
Если ваш проект открыт для поддержки библиотеки, рассмотрите возможность использования boost::algorithm::join алгоритм. Он объединяет все элементы в указанном списке в строку, где сегменты объединяются заданным разделителем.
Другие способы преобразования вектора в строку можно найти здесь.
Если ваш проект открыт для поддержки библиотеки, рассмотрите возможность использования boost::algorithm::join алгоритм. Он объединяет все элементы в указанном списке в строку, где сегменты объединяются заданным разделителем.
Другие способы преобразования вектора в строку можно найти здесь.
👍10😁4❤1
🤖8️⃣ Mixtral 8x7B — новый ИИ
Это сет из 8 нейронок, которые работают вместе.
Благодаря этому снижаются галлюцинации, повышается точность работы.
Mixtral 8x7B — топовая из opensource, превышает по показателям Llama и не уступает GPT 3.5.
Мы подключаемся к Mixtral 8x7B через Llama CPP при помощи Google Colab.
При желании можно развернуть локально, или протестировать модель на сайте Hugging Face используя Hugging Chat.
Смотреть
#видео
Это сет из 8 нейронок, которые работают вместе.
Благодаря этому снижаются галлюцинации, повышается точность работы.
Mixtral 8x7B — топовая из opensource, превышает по показателям Llama и не уступает GPT 3.5.
Мы подключаемся к Mixtral 8x7B через Llama CPP при помощи Google Colab.
При желании можно развернуть локально, или протестировать модель на сайте Hugging Face используя Hugging Chat.
Смотреть
#видео
👍8❤1
💥🏃 Быстрый парсинг 8-битных целых чисел
В статье приводится разбор интересной задачи: вам нужно быстро распарсить 8-битные целые числа (0, 1, 2, …, 254, 255) из строки ASCII/UTF-8. Дана строка и её длина: например, ’22’ и длина 2.
Изучить решение
#гайд
В статье приводится разбор интересной задачи: вам нужно быстро распарсить 8-битные целые числа (0, 1, 2, …, 254, 255) из строки ASCII/UTF-8. Дана строка и её длина: например, ’22’ и длина 2.
Изучить решение
#гайд
👍21👏3🌚2