Как стать автором
Обновить
64.57
Рейтинг

.NET *

Хаб со знаниями про .NET

Сначала показывать
Порог рейтинга

Две главные ошибки при использовании MediatR

Программирование *.NET *C# *ООП *

MediatR является, безусловно, очень успешным и популярным open-source проектом, который глубоко проник в недры коммерческой разработки. Однако, сколь популярен инструмент столь много способов его применения рождается среди сообщества. В этой статье я покажу два самых главных способа использовать этот инструмент неправильно вместе со способами решения проблемы

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 813
Комментарии 2

Новости

Приглашаем на C# Meetup: обсудим дилемму кота Матроскина

Блог компании Ozon Tech .NET *C# *Конференции

Меня зовут Дима Орлов, я руковожу группой разработки «Путь закупки» и пишу на C# больше 10 лет. Приглашаем на митап, посвященный C# — одному из основных языков, используемых в Ozon. У нас сотни микросервисов на C#, обеспечивающих работу сайта, склада, систем логистики и платформы собственных продаж. Работают над этим более 500 С#-разработчиков, готовых погружаться в business-critical проекты.

Поговорим о наших проектах подробнее:

— О наборе микросервисов «Потребность». Каждый день по набору товаров (±300к) он считает, сколько, на какой склад и у кого закупить товары. По технической части сконцентрируемся на Kafka, компонентном подходе, сериализации правил.

— О том, как мы с помощью SourceGenerator избавились от конфликтов версий пакетов при распространении клиентов для веб-сервисов и начали экономить время и силы на написании однотипного кода.

Подробнее под катом
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 463
Комментарии 0

Discriminated Unions в C#

.NET *C# *Функциональное программирование *F# *

Всем привет. Среди многих интересных концепций, имеющихся в F#, меня привлекли Discriminated Unions. Я задался вопросом, как их реализовать в C#, ведь в нем отсутствует поддержка (синтаксическая) типов объединений, и я решил найти способ их имитации.

Discriminated Unions - тип данных, представляющий собой размеченные объединения, каждый из которых может состоять из собственных типов данных (также именованных).

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

Для создания своих Discriminated Unions будем использовать эту мысль

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 1.2K
Комментарии 6

Мне бы только инструменты… Или как мы реализовали сервис обработки логов печати

Блог компании Инфосистемы Джет .NET *C# *

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

Сначала это выглядело как разовая задача: есть excel-файл со списком «табельный номер — имя пользователя», необходимо собрать логи и предоставить суммарную статистику по печати за месяц с разбивкой по городам. Однако, когда приступили к реализации, поняли, что все не так-то просто, как казалось и начали думать над отдельным сервером и сайтом. Взяли .NET 6, Blazor, немного PowerShell, WMI и sqlite. Что же получилось из этого «винегрета»? Читайте ниже.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 915
Комментарии 0

Таксофон — это единственный выход из «Матрицы»

Блог компании Timeweb Cloud .NET *Стандарты связи *Старое железо Звук
Эта история началась 7 марта 1876 года, когда А. Белл получил самый дорогой патент в истории.



Вот так началась история «Матрицы». К «Матрице» вернёмся чуть позже, а сейчас про таксофон, когда он появился? Патент на первый телефон-автомат зарегистрирован 13 августа, в 1899 году американцем Уильям Грей.

Читать дальше →
Всего голосов 50: ↑46 и ↓4 +42
Просмотры 12K
Комментарии 65

Доступ к API Binance, KuCoin и Huobi на C#

JavaScript *.NET *API *C# *GitHub *
Из песочницы


Получать данные через RestAPI биржи напрямую из клиентского кода удобно, но по любому существуют ситуации, когда все таки лучше или даже, бывает необходимо предварительно обрабатывать данные на своем сервере, сохранять в своей базе данных и уже после этого предоставлять доступ к этим обработанным данным клиентскому приложению через, опять же, свой web сервис, через свой Rest full API.

Рассмотрим одну из таких ситуаций, когда получать данные на клиента напрямую с биржи не удобно, в нашем случае это получение списка торговых пар биржи отсортированных по таким показателям как например, ликвидность и волатильность. Вот в примере ниже, мы из клиентского кода на JavaScript обращаемся за списком продуктов биржи к своему Rest full API Web Service по ссылке

https://cryptoalert.mizerov.com/api/Products/” + ex

где ex – код биржи.

Читать далее
Всего голосов 15: ↑9 и ↓6 +3
Просмотры 3.5K
Комментарии 5

SophiApp, или Как мы делали опенсорс программу для настройки Windows 10 & 11

.NET *C# *Читальный зал Разработка под Windows *Дизайн

Я от лица команды хочу показать вам SophiApp — графический наследник Sophia Script for Windows: бесплатная, портативная и полностью опенсорная программа для тонкой настройки Windows 10 и Windows 11.

В этой статье я расскажу, как оброненная мной фраза в комментарии 3 года назад под моей статьей из цикла про тонкую настройку Windows развернула мою жизнь на 180°, а чуть позже — и еще одного человека.

Все это время у меня была идея сделать графическую версию моего модуля на PowerShell, чтобы показать пользователям, каким должен быть современный твикер для Windows, какие функции может в себе нести, а главное — посыл программы: настроить (а не оптимизировать) ОС официальным образом, задокументированным Microsoft, ничего не сломав и не обещая мнимое увеличение производительности, чем грешат аналогичные программы, целенаправленно вводя пользователей в заблуждение.

Читать далее
Всего голосов 53: ↑53 и ↓0 +53
Просмотры 7.5K
Комментарии 88

Мечтают ли разработчики о декларативных тестах

