Pull to refresh
27
0
Акбаров Дмитрий @Dinariys

Разработчик

Собственный голосовой помощник off-line

Reading time 12 min
Views 9.5K
C# *Smart House Voice user interfaces *
Sandbox

Microphone вектор создан(а) storyset - ru.freepik.com

Никогда не был любителем голосового интерфейса, но пробовал дома и Amazon Echo, и Алису. Все-таки очень долго это и недостаточно надежно - произносить фразу и думать потом - правильно ли меня поняли и всё ли сделано, как я хотел.
Но после прочтения статьи и, главное, обсуждений после нее я пришел к выводу, что есть варианты, когда это правда удобно. Собственно, самым ярким мне показался пример с кухонным таймером - не хочется грязными руками что-то трогать - голосовой интерфейс тут идеален. А попробовав приложение и почитав код коллеги @janvarev я понял, что современные средства распознавания уже вышли на очень приличный уровень и легко подключаются в проекты с открытым кодом. Дальше стало интересно сделать что-то более удобное и более стабильно работающее (без обид, но проект "Ирина" у меня не весь заработал при вменяемых затратах времени и настроек там меньше, чем мне хотелось бы).

Читать далее
Total votes 14: ↑14 and ↓0 +14
Comments 8

Обобщённое копирование связных графов объектов в C# и нюансы их сериализации

Reading time 7 min
Views 5.8K
Abnormal programming *Programming *.NET *C# *Industrial Programming *
Задачи по копированию отдельных объектов и связных графов часто встречаются в программировании. Методов их решения существует несколько в зависимости от исходных условий и требований. Цель статьи — рассмотреть ключевые разновидности решений, обозначить область применения, выделить преимущества и недостатки.

image
Читать дальше →
Total votes 14: ↑8 and ↓6 +2
Comments 0

1С + MS SQL против Матрицы виртуализации

Reading time 12 min
Views 6K
Virtualization *Microsoft SQL Server *1C *

Виртуализация в облака стала модным трендом. Однако если вы захотите поместить нагруженную систему в облако - Вас ожидает много разочарований. В статье на реальном примере показано, что Вас ожидает под облаками. Пример приведен для связки MS SQL + 1C но такие же эффекты могут быть и в других приложениях.

 

Читать далее
Total votes 10: ↑10 and ↓0 +10
Comments 16

Разработка графического кроссплатформенного приложения на C#. LXUI

Reading time 21 min
Views 20K
.NET *Desktop environments *C# *
Sandbox

Всем привет! Меня зовут Леонид, я являюсь разработчиком программного обеспечения на языках программирования С++, C# и Java. Имея достаточно неплохой опыт в создании пользовательских элементов управления еще со времен C++ Builder, было решено сделать свой кроссплатформенный GUI с блэкджеком и шарпом. О нем мы и поговорим сегодня :)

Читать далее
Total votes 35: ↑35 and ↓0 +35
Comments 31

Как использовать свойство Exception.Data, чтобы логировать дополнительные сведения об исключениях

Reading time 3 min
Views 3.4K
Programming *.NET *Debugging *C# *

Привет! Я Антон Антонов, Full Stack Developer. Расскажу, что помогает мне исправлять ошибки в коде.

Читать далее
Total votes 12: ↑12 and ↓0 +12
Comments 0

Как не надо индексировать

Reading time 5 min
Views 31K
MySQL *PostgreSQL *SQL *Microsoft SQL Server *

Развитие происходит по спирали: когда-то люди не умели правильно индексировать, потом (в основном) научились, потом пришли noSQL и все снова забыли знание древних. Что вы будете делать, когда последние из старых DBA отплывут в Валинор?

Снова и снова и сталкиваюсь с полным набором антипаттернов индексирования. Я их перечислю, но! Для каждого антипаттерна есть исключение, когда именно это и стоит делать. Поэтому кликбейтно сформулированное правило верно в 95% случаях, но если вы хотите копнуть глубже, то прочитайте про исключения.

И в конце полезные скрипты для MSSQL, Postgres и MySQL.

Читать далее
Total votes 44: ↑44 and ↓0 +44
Comments 25

Версионирование API в ASP.Net Core

Reading time 5 min
Views 11K
.NET *ASP *API *C# *
Tutorial

Поддерживая существующие уже какое-то время Web API проекты, мы нередко сталкиваемся с проблемой устаревания логики методов контроллеров и необходимостью ее изменения в соответствии с новыми требованиями. Но, как правило, на момент возникновения такой необходимости, уже существует определенное число сервисов, использующих текущую реализацию наших API, и не нуждающихся в ее модернизации. Более того, такие сервисы могут легко «сломаться» при изменении используемых ими API.

Для решения такого рода проблем в ASP.Net Core существует механизм версионирования API – когда контроллеры и их методы могут существовать одновременно в разных версиях. В таком случае, те сервисы, которым достаточно существующего состояния используемых ими API, могут продолжать использовать определенные версии этих API, а для сервисов, которые требуют модернизации логики контроллеров, мы можем создавать новые параллельные версии, и все эти версии могут работать в нашем проекте одновременно.

