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

@ai_machinelearning_big_data - Machine learning

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

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

@pythonlbooks- python книги📚

РКН: clck.ru/3Fmvsw
Download Telegram
🚀 .NET 10 Preview 3 уже доступен!
Новая версия приносит мощное обновление для C# — Extension Members:


💡 Теперь можно добавлять в static class расширения не только методов, но и:

🔹 Статические методы
🔹 Инстанс-свойства
🔹 Статические свойства

📦 Это значит, что вы можете "расширять" поведение типов не только логикой, но и дополнительными данными и даже стейтфул-логикой (через свойства).
И всё это — без изменения исходного класса.

🔗 Подробнее:
https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/csharp.md#extension-members

#dotnet #csharp #dotnet10 #devtools #preview

@csharp_ci
6👍3
📖 asmbook — мягкое введение в программирование на ассемблере для ARM. Для разработчиков, пишущих на C/C++, но желающих разобраться в низкоуровневых особенностях процессоров, проект предлагает практическое руководство по ассемблеру ARMv8.

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

🔗 GitHub

@cpluspluc
3👍1🔥1
🖥 В этой статье обсуждается ситуация, когда применение оптимизаций компилятора приводит к изменению поведения программы! Автор подчеркивает, что если поведение программы меняется при использовании определенного уровня оптимизации, это часто указывает на наличие неопределенного поведения в коде.

💡 Автор объясняет, что компиляторы, следуя правилу "as-if" (как если бы), могут применять любые преобразования кода, при условии, что они не изменяют его наблюдаемое поведение. Однако, если в программе присутствует неопределенное поведение, компилятор может производить оптимизации, которые изменяют поведение программы, поскольку исходное поведение не было строго определено

🔗 Ссылка: *клик*

@cpluscsharp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🖥 Эта статья рассказывает о подходах к бенчмаркингу при тестировании C++ кода!

🌟 Автор делится методами, как проводить точные и надежные бенчмарки, используя высокоточные таймеры и разделяя бенчмарки на разные исполнимые файлы для минимизации ошибок. В статье также рассматриваются проблемы и трудности, с которыми можно столкнуться при измерении производительности, и даются рекомендации по улучшению точности результатов.

🔗 Ссылка: *клик*

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🧠 Beej's Guide to Network Programming — легендарный гайд по сокетам на C

Если ты хочешь понять, как работают сети на низком уровне — забудь всё и читай Beej's Guide.

📘 Это бесплатное руководство от Beej (Брайан Холл), которое:
• Объясняет сокеты, TCP, UDP, IPv4/IPv6
• Работает под Linux и Windows
• Написано на чистом C
• Покрывает всё: от socket() до select() и recvfrom()
• С нуля до уверенного уровня

🔥 Почему это круто:
- Простой и разговорный стиль
- Куча кода и реальных примеров
- Бесплатно и с открытой лицензией (CC)
- Один из самых уважаемых туториалов среди C-программистов

📎 Читай тут

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

#CProgramming #SocketProgramming #NetworkProgramming #BeejGuide #LinuxNetworking #TCP #UDP #Coding
2🔥2
🔥 From C# to Rust: 42-дневный челлендж от Chris Woody Woodruff

Chris Woodruff, экспериментающий .NET-разработчик, объявил старт своего 42-дневного пути погружения в Rust — язык системного программирования, совмещающий производительность, безопасность и отсутствие null:contentReference[oaicite:0]{index=0}.

🎯 Цели проекта
- Жить и дышать Rust — по одному уроку в день.
- Противостоять строгому borrow checker.
- Осознанно учиться и делиться выводами от лица C#-разработчика.

🛠 Что ожидается изучить
- Владение памятью, шаблоны, трейты, времена жизни (`lifetimes`).
- Яркие сравнения Rust и C#: синтаксис, ownership vs GC, ошибки компилятора:contentReference[oaicite:2]{index=2}.
- Краткие ежедневные отражения из .NET-мира.

📅 Примерный план на 42 дня
1. День 1–7: Почему Rust? Установка, cargo new vs dotnet new, "Hello, World!", переменные, функции:contentReference[oaicite:4]{index=4}.
2. День 8–14: Неделя владения — темы: ownership, borrowing, borrow checker:contentReference[oaicite:5]{index=5}.
3. День 15–42: Структуры, перечисления (`enum`), match, Option<T>, Result<T, E>, модули, ошибки, трейты, дженерики, лямбды и многое другое.

