CSS-TRICKS - хороший коллективный блог с разными интересными и порой очень технически красивыми решениями на #css
Почему-то мало кто знает про такую полезную штуку как Microsoft.IO.RecyclableMemoryStream - а тем временем он делает много полезных вещей:
💙 Eliminate Large Object Heap allocations by using pooled buffers
💙 Incur far fewer gen 2 GCs, and spend far less time paused due to GC
💙 Avoid memory leaks by having a bounded pool size
💙 Avoid memory fragmentation
💙 Allow for multiple ways to read and write data that will avoid extraneous allocations
Не очень полезно, но бывает нужно:
💙 Provide excellent debuggability and logging
💙 Provide metrics for performance tracking
Подробное описание с картинками - на вышеуказанном проекте в github. Если у вас в коде много MemoryStream'ов для разных надобностей - очень рекомендуется посмотреть в эту сторону. #dotnet
Не очень полезно, но бывает нужно:
Подробное описание с картинками - на вышеуказанном проекте в github. Если у вас в коде много MemoryStream'ов для разных надобностей - очень рекомендуется посмотреть в эту сторону. #dotnet
Please open Telegram to view this post
VIEW IN TELEGRAM
🌲 Канал переходит в предновогодний режим
🎅 Количество постов сокращено до двух в день
🎅 Количество постов сокращено до двух в день
Сегодня несколько UI-фреймворков для Vue 3:
💙 BalmUI - по стилизации похож на Vuetify и MaterialUI, но внутренности сделаны значительно более человечески и логичнее, чем в Vuetify. Есть всё что полагается нормальному UI-фреймворку (включая валидатор для input'ов) + есть WYSIWYG editor и даже собственный state manager (аналог vuex).
💙 Buefy - основанный на Bulma, кастомизируемый, хорошо стилизованный, есть всё что надо, прекрасный фреймворк, который я использовал во множестве проектов, но... Vue 2 only 😳
💙 Element Plus (бывший Element для Vue 2) - вот этот фреймворк и выступил заменой Buefy для меня, когда пришла пора портировать или стартовать новые проекты на Vue 3. Из некоторых недостатков - отсутствует fixed-top-bar меню в комплекте (но решается стилями), а также layout el-row/el-col на 24 столбца (а не традиционных 12). Но в отличие от Buefy есть штатный валидатор полей, удобный практически как Vuelidation. В целом отличная штука, рекомендуется :)
💙 Oruga - по первому рассмотрению также выглядит интересно и есть всё что надо для любого сайта, кроме валидации полей.
💙 Primevue - ещё более интересный фреймворк, который имеет уже два десятка опциональных цветовых тем, которые можно легко подключить и использовать. Из отличительных штук, которые не всегда есть в UI-фреймворках: контекстное меню (которое можно прибиндить к элементу), штук 6 разных меню на любой чих, графики на основе Chartjs, многоуровневые таблицы и виртуальный скроллер и интегрированный Vuelidate. Подозреваю, что это следующий кандидат на использование в новых проектах.
💙 Vant - очень маленький по размеру UI-фреймворк, ориентированный на мобильные устройства и имеющий специфичные элементы - pull refresh, swipe cell, sticky elements.
💙 View UI Plus - ещё один симпатичный UI-фреймворк от китайских товарищей. Также по первому рассмотрению есть всё что надо для работы, включая date/time-pickerы, uploader'ы и т.д. Сам фреймворк бесплатный, а вот темы к нему стоят денег (как в Primevue). Ну ок, надо же на чём-то зарабатывать :)
#js #ts #vue
#js #ts #vue
Please open Telegram to view this post
VIEW IN TELEGRAM
Deploy ASP.NET Core Web API to Amazon ECS – Dockerized Applications with AWS Fargate - помоему одно из лучших пошаговых руководств как деплоить бакенды в AWS. И что самое главное - актуальное.
В дополнение книга 2022 года Developing on AWS with C#
#aws #dotnet
В дополнение книга 2022 года Developing on AWS with C#
#aws #dotnet
Собираюсь в ближайшем будущем попробовать в работе Amazon DynamoDb и по случаю нашёл адаптер под него для #dotnet под названием EfficientDynamoDb - декларируется как х20 более эффективный к скорости и memory footprint.
Вообще интересно конечно как на такой простой операции типы работы с KV-хранилищем можно просрать х20 скорости и аллокаций в официальном SDK, хотя бенчмарки к EfficientDynamoDb прилагаются и они говорят как раз об этом. Но посмотрим.
#aws #dotnet
Вообще интересно конечно как на такой простой операции типы работы с KV-хранилищем можно просрать х20 скорости и аллокаций в официальном SDK, хотя бенчмарки к EfficientDynamoDb прилагаются и они говорят как раз об этом. Но посмотрим.
#aws #dotnet
Learning .NET MAUI - годная серия статей (больше десятка частей) от Jesse Liberty (Xamarin MVP)
#dotnet #maui
#dotnet #maui
Instrumenting .NET with OpenTelemetry - очень хорошая статья как впилить OpenTelemetry для логирования в .net - мне не хватало такой статьи, когда я это делал. Рассмотрены два коллектора событий - Jaeger в первой части статьи и Azure Monitor во второй.
Modern distributed tracing with dotnet - вторая статья из этого же блога по логированию в Elasticsearch и Kibana. И то и другое кстати вполне себе живут в докер-контейнерах и доступно на предмет "потыкать".
#dotnet #azure
Modern distributed tracing with dotnet - вторая статья из этого же блога по логированию в Elasticsearch и Kibana. И то и другое кстати вполне себе живут в докер-контейнерах и доступно на предмет "потыкать".
#dotnet #azure
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
DFrame - distributed load testing framework - от автора MemoryPack (про который я уже писал некоторое время назад) - выглядит симпатично и имеет REST API для автоматизации. Надо попробовать.
🔥1
Ещё несколько статей по #aws и #dotnet:
💙 Deploying An ASP.NET Core API To AWS Fargate Using CDK
💙 Simple DotNet Core API with AWS ECS Fargate using Terraform
💙 Hosting a .NET 6 Minimal API in AWS Lambda
💙 Transform Your ASP.NET Core API into AWS Lambda Functions
Последние две статьи я ещё не проверял (займусь в ближайшее время) - но выглядят как надо.
Последние две статьи я ещё не проверял (займусь в ближайшее время) - но выглядят как надо.
Please open Telegram to view this post
VIEW IN TELEGRAM
TraceLens - интересный бакенд/фронтенд для сбора метрик OpenTelemetry. Бета-версия, которая в дальнейшем будет доступна по подписке. Выглядит неплохо. #opentelemetry
Building an Event Driven .NET Application - цикл из нескольких статей по event driven applications (в т.ч. в сочетании с MassTransit и Rabbit MQ). В отличие от других статей похожей теме - уделяется внимание тестированию :)
.NET Domain Events Using MediatR - отдельная статья по domain events, кстати MassTransit содержит уже Medator (не всмысле MediatR пакета, а всмысле свой mediator, который по API максимально похож на MediatR), так что если используете MassTransit - нет смысла цеплять MediatR - можно использовать MassTransit'овский. #dotnet #masstransit
.NET Domain Events Using MediatR - отдельная статья по domain events, кстати MassTransit содержит уже Medator (не всмысле MediatR пакета, а всмысле свой mediator, который по API максимально похож на MediatR), так что если используете MassTransit - нет смысла цеплять MediatR - можно использовать MassTransit'овский. #dotnet #masstransit
Simplifying User and Role Based Permissions - ещё одна статья от Paul DeVito. Там правда используется для примера пакет от того же автора HeimGuard, но он очень простой и может быть хорошим примером как использовать атрибуты на action/controller и обработчик policy для получения нужных результатов в плане контроля доступа до action.
В статье всё как мы любим - reflection, policy и asp.net core 😊 Хорошо что без усложненных вещей, а роли/права доступа просто сложили в appsettings.json - в обычной среде это может быть всё что угодно (например база данных), но для понимания как это слаженно работает в asp.net core - лучшего примера сложно найти. #dotnet
В статье всё как мы любим - reflection, policy и asp.net core 😊 Хорошо что без усложненных вещей, а роли/права доступа просто сложили в appsettings.json - в обычной среде это может быть всё что угодно (например база данных), но для понимания как это слаженно работает в asp.net core - лучшего примера сложно найти. #dotnet
Take advantage of Git rebase - короткая статья от одного core git developers и git expert почему стоит использовать rebase, а не merge😊 #git #tools
Ещё одна статья про перф .NET 7 с PGO от Aaron Stannard (одного из авторов Akka.NET):
100m messages per second for ActorBase and 97m messages per second for ReceiveActor - a 75% improvement over Akka.NET v1.4 on .NET 6.0
Here is what I suspect is happening here: tiered JIT compilation and PGO perform are able to gather more accurate data or generate more effective improvements when the same code is being executed on the same CPUs over and over again. I haven’t verified this by looking at the generated code myself or digging through the PerfView events, but that’s my armchair quarterback take.
.NET 7.0 is a very exciting development for Akka.NET users and .NET users alike - I strongly encourage you all to consider upgrading to it ASAP.
#dotnet #akka
100m messages per second for ActorBase and 97m messages per second for ReceiveActor - a 75% improvement over Akka.NET v1.4 on .NET 6.0
Here is what I suspect is happening here: tiered JIT compilation and PGO perform are able to gather more accurate data or generate more effective improvements when the same code is being executed on the same CPUs over and over again. I haven’t verified this by looking at the generated code myself or digging through the PerfView events, but that’s my armchair quarterback take.
.NET 7.0 is a very exciting development for Akka.NET users and .NET users alike - I strongly encourage you all to consider upgrading to it ASAP.
#dotnet #akka
Expressions Evaluator - ещё один mini-script language для .NET (ближайший аналог NCalc) - но с поддержкой LINQ и разных своеобразных expression'ов типа как на скриншоте. #dotnet
❤1
Hashing and Salting Passwords - простая статья про хэширование паролей с примерами, чем это можно делать #dotnet
Apache Kafka Patterns and Anti-Patterns - простыми словами и примерами про Kafka - как лучше делать и что не надо делать. Примеры на java, но когда это кого-то останавливало? :)