es
Feedback
📓 Записки программера

📓 Записки программера

Ir al canal en Telegram

Канал с регулярными постами о разных интересных материалах (статьи, видео, фреймворки и полезные инструменты). https://dotnet.social/@denisio

Mostrar más
1 078
Suscriptores
-124 horas
-17 días
+730 días
Archivo de publicaciones
Локально развертываемая LLM Ollama для извлечения текста из документов (включая PDF). На примере выглядит отлично, как оно бу
Локально развертываемая LLM Ollama для извлечения текста из документов (включая PDF). На примере выглядит отлично, как оно будет на практике - надо проверять. #llm

OpenTelemetry-dotnet наконец-то релизнули (1.7.0 версия) после многочисленных -beta и -rc. #dotnet

grammY - фреймворк для создания ботов для телеги (typescript/javascript). Выглядит так, что даже новички в ts/js смогут сделать бота за 5 минут. #js

Интересная конструкция - nuget-пакет с embedded Postgres. По факту конечно набор бинарников внутри пакета, с локальным запуск
Интересная конструкция - nuget-пакет с embedded Postgres. По факту конечно набор бинарников внутри пакета, с локальным запуском и слушанием порта на localhost. Думаю очень даже зайдёт для тестов. #dotnet

2️⃣0️⃣0️⃣😁

60 API queries per minute FOR FREE - Google опубликовал API для своего бота Bard #google #api
60 API queries per minute FOR FREE - Google опубликовал API для своего бота Bard #google #api

The Human Side of Airbnb’s Microservice Architecture 40-минутное видео от Airbnb - про архитектуру и миграцию с одной архитек
The Human Side of Airbnb’s Microservice Architecture 40-минутное видео от Airbnb - про архитектуру и миграцию с одной архитектуры на другую. tldr: * 2008-2017 - монолит * 2017-2020 - микросервисы * 2020 по настоящее время - микро и макросервисы Резюмируя - компания жила 9 лет на монолите. К микросервисами они мигрировали уже набрав клиентскую базу, нагрузку и фичи. Микросервисянка, которой заболевают многие компании (а часто и стартапы) - часто не нужна и не оправдана на мой взгляд. Модульный монолит позволяет совместить удобство разработки с возможностью легко перейти к отдельным (микро)сервисам при необходимости. #architecture

Случайно наткнулся на .net-биндинги (github) к Pinecone, откуда я узнал о существовании Pinecone - базы данных для хранения в
Случайно наткнулся на .net-биндинги (github) к Pinecone, откуда я узнал о существовании Pinecone - базы данных для хранения векторов, что выглядит интересно, но пока в моем окружении невостребовано. Надо будет хотя бы потыкать для ознакомления, что это за штука. Прайсинг не чтобы не радует, он обычный (плюс/минус) для managed баз данных в облаке (тот же managed Postgres местами стоит дороже). #database #dotnet

Brainboard - выглядит красиво. Можно нарисовать облачную архитектуру (или импортировать из существующих) и оно тебе генерит terraform файлы для разных сервисов (GCP, AWS, Azure). #tools

Отличная недлинная статья про слоты в VueJS и там (очень кратко) описаны все типовые кейсы со слотами. А вообще это 14-я част
Отличная недлинная статья про слоты в VueJS и там (очень кратко) описаны все типовые кейсы со слотами. А вообще это 14-я часть серии статей про #vuejs - советую почитать, они все очень короткие и с обилием примеров. Для начинающих в VueJS самое то. #js

How does continuous backup and point-in-time recovery work in databases - вкратце и достаточно понятно как базы данных делают
How does continuous backup and point-in-time recovery work in databases - вкратце и достаточно понятно как базы данных делают бакапы (в онлайне, без блокировки доступа) и ресторят данные. #database #howto

DistributedLock - тоже иногда нужная штука - сделать lock на именованый ресурс. Хорошо, когда у тебя инстанс один (там можно обойтись штатными примитивами), но если их больше одного - нужен внешний координатор (MySql, Postgres, SqlServer, Oracle, Redis, ZooKeeper, ...). Радует, что в каждой реализации используется фичи конкретного движка (например в SqlServer используется sp_getapplock - который как раз и является реализацией лока на именованый "application resource") #dotnet

Redacting sensitive data in logs with Microsoft.Extensions.Compliance.Redaction - редкая, но иногда крайне нужная возможность централизованно отпиливать sensitive данные при логировании #dotnet

Я думал, что меньше 3-5 евров в месяц за VDS сложно найти (для пет-проектов например), но оказывается есть и за 0.58-1 доллар
Я думал, что меньше 3-5 евров в месяц за VDS сложно найти (для пет-проектов например), но оказывается есть и за 0.58-1 доллар (7-12 долларов В ГОД). Ограничения разумеется присутствуют - сервера стоят за NAT и открыты только несколько портов (но есть domain forwarding на 80-й / 443-й порты).

Интересный инструмент для совместного рисования tldraw.com (можно даже не регаца, просто ссылку отправляешь другому человеку) #tools

Несколько фреймворков на замену штатной реализации IMemoryCache 🔸FastCache (тупо обертка над ConcurrentDictionary) 🔸LazyCache (похоже подзабили на него, хотя он у меня работает в нескольких проектах) 🔸FusionCache 🔸intelligentcache 🔸CacheTower (пока остановился на нём) 🔸EasyCaching Вообще мне для нормальной жизни надо несколько вещей от кэша: * чтобы умело опционально иметь backend для Redis * чтобы GetOrAdd (GetOrSet) имело лок на cache key - чтобы в конкурентной среде фабрика для создания итема не вызывалась несколько раз (как это в ConcurrentDictionary например) * (редко) событие на evict итема по expiration * (редко) sliding expiration И я ещё не встречал кэша (для дотнета по крайней мере), который позволял бы держать дерево/граф итемов с evict всех зависимых частей. К примеру, у нас есть user и teams в которые он входит. При добавлении/удалении нового юзера в team - хотелось бы чтобы можно было удалить все тимы по id юзера (с которыми он связан). Есть разумеется и более сложные случаи, когда от одного итема зависит десяток других в кэше, так вот хотелось бы их тоже все evict'нуть. #dotnet

DAWG (Directed Acyclic Word Graph) is a data structure for storing and searching large word lists and dictionaries. It can be
DAWG (Directed Acyclic Word Graph) is a data structure for storing and searching large word lists and dictionaries. It can be 40x more efficient than the .NET Dictionary class for certain types of data. #dotnet

FusionCache - альтернатива для LazyCache (на который похоже подзабили) и штатной реализации IMemoryCache. Много разных плагинов (для сериализации, инвалидации и метрик) #dotnet

AzureDiagrams - оч симпатичные диаграммы (местами даже анимированные) для рисования структуры разных облачных проектов. Судя
AzureDiagrams - оч симпатичные диаграммы (местами даже анимированные) для рисования структуры разных облачных проектов. Судя по названию запилена под Azure, но в принципе в облаках наборы примерно одинаковые, так что думаю можно использовать и для Amazon. #tools

ZoneTree is a persistent, high-performance, transactional, and ACID-compliant ordered key-value database for .NET. It is seve
ZoneTree is a persistent, high-performance, transactional, and ACID-compliant ordered key-value database for .NET. It is several times faster than Facebook's RocksDB and hundreds of times faster than SQLite. It can operate in memory or on local/cloud storage. Какое-то очередное интересное хранилище, по перфу выглядит очень прилично #dotnet