devdigest // dot net
4.03K subscribers
168 photos
3 videos
5 files
2.64K links
Главные новости из мира .NET

Все про C#, F# и VB
Download Telegram
Forwarded from Developers Community
Некоторые аспекты оптимизации LINQ-запросов в C# .NET для MS SQL Server.

LINQ вошел в .NET как новый мощный язык манипуляции с данными. LINQ to SQL как часть его позволяет достаточно удобно общаться с СУБД с помощью например Entity Framework. Однако, достаточно часто применяя его, разработчики забывают смотреть на то, какой именно SQL-запрос будет генерировать queryable provider, в вашем случае — Entity Framework.

http://msft.it/6279Tz4pN
Forwarded from A.G.
Вернулся к проекту, которым начал заниматься ещё во время учебы в КПИ. Большую часть переписал с нуля, оставил пару базовых абстракций, почистил и причесал код и наконец-то выложил на гитхаб.

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

Базовые абстракциям:
— ISpectator
— IProbe
— IEvaluator

Экземпляр ISpectator производит наблюдение за системой. Генерирует события в момент изменения состояния системы для оповещения всех модулей, которые на эти состояния подписаны.

Экземпляры IProbe предоставляют по запросу экземпляра наблюдателя различные метрики системы, или конкретного модуля/сервиса.

Экземпляр IEvaluator вычисляет состояние системы по собранным метрикам.

Для каждого из интерфейсов существует базовая реализация, а также предусмотрены механизмы простого и удобного расширения.

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

Сам фреймворк доступен в виде nuget-пакета на сайте nuget.org

Чуть позже планирую написать на Хабре статью с примерами использования.

Keep in touch!

https://github.com/ernado-x/X.Spectator
“В этом мире царит средневековье, это совершенно очевидно. Все это титулование, пышные разглагольствования, золоченые ногти, невежество… Но уже теперь здесь есть люди, которые желают странного. Как это прекрасно — человек, который желает странного! И этого человека, конечно, боятся. Этому человеку тоже предстоит долгий путь.” (C)
Наверное цитата из Стругацких лучше всего характеризует сегодняшнюю публикацию, из которой вы узнаете, как делать вызовы к библиотеке написанной на C# из Rust

https://medium.com/@chyyran/calling-c-natively-from-rust-1f92c506289d?v=1
Forwarded from A.G.
В продолжение истории про X.Spectator – сегодня таки нашел время и добавил небольшой пример использования.

В качестве примера взял взаимодействие библиотеки и издательства 📚. Логика следующая: в библиотеке есть определенное колиечество книг. Время от времени посетители приходят в библиотеку и берут одну книгу. Также есть издательство, которое время от времени выпускает некоторое количество книг (от 0, до 10).
Чтобы библиотека могла нормально функицонировать в ней постоянно должно быть какое-то количество книг.

Собственно задача решается довольно просто: создается экземпляр IProbe, который проверяет количество книг в библиотеке и не вышло ли оно за граничные значения. Наблюдатель, через определенные промежутки времени опрашивает LibraryServiceProbe, и если видит 👀, что что-то пошло не так - меняет статус системы 🛑.

Основной же сервис (CityHostedService 🏙) в рамках которого функционирует весь пример, в случае, когда статус системы изеняется на Danger завозит новые книги в библиотеку.

Все предельно просто и (я надеюсь) позволяет понять, как использовать X.Spectator в своих проектах.

Пример можно посмотреть тут:

https://github.com/ernado-x/X.Spectator/tree/master/examples/Example.App
Ребят, тут такое дело, JetBrains приглашает на вебинаров про Fable. Fable это компилятор из F# в JavaScript. Очень рекомендуем всем послушать.

https://info.jetbrains.com/rider-webinar-august-2019.html
Forwarded from Developers Community
Скрипты для удаления старых .NET Core SDK.

.NET Core крутой. Его использование стремительно растет, он Open Source, и .NET Core 2.1 имеет некоторые важные улучшения производительности. Просто обновление с 2.0 до 2.1 дало Bing прирост производительности на 34%.

Тем не менее, те из нас, кто устанавливает несколько .NET Core SDK параллельно, заметили, что могут возникать проблемы. В .NET Core пока нет опции «удалить все» (ждите в 3.0). По ссылке ниже сценарий PowerShell, который можно запустить в Windows от имени администратора, и он будет агрессивно удалять .NET Core SDK.

http://msft.it/6276TMd2E
Несмотря на то, что на мобильном рынке властвуют iOS и Android, альтернативы все же существуют. Например, ОС Tizen, которую использует в некоторых своих устройства Samsung. Swift Kim, сотрудник Samsung, делится в своем блоге информацию о том, как разрабатывать приложения для Tizen на .NET Core

https://samsung.github.io/Tizen.NET/tizen%20.net/writing-tizen-net-applications-in-fsharp
How to Change Teams Background