tgindex

Библиотека С# С++

описание

https://t.me/+WgGTjeH0p1NjMDFi - ссылка на канал По всем вопросам- @workakkk @ai_machinelearning_big_data - Machine learning @itchannels_telegram - 🔥лучшие ит-каналы @csharp_ci- C# академия @pythonlbooks- python книги📚 РКН: clck.ru/3Fmvsw

10 068
подписчиков
Охват к подписчикам
11,8%
ERR
Реакции к просмотрам
0,39%
320 на 42 постов
Пересылки к просмотрам
1,01%
824
Постов в день
0,1
всего 42

Где отзываются чаще

доля реакций к просмотрам
  • 4 авг.Четыре строки делают сложение `float` заметно точнее При последовательном сложении чисел с плавающей точкой часть младших битов теряется из-за округления. На больших массивах эта ошибка постепенно накапливается. Алгоритм Кэхэна хранит потерянную часть в отдельной переменной и компенсирует её на следующем шаге: float kahanSum(const float *nums, int count) { float sum = 0.0f; float correction = 0.0f; for (int i = 0; i < count; ++i) { float adjusted = nums[i] - correction; float next = sum + adjusted; correction = (next - sum) - adjusted; sum = next; } return sum; } Здесь correction запоминает ошибку округления, которая потерялась при предыдущем сложении. Обычная сумма быстрее, но Kahan Summation полезен там, где важна численная точность: - научные расчёты; - статистика и аналитика; - графика и симуляции; - обработка больших массивов; - накопление очень маленьких значений рядом с большими. Метод предложил Уильям Кэхэн в 1965 году. Небольшое усложнение цикла может заметно уменьшить ошибку без перехода на более тяжёлый числовой тип.1,75%
  • 12 маяКак в MIT учат операционным системам В MIT студентам дают готовое маленькое ядро xv6 и просят его дорабатывать. Что такое xv6: Учебная версия Unix, всего ~6000 строк на C Создана по мотивам Unix 1975 года, но переписана под современные процессоры Внутри есть всё настоящее: процессы, системные вызовы, память, файловая система Настолько компактна, что её можно прочитать целиком за выходные Вместо чтения теории про ОС ты разбираешь и меняешь живой код ядра — и только так понимаешь, как операционные системы устроены на самом деле. pdos.csail.mit.edu/6.828/2025/1,43%
  • 17 июн.⚡️ Fenwick Tree держится на одном битовом трюке Fenwick Tree, или Binary Indexed Tree, считает prefix sums за O(log n). Вся магия в операции: i & -i Она находит младший установленный бит числа. Почему это работает? В two’s complement число -i получается как инверсия битов i плюс 1. Когда мы делаем i & -i, остаётся только самый правый бит, равный 1. Например: i = 12 // 1100 -i // 0100 в нужной маске i & -i = 4 Именно это значение говорит Fenwick Tree, на сколько нужно прыгнуть по индексам. Для обновления: for (; i < MAXN; i += i & -i) tree[i] += v; Мы идём вверх по структуре и обновляем все узлы, которые покрывают этот индекс. Для запроса суммы: for (; i > 0; i -= i & -i) s += tree[i]; Мы идём вниз и собираем нужные блоки суммы. Одна и та же операция управляет двумя направлениями: * i += i & -i — перейти к следующему ответственному узлу * i -= i & -i — убрать последний блок из prefix sum Поэтому Fenwick Tree такой компактный: никаких явных рёбер, указателей и рекурсии. Только массив и битовая арифметика. Красота структуры в том, что дерево как бы спрятано внутри двоичного представления индекса.0,96%
  • 8 сент. 2025 г.без подписи0,92%
  • 25 июл.## C++ enum class: безопасно, но местами раздражает enum class даёт строгую типизацию и не позволяет случайно смешивать значения с обычными числами. Но есть нюанс: даже если enum используется как набор флагов, Flags::Read | Flags::Write не скомпилируется. Для |, &, ^, ~ придётся вручную определить операторы и приводить значения к базовому типу. Это правильное поведение с точки зрения type safety, но бойлерплейта становится заметно больше. Поэтому в некоторых C++-проектах для битовых флагов до сих пор используют обычный enum внутри namespace: меньше защиты, зато код значительно проще.0,80%
  • 14 июн.C++23 добавил `std::expected`, и это одна из самых практичных вещей в языке за последние годы. Идея простая: функция возвращает либо нормальный результат, либо ошибку. Без исключений, без output-параметров и без неявного control flow, который потом сложно отследить. Например, парсер заголовка может вернуть uint32_t, если всё хорошо, или std::error_code, если буфер слишком короткий. Вызывающая сторона сразу видит: здесь результат может быть ошибкой, её нельзя «случайно забыть» так же легко, как при старом стиле с кодами возврата. Это особенно удобно для системного кода, сетевых протоколов, парсеров, embedded и всего, где исключения либо запрещены, либо нежелательны. std::expected не делает обработку ошибок магической. Он просто заставляет контракт функции быть честным: успешный результат и возможная ошибка описаны прямо в типе.0,79%
  • 25 июн.🗺️ Полный роадмап C++ 2026 — от нуля до профессионала Это не просто список тем, а пошаговый маршрут превращения новичка в профессионального C++-разработчика. Каждый уровень даёт не только перечень концепций, но и рабочие примеры кода с пояснениями «как правильно» и «как неправильно», чтобы вы сразу видели идиоматичный современный C++, а не устаревшие практики из учебников 2000-х годов. Роадмап построен по принципу «теория рядом с практикой»: сначала вы изучаете концепцию на коде из соответствующего уровня, а затем углубляете понимание в разделе. 📚 Теория C++, где каждая тема разобрана от базовой интуиции до тонкостей, важных на собеседованиях и в продакшене. Такой подход экономит месяцы: вы не зубрите оторванные факты, а понимаете, почему язык устроен именно так. Как пользоваться: идите по уровням сверху вниз, не перепрыгивая. Пишите каждый пример руками, ломайте его, смотрите на ошибки компилятора — именно так формируется интуиция. Параллельно решайте задачи на платформах из раздела ресурсов и читайте теорию по мере появления вопросов. https://github.com/justxor/cpproadmap2026/tree/main0,78%
  • 24 июн.Красота C в том, что он почти не прячет механику компьютера. Хочешь понять, как копируется файл? Не нужен огромный фреймворк. Достаточно посмотреть на простой C-код: • открыть исходный файл через fopen • открыть файл назначения • выделить буфер через malloc • читать кусками через fread • записывать через fwrite • освободить память и закрыть файлы Всё честно и прямо: байты читаются из одного места и записываются в другое. Именно поэтому C до сих пор так важен. Он не всегда самый удобный, но он показывает, что реально происходит под капотом. После такого начинаешь лучше понимать не только язык, а саму систему.0,76%
  • 11 маяСборка C++ проектов. CMAKE. Game Engine серии 0:00:00 - Введение 0:01:32 - Пишем мини игру. FightClub 0:17:03 - MSBUILD 0:19:20 - Собственный build скрипт 0:26:52 - Build системы. Теория 0:34:17 - CMAKE 1:28:00 - Автоматизация CMAKE команд источник0,75%
  • 11 июн.⚡️ Бинарный поиск, который вы выучили, скорее всего, был неправильным. Джон Бентли опубликовал реализацию бинарного поиска в *Programming Pearls* после того, как доказал её корректность и протестировал. Баг прожил почти 20 лет. Позже Джошуа Блох нашёл точно такую же ошибку в реализации бинарного поиска, которую сам написал для JDK. Исследование 1988 года показало: корректный бинарный поиск был только в 5 из 20 учебников. Ошибка проявляется только на массивах размером 2^30 элементов и больше. Проблема возникает при вычислении середины: mid = (low + high) / 2; На очень больших массивах low + high может вызвать переполнение. Правильнее писать так: mid = low + (high - low) / 2; В C такое переполнение может привести к выходу за границы массива и непредсказуемому поведению. В Java это обычно заканчивается ArrayIndexOutOfBoundsException. Та же ошибка затрагивала mergesort и огромное количество других алгоритмов «разделяй и властвуй».0,67%
  • 19 июл.Bare Metal C++: как писать прошивки на C++ без ОС и тяжёлого runtime Practical Guide to Bare Metal C++ - бесплатная практическая книга для разработчиков, которые хотят использовать C++ напрямую на микроконтроллерах и ARM-платформах. Внутри: - анализ машинного кода, который генерирует компилятор - запуск C++ без стандартного runtime - работа без исключений, RTTI и динамической памяти - шаблоны и статические структуры данных - event loop и компонентная архитектура драйверов - прерывания, таймеры, UART, GPIO, I2C и SPI - сборка bare-metal приложений для Raspberry Pi Автор показывает, как применять возможности C++ там, где ограничены память, процессорное время и размер прошивки. Это не учебник для новичков. Материал рассчитан на разработчиков, которые уже знают C++ и хотят понять, во что превращается их код на уровне железа. https://arobenko.github.io/bare_metal_cpp/ #cpp #cplusplus #embedded #baremetal0,58%
  • 20 нояб. 2024 г.без подписи0,54%