Библиотека С# С++
10.5K subscribers
182 photos
10 videos
179 files
180 links
https://t.me/+WgGTjeH0p1NjMDFi - ссылка на канал
По всем вопросам- @workakkk

@ai_machinelearning_big_data - Machine learning

@itchannels_telegram - 🔥лучшие ит-каналы

@csharp_ci- C# академия

@pythonlbooks- python книги📚

РКН: clck.ru/3Fmvsw
Download Telegram
🚀 MPSC Lock-Free Queue in C++

Эта библиотека реализует очередь с множеством производителей и одним потребителем (MPSC) на основе кольцевого буфера. Она предназначена для изучения концепций неблокирующего программирования и оптимизации производительности, обеспечивая предсказуемое поведение памяти и отличную кэшируемость.

🚀 Основные моменты:
- Реализация неблокирующей очереди для многопоточных приложений.
- Использует кольцевой буфер для повышения производительности.
- Применяет атомарные операции для синхронизации.
- Подходит для высокопроизводительных систем без динамической аллокации.

📌 GitHub: https://github.com/bowtoyourlord/MPSCQueue

#cpp
2👍2
🚀 Курс «Java-разработчик» - всё, что нужно для современной Java-разработки

Вы освоите Java с нуля до уровня Middle:
- разработку приложений и серверных веб-сервисов
- работу с реляционными БД
- экосистему: Spring, Hibernate, PostgreSQL, Docker, Kubernetes, Kafka, RabbitMQ, JUnit, Maven/Gradle, IntelliJ IDEA

Обучение построено в 3 ступени по 5 месяцев: от первой программы и базовых алгоритмов - до продвинутого Spring и облаков.

📅 Старт курса - 27 ноября.
Успейте занять место и пройти вступительное тестирование: https://otus.pw/vGaX/?erid=2W5zFH92i7z

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
1
🚀 Умный билд-системы с HMake

HMake — это продвинутое программное обеспечение для сборки, ориентированное на C++. Оно предлагает уникальный подход к управлению зависимостями и поддерживает модули C++20 без предварительного сканирования. Система оптимизирована для высокой скорости сборки и низкого потребления памяти.

🚀Основные моменты:
- Поддержка C++20 модулей и заголовочных единиц.
- Эффективный алгоритм сборки с динамическими зависимостями.
- Высокая скорость сборки по сравнению с Ninja.
- Простая архитектура для расширяемости.
- Поддержка множества языков программирования в будущем.

📌 GitHub: https://github.com/HassanSajjad-302/HMake

#cpp
3👍1
🚀 Минималистичная реализация EGGROLL на C

Проект представляет собой легковесную реализацию алгоритма EGGROLL, полностью написанную на C без внешних зависимостей. Он оптимизирован для работы на процессорах Apple Silicon, используя только целочисленные операции и обходясь без GPU и сложных ML-фреймворков.

🚀Основные моменты:
- Чистый C без внешних библиотек.
- Оптимизация для Apple Silicon с использованием ARM NEON.
- Полное использование целочисленных операций.
- Применение эволюционных стратегий вместо обратного распространения.

📌 GitHub: https://github.com/d0rc/egg.c

#c
3👍1
⚡️ Полное руководство по Bash: от основ к продвинутым темам

Bash (Bourne Again SHell) — это одна из самых популярных Unix-оболочек, широко используемая для запуска команд и написания скриптов в Linux и macOS.

Скрипты Bash позволяют автоматизировать рутинные задачи, объединять команды в программы и управлять системой через командную строку.

Данное руководство последовательно познакомит вас с основами Bash (синтаксис, переменные, условия, циклы и т.д.), а затем перейдет к продвинутым возможностям (таким как настройка strict mode, использование trap-обработчиков, планирование задач через cron и др.). Мы рассмотрим практические примеры скриптов, сопровождая их поясняющими комментариями, чтобы у вас сложилось цельное понимание создания надежных Bash-скриптов.

https://uproger.com/polnoe-rukovodstvo-po-bash-ot-osnov-k-prodvinutym-temam/

Видео: https://www.youtube.com/watch?v=ei0a1TT4ukU
3👍2
🖥 Гайд по продвинутому профессиональному использованию SQL