💬 Голос из сообщества
> «What happens when a C# dev swaps null for Option, garbage collection for ownership… You get 42 days of brain‑bending, compiler‑fighting…»

Подытожим
- Проект идёт с апреля 2025 года, уже опубликованы десятки дневных эссе.
- Каждая запись по мотивам реального опыта: «why won’t this compile?!», сравнения с привычным C#.
- В финале — обзор полученного опыта, личные инсайты и примеры рабочего CLI‑приложения на Rust:contentReference[oaicite:8]{index=8}.

🚀 Готовы бросить вызов себе и глубже понять Rust?

Следите за дневником Woody и за входом в мир безопасных без‑GC систем прямо с .NET-опытов!

🔗 Подробнее: From C# to Rust: A 42-Day Developer Challenge

https://woodruff.dev/from-c-to-rust-a-42-day-developer-challenge/
7👍2
📘 Combining .NET Aspire with Temporal – часть 1

💡 В блоге Rebecca Powell на aspireify.NET описан старт серии статей о том, как интегрировать .NET Aspire с системой оркестрации Temporal :contentReference[oaicite:0]{index=0}.

🔍 Что в выпуске:
- An introduction to combining .NET Aspire apps with Temporal workflows
- Демонстрация того, как добавление Temporal упрощает надёжную обработку задач с состоянием и повторениями
- Подробный пример начала покрытия процессов с помощью Temporal SDK для .NET

📈 Почему это важно:
- Temporal помогает строить устойчивые распределённые системы с автоматическим управлением retries, временными метками и дедлайнами
- Интеграция с .NET Aspire — отличная основа для создания масштабируемых и отказоустойчивых приложений

➡️ Это только часть 1 — в следующих публикациях ожидаются глубже пример кода, best practices и кейсы. Отличный старт для разработчиков на .NET, интересующихся workflow-автоматизацией.

👉 Читать полностью

#dotnet #Aspire #Temporal #workflow #softwareengineering #rebeccapowell
2👍1
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
📚 ArXiv Research Agent — отличный помощник для научных исследований.

Агент самостоятельно:
• Найдёт релевантные статьи с arXiv, bioRxiv, medRxiv и Semantic Scholar
• Проведёт полноценный обзор и поиск нужных материалов
• Покажет, что упущено, и предложит, что добавить
• Даст инсайты и цитаты из миллионов научных работ
• Генерирует готовые конспекты
И др.

Вскоре обещают добавить поддержку MCP.

🔜 Попробовать: https://www.alphaxiv.org/assistant

@ai_machinelearning_big_data


#agent #ArXiv #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
7
🚀 Заблуждение: Dapper не быстрее EF Core на 50%

При запуске реальных бенчмарков в .NET 8 получены следующие результаты:

• Dapper: 2.07 мс
• EF Core: 2.43 мс

Разница составила 0.36 мс, или 14%, а не заявленные 50%.
Хотя Dapper расходует чуть меньше памяти, в 80% проектов это несущественно.

Вывод
Для большинства задач такая разница в производительности не влияет на выбор технологии, поэтому EF Core часто становится основным инструментом работы с данными.

12 причин предпочесть EF Core вместо Dapper:
1. Автоматическое отслеживание изменений сущностей
2. LINQ с проверкой запросов на этапе компиляции
3. Code-first миграции для управления схемой БД
4. Обратное создание моделей из существующих баз данных
5. Навигационные свойства вместо ручных JOIN
6. Eager, lazy и explicit загрузка данных
7. Глобальные фильтры запросов (soft delete, multitenancy)
8. Value conversions для пользовательских типов
9. Встроенные retry-политики для устойчивости подключений
10. Interceptors для аудита и логирования
11. Одна кодовая база для разных СУБД (SQL Server, PostgreSQL, MySQL, Oracle, SQLite и др.)
12. Централизованное управление миграциями для нескольких баз данных

В микробенчмарках EF Core может уступать, но в реальных проектах его возможности экономят разработчикам часы и дни работы.

Что предпочитают разработчики: EF Core или Dapper?
♻️ Репост, чтобы поделиться результатами сравнения производительности!
5👍4👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Полнзный проктитах: переиспользуемый пайплайн деплоя, написанный на C#, который может взять любой проект на Aspire и задеплоить его на виртуальную машину через SSH и Docker.

