Size: a a a

2021 May 12

SZ

Slava Zolotov in .NET Talks🎄
овощной салат из свежих овощей - эт шоб вместо одного овоща что-то сразу несколько штук захавать. Суп - шоб тёпленького чего похлебать, говорят полезно. А вот зачем мясо в колбасу переводить - загадка, можно же кусок мяса просто приправами обсыпать и всё
источник

P

Phantom in .NET Talks🎄
Дворянский титул, Дракула
источник

АБ

Алексей Бровко... in .NET Talks🎄
Ну а колбасу делают что бы есть вкусно. Что бы смешать разные виды мяса. Специи. Смешать с другими продуктами. Т.е. как с салатом. Разницы в общем-то не вижу
источник

AS

Andrew Shurunov in .NET Talks🎄
Мне кажетя люди просто покупают всякую дешевую магазинную колбасу, от этого у них и плохое мнение
источник

АБ

Алексей Бровко... in .NET Talks🎄
По докторской судят)
источник

SZ

Slava Zolotov in .NET Talks🎄
да в принципе любая колбаса хуже чем стейк средней паршивости
источник

AS

Andrew Shurunov in .NET Talks🎄
Ну это как сказать "любой бульон хуже борща"
источник

АБ

Алексей Бровко... in .NET Talks🎄
Даже немного обидно за тысячи лет эволюции кулинарии
источник

В

Влад in .NET Talks🎄
колбаса или "мясовместимый продукт" ?
источник

SZ

Slava Zolotov in .NET Talks🎄
колбаса
источник

В

Влад in .NET Talks🎄
настоящая колбаса, как по мне, очень хороший продукт. только дорогой. если речь о колбасе, в составе которой неизвестные переработанные части животного (в лучшем случае), тогда конечно
источник

В

Влад in .NET Talks🎄
я когда то сам бастурму делал. плюнул. лучше купить
источник

В

Влад in .NET Talks🎄
но то что сделал, все равно съел)
источник

АБ

Алексей Бровко... in .NET Talks🎄
Вообще стейки переоценены. Ящитаю
Обжечь с двух сторон кусок мяса и назвать это едой - немного странно
источник

АБ

Алексей Бровко... in .NET Talks🎄
В принципе моя собака так питается и не жалуется
источник

В

Влад in .NET Talks🎄
согласен. точно так же, как называют шашлыком любое мясо на костре. мясо на костре - это  мясо на костре
источник

SZ

Slava Zolotov in .NET Talks🎄
а ты думаешь колбаса она только из одного вида мяса?
источник

В

Влад in .NET Talks🎄
я не про это. Сравнивать стейк и колбасу (мясную настоящую) нет смысла. Это как сравнивать красный и зеленый цвет. Или салат греческий и салат цезарь. Это два по разному приготовленных продукта. Если же ты сравниваешь, как моя бабушка, что лучше купить кусок сала или мяса, чем неизвестно что в себе содержащую колбасу, тогда да, стейк лучше
источник

Lr

Larymar r.sorokin in .NET Talks🎄
День восемьсот тридцать третий. #ЧтоНовенького
.NET 6: Минималистические API
#ЧтоНовенького
.NET 6: Минималистические API
В Microsoft всерьёз озаботились слишком высоким порогом входа в ASP.NET, по сравнению с другими фреймворками. Проблема в том, что минимальный проект API или веб-сайта в ASP.NET содержит с десяток файлов и папок: файлы конфигурации, Startup.cs и т.п. А кто знает точно, что вообще происходит в файлах Program.cs и Startup.cs? Зачем там весь этот код?

В итоге в Microsoft пришли к следующему коду в файле Program.cs:
var app = WebApplication.Create(args);

app.Map("/", () => "Hello World");

app.MapGet("/todos", async () =>
{
 using var db = new TodoDbContext();
 return await db.Todos.ToListAsync();
});

app.MapPost("/todos", async (Todo todo) =>
{
 using var db = new TodoDbContext();
 await db.Todos.AddAsync(todo);
 await db.SaveChangesAsync();
});

app.Run();

Помимо этого, конечно, нужны классы домена и контекста TodoDbContext. И понадобится ещё файл Imports.cs, где будут находиться все директивы using, используемые в приложении (их теперь, чтоб не писать в каждом файле, можно подключить глобально через global using …, по аналогии с файлом ViewImports).

И всё! Вот полноценное рабочее веб-API приложение (можно дальше добавлять MapDelete, MapPatch и т.п.). Как вам?

Никаких CreateHostBuilder, UseStartup, Configure и ConfigureServices, папки контроллеров и прочего шаблонного кода. Все настройки по умолчанию собраны в WebApplication.Create, а дальше вы просто сопоставляете путь с функцией обработчиком, и вуаля!

На мой взгляд, это великолепное нововведение! Как объясняют создатели (ссылка на полное видео внизу), это позволит новичкам не погружаться сразу в бессмысленный набор файлов, а начать с самого простого. Один файл. Задаёшь путь и нужный вывод (см. "Hello World" выше), переходишь по этому пути, и получаешь результат!

При этом самое главное, что это не обязаловка. Нынешний хорошо структурированный расклад не только продолжит существовать, но также будут добавлены все возможные вариации между ним и этим однофайловым кодом. То есть, вместо WebApplication.Create вы можете создать построитель, и внедрить нужные зависимости:
var builder = WebApplication.CreateBuilder(args);
builder.Services
 .AddDbContext<TodoDbContext>(o =>
   o.UseSqlite("DataSource=Todos.db"));
var app = builder.Build();

Далее можно более детально настроить хост, добавить необходимые сервисы. Затем можно выделить настройку сервисов в файл Startup, а сопоставление путей с методами в отдельный файл, а дальше разделить на контроллеры. То есть обучение технологии теперь будет проходить более естественно. Не начиная с многостраничного объяснения, что, где и зачем лежит. Теперь можно начать с элементарного рабочего кода, а дальше (при необходимости) выделять обособленные части в отдельные файлы и постепенно перейти к той структуре, которая нам всем известна.

Ну и конечно, такой подход сильно поможет в создании микросервисов, когда нужен самый простой код, «без ансамбля». Помимо прочего, судя по первым тестам, он работает на 30-50% быстрее стандартного приложения из-за избавления от всего ненужного функционала.

Источник: https://youtu.be/enAskgcF0c0https://youtu.be/enAskgcF0c0
источник

SK

Stas Khavruk in .NET Talks🎄
Класно, щас перекину самому главному крудойобщику
источник