Разработчик
Entity Framework c Code-First миграциями для .Net Maui
Если вы, как и я, уже являетесь большим поклонником Microsoft Entity Framework и хотели бы начать использовать его локально в своем мобильном приложении, с появлением .Net Maui на рынке, это стало возможным.
Небольшое замечание: для ускорения времени запуска мобильного приложения может быть лучше хранить данные, используемые во время загрузки, в локальном хранилище мобильного устройства в форме json. Но, когда дело дойдет до работы с большими локальными данными, использования фильтров, сортировки и т. д., EF определенно подойдет идеально.
Цель этой статьи — помочь избежать хлопот, связанных с поиском различных решений небольших проблем при реализации production-ready мобильной локальной базы данных и создании для нее миграций на компьютерах Windows и Mac. Исходный код примера приложения доступен по ссылке, указанной в конце. Как вы сможете увидеть, это будет типовой шаблон приложения Maui с добавленной логикой базы данных EF.
POS терминалы для HoReCa: об устройствах и ситуации на отечественном рынке в 2023 году
На барной стойке, кассе или у входа почти в каждом ресторане или кафе можно увидеть сенсорный POS терминал — моноблок, в котором оформляются заказы и фиксируются все рабочие процессы. Это самый популярный тип гаджетов в ресторанном бизнесе. Можно со стопроцентной уверенностью сказать, что если в заведении работают более 5 сотрудников в смену, то в нём наверняка используется сенсорный моноблок
Сегмент сенсорных POS‑терминалов для HoReCa — один из самых загадочных на ИТ‑рынке. По нему нет специальных исследований, очень мало обзоров устройств и совершенно непонятно, как он устроен. Чтобы в этом разобраться, информационная служба Хабра провела несколько бесед с импортёрами этих гаджетов на рынок, а также поговорила с Романом Фахриевым — менеджером по продукту системы автоматизации для ресторанов Absolut POS.
Передача данных между слоями приложения
Тестирование производительности различных способов передачи данных между моделями разных уровней слоёного прилолжения.
MSSQL: снова о дефрагментации и SHRINK
Начнем с хороших новостей. Какое то время назад я написал статью Дефрагментация таблиц в высоко нагруженных базах данных (MSSQL). За это время я еще больше отшлифовал скрипт на production, и отдел безопасности фирмы, где я сейчас работаю, разрешил выложить его в open source (репо на github). Приглашаю воспользоваться им и писать мне о багах и пожеланиях.
Ниже я приведу краткий update к статье - кое в чем я теперь с ней не согласен. Кроме того, опишу опыт SHRINK - почему его лучше никогда не делать, почему все-таки иногда нужно делать и как его готовить.
Собственный голосовой помощник off-line
Microphone вектор создан(а) storyset - ru.freepik.com
Никогда не был любителем голосового интерфейса, но пробовал дома и Amazon Echo, и Алису. Все-таки очень долго это и недостаточно надежно - произносить фразу и думать потом - правильно ли меня поняли и всё ли сделано, как я хотел.
Но после прочтения статьи и, главное, обсуждений после нее я пришел к выводу, что есть варианты, когда это правда удобно. Собственно, самым ярким мне показался пример с кухонным таймером - не хочется грязными руками что-то трогать - голосовой интерфейс тут идеален. А попробовав приложение и почитав код коллеги @janvarev я понял, что современные средства распознавания уже вышли на очень приличный уровень и легко подключаются в проекты с открытым кодом. Дальше стало интересно сделать что-то более удобное и более стабильно работающее (без обид, но проект "Ирина" у меня не весь заработал при вменяемых затратах времени и настроек там меньше, чем мне хотелось бы).
Обобщённое копирование связных графов объектов в C# и нюансы их сериализации
1С + MS SQL против Матрицы виртуализации
Виртуализация в облака стала модным трендом. Однако если вы захотите поместить нагруженную систему в облако - Вас ожидает много разочарований. В статье на реальном примере показано, что Вас ожидает под облаками. Пример приведен для связки MS SQL + 1C но такие же эффекты могут быть и в других приложениях.
Разработка графического кроссплатформенного приложения на C#. LXUI
Всем привет! Меня зовут Леонид, я являюсь разработчиком программного обеспечения на языках программирования С++, C# и Java. Имея достаточно неплохой опыт в создании пользовательских элементов управления еще со времен C++ Builder, было решено сделать свой кроссплатформенный GUI с блэкджеком и шарпом. О нем мы и поговорим сегодня :)
Как использовать свойство Exception.Data, чтобы логировать дополнительные сведения об исключениях
Привет! Я Антон Антонов, Full Stack Developer. Расскажу, что помогает мне исправлять ошибки в коде.
Как не надо индексировать
Развитие происходит по спирали: когда-то люди не умели правильно индексировать, потом (в основном) научились, потом пришли noSQL и все снова забыли знание древних. Что вы будете делать, когда последние из старых DBA отплывут в Валинор?
Снова и снова и сталкиваюсь с полным набором антипаттернов индексирования. Я их перечислю, но! Для каждого антипаттерна есть исключение, когда именно это и стоит делать. Поэтому кликбейтно сформулированное правило верно в 95% случаях, но если вы хотите копнуть глубже, то прочитайте про исключения.
И в конце полезные скрипты для MSSQL, Postgres и MySQL.
Версионирование API в ASP.Net Core
Поддерживая существующие уже какое-то время Web API проекты, мы нередко сталкиваемся с проблемой устаревания логики методов контроллеров и необходимостью ее изменения в соответствии с новыми требованиями. Но, как правило, на момент возникновения такой необходимости, уже существует определенное число сервисов, использующих текущую реализацию наших API, и не нуждающихся в ее модернизации. Более того, такие сервисы могут легко «сломаться» при изменении используемых ими API.
Для решения такого рода проблем в ASP.Net Core существует механизм версионирования API – когда контроллеры и их методы могут существовать одновременно в разных версиях. В таком случае, те сервисы, которым достаточно существующего состояния используемых ими API, могут продолжать использовать определенные версии этих API, а для сервисов, которые требуют модернизации логики контроллеров, мы можем создавать новые параллельные версии, и все эти версии могут работать в нашем проекте одновременно.
RabbitMQ в ASP.NET Core. Быстрый старт
RabbitMQ – это брокер сообщений, служба, отвечающая за обмен сообщениями между разными программными сервисами.
RabbitMQ держит сообщения в очереди (Queue), которая является именованным буфером, хранящим адресованные ему сообщения.
Программа, посылающая сообщения в очередь RabbitMQ, называется поставщиком (Producer).
Программа, принимающая сообщения, называется подписчиком (Consumer). Такие программы подписываются на события поступления сообщения в очередь, и всегда находятся в ожидании новых сообщений.
Множество поставщиков могут отправлять сообщения в очередь, и множество подписчиков могут считывать сообщения из очереди.
Исследуем .NET 6. Часть 6. Поддержка интеграционных тестов в WebApplicationFactory
В предыдущей статье я описал обходной путь, который был добавлен в .NET 6, чтобы инструменты EF Core, которые ранее полагались на существование определённых методов, таких как CreateHostBuilder
, продолжали работать с новыми минимальными API хостинга.
В этой статье я рассмотрю связанное изменение, обеспечивающее работу интеграционного тестирования с WebApplicationFactory
в .NET 6. WebApplicationFactory
использовала тот же класс HostFactoryResolver
, что и инструменты EF Core, но потребовалось ещё несколько изменений, которые я рассмотрю в этой статье.
Джентльменский набор для создания WPF-приложений
Данная статья представляет собой набор рецептов по созданию WPF приложений. Поэтому скорее всего она будет интересна начинающим разработчикам. В материале описаны основные моменты использования таких пакетов как ReactiveUI, Material Design in XAML Toolkit, LiveChart2. Примеры кода приведены из реального приложения.
Как мы автоматизируем доставку еды на Айко
Два года назад мы решили вырваться из рутины и автоматизировать нашу службу доставки еды в уездном городе N. Чтобы наш оркестр из колл-центра, производств, склада, офиса, телефонии, сайта, агрегаторов доставки, мобильного приложения, смартфонов курьеров, собственных интеграций заиграл crescendo.
Этим постом мы подводим двухлетние итоги внедрения системы автоматизации ресторанов – iiko («Айко», далее – система автоматизации ресторана, САР, иначе по правилам Хабра будет реклама). Это не будет хвалебный отзыв. Говорим, как есть, не скрывая проблем. При этом понимая, что для нас сегодня нет решения более продуманного и подходящего.
Не знаем, сколько подобных историй в нашей стране. Как минимум, в нашем областном центре спросить было не у кого, подобных масштабов внедрения нет.
Уверены, этот лонгрид точно поможет тем, кто только задумывается об автоматизации ресторана или службы доставки еды. Здесь и грабли, и оценки бюджетов времени/денег, и идеи на миллион, и правдивая история о том, как из рядового клиента вырасти до сертифицированного партнера.
Citrix Xen Center – Опыт работы с полностью бесплатной виртуализацией
Сразу опишу главный плюс такого решения – Это бесплатно! Любой может более менее полноценно администрировать рабочие места(Windows машины/сервера, linux сервера, любые ОС), работать с бекапами и эффективно использовать мощность железа.
Так уж вышло, что профессиональные решения типа VM Ware стоят очень приличных денег.
Введение
Данная статья преследует цель упростить жизнь таким же энтузиастам, которые по какой-то причине, не являясь большими devOps специалистами, уже развернули визор Xen Server и запустили на нем продакшен проекты.
Как правило, сталкиваясь с проблемами и сложностями на уже запущенной системе, с проектами в продакшене право на ошибку нет.
Здесь мы рассмотрим свой опыт работы, проблемы и их решения, приходящие в процессе эксплуатации Xen Server в полностью бесплатном режиме и без какой-либо подготовки, в формате «разберемся в процессе».
ТОП 5 самых недооцененных выпусков подкаста DotNet&More за 2021 год
Поздравляем наших любимых слушателей с Новым Годом! Это был очень интересный год для нас, DotNet разработчиков, полный приятных (например YARP) неожиданностей, новых возможностей и ... Blazor все еще не убил React.
В честь праздника, мы хотим Вам сделать небольшой подарок, ТОП 5 самых недооцененных выпусков за 2021 год.
Ошибки и подозрительные места в исходниках .NET 6
Релиз .NET 6 вышел достаточно громким – если вы пишете под эту платформу, то навряд ли могли пропустить такое событие. Мы тоже не смогли пройти мимо и решили проверить, что интересного удастся найти в исходном коде библиотек .NET.
Исследуем .NET 6. Часть 5. Поддержка EF Core в WebApplicationBuilder
До сих пор в этой серии я рассматривал новые минимальные API хостинга, созданные с использованием WebApplication
и WebApplicationBuilder
. Они обеспечивают более простую модель для создания веб-приложений, сохраняя при этом те же общие функциональные возможности, что и приложения .NET Core 3.x/5 на основе универсального хоста.
Однако c этим упрощением есть проблемы. Более сложный код запуска в ранних версиях, обычно разделённый между Program.cs
и Startup
, имел преимущества, так как он предоставлял хорошо известные точки расширения (hooks), которые инструменты могли использовать для перехвата процесса запуска приложения.
Классическим примером этого является инструментарий EF Core*EN. Если вы когда-либо использовали EF Core, возможно, вы знакомы с проблемами, возникающими при попытке изменить код запуска. А уж когда фреймворк меняет свой код запуска по умолчанию, понятно, что без проблем не обойтись!
Information
- Rating
- Does not participate
- Location
- Chernevo, Varna, Болгария
- Date of birth
- Registered
- Activity