Деплоймент нескольких ASP.Net Core-приложений на VPS сервере с Ubuntu и настройка доступа к ним по доменному имени 3-го уровня.
ASP *
Технология создания веб-приложений и веб-сервисов
Новости
GraphQL для C#. БД прилагается
Приветствую, Хабр! Относительно недавно я решил влиться в С# и его технологию для создания веб-приложений ASP.NET. До этого писал в основном на С++ и Python с Django. Ну а так как я по жизни практик, то и чтоб чему-то научиться, надо что-то сделать, пусть и корявенькое (хотя пару книжек, конечно, прочитал). Выбор пал на стандартное приложение магазина книг, а точнее его бэк составляющую, ибо с дизайном и любыми, даже базовыми, проявлениями фронтовой части я не дружу от слова совсем)
Вначале сделал приложение с базовыми контролерами REST API по учебнику и т.д. Но после захотелось попробовать уже другой вариант, и я решил использовать GraphQL...
WebMarkupMin: Обновления в ASP.NET Core-расширениях, вызванные выходом .NET 9 и не только
Уже стало традицией, что выход очередной версии .NET становится поводом для выпуска новой версии WebMarkupMin. Обычно подобные выпуски WebMarkupMin сопровождаются обновлением расширений для ASP.NET Core и этот раз не стал исключением. Многие ожидали, что с появлением .NET 9 появится новый модуль WebMarkupMin.AspNetCore9, но этого не произошло. В этой статье я расскажу о причинах такого решения. Кроме того, в этот раз в ASP.NET Core-расширениях довольно много изменений, а поскольку для большинства разработчиков основным источником информации об этих расширениях является уже немного устаревшая статья Эндрю Лока «HTML minification using WebMarkupMin in ASP.NET Core», то я постараюсь разъяснить некоторые неочевидные моменты.
Python vs C#, Django vs ASP: проблема выбора
Наверное я один из немногих, которые желают опубликовать материал не просто, чтобы было, или чтобы высказать свое «авторитетное» мнение по тем или иным вопросам, а чтобы получить обратную связь. И за эту самую связь в комментариях я был бы весьма признателен!
Истории
Валидация модели данных в ASP.NET Core 8.0 на основе HTMX
Валидация данных на стороне сервера с HTMX 2.0. Разбираемся с валидацией модели данных на основе платформы ASP.NET Core.
В статье мы освоим базовую реализацию валидации данных на стороне сервера. На стороне сервера мы используем самый простой способ коммуникации - HTTP.
Реализуем паттерн Unit of Work в ASP.NET Core
Привет, Хабр!
Сегодня разберём, как реализовать паттерн Unit of Work в ASP.NET Core. Вместо долгих теоретических рассуждений, посмотрим, зачем он вообще нужен, и как правильно его применить на практике.
Знакомство с гипермедийными системами на ASP.NET Core 8.0
Быстрый старт с HTMX 2.0. Знакомство с гипермедийными системами на основе современной серверной платформы ASP.NET Core.
Гипермедийные системы облегчают создание прежде всего низконагруженных веб-приложений.
Гипермедийные системы на ASP.NET MVC 5. Часть третья — окончание
Окончание статьи по быстрой разработке гипермедиа-ориентированного веб-приложения с HTMX 2.0.
Третья часть короткой обучающей статьи по разработке приложений, ориентированных на гипермедиа. В этой части вы можете завершить создавать свое первое гипермедиа-ориентированное приложение. В этой части будет добавлено несколько новых гипермедийных элементов на страницу игры и будут созданы страницы результатов игры.
В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.
Гипермедийные системы на ASP.NET MVC 5. Часть вторая — продолжение
Продолжение статьи по быстрой разработке гипермедиа-ориентированного веб-приложения с HTMX 2.0.
Вторая часть короткой обучающей статьи по разработке приложений, ориентированных на гипермедиа. В этой части вы можете продолжить создавать свое первое гипермедиа-ориентированное приложение. В этой части будет произведен рефакторинг, будут добавлены несколько новых гипермедийных элементов на страницу ожидания игры и будет создана страница игры.
В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.
Гипермедийные системы на ASP.NET MVC 5. Часть первая — начало
Начало статьи по быстрой разработке гипермедиа‑ориентированного веб‑приложения с HTMX 2.0.
Первая часть короткой обучающей статьи по разработке приложений, ориентированных на гипермедиа. В этой части вы можете познакомится с гипермедийными системами и начать создавать свое первое гипермедиа‑ориентированное приложение.
В статье будет использоваться библиотека Htmx.js вместе с устаревшей серверной платформой ASP.NET MVC 5.
Отчет об исследовании работы Blazor в режиме Interactive SSR под нагрузкой многопользовательской игры CodeGenerator
Когда я начинал карьеру лет 15 назад, иногда делал сайты на PHP, Perl, RoR, ASP… Но из-за слишком частой смены стандартов в Web, я выгорел и "ушел" целиком в Backend + Desktop-разработку, где всё плюс-минус стабильно годами, если не десятилетиями.
Однако, в условиях растущего запроса на кроссплатформенность, все чаще задумываюсь о возвращении к Web, и так как я больше всего использую .NET, решил разобраться детальнее с Blazor, а точнее, с Interactive Server-Side Rendering.
Довольно быстро освоил как оно работает, но остался незакрытый вопрос — а что там с производительностью? Что если много людей одновременно будут жать кнопочки в системе? Какая вообще нагрузка на сервера?
Не найдя подробные разборы в открытых источниках, я за недельку по вечерам сделал игрушку для Telegram App, и в пятницу 26 июля 2024 собрал людей со своего и дружественных сообществ на исследование нагрузки и возможных инцидентов. Собранную информацию с деталями раскрываю в этой статье.
.NET Aspire — империя дотнета наносит ответный удар
Когда я первый раз услышал про .NET Aspire, я подумал что это какая-то очередная лажа от Майкрософта, про которую все забудут через неделю.
Особенно, учитывая какую дичь часто завозят в шарп (например те же ужасно спроектированные Primary Constructor'ы про которые я писал, или вот прикол-пропозал от самого Тоуба). Так что ожидания у меня, честно говоря, были ниже нуля.
Но попробовав его лично, я был, честно говоря, шокирован. Трепещите, жависты!! Трепещите гошники! Трещепищите питонисты - такого вы еще точно не видели.
Я даже представить не мог, что DevEx можно сделать настолько офигительным.
Хостинг приложения Asp.Net Core Blazor c БД PostgreSQL на сервер через git push
В этой статье мы рассмотрим, как развернуть на сервере Asp.Net приложение. Подключим его к PostgreSQL и сделаем так, чтобы доставка обновлений осуществлялась через простое обновление кода в Git-репозитории.
Ближайшие события
Как быстро и качественно импортозаместить UI
Всем привет.
Хочу рассказать о своем опыте импортозамещения UI.
Не предлагаю ничего нового, известный подход, приложенный к конкретной задаче.
Кратко задачу можно описать так:
Есть: Исходный проект с множеством таблиц и форм.
Задача: Нужно в целевом проекте создать аналогичные таблицы и формы по другой технологии. По сути много однотипных классов и файлов, отличающихся заранее известными частями.
Решение:
1. Автоматически собрать необходимую информацию из исходного проекта в файл.
2. Дополнить этот файл в той части которую не получилось собрать автоматически.
3. Создавать нужные файлы по шаблону заменяя подстановочные символы в шаблоне значениями из файла. Полученные файлы могут быть если необходимо доработаны.
Первое что приходит на ум при решении такой задачи — это использовать встроенный в VisualStudio кодогенератор, он реализует похожую задачу. Я изначально рассматривал использование его. Но передумал. Получается много сложнее. Кроме того, генератор в студии предполагается использовать постоянно, мой генератор нужен одноразово что бы создать заготовку кода. Хотя я не исключаю, что буду применять его и далее.
Очевидные для меня плюсы такого подхода:
1) На порядок быстрее.
2) Код максимально однообразен.
3) Код можно легко покрыть автоматически созданными тестами.
4) В случае внесения в шаблон изменений, а это обязательно случится и не раз, можно быстро пересоздать код.(если шаблон доработан, то используя систему контроля версий можно быстро поправить как надо)
Фильтры действий в ASP.NET Core
ASP.NET Core — это мощный и универсальный фреймворк для создания веб-приложений. Он предоставляет широкий набор возможностей для создания надежных и масштабируемых приложений, и одной из ключевых фич, расширяющих его функциональность, являются фильтры действий (Action Filters). Фильтры действий позволяют выполнять код до или после выполнения метода контроллера (или метода действия), что дает возможность добавить в приложение сквозной функционал.
В этой статье мы рассмотрим фильтры действий в ASP.NET Core, разберемся в их типах и научимся создавать пользовательские фильтры для расширения функциональности нашего веб-приложения.
В каких аспектах улучшилась производительность в ASP NET Core 8
ASP.NET Core 8 и .NET 8 обогатились многочисленными потрясающими нововведениями, благодаря которым повышается производительность. В этом посте мы подчеркнём некоторые улучшения, сделанные в ASP.NET Core, и покажем, как с их помощью можно нарастить скорость и эффективность работы веб-приложения. Этот пост можно считать продолжением Performance improvements in ASP.NET Core 7, выходившего в прошлом году. Естественно, при его подготовке я также вдохновлялся постом Performance Improvements in .NET 8. Многие из перечисленных улучшений также прямо или косвенно способствуют повышению производительности ASP.NET Core.
Обзор библиотек для Hangfire
Hangfire — распределенный и расширяемый планировщик задач для приложений на.NET.
В этой статье я сделал небольшой обзор библиотек позволяющих расширить его возможности. Если вы не знаете что такое Hangfire, советую прочитать эту статью или заглянуть на официальный сайт.
Инструменты создания API клиента для .NET
При начале разработки нового проекта у моей команды всегда появлялся вопрос, какую библиотеку выбрать для межсервисного взаимодействия? А какую использовать для походов в сторонние сервисы? В этой статье я постарался вкратце осветить различные обёртки над HttpClient.
Работа с Sass в приложении ASP.NET Core
Sass (Syntactically Awesome Style Sheets) — это скриптовый язык, используемый для создания каскадных таблиц стилей (CSS-файлов). Его синтаксис очень похож на обычный CSS, но вдобавок он поддерживает использование переменных, вложенность, миксины и наследование для селекторов, чего очень не хватает в базовом CSS, ведь эти фичи незаменимы в организации и поддержке стилей вашего веб-приложения. В этой статье я продемонстрирую вам шаги, необходимые для добавления и настройки Sass в вашем ASP.NET Core проекте как в Visual Studio, так и в VS Code.
Sass — это инструмент для повышения производительности, который помогает вам выстраивать и поддерживать таблицы стилей. Среди основных его преимуществ можно выделить следующее:
Fancy Widgets — виджеты рабочего стола на AvaloniaUI
Привет, Хабр!
Около трёх месяцев назад, я и мой друг - начинающие .NET разработчики, решили разработать свои виджеты на рабочий стол Windows, так как официальных нормальных виджетов нет (те что в Windows 11 не считаются). Недавно мы выпустили наш проект в релиз, пока что есть 2 виджета (Погода и Заметки), но вскоре их может быть больше! Проект называется Fancy Widgets и мы хотим поделиться им с вами. Вы можете попробовать наши виджеты, скачав их с нашего сайта https://fancy-widgets.onrender.com. Это наш pet-проект и поэтому он ни на что не претендует, мы просто делали его для себя и для удовольствия. Но мы будем рады услышать ваше мнение и предложения по улучшению нашего продукта. Вы можете оставить свои комментарии под этой статьей или написать нам на нашу почту fancy.widgets.help@gmail.com. Цель этой статьи - вкратце рассказать о нашем проекте и о сложностях, которые возникли у нас при разработке. Мы надеемся, что вы найдете нашу статью интересной и полезной. Приятного чтения! ?