Читать далее
Total votes 10: ↑9 and ↓1 +8
Comments 12

RabbitMQ в ASP.NET Core. Быстрый старт

Reading time 7 min
Views 27K
.NET *ASP *C# *
Tutorial

RabbitMQ – это брокер сообщений, служба, отвечающая за обмен сообщениями между разными программными сервисами.

RabbitMQ держит сообщения в очереди (Queue), которая является именованным буфером, хранящим адресованные ему сообщения.

Программа, посылающая сообщения в очередь RabbitMQ, называется поставщиком (Producer).

Программа, принимающая сообщения, называется подписчиком (Consumer). Такие программы подписываются на события поступления сообщения в очередь, и всегда находятся в ожидании новых сообщений.

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

Читать далее
Total votes 13: ↑7 and ↓6 +1
Comments 20

Исследуем .NET 6. Часть 6. Поддержка интеграционных тестов в WebApplicationFactory

Reading time 11 min
Views 6K
.NET *ASP *C# *
Translation

В предыдущей статье я описал обходной путь, который был добавлен в .NET 6, чтобы инструменты EF Core, которые ранее полагались на существование определённых методов, таких как CreateHostBuilder, продолжали работать с новыми минимальными API хостинга.

В этой статье я рассмотрю связанное изменение, обеспечивающее работу интеграционного тестирования с WebApplicationFactory в .NET 6. WebApplicationFactory использовала тот же класс HostFactoryResolver, что и инструменты EF Core, но потребовалось ещё несколько изменений, которые я рассмотрю в этой статье.

Читать далее
Total votes 6: ↑6 and ↓0 +6
Comments 2

Джентльменский набор для создания WPF-приложений

Reading time 18 min
Views 27K
.NET *C# *Development for Windows *

Данная статья представляет собой набор рецептов по созданию WPF приложений. Поэтому скорее всего она будет интересна начинающим разработчикам. В материале описаны основные моменты использования таких пакетов как ReactiveUI, Material Design in XAML Toolkit, LiveChart2. Примеры кода приведены из реального приложения.

Далее
Total votes 15: ↑15 and ↓0 +15
Comments 30

Как мы автоматизируем доставку еды на Айко

Reading time 18 min
Views 21K
Start-up development Software
Автоматизация ресторанов

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

Этим постом мы подводим двухлетние итоги внедрения системы автоматизации ресторанов – iiko («Айко», далее – система автоматизации ресторана, САР, иначе по правилам Хабра будет реклама). Это не будет хвалебный отзыв. Говорим, как есть, не скрывая проблем. При этом понимая, что для нас сегодня нет решения более продуманного и подходящего.

Не знаем, сколько подобных историй в нашей стране. Как минимум, в нашем областном центре спросить было не у кого, подобных масштабов внедрения нет.

Уверены, этот лонгрид точно поможет тем, кто только задумывается об автоматизации ресторана или службы доставки еды. Здесь и грабли, и оценки бюджетов времени/денег, и идеи на миллион, и правдивая история о том, как из рядового клиента вырасти до сертифицированного партнера.
Читать дальше →
Total votes 10: ↑8 and ↓2 +6
Comments 13

Citrix Xen Center – Опыт работы с полностью бесплатной виртуализацией

Reading time 9 min
Views 23K
Virtualization *
Sandbox

Сразу опишу главный плюс такого решения – Это бесплатно! Любой может более менее полноценно администрировать рабочие места(Windows машины/сервера, linux сервера, любые ОС), работать с бекапами и эффективно использовать мощность железа.

Так уж вышло, что профессиональные решения типа VM Ware стоят очень приличных денег.

Введение

Данная статья преследует цель упростить жизнь таким же энтузиастам, которые по какой-то причине, не являясь большими devOps специалистами, уже развернули визор Xen Server и запустили на нем продакшен проекты.

Как правило, сталкиваясь с проблемами и сложностями на уже запущенной системе, с проектами в продакшене право на ошибку нет.

Здесь мы рассмотрим свой опыт работы, проблемы и их решения, приходящие в процессе эксплуатации Xen Server в полностью бесплатном режиме и без какой-либо подготовки, в формате «разберемся в процессе».

Читать далее
Total votes 18: ↑17 and ↓1 +16
Comments 43

ТОП 5 самых недооцененных выпусков подкаста DotNet&More за 2021 год

Reading time 2 min
Views 2.4K
C# *

Поздравляем наших любимых слушателей с Новым Годом! Это был очень интересный год для нас, DotNet разработчиков, полный приятных (например YARP) неожиданностей, новых возможностей и ... Blazor все еще не убил React.

В честь праздника, мы хотим Вам сделать небольшой подарок, ТОП 5 самых недооцененных выпусков за 2021 год.

Встречайте Hidden Gems 2021
Total votes 7: ↑5 and ↓2 +3
Comments 0

Ошибки и подозрительные места в исходниках .NET 6

Reading time 19 min
Views 13K
PVS-Studio corporate blog Open source *.NET *C# *

0903_NET6_ru/image1.png


Релиз .NET 6 вышел достаточно громким – если вы пишете под эту платформу, то навряд ли могли пропустить такое событие. Мы тоже не смогли пройти мимо и решили проверить, что интересного удастся найти в исходном коде библиотек .NET.

Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Comments 4