В этом руководстве мы рассмотрим ключевые аспекты работы с SQL на практике. Начнём с сравнения популярных СУБД, затем перейдём к продвинутым приёмам аналитического SQL, оптимизации запросов, администрированию баз данных, и закончится всё интеграцией SQL с Python (SQLAlchemy, pandas и т.д.).

Для каждого раздела приведены примеры на реальных сценариях (интернет-магазин, CRM, аналитика продаж), код и полезные советы.

👉 Читать гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🥰2
Любителям науки - отличный open-source клиент для чтения arXiv, который делает научные статьи удобными для жизни, а не для страданий 😊

Что внутри:
- ИИ-чат по контексту статьи
- Автоматическая краткая выжимка (есть даже озвучка)
- Нормальная тёмная тема
- Оффлайн-режим
- Удобный поиск по авторам и темам

Минимум шума — максимум смысла.
Настоящие бесплатные знания.

GitHub: https://github.com/dagmawibabi/ScholarXIV
2👍2
🖥 Rust vs C++ - сравнение на 2026 от JetBrains

JetBrains выпустили подробный разбор Rust и C++ как системных языков - без идеологии и фанатизма, с упором на реальные trade-off’ы.

Общее:
- Оба языка дают высокую производительность и низкоуровневый контроль
- Используются для системного ПО, инфраструктуры, игр, движков, embedded
- Разница не в скорости, а в модели безопасности и подходе к разработке

Rust:
- Безопасность памяти по умолчанию за счёт ownership, borrowing и lifetimes
- Большая часть ошибок ловится на этапе компиляции
- Современный tooling из коробки: cargo, clippy, rustfmt
- unsafe существует, но всегда явно обозначен и локализован
- Лучше подходит для новых проектов и долгоживущего кода

C++:
- Максимальный контроль над памятью и производительностью
- Огромная и зрелая экосистема, десятилетия кода и библиотек
- Безопасность сильно зависит от дисциплины разработчика
- Инструменты и стандарты более фрагментированы
- Часто незаменим для legacy и highly-optimized систем

Производительность:
- В реальных задачах Rust и C++ находятся в одной лиге
- C++ иногда выигрывает в узких микрооптимизациях
- Rust выигрывает за счёт меньшего числа runtime-багов

Когда что выбирать:
- Rust - безопасность, предсказуемость, новые системы
- C++ - legacy-код, экстремальный контроль, специфичные оптимизации

Вывод:
Rust не убивает C++, и C++ не устарел.
Это разные инструменты для разных задач, и выбор зависит от контекста, а не религии.

Видео: https://www.youtube.com/watch?v=csOu_rWbPeU
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2👻21👎1🎄1
🖼️🔍 CV DebugMate C++: Визуализация OpenCV в VS Code

Расширение для Visual Studio Code, позволяющее удобно визуализировать структуры данных OpenCV во время отладки C++. Поддерживает отображение изображений cv::Mat и 3D облаков точек с возможностью синхронизации и экспорта.

🚀Основные моменты:
- Визуализация изображений в различных форматах (градации серого, RGB)
- Поддержка 3D облаков точек с интерактивным управлением
- Автоматический сбор переменных для быстрого доступа
- Синхронизация состояния просмотра для групп переменных
- Экспорт изображений и данных в популярные форматы

📌 GitHub: https://github.com/dull-bird/cv_debug_mate_cpp

#cpp
4👍2
Forwarded from Machinelearning
⚡️ Microsoft хочет избавиться от всего C и C++ к 2030 году и переписать код на Rust

В Microsoft поставили радикальную цель - полностью убрать C и C++ из своих кодовых баз к 2030 году и заменить их Rust.

Причем делать это собираются не вручную, а с помощью ИИ и алгоритмов, на скоростях, которые раньше казались фантастикой.

Новая «North Star» метрика Microsoft звучит так:
- 1 инженер
- 1 месяц
- 1 миллион строк кода

Об этом рассказал Galen Hunt, Distinguished Engineer в Microsoft, в своем посте на LinkedIn.

В чем идея
Microsoft строит инфраструктуру, которая объединяет:
- алгоритмический анализ кода
- графы зависимостей на масштабе миллионов строк
- AI-агентов для понимания и переписывания кода

По сути, компания хочет автоматизировать массовое переписывание самых больших и старых кодовых баз.

