en
Feedback
Волны ИИ

Волны ИИ

Open in Telegram

Творчество искусственного интеллекта.

Show more
6 696
Subscribers
No data24 hours
-137 days
-4330 days
Posts Archive
⚙️ Inline return values в Visual Studio: как новая функция упрощает отладку Недавнее обновление Visual Studio 2022 (версия 17
⚙️ Inline return values в Visual Studio: как новая функция упрощает отладку Недавнее обновление Visual Studio 2022 (версия 17.12) принесло массу полезных функций, и одна из них — это отображение возвращаемых значений методов прямо в строке кода во время отладки. С помощью этой функции вы можете мгновенно увидеть, что возвращает функция, не создавая временных переменных или не выполняя дополнительные шаги в процессе отладки. Это особенно удобно при анализе сложных выражений, где результат функции играет ключевую роль.
int CalculateSum(int a, int b) { return a + b; } 
// В отладчике сразу видно: возвращаемое значение = 15.
Преимущества: ✅ Скорость и удобство: мгновенный доступ к возвращаемым значениям без лишних шагов. ✅ Чистота кода: больше не нужно добавлять лишние переменные для промежуточного хранения результата. ✅ Удобство анализа: работает автоматически, что ускоряет процесс отладки. 📎 Подробнее в блоге Visual Studio

❓⚙️ .Net для веб-разработки В последние годы .NET стал мощным инструментом для создания веб-приложений. Он предлагает кросс-п
❓⚙️ .Net для веб-разработки В последние годы .NET стал мощным инструментом для создания веб-приложений. Он предлагает кросс-платформенность, высокую производительность, удобные инструменты разработки (Blazor, Razor Pages, Web API) и всё это в экосистеме с хорошей документацией и поддержкой. Однако вокруг .NET всё ещё ходят споры: кто-то видит в нём идеальный стек для веба, а кто-то считает его нишевым решением Один из пользователей Reddit поднял интересную тему, сравнивая Node.js и .NET в веб-разработке. Основными аргументами в сравнении были производительность, типизация и использование сторонних библиотек. А как вы считаете недооценён ли .Net для веб-разработки? Делитесь своим мнением!👇

💡 Работаем с фоновыми задачами в Windows Хотите автоматизировать задачи с помощью .NET Core? Worker Service — это удобный сп
💡 Работаем с фоновыми задачами в Windows Хотите автоматизировать задачи с помощью .NET Core? Worker Service — это удобный способ создавать фоновые службы, которые легко интегрируются в экосистему Windows. Как создать такой сервис, настроить его запуск как Windows-службы и управлять им через командную строку? 📎 Простое и понятное объяснение ждёт вас в статье

🔧 Юнит-тестирование в .NET с xUnit и Moq Если вы хотите научиться писать качественные юнит-тесты в .NET, но устали от скучны
🔧 Юнит-тестирование в .NET с xUnit и Moq Если вы хотите научиться писать качественные юнит-тесты в .NET, но устали от скучных примеров, то эта статья — для вас! Автор делится полезными советами по использованию xUnit и Moq для создания тестов, которые легко поддерживать и которые реально помогают находить ошибки. В статье вы найдёте множество полезных инсайтов: 🛠️ Мудрое использование xUnit — как грамотно применять фреймворк для написания тестов и организации их выполнения, чтобы тесты были не просто рабочими, но и удобными. 🛠️ Мок-объекты с Moq — создаём мок-объекты для изоляции компонентов и упрощения процесса тестирования, что позволит фокусироваться только на проверке нужных частей системы. 🛠️ Лучшие практики — секреты чистого, удобного и эффективного тестирования, которые сэкономят ваше время и помогут избежать типичных ошибок. 🛠️ Избегаем распространённых ошибок — советы, которые избавят вас от множества проблем и облегчат жизнь при работе с юнит-тестами. 📎 Полезный источник

🛠️ Запуск .NET-приложений в облаке с помощью Heroku Heroku анонсировали официальную поддержку .NET, позволяя разработчикам р
🛠️ Запуск .NET-приложений в облаке с помощью Heroku Heroku анонсировали официальную поддержку .NET, позволяя разработчикам развертывать приложения на платформе с использованием .NET Core. Это открывает новые возможности для упрощенного хостинга и масштабирования приложений в облаке. Процесс деплоя описан буквально двумя строками:
heroku create --buildpack heroku/dotnetgit push heroku main
📎 Читайте анонс в блоге Heroku

❓ Почему Span и ref struct не подходят для асинхронных операций в C# ? ⚙️Стековая природа Span и ref struct: Эти структуры выделяются на стеке, и их время жизни ограничено текущим контекстом выполнения функции. Асинхронные операции могут охватывать несколько вызовов функций и даже переключаться между потоками, что приводит к несоответствию времён жизни. Если Span или ref struct используются после завершения исходной функции, это может вызвать неопределённое поведение. ⚙️Отсутствие размещения в куче и упаковки (boxing): Span и ref struct спроектированы для избегания выделения памяти в куче, чтобы минимизировать накладные расходы. Это затрудняет их хранение в структурах данных, основанных на куче, которые часто используются в асинхронных операциях. Процесс упаковки, то есть преобразования типа значения в ссылочный тип, не поддерживается для Span и ref struct, что ограничивает их использование в асинхронных контекстах. Возможные обходные пути и альтернативы: 🛠️Использование Memory: Memory — это эквивалент Span, выделяемый в куче, который можно использовать в асинхронных операциях. Он предоставляет методы для получения экземпляров Span при необходимости. 🛠️Передача указателей: В некоторых сценариях можно передавать указатели на блоки памяти в асинхронные операции. Однако это требует тщательного управления памятью и может быть менее безопасным по сравнению с использованием Memory. 🛠️Асинхронные потоки: Для асинхронной передачи данных рассмотрите использование асинхронных потоков. Они могут быть более эффективными и удобными в работе по сравнению с традиционными асинхронными операциями.

🔥 Конвертация XML в Word — проще, чем кажется! Преобразование XML в Word больше не головная боль. Библиотека FileConversionL
🔥 Конвертация XML в Word — проще, чем кажется! Преобразование XML в Word больше не головная боль. Библиотека FileConversionLibrary упрощает этот процесс до нескольких строчек кода! Библиотека предоставляет основные инструменты для конвертации файлов CSV и XML в форматы PDF, Word, YAML и JSON, упрощая обработку данных. Она доступна на платформах NuGet и GitHub, что облегчает ее интеграцию в проекты. 🎯 Подробности в статье

🔍 Паттерн Наблюдатель (Observer Pattern) в C#: Как и зачем использовать? Observer — это поведенческий паттерн проектирования
🔍 Паттерн Наблюдатель (Observer Pattern) в C#: Как и зачем использовать? Observer — это поведенческий паттерн проектирования, который позволяет создать зависимость один ко многим между объектами. Суть в том, что один объект информирует несколько других объектов (наблюдателей) об изменении своего состояния без явной связи с ними. Когда использовать Observer Pattern? ⚙️ Системы уведомлений и оповещений: Когда несколько компонентов должны реагировать на изменения в одном объекте (например, обновления статуса пользователя). ⚙️ Реактивные приложения: Когда вы строите систему, которая должна автоматически реагировать на изменения состояния без жёсткой связи между компонентами. ⚙️ GUI приложения: Когда UI должен быть обновлён при изменении данных (например, в паттерне MVVM). Альтернативы Observer Pattern: можно использовать централизованный механизм событий (например, EventHandler в C#), или подход Publisher-Subscriber, где посредник управляет подписками и рассылкой сообщений. 📎 Подробнее в статье

🔥 Как ускорить алгоритм Флойда-Уоршелла в C# с помощью разбиения на блоки Алгоритм Флойда-Уоршелла решает задачу всех пар кр
🔥 Как ускорить алгоритм Флойда-Уоршелла в C# с помощью разбиения на блоки Алгоритм Флойда-Уоршелла решает задачу всех пар кратчайших путей с помощью динамического программирования. Он работает за O(n³), где n — количество вершин в графе. Это делает его эффективным для небольших графов, но с ростом их размера алгоритм становится не таким быстрым. Вместо обработки всей матрицы расстояний за один шаг, граф делится на небольшие блоки. Эти блоки обрабатываются поочередно, что помогает улучшить локальность данных и повышает эффективность кэширования на уровне процессора. В результате алгоритм работает быстрее, особенно при работе с большими и разреженными графами. Как это работает? ⚙️ Создаем матрицу смежности, где храним расстояния между вершинами графа. ⚙️ Делим матрицу на меньшие блоки и обновляем кратчайшие пути внутри блоков и между ними. ⚙️ Получаем итоговую матрицу кратчайших путей, где каждый элемент показывает кратчайший путь между парой вершин. 📎 Оригинал статьи

🛠️ Уроки от создателя Fiddler: Ошибки, которые стоит знать Эрик Лоуренс, создатель Fiddler, поделился своими ошибками, допущенными при создании одного из самых популярных инструментов для отладки HTTP. Fiddler остаётся мощным инструментом, но история его разработки — это ещё и напоминание, что любой успешный проект требует как технической точности, так и стратегической гибкости. Вот основные уроки, которые выделяет Эрик: 1️⃣ Технические решения могут стать ловушкой Поспешный выбор многопоточности и неправильное использование свойств усложнили поддержку кода. Даже небольшие архитектурные решения могут иметь долгосрочные последствия. 2️⃣ SSL/TLS — это сложнее, чем кажется Разработка взаимодействия с безопасными соединениями привела к неожиданным сложностям. Ошибки в этой области были особенно болезненными. 3️⃣ Сила общения Работа с опытными коллегами и обратная связь от пользователей оказались не менее важными, чем сам код. Пренебрежение этими аспектами тормозило развитие проекта. 👉 Подробнее в источнике

❓Фронтенд кажется чем-то далёким и не таким сложным, как серверная часть? Попробуйте этот тест, чтобы понять, насколько хорош
Фронтенд кажется чем-то далёким и не таким сложным, как серверная часть? Попробуйте этот тест, чтобы понять, насколько хорошо вы разбираетесь в React, Webpack, CSS-Grid и других инструментах, которыми пользуются ваши коллеги. 👉 Попробовать свои силы!

📝⚖️ Увольнение по статье: что делать, особенности и нюансы Разбираемся, за что айтишника могут уволить по статье и что делат
📝⚖️ Увольнение по статье: что делать, особенности и нюансы Разбираемся, за что айтишника могут уволить по статье и что делать, если это произошло с вами. 👉 Читать подробнее

🛠️ Использование Span в C# — это мощный способ повысить производительность приложений, особенно когда речь идёт о работе с б
🛠️ Использование Span в C# — это мощный способ повысить производительность приложений, особенно когда речь идёт о работе с большими объёмами данных или низкоуровневыми операциями с памятью. В отличие от стандартных массивов, Span предоставляет безопасный и эффективный доступ к данным без необходимости их копирования, что минимизирует затраты на память и ускоряет выполнение программ. ❓ Что важно: Span позволяет работать с фрагментами массивов, строк и других последовательностей данных, при этом обеспечивая безопасный доступ и предотвращая ошибки, связанные с выходом за пределы памяти. Кроме того, Span значительно упрощает работу с памятью, так как можно напрямую работать с участками данных в стеке или на куче, избегая лишних аллокаций. Использование этой структуры — один из лучших способов улучшить производительность ваших приложений, при этом сохраняя безопасность и удобство разработки.

🔄 Поллинг или вебхуки: что лучше подойдет для вашего приложения Существует множество технологий обмена данными — WebSockets,
🔄 Поллинг или вебхуки: что лучше подойдет для вашего приложения Существует множество технологий обмена данными — WebSockets, SSE, gRPC, брокеры сообщений — однако специфика и ограничения некоторых проектов заставляют разработчика сделать выбор между поллингом и вебхуками. Разберем преимущества и недостатки этих методов. 👉 Статья

⚙️ .NET 9 представляет новый алгоритм для NuGet, который значительно ускоряет процесс восстановления пакетов. В крупных проек
⚙️ .NET 9 представляет новый алгоритм для NuGet, который значительно ускоряет процесс восстановления пакетов. В крупных проектах, где восстановление ранее могло занимать десятки минут, теперь это время сокращается в разы благодаря переработанному решателю зависимостей. ❓ Новый алгоритм оптимизирует построение графа зависимостей и устраняет необходимость в множественных проходах для разрешения конфликтов. В результате, даже в больших репозиториях восстановление пакетов стало более эффективным. Эти изменения особенно полезны для разработчиков, работающих с масштабными проектами, так как сокращают время ожидания и повышают продуктивность. Быстрее восстановление пакетов = больше времени для написания кода!

photo content

⚡️ Напоминаем: у нас можно (и нужно) купить рекламу → Более 60 телеграм-каналов по всем направлениям IT → Почти 1,2 миллиона аудитории → Собственное медиа и сайт с DAU 25 000 — можем усилить продвижение → Классные email-рассылки → И, конечно же, крутые контент-менеджеры, которые сделают нативную интеграцию/придумают виральный пост/реализуют любые контентные предпочтения Для заказа пишите сюда:

'❓ Что такое FileSystemWatcher и как подглядывать за файлами? FileSystemWatcher — это встроенный класс в .NET, который позволяет приложениям в реальном времени отслеживать изменения в файловой системе. С его помощью вы можете «слушать» события, такие как — создание файла или папки, изменение содержимого файла, удаление файла или папки, переименование файла или папки. 🛠️ Шаги для настройки FileSystemWatcher: Создайте объект FileSystemWatcher.
var watcher = new FileSystemWatcher(@"C:\MyFolder»);
Укажите, какие файлы отслеживать (например, только PDF):
watcher.Filter = «*.pdf»;
Укажите, отслеживать ли подкаталоги:
watcher.IncludeSubdirectories = true;
Подпишитесь на события, такие как изменение файла:
watcher.Changed += (sender, e) =>
{
Console.WriteLine($»Файл изменён: {e.FullPath}»);
};
Включите мониторинг:
watcher.EnableRaisingEvents = true;
Этот инструмент незаменим, если нужно отслеживать и обрабатывать изменения в реальном времени. Однако, несмотря на простоту использования, важно учитывать ограничения: ❗ FileSystemWatcher лучше работает с локальными дисками. Для сетевых хранилищ могут потребоваться дополнительные решения. ❗ В больших проектах, где изменения происходят массово, может возникнуть нагрузка, поэтому стоит тестировать производительность.

🤖 Пишете AI-приложения? Microsoft идут на помощь! Microsoft представила предварительную версию библиотеки Microsoft.Extensio
🤖 Пишете AI-приложения? Microsoft идут на помощь! Microsoft представила предварительную версию библиотеки Microsoft.Extensions.AI.Evaluation, которая поможет легко и эффективно оценивать качество ваших AI-приложений. 📊 Метрики оценки AI: релевантность, правдивость, полнота, когерентность и многое другое. 🚀 Бесшовная интеграция: легко встраивается в вашу текущую инфраструктуру .NET. 📁 Хранение и отчётность: инструменты для кэширования, сохранения результатов и генерации отчётов. 🔧 Расширяемость: возможность добавлять свои метрики и настройки под конкретные задачи. Теперь вы сможете точно измерить, насколько ваши приложения соответствуют ожиданиям пользователей и бизнес-требованиям. 📎 Подробнее читайте в официальном блоге

💡 DBSCAN на C#: объединяем данные и ищем аномалии DBSCAN (Density-Based Spatial Clustering of Applications with Noise) — это
💡 DBSCAN на C#: объединяем данные и ищем аномалии DBSCAN (Density-Based Spatial Clustering of Applications with Noise) — это алгоритм кластеризации, который группирует данные, основываясь на плотности точек, и автоматически выделяет выбросы. Идеально подходит для работы с нерегулярными или шумными данными. 🚀 Что вы узнаете прочитав статью? ⚙️Параметры DBSCAN: epsilon и minPoints ⚙️Реализация на C#: от загрузки данных до анализа с использованием встроенных библиотек и коллекций. ⚙️Примеры, как находить плотные кластеры и выделять аномалии. DBSCAN особенно полезен там, где другие алгоритмы, например K-Means, плохо работают из-за выбросов или сложной структуры данных. Практичный разбор для разработчиков, которые хотят не просто анализировать данные, но и применять эти знания в коде на C#. 🔗 Читать статью