Особенности:
➟ Использование C# >>>> shell-скрипты, вперемешку с YAML
➟ Код пайплайна работает поверх модели. Один и тот же код подходит для любого Aspire-приложения без изменений. Это динамический шаблон пайплайна.
➟ Может запускаться локально или в CI
➟ Построено на новых API, которые появятся в Aspire 9.4 (ты тоже можешь собрать свой пайплайн и задеплоить куда угодно!)

https://github.com/davidfowl/AspirePipelines
3👍2🔥1🗿1
🔐 Блог DevelopersVoice выпустил отличный гайд по **10 главным уязвимостям веб‑приложений с примерами на .NET.

Что внутри:
• Инъекции и XSS
• Ошибки аутентификации
• Уязвимые зависимости
• SSRF и плохая конфигурация
• Проблемы с логированием и безопасным дизайном

📌 Всё с практическими советами: как обнаружить, как исправить, как не допустить.

Полный гайд тут: https://developersvoice.com/blog/secure-coding/owasp-top-ten

#OWASP #SecureCoding #DotNet #WebSecurity #DevTips
3
🖥 ImGui — библиотека для создания графических пользовательских интерфейсов на C++ с минимальными зависимостями!

🌟 Она основана на парадигме Immediate Mode GUI, обеспечивая высокую производительность и простоту интеграции. Подходит для инструментов разработки, отладочных и визуализационных приложений, в том числе в игровых движках. Библиотека поддерживает множество графических API и платформ, таких как DirectX, OpenGL, Vulkan и другие.

🔐 Лицензия: MIT

🖥 Github

@cpluspluc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2🔥1
Почти каждый С# разработчик допускал эту ошибку.

Что не так с этим кодом?

На первый взгляд всё кажется логичным:

🔸API-эндпоинт регистрации пользователя вызывает UserService
🔸UserService сохраняет пользователя в базу и вызывает EmailService
🔸EmailService через SmtpClient отправляет письмо

Но если присмотреться, метод SendWelcomeEmail объявлен как async void.

В чём проблема с async void?

Вот суть:
async void делает невозможным отлов исключений.

Если внутри SendEmailAsync() произойдёт исключение — catch его не перехватит.
Вместо этого приложение может тихо упасть или начать вести себя непредсказуемо.

Почему так происходит?

Методы async void не возвращают Task, поэтому вызывающий код не может их await-ить и обрабатывать ошибки.
Исключения из async void проходят мимо стандартных механизмов обработки.

Правильный подход:

Всегда возвращай Task

Запомни: async void допустим только для обработчиков событий, где возвращаемый void обязателен.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🥰1
Magic Enum — элегантная C++17 библиотека для работы с перечислениями, которая добавляет в них магию рефлексии. Без макросов и boilerplate-кода она позволяет легко преобразовывать enum в строки, проверять наличие значений и даже работать с битовыми флагами.

Библиотека сохраняет constexpr-контекст и поддерживает даже такие экзотические операции, как склейку enum-ов для многоуровневых switch-блоков. Хотя проект заточен под компактные перечисления, его уже используют в продакшене, например, для сериализации или валидации конфигов.

🤖 GitHub
4🔥1
🧨 Address Sanitizer в Visual Studio 2022

«Опять segfault в продакшене из-за memory corruption... А ведь код проходил все тесты!»
💡 Microsoft выпустила обновление Address Sanitizer для Visual Studio 2022 версии 17.14 с фокусом на качество и внедрение ASan в собственный toolchain.

Ключевые улучшения версии:

• расширенная поддержка __asan_default_options для secure приложений
• автоматизированное тестирование совместимости с Xbox OS
• исправление регрессии отображения call stack на x64
• возможность отключения container annotations по allocator

Самое интересное — Microsoft теперь использует ASan для тестирования самого MSVC компилятора. Каждый PR должен проходить тесты, где компилятор собран с /fsanitize=address😼

Это означает, что ASan теперь мониторит не только вашу программу, но и сам процесс компиляции, выявляя memory safety ошибки в toolchain.

https://devblogs.microsoft.com/cppblog/address-sanitizer-updates-for-visual-studio-2022-17-14/
2👍1🔥1