Kaitai Struct is a declarative language used to describe various binary data structures, laid out in files or in memory: i.e. binary file formats, network stream packet formats, etc. Прилагается Web IDE #tools
Статья из 6 частей про StringBuilder, где рассматриваются все кишки этого казалось бы простого класса. Особенно интересна последняя часть, где рассматривается ValueStringBuilder - стековая реализация StringBuilder, который по ряду причин остался internal в #dotnet
Просто и понятно (с картинками) про SSH и разные варианты его использования with labs #ssh #tools
https://iximiuz.com/en/posts/ssh-tunnels/
https://iximiuz.com/en/posts/ssh-tunnels/
👍1
пакет dotNext - много интересного внутри, начиная от разных штук типа монад Result<T> / Optional<T>. Также есть разные unsafe штуки для байтоёбства - частично это конечно это всё решается Marshal, Unsafe и другими штуками, которые завезли в .net, когда он ещё назывался core. Есть удобные штуки для конструирования Expressions, а также пара вещей относящихся к распределённым системам - реализация Raft Consensus Algorithm (если вдруг кто захочет писать аналог Orleans, Akka и т.д.) и реализация Write Ahead Log, который частенько сопутствует этому. #dotnet
SeaweedFS - кроссплатформенный scalable object storage с реализацией протокола S3, вебмордой, поддержкой репликации, TTL файлов и других интересных штук. Очень простой в настройке. По субъективным ощущениям - скорость записи/чтения упирается только в диск (даже на PCI 4.0 NVMe).
Альтернативный open-source проект похожего рода - CloudServer, но его лично не трогал и никаких подробностей не имею, хотя судя по гитхабу - проект живёт и развивается.
Вобщем теоретически можно ставить, писать и отлаживать софт локально с поддержкой протокола S3, а на проде использовать обычный Amazon S3. С SeaweedFS у меня такое получалось, с CloudServer - не знаю, возможно будут какие-то особенности и различия как обычно :)) #storage
Альтернативный open-source проект похожего рода - CloudServer, но его лично не трогал и никаких подробностей не имею, хотя судя по гитхабу - проект живёт и развивается.
Вобщем теоретически можно ставить, писать и отлаживать софт локально с поддержкой протокола S3, а на проде использовать обычный Amazon S3. С SeaweedFS у меня такое получалось, с CloudServer - не знаю, возможно будут какие-то особенности и различия как обычно :)) #storage
Интереснейший цикл статей от Nick Craver (это Architecture Lead StackOverflow/StackExchange). На мой взгляд StackOverflow это хороший пример правильного проектирования архитектуры и её реализации (учитывая их посещаемость и такое незначительное количество серверов, которое обслуживает их инфраструктуру).
Также SO время от времени выкладывает обновлённый дамп их базы MSSQL - можно посмотреть структуру (у меня к ней есть некоторые вопросы - но без погружения в инфраструктуру тут критиковать сложно, но в целом выглядит норм). Несмотря на то, что статьи датируются 2016-м годом - практически вся инфа актуальна и по сей день.
В дополнение - краткая история их миграции с .NET Framework на .NET 6 и с чуть большим количеством технических подробностей #architecture #stackoverflow
Также SO время от времени выкладывает обновлённый дамп их базы MSSQL - можно посмотреть структуру (у меня к ней есть некоторые вопросы - но без погружения в инфраструктуру тут критиковать сложно, но в целом выглядит норм). Несмотря на то, что статьи датируются 2016-м годом - практически вся инфа актуальна и по сей день.
В дополнение - краткая история их миграции с .NET Framework на .NET 6 и с чуть большим количеством технических подробностей #architecture #stackoverflow
Build your own .NET CPU profiler in C# - как добавить свои метрики в общий workflow штатных Trace и Listeners #dotnet #tools #docker
Medium
Build your own .NET CPU profiler in C#
After describing memory allocation profiling it is now time to dig into the CPU sample profiling in C#!
🔥1
Реализация двухфакторной аутентификации на примере FIDO2, токена Yubikey и ASP.NET Core #dotnet #security
в дополнение статья по Yubikey на хабре
в дополнение статья по Yubikey на хабре
Пост high level design микросервисных систем 😁 Для расширения кругозора несколько полезных ссылок. Да, это реально всё встречается на собесах от senior и выше (инфа 100%):
Microsoft - Drone Delivery system - несмотря на то, что это раздел про Azure - описание, теория и пример проектирования мало отношения имеет к Azure, он применим в любой облачной и не только среде.
На medium - только теория и паттерны проектирования
30 вопросов по System Design с картинками 😁
System Design Patterns (github)
Backend best practices (github)
Domain-Driven Hexagon (github) - реализация на #typenoscript
Domain-Driven Design and Messaging Architectures
#books #education #ddd
Microsoft - Drone Delivery system - несмотря на то, что это раздел про Azure - описание, теория и пример проектирования мало отношения имеет к Azure, он применим в любой облачной и не только среде.
На medium - только теория и паттерны проектирования
30 вопросов по System Design с картинками 😁
System Design Patterns (github)
Backend best practices (github)
Domain-Driven Hexagon (github) - реализация на #typenoscript
Domain-Driven Design and Messaging Architectures
#books #education #ddd
👍1
DotNetBook - книга Станислава Сидристого (ru) по внутреннему устройству объектов в #dotnet, disposable-паттерну, memory management'у, исключениям, конкурентному доступу, и т.д. Рекомендуется для прочтения целиком всем, кто пишет для dotnet. #education
Dapr - Distributed Application Runtime - ещё один фреймворк для построения распределённых приложений. Сам не пользовал, но выглядит интересно. Что немаловажно - он позволяет держать гетерогенные приложения на разных рантаймах и языках. Попробую в ближайшее время потыкать и посмотреть как оно в работе. Scott Hanselman даже книгу по нему написал два года назад (книга бесплатная).
C# functional extensions - удачный пакет с затаскиванием функциональных штук в C# - монады Maybe/Optional/Chain/Tap/Result/Match. В пет-проектах - почти всегда использую. Плюс к чистоте и читабельности кода. #dotnet
Два плагина для Rider😍, которые показывают в IDE цикломатическую и когнитивную сложность методов и классов, метрики которых считаются по вот этому документу (G. Ann Campbell, одной из контрибуторов SonarQube)
Красивый и удобный сервис для создания интерактивных временных диаграмм (timelines) #tools
Manage your terraform like a container (en) - достаточно простая статья про #terraform и #aws с примерами и картинками
FluentValidation - удобный пакет для валидации моделей, который позволяет
💙 вынести валидацию в отдельные классы
💙 сделать chaining-валидацию
💙 получить готовый список ошибок в модели (для возврата на фронт)
💙 поддерживает DI
💙 при желании (штатно этого нет) - сделать небольшую middleware и воткнуть в pipeline ASP.NET Core для автоматической валидации всех входящих моделей с фронта и возврата например http 400, если модель не соответствует правилам.
➕ К чистоте и читабельности кода #dotnet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5