Привет! Таки да, скоро выходит net core 3.0 и там будет шаблон проекта с Blazor как один из дефолтных. Название у фреймворка, по-моему, похоже на название какого-нибудь покемона. Блазор вступает в бой! Решил я значит глянуть что за зверь такой и с чем его едят поэтому сделал на нем Todo лист. Ну и на Vue.js тоже, для сравнения с сабжем потому что по моему они похожи система компонентов в обоих и реактивность и вот это все. Больше тудушек богу тудушек! По факту это Гайд для юных, не окрепших умов которым лень TypeScript или JavaScript учить а кнопочки и инпуты на сайте сделать хочется. Как в том меме -«Технарь хотел написать книгу но получилась инструкция». Кому интересны мои похождения в фронт энде или узнать что за Blazor такой добро пожаловать под кат.Читать полностью »
Рубрика «ASP» - 3
Blazor + MVVM = Silverlight наносит ответный удар, потому что древнее зло непобедимо
2019-08-11 в 22:36, admin, рубрики: .net, ASP, ASP.NET, asp.net core, Blazor, C#, css, html, Программирование, Разработка веб-сайтовШифрование конфигурационных файлов
2019-08-03 в 14:37, admin, рубрики: .net, ASP, C#, config, encryption, Разработка веб-сайтовПредыстория
Мне поступила задача по настройке CI. Было принято решение использовать трансформацию конфигурационных файлов и конфиденциальные данные хранить в зашифрованном виде.
Изучив документацию по шифрованию, вот что было сделано.
Key Container
В каждой ОС Windows есть наборы сгенерированных ключей. Ключ генерируется либо на учетную запись, либо на машину. Ключи сгенерированные на машину можно посмотреть по этому пути C:ProgramDataMicrosoftCryptoRSAMachineKeys. Сюда и отправиться ключ который мы создадим далее.
Читать полностью »
Чистая архитектура решения, тесты без моков и как я к этому пришел
2019-07-09 в 16:50, admin, рубрики: .net, api, ASP, asp.net core, C#, архитектура приложений, веб-приложения, Совершенный код, хороший кодЗдравствуйте, дорогие читатели! В этой статье я хочу рассказать об архитектуре своего проекта, который я рефакторил 4 раза на его старте, так как не был удовлетворен результатом. Расскажу о минусах популярных подходов и покажу свой.
Расцвет и упадок Visual Basic
2019-06-19 в 12:31, admin, рубрики: .net, ASP, C#, microsoft, qbasic, vb.net, visual basic, visual basic 6, windows, ПрограммированиеМне нужно сделать признание. До того, как я стал респектабельным разработчиком, работающим с такими современными языками, как C# и Java (и тем бурлящим хаосом, который известен нам под именем JavaScript), я был увлечённым фанатом невероятно популярного и неуклюжего Visual Basic.
Моя влюблённость была искренней. Ещё в детстве я учился программировать на языке BASIC. Но не просто на BASIC. Я начинал с потрясающей среды Microsoft под названием QuickBASIC на древней операционной системе DOS. Я всё ещё помню, как набирал белый текст на её бодром голубом фоне.
Для программирования в 1988 году QuickBASIC был волшебной штукой. Можно было писать код без громоздких номеров строк, отлавливать синтаксические ошибки в процессе набора и запускать программы прямиком из среды разработки без необходимости возни с командной строкой. Закончив программу, можно было делиться ею со своими друзьями при помощи вот этих ребят:
В наши дни QuickBASIC остался лишь ещё одной диковинкой из далёкого прошлого. Хотя так ли это? Новаторский проект под названием QB64 создал современную реплику QuickBASIC. Он запускается на Windows, MacOS и Linux, и не требует эмулятора. При запуске программы в QB64 среда выполняет хитрый трюк — сначала она транслирует код на BASIC в C++, а затем компилирует его.
Классический VB и эра Visual
QuickBASIC был впечатляющей средой для далёких дней текстовых компьютерных систем. Но всё изменилось, когда Microsoft выпустила Windows и погрузила пользователей PC в графический мир кнопок и кликов. Одновременно с выпуском компанией Microsoft Windows 3.0 (первой версии, которая добилась истинного успеха), был выпущен Visual Basic 1.0.
Читать полностью »
Как работает конфигурация в .NET Core
2019-05-25 в 10:22, admin, рубрики: .net, ASP, ASP.NET, C#, configuration, netcoreДавайте отложим разговоры о DDD и рефлексии на время. Предлагаю поговорить о простом, об организации настроек приложения.
После того как мы с коллегами решили перейти на .NET Core, возник вопрос, как организовать файлы конфигурации, как выполнять трансформации и пр. в новой среде. Во многих примерах встречается следующий код, и многие его успешно используют.
public IConfiguration Configuration { get; set; }
public IHostingEnvironment Environment { get; set; }
public Startup(IConfiguration configuration, IHostingEnvironment environment)
{
Environment = environment;
Configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddJsonFile($"appsettings.{Environment.EnvironmentName}.json")
.Build();
}
Но давайте разберемся, как работает конфигурация, и в каких случаях использовать данный подход, а в каких довериться разработчикам .NET Core. Прошу под кат.
.NET: Инструменты для работы с многопоточностью и асинхронностью. Часть 1
2019-05-23 в 8:22, admin, рубрики: .net, ASP, async/await, asynchronous, C#, multithreading, parallelism, tpl, асинхронность, многопоточность, системное администрированиеПубликую на Хабр оригинал статьи, перевод которой размещен в корпоративном блоге.
Необходимость делать что-то асинхронно, не дожидаясь результат здесь и сейчас, или разделять большую работу между несколькими выполняющими ее единицами была и до появления компьютеров. С их появлением такая необходимость стала очень ощутимой. Сейчас, в 2019, набирая эту статью на ноутбуке с 8 ядерным процессором Intel Core, на котором параллельно этому работает не одна сотня процессов, а потоков и того больше. Рядом, лежит уже немного потрепанный, купленный пару лет назад телефон, у него на борту 8 ядерный процессор. На тематических ресурсах полно статей и видео, где их авторы восхищаются флагманскими смартфонами этого года куда ставят 16ти-ядерные процессоры. MS Azure предоставляет менее чем за 20$/час виртуальную машину со 128 ядерным процессором и 2 TB RAM. К сожалению невозможно извлечь максимум и обуздать эту мощь не умея управлять взаимодействием потоков.
Читать полностью »
Оптимизация сборки мусора в высоконагруженном .NET сервисе
2019-05-17 в 19:07, admin, рубрики: .net, ASP, C#, высокая производительность, ПрограммированиеЕжедневно в сервисе Pyrus работают десятки тысяч сотрудников из нескольких тысяч организаций по всему миру. Отзывчивость сервиса (скорость обработки запросов) мы считаем важным конкурентным преимуществом, так как она напрямую влияет на впечатление пользователей. Ключевой метрикой для нас является «процент медленных запросов». Изучая ее поведение, мы заметили, что раз в минуту на серверах приложений возникают паузы длиной около 1000 мс. В эти промежутки сервер не отвечает и возникает очередь из нескольких десятков запросов. О поиске причин и устранении узких мест, вызванных сборкой мусора в приложении, пойдет речь в этой статье.
.Net Community Райффайзенбанка приглашает на митап
2019-05-14 в 13:03, admin, рубрики: .net, ASP, ASP.NET, C#, DDD, omsdotnet, raiffeisenIT, Блог компании Райффайзенбанк, микросервисы.NET Community Райффайзенбанка приглашает на Meetup, который состоится в московском офисе в Нагатино 23 мая.
Сообщество разработчиков Райффайзенбанка активно проводит митапы, готовит вокркшопы, и делает еще много всего, для того, чтобы сотрудники могли делиться опытом и знаниями друг с другом. В программе события два доклада. Поговорим про DDD в микросервисах и узнаем как коллеги из Ozon реализовали сбор метрик в приложениях ASP.NET Core
Глобальное кеширование результатов Query в ASP.NET CORE
2019-04-27 в 5:11, admin, рубрики: .net, ASP, asp.net core, C#, di, ioc, Mediator, декораторы, кеширование, контейнер CQRS, Программирование, Проектирование и рефакторингПарадигма CQRS в том или ином виде предполагает, что вызовы Query не будут менять состояние приложения. То есть многократные вызовы одной и той же query, в рамках одного запроса, будут иметь один и тот же результат.
Пусть все интерфейсы, использующиеся в рамках запроса будут иметь тип IQuery или IAsyncQuery:
public interface IQuery<TIn, TOut>
{
TOut Query(TIn input);
}
public interface IAsyncQuery<TIn, TOut>: IQuery<TIn, Task<TOut>
{
}
Вышел Blazor 0.9.0
2019-03-12 в 11:47, admin, рубрики: .net, 0.9.0, ASP, Blazor, microsoft, Блог компании Microsoft, ПрограммированиеBlazor 0.9.0 уже доступен! Этот релиз добавляет в Blazor улучшения компонентов Razor в .NET Core 3.0 Preview 3.
Новые улучшения Razor Component теперь доступны для приложений Blazor:
- Улучшена обработка событий
- Формы и валидация
Будем рады увидеть ваши отзывы!Читать полностью »