.NET *C# *
Tutorial
image
Завершение работы над прошлой публикацией (читать которую для понимания этой совсем не обязательно) принесло мне не мир, но меч мечту о мире. Мире, в котором можно писать более выразительные строго типизированные тесты и вместо

[TestCase(typeof(Impl), "command")]
public void Test(Type impl, string cmd) =>
    ((I)Activator.CreateInstance(impl)).Do(cmd);

использовать

[TestCase<Impl>("command")]
public void Test<TImpl>(string cmd) where TImpl : I, new() =>
    new TImpl().Do(cmd);

И он оказался ближе, чем я мог подумать. А дальше пошло-поехало…
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.9K
Комментарии 0

Программа 3DL — справочник 3D печатника (версия: 1.05)

.NET *C# *Софт 3D-принтеры

Программа 3DL - справочник 3D печатника (версия: 1.05) - предназначена для ведения справочника, сравнения и использования параметров печати 3D нитей (филаментов) различных производителей и полезна для людей использующих/тестирующих большое количество филаментов.

Поинтересоваться
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 1.4K
Комментарии 12

Способы сохранения промежуточных состояний системы при автоматизированном тестировании

Блог компании Bimeister .NET *C# *Тестирование веб-сервисов *

Ваше ПО проходит путь от MVP до Enterprise платформы? Атомарных тест-кейсов (ТК) оказывается слишком много, их поддержка становится дорогой с точки зрения времени и ресурсов? Возможное решение  — объединять несколько близких ТК в один и автоматизировать результат. В свою очередь, автоматизация обобщенного ТК невозможна без сохранения промежуточных состояний.

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 914
Комментарии 0

Любительская почта — чебурнет судного дня

Децентрализованные сети *Python *Анализ и проектирование систем *.NET *

Всем привет!

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

Читать далее
Всего голосов 38: ↑37 и ↓1 +36
Просмотры 9K
Комментарии 38

Unity: Что представляет из себя Coroutine и зачем там IEnumerator

.NET *Разработка игр *C# *Unity *

Название статьи - это вопрос, который мне задали на собеседовании на позицию Middle. В этой статье мы расмотри корутины в Unity, что они из себя представляют, и заодно захватим тему Enumerator\Enumerable в С# и небольшую тайну foreach. Статья должна быть очень полезной для начинающих и интересной для разработчиков с опытом.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2.8K
Комментарии 5

PowerShell: HTML Agility Pack и AngleSharp

Программирование *.NET *PowerShell *Оболочки *Разработка под Windows *
Tutorial

Как получить и использовать библиотеки «HTML Agility Pack» и «AngleSharp» для создания простого парсера HTML в скрипте для программ-оболочек «Windows PowerShell» версии 5.1 и «PowerShell» версии 7 в операционной системе «Windows 10». Приведен простой пример кода для обеих библиотек.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Просмотры 1.2K
Комментарии 6

Xamarin.Forms: Кастомные пины для xamarin.maps

.NET *Разработка мобильных приложений *C# *Xamarin *
Tutorial

В этой статья мы рассмотри пример реализации кастомных пинов для карты xamarin. Пины будут обладать тем видом, который вам нужен. Так же мы рассмотрим часть кода xamarin.maps, отвечающий за создание, отрисовку и отображение пинов.

Читать далее
Рейтинг 0
Просмотры 708
Комментарии 0

Как приготовить Зебру (Мой опыт в ZPL)

.NET *Microsoft SQL Server *
Из песочницы
Tutorial

Всем привет.

На текущем месте работы, в один момент, мне пришлось экстренно разобраться с печатью этикеток на принтеры Zebra. Так как информации в сети(особенно на русском) оказалось не так много, я как добросовестный программист обратился к документации. В этой статье хотелось бы сделать выжимку, для таких же счастливчиков как я, о том, что такое язык ZPL, как с ним работать и с чем я столкнулся в процессе своих познаний.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.7K
Комментарии 13

Unity: Небольшой скрипт = все ориентации экрана

.NET *Разработка мобильных приложений *Разработка игр *C# *Unity *
Из песочницы

Хватит блокировать вертикальную или горизонтальную ориентацию экрана в своих проектах на Unity! В этой статье мы рассмотрим небольшой скрипт, который я использовал в своем проекте.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 2K
Комментарии 6

Анализ потока данных PVS-Studio распутывает всё больше связанных переменных

Блог компании PVS-Studio .NET *C# *

Это вторая статья про связанные переменные и их поддержку в PVS-Studio. В этот раз мы расскажем об улучшении созданного механизма, разберём примеры из реальных проектов и увидим, какие проблемы пользователей анализатора это решает.

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 989
Комментарии 7

.Net Microservices The Hardcore Way: туториал от инженеров Microsoft, получаем PROD опыт

Системное администрирование *Анализ и проектирование систем *.NET *Microsoft Azure *DevOps *

Для тех кто хочет погрузиться в проектирование .Net микросервисов, Kubernetes, Azure и Azure DevOps процессы. 

Читать далее
Всего голосов 18: ↑16 и ↓2 +14
Просмотры 5.3K
Комментарии 7

PowerShell: парсер HTML, устаревшие методы

Программирование *.NET *PowerShell *Оболочки *Разработка под Windows *
Из песочницы

Обзор двух устаревших методов преобразования кода на языке HTML в объект (HTML-парсер) на скриптовом языке PowerShell в операционной системе Windows 10.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 2.6K
Комментарии 5

Зачем разработчикам Discord.NET нужен статический анализатор?

Блог компании PVS-Studio .NET *C# *

Discord.NET – библиотека, написанная на C#, которая используется для взаимодействия с Discord API. Сможет ли PVS-Studio помочь её разработчикам? Узнаете в статье!

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.3K
Комментарии 2

Вклад авторов

Работа

.NET разработчик
77 вакансий