C# 1001 notes
@csharp_1001_notes
1 12 286
Machine Learning Roadmap 2025: большая карта входа в ML без сказок про “нейросети за месяц
await GetUserAsync();
await GetOrdersAsync();
await GetRecommendationsAsync();
var userTask = GetUserAsync();
var ordersTask = GetOrdersAsync();
var recsTask = GetRecommendationsAsync();
await Task.WhenAll(userTask, ordersTask, recsTask);
var user = await userTask;
var orders = await ordersTask;
var recs = await recsTask;
async Task<IActionResult> пишется на автомате. Вы точно знаете, почему EF Core сгенерировал именно такой SQL - и как переписать запрос, чтобы он летал.ООП, SOLID, LINQ, async/await, DI, EF Core, ASP.NET Core, Docker, Kubernetes - всё, что казалось магией, станет рабочим инструментом.
UUID v7 - это почти ULID, только нативно в .NETGuid.NewGuid().Guid.CreateVersion7()ULID - отдельный формат и часто сторонняя библиотека.UUID v7 - обычный Guid, который уже поддерживается в .NET.Guid.NewGuid()Guid.CreateVersion7()Guid используется как primary key в базе.
using System;
class Program
{
static void Main()
{
int x = 10;
Console.WriteLine(x++ + ++x);
}
}
async void ломает ваш код
// Контроллер ASP.NET Core
[HttpPost]
public async void Create() { await _svc.DoAsync(); } // Исключения мимо pipeline
// Библиотека
public async void SaveAsync(Item item) { await _repo.Save(item); } // Вызывающему не сконтролировать
[HttpPost]
public async Task<IActionResult> Create() { await _svc.DoAsync(); return Ok(); }
public Task Invoke(HttpContext ctx) => _next(ctx);
public Task SaveAsync(Item item) => _repo.Save(item);
Program.cs, каждый endpoint выносится в отдельный класс.
public interface IEndpoint
{
void MapEndpoint(IEndpointRouteBuilder app);
}
public class GetFollowerStats : IEndpoint
{
public void MapEndpoint(IEndpointRouteBuilder app)
{
app.MapGet("users/{userId}/followers/stats", async (
Guid userId,
ISender sender) =>
{
var query = new GetFollowerStatsQuery(userId);
Result<FollowerStatsResponse> result = await sender.Send(query);
return result.Match(Results.Ok, CustomResults.Problem);
})
.WithTags(Tags.Users);
}
}
services.AddHttpClient<GitHubService>(static httpClient =>
{
httpClient.BaseAddress = new Uri("https://api.github.com/");
})
.AddStandardResilienceHandler();
ShortenedUrl:/shortencodeshortUrl из scheme + host + code/{code}Платформа использует файлы cookie для авторизации и сохранения настроек. Продолжая работу, вы соглашаетесь с нашей Политикой использования cookie.