Как это будет работать
- алгоритмы строят масштабируемый граф исходного кода
- AI-системы анализируют и изучают код
- затем эти же системы модифицируют и переписывают его
- инфраструктура уже используется для задач понимания старого кода

Почему это звучит рискованно
- переписываются десятилетиями отлаженные системы
- Rust не избавляет от логических ошибок
- массовый rewrite - один из самых опасных процессов в инженерии
- высокая скорость повышает риск регрессий

Почему Microsoft все равно идет на это:
- большая часть критических уязвимостей исторически связана с C и C++
- Rust реально сокращает классы memory-багов
- ИИ впервые делает такой масштаб переписывания кода технически возможным

Источник:
linkedin.com/posts/galenh_principal-software-engineer-coreai-microsoft-activity-7407863239289729024-WTzf/

@ai_machinelearning_big_data

#Microsoft #Rust #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮86💩3👻1
🖥 Нашёл любопытный проект: **`cq` —-SQL query engine для CSV-файлов, написанный на C.**

Что умеет:

- выполнять SQL-запросы прямо по CSV
- фильтровать, агрегировать, делать JOIN’ы
- работать быстро и без “тяжёлых” зависимостей
- подходит для логов, датасетов, ETL-скриптов и ад-hoc анализа

То есть вместо Python-скриптов или импорта в БД —
можно просто кинуть SELECT по файлу и получить результат.

⚡️ Репозиторий: https://github.com/baldimario/cq/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2🥰2
Основы языка C. Курс по программированию

📚 Книга
🔥53👍2
Forwarded from C# (C Sharp) programming
✔️ C# стал языком 2025 года по версии TIOBE.

Индекс TIOBE подвел итоги года: звание «Язык 2025 года» досталось C#, который показал рекордный рост популярности (+2.94%)? однако в общем зачете он по-прежнему занимает 5-ю строчку. Абсолютным лидером остается Python с 22.61% долей рынка.

В первой пятерке произошли перестановки: язык C поднялся на 2 место, сместив C++ на 4-ю позицию; 3 место досталось Java, а R вернулся в топ-10. Провал года - Go, который неожиданно сдал позиции, опустившись сразу на 16-е место.

Индекс оценивает популярность технологий на основе поисковых запросов, активности комьюнити и количества обучающих материалов.

https://www.tiobe.com/tiobe-index/
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥4👍2👎1🤩1🤣1
This media is not supported in your browser
VIEW IN TELEGRAM
DOOM запустили… в наушниках. И да - на них реально можно играть 😱

Один энтузиаст портировал легендарный Doom на PineBuds Pro. Почему именно они?

Потому что это одни из немногих наушников с open-source прошивкой, плюс внутри стоит достаточно бодрый чип, чтобы после пары хардкорных модификаций вытянуть игру аж на 18 FPS.

Но самое безумное даже не это.

У наушников, внезапно, нет экрана. Поэтому разработчик пошёл ещё дальше и сделал сайт Doombuds, через который можно удалённо подключиться к наушникам и играть в Doom прямо из браузера.

Да, ты буквально играешь в шутер, который крутится внутри гарнитуры у тебя в ушах.
Понедельник для продуктивности явно отменяется.

Если уровень безумия у тебя достаточный и хочется повторить этот подвиг - весь код открыт и лежит на GitHub : https://github.com/arin-s/DOOMBuds
5👍4🔥3
⚡️ Масштабирование до 1 000 000 пользователей - практичный подход с PostgreSQL

Автор работал над системой, которая выросла с нуля до более чем миллиона пользователей. Без сложных модных архитектур на старте и без преждевременного оверинжиниринга. Только последовательная эволюция под реальные нагрузки.

В начале всё было максимально просто:

Одно приложение - одна база данных.
И этого было достаточно.

Проблемы появились не в коде. Узким местом стала база данных. Архитектура развивалась шаг за шагом, решая конкретные проблемы по мере их появления.

1️⃣ Старт - один основной инстанс
Использовался один primary-инстанс PostgreSQL. Минимум инфраструктуры, низкие расходы и полный фокус на продукте.

Главная мысль этого этапа - не строить "архитектуру уровня Netflix" для проекта с десятками пользователей.

2️⃣ Разделение чтений - Read Replicas
Когда резко вырос read-трафик:

