Media is too big
VIEW IN TELEGRAM
#полезное
😎 Олды здесь
Allegro –- олдскульная библиотека для C++ (с 1990-х), чтобы писать простые 2D-игры: аркады, платформеры. Всё вручную — графика, звук, ввод.
Она облегчает работу с графикой, звуком, вводом и таймингами, предоставляя кроссплатформенный API.
Сейчас её редко используют в крупных проектах, так как есть более современные движки вроде SDL, SFML, Godot, Unity
Но она до сих пор жива — https://liballeg.org/index.html
👉 Новости 👉 Платформа
Allegro –- олдскульная библиотека для C++ (с 1990-х), чтобы писать простые 2D-игры: аркады, платформеры. Всё вручную — графика, звук, ввод.
Она облегчает работу с графикой, звуком, вводом и таймингами, предоставляя кроссплатформенный API.
Сейчас её редко используют в крупных проектах, так как есть более современные движки вроде SDL, SFML, Godot, Unity
Но она до сих пор жива — https://liballeg.org/index.html
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 SGCL — это библиотека управления памятью для C++
Разработанная для обеспечения безопасного и эффективного управления памятью без накладных расходов, обычно связанных с методами сборки мусора.
Она предоставляет умные указатели с полным отслеживанием, аналогичные shared_ptr, но с дополнительными механизмами автоматической сборки мусора и оптимизации.
🟠 Поддержка циклов владения
🟠 SGCL разработан с учетом стандартов C++17 и выше, обеспечивая совместимость с современными практиками программирования.
🟠 Простота использования
Ознакомиться
👉 Новости 👉 Платформа
Разработанная для обеспечения безопасного и эффективного управления памятью без накладных расходов, обычно связанных с методами сборки мусора.
Она предоставляет умные указатели с полным отслеживанием, аналогичные shared_ptr, но с дополнительными механизмами автоматической сборки мусора и оптимизации.
Ознакомиться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
#Собес
🤔 Что такое стек (stack) в С?
Стек - это структура данных, работающая по принципу LIFO (Last In, First Out), что означает, что последний добавленный элемент удаляется первым. Доступ к
элементам возможен только с вершины стека. Основные операции:
👉 Новости 👉 Платформа
Стек - это структура данных, работающая по принципу LIFO (Last In, First Out), что означает, что последний добавленный элемент удаляется первым. Доступ к
элементам возможен только с вершины стека. Основные операции:
push ( ) - добавление элемента в стек.pop ( ) - удаление элемента из стека.Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
🤔 Что каждый разработчик должен знать о вычислениях на GPU
Статья предоставляет введение в архитектуру и вычислительные возможности графических процессоров (GPU). Автор отмечает, что, в отличие от центральных процессоров (CPU), которые оптимизированы для последовательного выполнения команд с низкой задержкой, GPU разработаны для массового параллелизма и высокой пропускной способности, что делает их особенно эффективными для задач, требующих одновременной обработки большого объема данных, таких как графика, численные вычисления и глубокое обучение.
Ознакомиться
👉 Новости 👉 База вопросов
Статья предоставляет введение в архитектуру и вычислительные возможности графических процессоров (GPU). Автор отмечает, что, в отличие от центральных процессоров (CPU), которые оптимизированы для последовательного выполнения команд с низкой задержкой, GPU разработаны для массового параллелизма и высокой пропускной способности, что делает их особенно эффективными для задач, требующих одновременной обработки большого объема данных, таких как графика, численные вычисления и глубокое обучение.
Ознакомиться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#ЛитКод
Задача: 711. Number of Distinct Islands II
Вам дана двоичная матричная сетка m x n. Остров - это группа 1 (представляющая сушу), соединенных в четырех направлениях (горизонтальном или вертикальном). Можно предположить, что все четыре края сетки окружены водой. Остров считается одинаковым с другим, если они имеют одинаковую форму, или имеют одинаковую форму после поворота (только на 90, 180 или 270 градусов) или отражения (влево/вправо или вверх/вниз). Верните количество разных островов.
Пример:
👨💻 Алгоритм:
1⃣ Пройдите по каждому элементу матрицы, если найдена земля (1), выполните DFS для обнаружения всех связанных с этим островом земель и сохраните форму острова.
2⃣ Нормализуйте форму острова, применив все возможные повороты и отражения, чтобы найти каноническую форму.
3⃣ Используйте множество для хранения всех уникальных канонических форм и верните размер этого множества.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 711. Number of Distinct Islands II
Вам дана двоичная матричная сетка m x n. Остров - это группа 1 (представляющая сушу), соединенных в четырех направлениях (горизонтальном или вертикальном). Можно предположить, что все четыре края сетки окружены водой. Остров считается одинаковым с другим, если они имеют одинаковую форму, или имеют одинаковую форму после поворота (только на 90, 180 или 270 градусов) или отражения (влево/вправо или вверх/вниз). Верните количество разных островов.
Пример:
Input: grid = [[1,1,0,0,0],[1,0,0,0,0],[0,0,0,0,1],[0,0,0,1,1]]
Output: 1
class Solution {
public:
int numDistinctIslands2(vector<vector<int>>& grid) {
unordered_set<string> uniqueIslands;
for (int i = 0; i < grid.size(); ++i) {
for (int j = 0; j < grid[0].size(); ++j) {
if (grid[i][j] == 1) {
vector<pair<int, int>> shape;
dfs(grid, i, j, i, j, shape);
uniqueIslands.insert(normalize(shape));
}
}
}
return uniqueIslands.size();
}
private:
void dfs(vector<vector<int>>& grid, int i, int j, int baseI, int baseJ, vector<pair<int, int>>& shape) {
if (i < 0 || i >= grid.size() || j < 0од Задача
:
711. Number ofgrid[i][j]
== 0) {
return;
}
grid[i][j] = 0;
shape.emplace_back(i - baseI, j - baseJ);
dfs(grid, i + 1, j, baseI, baseJ, shape);
dfs(grid, i - 1, j, baseI, baseJ, shape);
dfs(grid, i, j + 1, baseI, baseJ, shape);
dfs(grid, i, j - 1, baseI, baseJ, shape);
}
string normalize(vector<pair<int, int>>& shape) {
vector<vector<pair<int, int>>> shapes(8);
for (auto& p : shape) {
int x = p.first, y = p.second;
shapes[0].emplace_back(x, y);
shapes[1].emplace_back(x, -y);
shapes[2].emplace_back(-x, y);
shapes[3].emplace_back(-x, -y);
shapes[4].emplace_back(y, x);
shapes[5].emplace_back(y, -x);
shapes[6].emplace_back(-y, x);
shapes[7].emplace_back(-y, -x);
}
for (auto& s : shapes) {
sort(s.begin(), s.end());
}
string minShape = to_string(shapes[0][0].first) + "," + to_string(shapes[0][0].second);
for (auto& s : shapes) {
string sStr;
for (auto& p : s) {
sStr += to_string(p.first) + "," + to_string(p.second) + ";";
}
minShape = min(minShape, sStr);
}
return minShape;
}
};Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
#полезное
🤓 Всё понятным языком
Нашел неплохой ресурс для изучения основных концепций машинного обучения с помощью интерактивных визуализаций
Он включает интерактивные статьи по нейронным сетям, линейная регрессия, обучение с подкреплением и деревья решений, делая сложные идеи более доступными и понятными.
Смотри тут
👉 Новости 👉 База вопросов
Нашел неплохой ресурс для изучения основных концепций машинного обучения с помощью интерактивных визуализаций
Он включает интерактивные статьи по нейронным сетям, линейная регрессия, обучение с подкреплением и деревья решений, делая сложные идеи более доступными и понятными.
Смотри тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес
🤔 Что такое цикл (lоор) в С?
Цикл в С - это конструкция, позволяющая повторять выполнение кода, пока выполняется заданное условие. В С есть три основных типа циклов:
👉 Новости 👉 Платформа
Цикл в С - это конструкция, позволяющая повторять выполнение кода, пока выполняется заданное условие. В С есть три основных типа циклов:
for - используется, когда известно количество итераций.while - выполняется, пока условие истинно.do while - выполняется хотя бы один раз, затем проверяет условие.Please open Telegram to view this post
VIEW IN TELEGRAM
#новости
😬 Создатель C++ бьет тревогу из-за "серьезных атак" на язык программирования.
Бьярне Страуструп, создатель C++, обратился к сообществу с призывом защитить язык, который в последние годы подвергается критике со стороны кибербезопасности и технических экспертов из-за проблем с ручным управлением памяти. C и C++ полагаются на него, что приводит к ошибкам выхода за пределы чтения и записи, которые, в свою очередь становятся источником для уязвимостей и составляют большинство проблем в крупных проектах.
Страуструп признает, что C++ нуждается в срочных мерах для улучшения безопасности, особенно в свете рекомендаций правительственных агентств, которые рекомендуют отказаться от использования "небезопасных" языков к 2026 году. Он предлагает использовать фреймворк "Profiles", который может помочь в решении этих проблем, но скептики считают, что это решение не будет готово вовремя.
theregister.com
👉 Новости 👉 База вопросов
Бьярне Страуструп, создатель C++, обратился к сообществу с призывом защитить язык, который в последние годы подвергается критике со стороны кибербезопасности и технических экспертов из-за проблем с ручным управлением памяти. C и C++ полагаются на него, что приводит к ошибкам выхода за пределы чтения и записи, которые, в свою очередь становятся источником для уязвимостей и составляют большинство проблем в крупных проектах.
Страуструп признает, что C++ нуждается в срочных мерах для улучшения безопасности, особенно в свете рекомендаций правительственных агентств, которые рекомендуют отказаться от использования "небезопасных" языков к 2026 году. Он предлагает использовать фреймворк "Profiles", который может помочь в решении этих проблем, но скептики считают, что это решение не будет готово вовремя.
theregister.com
Please open Telegram to view this post
VIEW IN TELEGRAM
The Register
C++ creator calls for help to defend programming language from 'serious attacks'
Bjarne Stroustrup wants standards body to respond to memory-safety push as Rust monsters lurk at the door
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🤯 Рендерер VoxelSpace на старом Atari ST с 1 МБ памяти и процессором на 8 МГц, поддерживающем всего 16 цветов достиг впечатляющих результатов по оптимизации.
Разработчики потратили много времени на оптимизацию, используя C и встроенный m68k-ассемблер.
Недавно получилось уменьшить использование CRT, благодаря чему исполняемый файл стал всего 13430 байт, освободив почти 200 КБ оперативной памяти.☕️
Это улучшение значительно оптимизирует работу программы, позволяя использовать больше ресурсов системы для других задач.
Исходный код и двоичные файлы доступны на Гитхаб
👉 Новости 👉 База вопросов
Разработчики потратили много времени на оптимизацию, используя C и встроенный m68k-ассемблер.
Недавно получилось уменьшить использование CRT, благодаря чему исполняемый файл стал всего 13430 байт, освободив почти 200 КБ оперативной памяти.
Это улучшение значительно оптимизирует работу программы, позволяя использовать больше ресурсов системы для других задач.
Исходный код и двоичные файлы доступны на Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
🤔 MBASE
Это высокоуровневая неблокирующая библиотека для вывода больших языковых моделей, разработанная на основе проекта llama.cpp!
✔️ Ее цель — предоставить разработчикам инструменты и API для интеграции популярных LLM в свои приложения с минимальными потерями производительности и затратами на разработку. Библиотека поддерживает неблокирующий ввод-вывод, что позволяет эффективно обрабатывать запросы без задержек, связанных с ожиданием завершения операций. Это особенно полезно при создании приложений, требующих высокой отзывчивости и способности обрабатывать несколько запросов одновременно. MBASE предоставляет гибкие и настраиваемые интерфейсы, упрощающие процесс интеграции LLM в различные проекты, будь то чат-боты, системы рекомендаций или другие приложения, использующие возможности современных языковых моделей.
Гитхаб
👉 Новости 👉 База вопросов
Это высокоуровневая неблокирующая библиотека для вывода больших языковых моделей, разработанная на основе проекта llama.cpp!
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Собес
🤔 Что такое EOF (end of file) в С?
👉 Новости 👉 Платформа
EOF (End Of File) в С указывает на конец файла при чтении данных. При достижении конца файла стандартные функции, такие как fgetc(), fscanf() , fgets() , возвращают EOF .Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😊 CUTLASS (CUDA Templates for Linear Algebra Subroutines)
Это коллекция C++ шаблонов, разработанная NVIDIA для реализации высокопроизводительных операций умножения матриц (GEMM) и связанных с ними вычислений на GPU с использованием CUDA!
🚩 Библиотека предоставляет модульные и повторно используемые компоненты, которые упрощают разработку пользовательских ядер и приложений, оптимизированных для современных архитектур NVIDIA, включая Volta, Turing, Ampere, Ada, Hopper и Blackwell.
Гитхаб
👉 Новости 👉 База вопросов
Это коллекция C++ шаблонов, разработанная NVIDIA для реализации высокопроизводительных операций умножения матриц (GEMM) и связанных с ними вычислений на GPU с использованием CUDA!
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Media is too big
VIEW IN TELEGRAM
#видео
👍 Токенизатор LLM на C
Избранный Богом разработчик на Си, Цодинг, создает токенизатор LLM на Си.
Источник
👉 Новости 👉 База вопросов
Избранный Богом разработчик на Си, Цодинг, создает токенизатор LLM на Си.
Источник
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 Напишите собственную оболочку
Это базовые уроки для разработки собственного интерпретатора команд в Linux, который сможет управлять процессами, обрабатывать ввод команд и выполнять программы
📱 Смотреть видео
👉 Новости 👉 База вопросов
Это базовые уроки для разработки собственного интерпретатора команд в Linux, который сможет управлять процессами, обрабатывать ввод команд и выполнять программы
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Что такое файл (file) в С?
Файл в С - это область памяти на диске, используемая для хранения данных. Файлы позволяют хранить информацию между запусками программы, в отличие от переменных. Работа с файлами осуществляется через функции
👉 Новости 👉 Платформа
Файл в С - это область памяти на диске, используемая для хранения данных. Файлы позволяют хранить информацию между запусками программы, в отличие от переменных. Работа с файлами осуществляется через функции
fopen() , fclose() , fread(), fwrite() Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 std::unordered_map::
emplace_hint()
Документация
👉 Новости 👉 База вопросов
emplace_hint()
std::unordered_map::emplace_hint() позволяет вставлять элементы в хеш-таблицу с подсказкой для оптимизации. Это особенно полезно, если известно, куда примерно должен встать новый элемент, ускоряя операцию вставки.Документация
Please open Telegram to view this post
VIEW IN TELEGRAM
#видео
😇 Продвинутый семинар по C++
Все видеоролики очень насыщенные, с очень хорошим содержанием.
✅ Высокопроизводительные вычисления (HPC) на C++
✅ Инфраструктура C++ и текстовые ресурсы
✅ RAII, владение ресурсами, указатели и руководства по ним
✅ Обобщённое программирование (Generic Programming), часть 1
✅ Функциональные и обобщённые утилиты программирования
и тд.
Источник
👉 Новости 👉 База вопросов
Все видеоролики очень насыщенные, с очень хорошим содержанием.
и тд.
Источник
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
#статьи
🥺 CMake: Настройка проекта, подключение библиотек и мучения с Vulkan
Ознакомиться
👉 Новости 👉 База вопросов
Ознакомиться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес
🤔 Что такое статическая переменная (static variable) в C?
Статическая переменная объявляется с ключевым словом
👉 Новости 👉 Платформа
Статическая переменная объявляется с ключевым словом
static и сохраняет своё значение между вызовами функции. В отличие от локальных переменных, она не уничтожается после выхода из области видимости.Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🥺 Хочешь передавать данные звуком без интернета и Bluetooth?
Проект ggwave позволяет кодировать и декодировать данные в звуковые волны, превращая любой динамик и микрофон в средство передачи информации!
🟠 Кодирует данные в неслышимые для человека звуковые сигналы
🟠 Декодирует их на принимающем устройстве
🟠 Работает на любых платформах
Попробуй тут
👉 Новости 👉 База вопросов
Проект ggwave позволяет кодировать и декодировать данные в звуковые волны, превращая любой динамик и микрофон в средство передачи информации!
Попробуй тут
Please open Telegram to view this post
VIEW IN TELEGRAM