Исследуем .NET 6. Часть 5. Поддержка EF Core в WebApplicationBuilder

Reading time 10 min
Views 5.2K
.NET *C# *
Translation

До сих пор в этой серии я рассматривал новые минимальные API хостинга, созданные с использованием WebApplication и WebApplicationBuilder. Они обеспечивают более простую модель для создания веб-приложений, сохраняя при этом те же общие функциональные возможности, что и приложения .NET Core 3.x/5 на основе универсального хоста.

Однако c этим упрощением есть проблемы. Более сложный код запуска в ранних версиях, обычно разделённый между Program.cs и Startup, имел преимущества, так как он предоставлял хорошо известные точки расширения (hooks), которые инструменты могли использовать для перехвата процесса запуска приложения.

Классическим примером этого является инструментарий EF Core*EN. Если вы когда-либо использовали EF Core, возможно, вы знакомы с проблемами, возникающими при попытке изменить код запуска. А уж когда фреймворк меняет свой код запуска по умолчанию, понятно, что без проблем не обойтись!

Читать далее
Total votes 6: ↑6 and ↓0 +6
Comments 0

Исследуем .NET 6. Часть 3. Рассматриваем код WebApplicationBuilder

Reading time 15 min
Views 7.6K
.NET *C# *
Translation

Часть 1. ConfigurationManager
Часть 2. WebApplicationBuilder

В предыдущем посте я сравнивал новый WebApplication с универсальным хостом. В этом посте я рассмотрю код, лежащий в основе WebApplicationBuilder, чтобы увидеть, как он обеспечивает более чистый, минимальный API хостинга, при этом обеспечивая ту же функциональность, что и универсальный хост.

Читать далее
Total votes 5: ↑5 and ↓0 +5
Comments 5

Исключения среди исключений в .NET

Reading time 15 min
Views 21K
Arcadia corporate blog Programming *.NET *C# *

В свое время я случайно узнал, что исключения в моём горячо любимом языке C# — и, как следствие, во всем .NET — не все ведут себя одинаково. Причём, что ещё гораздо интереснее, далеко не все и не всегда могут быть обработаны и перехвачены. Что, казалось бы, полностью противоречит интуитивному восприятию конструкции try-catch-finally

Изучая этот вопрос, я находил всё новые и новые исключения среди исключений, которые оказывались «сильнее», чем конструкция try-catch-finally. К тому моменту, когда мой список вырос до 7 пунктов, я внезапно осознал, что нигде не было такого места, где можно было бы найти их все сразу. Максимум — 2 или 3 случая, рассмотренных в одной статье. 

Это и подтолкнуло меня к написанию данной статьи. 

Читать далее
Total votes 84: ↑83 and ↓1 +82
Comments 18

Распределенные сервисы с применением gRPC

Reading time 12 min
Views 13K
Издательский дом «Питер» corporate blog Python *Programming *.NET *Professional literature *
Translation

Часто бывает так, что эффективная коммуникация – один из основных движущих факторов в современных программных системах, даже в мире, живущем по законам микросервисной архитектуры. Технология gRPC может справляться с этими требованиями. В этой статье будут рассмотрены некоторые основы gRPC, а еще мы реализуем первое клиент-серверное приложение с применением .NET. Кроме того, клиент на основе Python демонстрирует, насколько эффективной может быть коммуникация между различными сервисами.

Читать далее
Total votes 9: ↑8 and ↓1 +7
Comments 5

EMM Всемогущий: как подчинить 170 тысяч корпоративных устройств?

Reading time 8 min
Views 5.3K
Магнит corporate blog Python *Development for Android *ReactJS *Development for Windows *

Всем привет! Меня зовут Илья Никулин, с марта 2021 года я руковожу командой по развитию EMM-системы «Магнита». Каждый, кто решает рабочие задачи с помощью мобильных устройств, знает, что для большой компании важно «не тормозить»: быстро доставлять точную информацию покупателям, сотрудникам, поставщикам. А еще все корпоративные устройства нужно постоянно обслуживать. Именно Enterprise Mobility Management-системы позволяют удаленно управлять мобильными устройствами, отслеживать их работу и получать безопасный доступ к корпоративным информационным ресурсам.

Запустить EMM-систему
Total votes 5: ↑5 and ↓0 +5
Comments 7

Что нового в Windows Forms в .NET 6.0

Reading time 5 min
Views 12K
Microsoft corporate blog .NET *Visual Studio *Development for Windows *Visual Basic for Applications *

Мы продолжаем поддерживать и внедрять инновации в среду выполнения Windows Forms. В этой статье обсудим, что мы сделали в рамках .NET 6.0. В том числе среди улучшений: улучшения и исправления специальных возможностей; начальная загрузка приложения; обновления шаблона; больше конструкторов среды выполнения; высокий DPI и улучшения масштабирования и другое.

Читать далее
Total votes 8: ↑8 and ↓0 +8
Comments 24

Information

Rating
Does not participate
Location
Chernevo, Varna, Болгария
Date of birth
Registered
Activity