- Primary обрабатывал только записи
- Реплики обрабатывали SELECT-запросы
- Балансировщик распределял чтения

Кодовая база почти не менялась - менялась маршрутизация трафика.

Результат - база перестала быть узким местом из-за чтений.

3️⃣ Проблема соединений - добавление pgBouncer
При росте числа пользователей упёрлись не в CPU, а в количество соединений.

Каждое соединение к базе - это память и ресурсы. Тысячи коннектов начали "душить" систему.

Решение - connection pooling через pgBouncer:

- Меньше реальных соединений к БД
- Выше пропускная способность
- Меньше сбоев под нагрузкой

4️⃣ Масштабирование через кэш
Чтобы выдержать 1M+ пользователей, стало критично не обращаться к базе за каждым запросом.

Добавили Redis как слой кэширования:

- Часто используемые данные отдавались из кэша
- База перестала быть единственной точкой нагрузки
- Задержки заметно снизились

Именно на этом этапе начинается настоящее масштабирование.

Главный урок

На каждом этапе решалась текущая проблема, а не гипотетическая задача будущего.

| Проблема | Решение |
|---------|---------|
| Много чтений | Read Replicas |
| Слишком много соединений | Пул соединений |
| База перегружена запросами | Кэш |
| Сложная инфраструктура | Не добавлялась без реальной необходимости
|

Приложение существует, чтобы поддерживать бизнес.
Если бизнес-модель не работает, никакое масштабирование не спасёт.

Масштабирование - это не про технологии ради технологий.
Это про внедрение решений в тот момент, когда они действительно нужны.

milanjovanovic.tech/blog/scaling-monoliths-a-practical-guide-for-growing-systems
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3🥰1
🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇

🖥 ИИ: t.me/ai_machinelearning_big_data

🖥 Python: t.me/pythonl

🖥 Linux: t.me/linuxacademiya

🖥 C++ t.me/cpluspluc

🖥 Docker: t.me/DevopsDocker

🖥 Хакинг: t.me/linuxkalii

🖥 Devops: t.me/DevOPSitsec

👣 Golang: t.me/Golang_google

🖥 Аналитика: t.me/data_analysis_ml

🖥 Javascript: t.me/javascriptv

🖥 C#: t.me/csharp_ci

🖥 Java: t.me/javatg

🖥 Базы данных: t.me/sqlhub

👣 Rust: t.me/rust_code

🤖 Технологии: t.me/machineint

💰 Экономика и инвестиции в ИИ t.me/financeStable

💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi

🖥 Chatgpt бот в тг: t.me/Chatgpturbobot

📚 Бесплатные ит-книги: https://t.me/addlist/HwywK4fErd8wYzQy

🖥Подборка по Golang: https://t.me/addlist/MUtJEeJSxeY2YTFi

⚡️ Лучшие ИИ ресурсы: https://t.me/addlist/2Ls-snqEeytkMDgy

Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
Как сделать defer в C через cleanup-паттерн

В Go есть `defer`. В C - нет. Но это не значит, что нельзя получить тот же эффект.

Главная проблема в C - ресурсы:
- забыли закрыть файл
- не освободили память
- не закрыли сокет
- утечки и баги в error-path

Хитрый приём - использовать единый блок очистки через `goto cleanup`. Это самый надёжный способ имитировать defer в C.

Идея:
- ресурсы выделяются по шагам
- при ошибке — переход в cleanup
- в конце — освобождаем всё в одном месте

Так код становится безопаснее и проще для поддержки.

Пример:


#include <stdio.h>
#include <stdlib.h>

int process_file(const char* path) {
FILE* file = NULL;
char* buffer = NULL;
int result = -1;

file = fopen(path, "r");
if (!file) goto cleanup;

buffer = malloc(1024);
if (!buffer) goto cleanup;

// работа с файлом
fread(buffer, 1, 1024, file);

result = 0; // успех

cleanup:
if (buffer) free(buffer);
if (file) fclose(file);
return result;
}

Почему это хороший паттерн:
- нет дублирования освобождения ресурсов
- все error-path’ы безопасны
- легко добавлять новые ресурсы
- стандартная практика в системном C (ядро Linux использует тот же подход)

Главная идея: в C «defer» — это дисциплина структуры кода.

https://antonz.org/defer-in-c/
3👍3