Please open Telegram to view this post
VIEW IN TELEGRAM
❤2😈1
#полезное
👋 Релиз Sakura v1.0
Высокопроизводительная минималистичная (~1k строк кода) мультимедийная библиотека для терминала на C++, которая рендерит изображения, GIF-анимации и видео с использованием sixel-графики с синхронизированным воспроизведением аудио.
Sakura поддерживает все современные форматы: jpg, png, bmp, анимированные gif, mp4, avi, mov, mkv, с адаптивным масштабированием, продвинутой синхронизацией кадров и пропуском кадров для плавного воспроизведения.
Также поддерживается кастомная обработка изображений и пакетная обработка с читаемым лог-выводом.
Репозиторий: https://github.com/Sarthak2143/sakura
Добавлена подробная документация по архитектуре обработки видео и API-документация.
👉 Новости 👉 База вопросов
Высокопроизводительная минималистичная (~1k строк кода) мультимедийная библиотека для терминала на C++, которая рендерит изображения, GIF-анимации и видео с использованием sixel-графики с синхронизированным воспроизведением аудио.
Sakura поддерживает все современные форматы: jpg, png, bmp, анимированные gif, mp4, avi, mov, mkv, с адаптивным масштабированием, продвинутой синхронизацией кадров и пропуском кадров для плавного воспроизведения.
Также поддерживается кастомная обработка изображений и пакетная обработка с читаемым лог-выводом.
Репозиторий: https://github.com/Sarthak2143/sakura
Добавлена подробная документация по архитектуре обработки видео и API-документация.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #redis
🤔 Что такое Redis и для чего он используется?
Redis — это высокопроизводительное хранилище данных в оперативной памяти, поддерживающее различные структуры данных: строки, хэши, списки, множества и упорядоченные множества. Его используют для ускорения работы приложений в сценариях, требующих быстрой записи и чтения, таких как кэширование, управление сессиями, системы публикации и подписки, а также для создания рейтингов (leaderboards).
👉 Новости 👉 База вопросов
Redis — это высокопроизводительное хранилище данных в оперативной памяти, поддерживающее различные структуры данных: строки, хэши, списки, множества и упорядоченные множества. Его используют для ускорения работы приложений в сценариях, требующих быстрой записи и чтения, таких как кэширование, управление сессиями, системы публикации и подписки, а также для создания рейтингов (leaderboards).
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🤯 Отлавливайте сегфолты во время выполнения на C
На фото ошибка: в условии
👉 Новости 👉 База вопросов
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <stdlib.h>
static void handle_sigsegv(int sig, siginfo_t *info, void *ucontext) {
(void)ucontext; // используем это, если нужно, иначе отключаем предупреждение компилятора
// Обрабатываем сегфолт здесь
// записываем несохраненные данные, логируем ошибки и т.д.
fprintf(stderr, "Сегфолт пойман по адресу %p, ваши данные сохранены!\n", info->si_addr);
exit(EXIT_FAILURE);
}
int main(void) {
struct sigaction sig_a = {
.sa_sigaction = handle_sigsegv, // указатель на функцию обработки нашего сегфолта
.sa_flags = SA_SIGINFO,
};
sigemptyset(&sig_a.sa_mask);
if (sigaction(SIGSEGV, &sig_a, NULL) == -1) {
perror("sigaction не удалась");
return 1;
}
printf("Этот код выполняется перед сегфолтом!\n");
// намеренно вызываем сегфолт
int *p = NULL;
*p = 1;
printf("Это не выполнится из-за сегфолта!\n");
return 0;
}
На фото ошибка: в условии
sigaction надо сравнивать с «-1», а не с «1»Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🏕 LSTM заставляли ИИ запоминать ещё до того, как трансформеры захватили сцену — вот 15-шаговое руководство для ручного разбора, которое можно прочитать по ссылке - https://byhand.ai/p/26-lstm
👉 Новости 👉 База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #mongoDB
🤔 Что такое оператор SaddToSet в MongoDB и чем он отличается от Spush?
💬 Кратко:
Оператор
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Оператор
$addToSet добавляет значение в массив, только если его нет в этом массиве, предотвращая дубли. В отличие от него, оператор $push добавляет элемент в массив без проверки на дубли.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😱 Реализация команды ping на C
🟠 Отправляет и принимает ICMP-пакеты
🟠 Считает RTT для каждого пакета в микросекундах
🟠 Считает потерю пакетов и другую статистику, как в оригинальной команде
Вот репозиторий на GitHub, если хочешь попробовать - https://github.com/EpicNerdGuy/Ping-in-C-
👉 Новости 👉 База вопросов
Вот репозиторий на GitHub, если хочешь попробовать - https://github.com/EpicNerdGuy/Ping-in-C-
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #mongoDB
🤔 Как создать индекс в MongoDB?
💬 Кратко:
Для создания индекса в MongoDB используется метод createIndex() . Например, чтобы создать индекс дЛя поля myField в КОЛЛеКЦИИ mycollection , ВЫполните команду:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Для создания индекса в MongoDB используется метод createIndex() . Например, чтобы создать индекс дЛя поля myField в КОЛЛеКЦИИ mycollection , ВЫполните команду:
db.myCollection.createIndex({ myField: 1 }) 📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#полезное
👋 Lock-Free Ring Buffer
Lock-free ring buffer позволяет организовать обмен данными с низкой задержкой и безопасный для потоков в многопоточных приложениях (например, в аудио или сетевых задачах). Эта реализация single-producer single-consumer (SPSC) использует атомики из C11 для конкурентного доступа без блокировок.
Такие lock-free структуры данных редко встречаются в туториалах по C, хотя они дают высокую производительность и низкую задержку, что особенно важно для real-time приложений.
👉 Новости 👉 База вопросов
Lock-free ring buffer позволяет организовать обмен данными с низкой задержкой и безопасный для потоков в многопоточных приложениях (например, в аудио или сетевых задачах). Эта реализация single-producer single-consumer (SPSC) использует атомики из C11 для конкурентного доступа без блокировок.
Такие lock-free структуры данных редко встречаются в туториалах по C, хотя они дают высокую производительность и низкую задержку, что особенно важно для real-time приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#Собес #mongoDB
🤔 Как удалить коллекцию в MongoDB?
💬 Кратко:
Коллекцию в MongoDB можно удалить с помощью метода
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Коллекцию в MongoDB можно удалить с помощью метода
drop() . Например: db. collectionName.drop() удалит коллекцию с именем collectionName .📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Статья Мигеля «Проектирование SIMD-алгоритма с нуля» реально стоящая к прочтению
https://mcyoung.xyz/2023/11/27/simd-base64/
👉 Новости 👉 База вопросов
https://mcyoung.xyz/2023/11/27/simd-base64/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🤯 Си без дженериков? Кто это сказал?
С помощью макросов можно сделать type-safe динамические массивы:
- Без
- Только макросы
Достаточно написать
Используй это, чтобы сделать свой собственный STL на C.
👉 Новости 👉 База вопросов
С помощью макросов можно сделать type-safe динамические массивы:
- Без
void*, без кастов- Только макросы
Достаточно написать
#define vector(type)Используй это, чтобы сделать свой собственный STL на C.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Бьярн Страуструп: «В C есть только типы данных, функции и всё».
C-программист: «Да».
Ограничения часто воспринимаются как сила.
Но где та граница, когда они уже начинают мешать?
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Что такое коллекция с ограничением размера (capped collection) в MongoDB и когда ее следует использовать?Что такое коллекция с ограничением размера (capped collection) в MongoDB и когда ее следует использовать?
💬 Кратко:
Коллекция с ограничением размера в MongoDB - это коллекция с фиксированным размером. Когда размер коллекции достигает заданного лимита, она начинает перезаписывать старые документы новыми, как кольцевой буфер. Это подходит для ситуаций, где важны только последние данные. например, в логировании или кэшировании.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Коллекция с ограничением размера в MongoDB - это коллекция с фиксированным размером. Когда размер коллекции достигает заданного лимита, она начинает перезаписывать старые документы новыми, как кольцевой буфер. Это подходит для ситуаций, где важны только последние данные. например, в логировании или кэшировании.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM