Рано или поздно все разработчики сталкиваются с необходимостью синхронизировать изменения моделей бакенда и фронта. В работе доводилось использовать два таких инструмента:
💙 Reinforced.Typings - отличная штука, работает как часы и использовал долго. Но судя по всему проект заброшен больше года назад и с новыми типами
💙 TypeGen - новая и удобная штука. Тоже не без недостатков - например он генерит по принципу "одна модель/один файл" и мне так и не удалось играми с конфигом хотя бы разнести их по namespace'ам - результаты этих игрищ были больше похоже на баг внутри пакета, который уже задокументирован но ещё не починен. Также в доке почему-то обошли вниманием, что чтобы это всё взлетело надо сделать
#dotnet #ts
record
он работает странновато, однако вполне предсказуемо, добавляя в каждую генерируемую модель из record
свойство equalityComparer - это не лечица штатными средствами, а лезть внутрь, править и форкать проект - лень.dotnet tool install --global dotnet-typegen
- иначе некому будет генерить модели :) В настоящее время использую этот пакет, пока ничего критичного/мешающего не нашёл.#dotnet #ts
Please open Telegram to view this post
VIEW IN TELEGRAM
Design resources for developers (github) - постоянно пополняемый список разных ресурсов для дизайнеров (фронта наверное) - иконки, стили, CSS-фреймворки, иконки, ... #design
Practical ASP.NET Core - постоянно пополняемая коллекция примеров (на данный момент ~100) на самые разные разделы ASP.NET Core - внезапно есть даже примеры для Orleans, Windows Service, YARP и телеметрия (OpenTelemetry). Для новичков в ASP.NET Core - самое то, посмотреть как реализуются те или иные фичи. #dotnet
👍2
How to make the fastest .NET Serializer with .NET 7 / C# 11, case of MemoryPack - длинная статья с примерами кода, как делался MemoryPack и какой получился результат (на картинке :). Интересное чтиво как они байтоёбили, чтобы получить максимальный перф и минимальный memory footprint. #dotnet
👍2
Как известно, Redis под Windows уже давно официально не выпускается. Но если кто-то соскучился - есть реализация Redis-протокола в виде Memurai. Типа коммерческий, но есть Developer Edition, который будет рестартовать через 10 дней.
Ну и чтобы далеко не ходить - open source RedisInsight как клиент для ковыряния в Redis (с поддержкой pub/sub кстати, таких клиентов Redis очень немного - и написанный на Electron). #redis #electron
Ну и чтобы далеко не ходить - open source RedisInsight как клиент для ковыряния в Redis (с поддержкой pub/sub кстати, таких клиентов Redis очень немного - и написанный на Electron). #redis #electron
https://chocolatey.org/ - пакетный менеджер для Windows. Удобная штука, когда одним
choco upgrade all
весь установленный софт. Пользуюсь давно, весь софт у меня, который используется в работе, установлен с помощью Chocolatey. Нареканий нет - за очень редкими исключениями, например paint.net который недавно был обновлён до платформы .net 7 (и получил некоторый буст перфа в связи с этим) до сих пор не обновлён в choco репозитории. #toolsChocolatey Software
Chocolatey - The package manager for Windows
Chocolatey is software management automation for Windows that wraps installers, executables, zips, and scripts into compiled packages. Chocolatey integrates w/SCCM, Puppet, Chef, etc. Chocolatey is trusted by businesses to manage software deployments.
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Давным давно у Microsoft был пакет Windows Workflow Foundation, для организации workflow в проектах. С тех пор минуло много лет, WWF сдох, но концепция осталась. Два пакета для организации workflow в проектах:
workflow-core - in process engine, из фич: возможность организовать паттерн saga, задавать максимальное количество concurrency для джобов.
elsa-core - out of process engine (в т.ч. имеет dashboard и docker образ), который имеет http api для управления и ряд штатных джобов, которые можно реюзить в своих проектах.
#dotnet
workflow-core - in process engine, из фич: возможность организовать паттерн saga, задавать максимальное количество concurrency для джобов.
elsa-core - out of process engine (в т.ч. имеет dashboard и docker образ), который имеет http api для управления и ряд штатных джобов, которые можно реюзить в своих проектах.
#dotnet
Очень часто в прошлом видел, когда люди брались за оптимизацию кода и оптимизировали совершенно не то, не так и не там где это действительно нужно. И отчасти это случалось из-за непонимания о времени работы разных операций.
Неплохая статья на хабре (не очень новая, но по прежнему актуальная) по соотношению стоимости операций процессора. Всегда держать в голове :) И не забывать, что не всегда надо оптимизировать код, если у тебя дисковый IO закрывает 90% времени работы :) #code #optimize
Неплохая статья на хабре (не очень новая, но по прежнему актуальная) по соотношению стоимости операций процессора. Всегда держать в голове :) И не забывать, что не всегда надо оптимизировать код, если у тебя дисковый IO закрывает 90% времени работы :) #code #optimize
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Использование диаграммы Вороного для построения изолиний. Статья на английском в PDF. #algorithms
Интересная статья на 115 страниц на английском по сортировкам и синхронизации данных (в третьем разделе с 49-й страницы описан алгоритм rsync) #algorithms
👍1
Два инструмента для создания mock-API:
💙 json-server - максимально простой, имеет много примеров на github и ему достаточно просто накидать json-файлов, которые он будет отдавать по запросу.
💙 mockoon - слегка более энтерпрайзный 😊 много штук, в т.ч. для управления роутами, ответами и вобщем требует изучения как и любой хитрый инструмент.
Идеально подходят, когда надо сделать фронт, а бэка ещё нет 😊 #tools #mock
Идеально подходят, когда надо сделать фронт, а бэка ещё нет 😊 #tools #mock
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
https://ravendb.net/ - интересная document db, написанная на C#. Немного довелось поработать с ней. Очень быстрая на дисковый IO и обилием разных фич - включая встроенную веб-dashboard для управления и мониторинга. Community edition (которая допускает коммерческое использование) - максимум 3 узла в кластере и максимум 6 ГБ RAM :( И коммерческий ценник не очень радует. Но, есть timeseries и Graph API, которые внезапно работают :)
А также блог Ayende Rahien, CEO of HIBERNATING RHINOS LTD, which develops RavenDB.
А также блог Ayende Rahien, CEO of HIBERNATING RHINOS LTD, which develops RavenDB.
RavenDB NoSQL Database
Life is an Adventure — Your Database Shouldn't Be
RavenDB NoSQL database is built for scalability, flexibility, and high-performance data management. Leverage a world-class document database today.
Use .NET from any JavaScript app in .NET 7 - странная идея конечно :)) Но с помощью wasm-tools можно несложно сделать wasm-сборку, которая сможет загрузица в браузер и использоваться в #js. Никак не могу отделаться от мысли, что это всё напоминает почивший Silverlight 😊
#wasm #dotnet
#wasm #dotnet
ASP.NET Core API Auth with multiple identity providers - простая статья, как сделать в ASP.NET Core аутентификацию с разными схемами с использованием Policy (надо будет написать статью по этой интересной фиче). #dotnet
Counting the leading zeroes in a binary number - наглядное превосходство инструкций процессора над байтоеблей. Не понимаю, какой ещё результат человек хотел увидеть, интринсик с инструкцией LZCNT из набора SSE4 выполняется за 1 такт на подавляющем большинстве процессоров. #optimize
Frozen collections in .NET 8 - о планирующемся введении FrozenSet<T> (который как следует из названия является иммутабельным generic set'ом), который внезапно быстрее HashSet<T> в 1.5 раза. #dotnet