📓 Записки программера
1.02K subscribers
314 photos
1 video
6 files
612 links
Канал с регулярными постами о разных интересных материалах (статьи, видео, фреймворки и полезные инструменты).

https://dotnet.social/@denisio
Download Telegram
Пара статей про диагностику thread starvation - раз и два #dotnet
👍10
Волею судеб мне недавно пришлось потестить отправку SMS в другую страну и понадобился номер (этой страны). За символические деньги нашёл eSIM Plus - несмотря на то что, оно называется esim - никакой esim там нет, есть просто виртуальный (?) номер выбранной страны и приложение в телефон, которое принимает эти SMS. Похоже, они в основном похоже банчат esimками (виртуальный номер покупается на страничке Virtual Phone Number). Физически я так понимаю приёмник стоит в другой стране. Несмотря на то, что приложение выглядит слегка всратым - оно мгновенно принимает SMS. #tools
🔥11👍7
В связи с приближающимся моментом перевода прекрасной штуки MassTransit на коммерческие рельсы - вспомнил, что есть неплохая альтернатива - Rebus, про которого я уже писал больше года назад. Он тоже умеет практически всё, что умеет MassTransit. В некоторых отношениях (например саги или декорацию pipeline, чтобы пробросить контекст между обработчиками саги) - в Rebus даже проще описывать.

Единственное, что прилично отличается - это регистрация consumerов (на скриншоте). У меня в проектах, например, все consumerы - суть scoped сервисы, которые используют другие scoped сервисы. А классический предлагаемый способ в Rebus через services.AddRebusHandler<T> - регает консумера как Transient сервис. Так что тут надо внимательней быть, да.

Попробую попозже сделать пример и для саг. #dotnet
🔥16👍2
Интересный альтернативный инструмент (вместо OneDrive) - CloudMounter. Можно сразу несколько облаков смонтировать.

Немного платный, но вроде выглядит неплохо. У меня например в силу разных причин есть аж три аккаунта, которые синкаются - Dropbox, Google Drive и OneDrive. Надо будет попробовать эту одну штуку вместо трёх. #tools
👍4🥱1
Как запилить свой Model Context Protocol адаптер для того, чтобы интегрировать их в LLM. Ещё одна статья на Microsoft и примеры на C# #dotnet #llm
👍12🥱2
Да, знаю, перерыв затянулся.
Но у меня тут некоторый завал по всем направлениям. 😏
Очень скоро возобновлю посты.
9🔥5🥱1👀1
Кажется в полку хостеров прибыло, Cloudflare анонсировал в бете контейнеры. Учитывая, что у них уже есть R2 Objects (S3 совместимое хранилище) - вполне может быть, что он займёт какую-то долю рынка. Обещается 10ms grain тарификация, вот только не оч ясно как они будут биллить память :))
🔥6👌1
Акция невиданной щедрости - годовая подписка Perplexity Pro бесплатно, если у вас есть paypal. Без реферальных ссылок если чо.
👍63🔥1
Тем временем релизнули .net 10 LTS
https://dotnet.microsoft.com/en-us/download/dotnet/10.0

upd образы докера

mcr.microsoft.com/dotnet/sdk:10.0
mcr.microsoft.com/dotnet/aspnet:10.0-alpine3.22

но пакеты ещё не все обновили, например Npgsql.EntityFrameworkCore.PostgreSQL 9.x валица с исключением Method not found :)
11👍9🥰3
В продолжение предыдущего поста - статья Тауба про performance improvements в .net 10 #dotnet
🔥75👍2🤯1👨‍💻1
Интересное чтиво - Algorithms for Modern Hardware . Может быть не для синьоров, но возможно им тоже будет интересно. #books
Preparing for the .NET 10 GC (DATAS) - ещё одна статья про .net 10 от Maoni #dotnet
👍3
Интересный тип атаки, казалось бы api key, но нет, это base64 json, который.... тут полное описание #hack
🔥5
Компонент для Avalonia для одного из самых сложных кейсов в UI - докинга окошек. #dotnet #avalonia
👍2🔥1
Programming the Commodore 64 with .NET - интересно, забавно, но зачем... #dotnet
🔥4🤯1
Тем временем релизнули npgsql 10.0, а значит можно уже попробовать апдейтнуть некоторые проекты на .net 10

Жаль что mongo driver не торопяца чинить для .net 10, он тоже используется кое-где... #dotnet
👍5
Недлинная статья про distributed locking с многочисленными ссылками внутри #howto
👍5
Приобщился к космической связи так сказать (#starlink gen 3).

Не знаю как вы, а я очень удивлён что такие скорости (и пинг 24 мс) можно обеспечить через спутник. При этом антенна щас ещё в неоптимальном положении (как поставили антенну, так я её и не трогал почти) - приложение показывает, что антенну надо покрутить немного против часовой стрелки, чтобы было максимально хорошо. Покручу чуть позже.

Из не очень очевидных штук: штатный wifi-роутер максимально простой. Ни портов пробросить, ни настроить каналы wifi - ничего нет. Никакой админки. Можно только включить bypass режим, чтобы в жопу роутера в один из двух езернетов воткнуть собственный роутер. Прискорбно, но пох.

Второе странное: dhcp сервер роутера выдаёт адрес с длительностью аренды ДВА ЧАСА :)) Тоже как-то оч мало, учитывая что эта штука позиционируется как домашняя, почему такая короткая аренда - непонятно.

Ещё мне было интересно насколько часто меняется public IP, ну так вот при переключении спутников адрес public IP вроде не меняется. По крайней мере пока не поменялся.

upd: внешний IP действительно не меняется вот уже два дня.
upd2: длительность аренды адреса выросла, судя по наблюдениям она кратно росла каждое продление, сейчас внутренний адрес выдался ~ на 22 часа.
upd3: спустя неделю внешний IP сменился после автоматического накатывания обновления девайсом
🔥153