NeuroLook @cybertechfronts Channel on Telegram

NeuroLook

@cybertechfronts


C# - обучающий канал Senior C# разработчика.

NeuroLook (Russian)

Вы когда-нибудь задумывались о мире нейронаук и его влиянии на современные технологии? Если да, то канал NeuroLook - идеальное место для вас! Под названием "cybertechfronts" скрывается информативный и увлекательный обучающий канал Senior C# разработчика. Этот канал предлагает уникальные знания и навыки в области программирования на C#, а также раскрывает темы, связанные с нейронаукой и ее влиянием на разработку программного обеспечения. Здесь вы найдете самые актуальные и интересные материалы, которые помогут вам углубить свои знания и стать экспертом в своей области. Присоединяйтесь к каналу NeuroLook и станьте частью захватывающего мира нейронаук и программирования!

NeuroLook

11 Dec, 11:01


🖥 ReactiveGenerator — Генератор исходного кода на языке C#, который автоматически реализует уведомления об изменении свойств с использованием стандартных INotifyPropertyChangedили шаблонов ReactiveUI!

🌟 Он генерирует эффективный и чистый код для ваших свойств, сохраняя при этом полную безопасность типов и поддержку времени проектирования.

🔐 Лицензия: MIT

🖥 Github

NeuroLook

10 Dec, 18:02


🔥 Amplication — это инструмент с открытым исходным кодом для автоматического генерации серверной части .NET и Node.js приложений!

🌟 Он позволяет разработчикам быстро создавать API и соответствующую серверную логику, исключая необходимость вручную писать код для повторяющихся задач, таких как создание CRUD-операций, управление базой данных и аутентификация. Amplication ориентирован на ускорение разработки и избавление от рутины, предоставляя мощные возможности для конфигурирования и расширения с помощью плагинов и кастомных решений.

🔐 Лицензия: Apache-2.0

🖥 Github

NeuroLook

10 Dec, 10:06


📖 Эта статья описывает, как масштабировать реализацию шаблона "Outbox" для обработки больших объемов сообщений в распределенных системах!

🌟 Этот шаблон решает проблему двойной записи, обеспечивая согласованность данных между базой данных и внешними системами. В статье приводятся оптимизации, позволяющие достичь обработки до 30 500 сообщений в секунду!

🔗 Ссылка: *клик*

NeuroLook

09 Dec, 16:48


🖥 Пример обязательного модификатора C#!

🌟 Модификатор required появился в C# 11 и может использоваться для принудительной инициализации свойств во время создания объекта.

🌟 В примере ниже показано, как мы можем использовать его в контексте сопоставления объектов, чтобы убедиться, что мы не забыли свойство целевого объекта.

NeuroLook

09 Dec, 09:07


🖥 Понимание Memory<T> в C#!

💡 Современные приложения часто требуют эффективной обработки больших наборов данных без ненужного копирования данных. В C# представлен Memory<T>, как универсальный инструмент для оптимизации управления памятью. В этой статье мы рассмотрим, как Memory<T> решает распространенные проблемы, его преимущества перед традиционными подходами и как он сравнивается с Span<T>!

🔗 Ссылка: *клик*

NeuroLook

06 Dec, 08:11


#ПятничныйКвиз

NeuroLook

05 Dec, 10:27


🖥 Защита .NET Core API от DDoS-атак!

🌟 Эта статья объясняет, как защитить ASP.NET Core API от DDoS-атак. Рассматриваются методы ограничения запросов, такие как использование middleware для троттлинга и внедрение кастомной логики управления по IP-адресам. Для более высокой безопасности предлагается использование API-шлюзов, защитных механизмов против CSRF и строгой настройки CORS, а также шифрование данных.

🔗 Ссылка: *клик*

NeuroLook

04 Dec, 17:01


🖥 Эта статья объясняет, как горизонтально масштабировать API, созданные с использованием ASP.NET Core, с помощью YARP (Yet Another Reverse Proxy)!

🌟 Автор подробно рассматривает, как настроить YARP для балансировки нагрузки между несколькими экземплярами API-сервера, что помогает повысить производительность и надежность приложения, особенно при увеличении нагрузки.

🔗 Ссылка: *клик*

NeuroLook

03 Dec, 12:16


🖥 AuthPermissions.AspNetCore — библиотека для ASP.NET Core, предоставляющая инструменты для реализации гибкой системы авторизации!

🌟 Она включает такие функции, как настраиваемые роли, многоуровневая многопользовательская (multi-tenant) архитектура и поддержка обновляемых токенов JWT. Библиотека позволяет администраторам изменять разрешения ролей без необходимости перезапуска приложения, а также поддерживает различные схемы аутентификации и хранения данных, такие как шардирование и общие базы данных.

🔐 Лицензия: MIT

🖥 Github

NeuroLook

02 Dec, 14:23


🖥 dotNetify — библиотека с открытым исходным кодом для создания приложений, функционирующих в режиме реального времени на основе .NET Core и React!

🌟 С помощью dotNetify разработчики могут связывать фронтенд-приложения с бэкендом на .NET, используя двустороннюю коммуникацию через WebSockets. Основное преимущество заключается в упрощении создания динамических интерфейсов и управления состоянием в реальном времени.

🌟 В библиотеке представлены примеры, такие как интеграция React с .NET Core, реализация реального времени графиков, компонентов с загрузкой данных и даже создание кроссплатформенных приложений с использованием Electron. Документация доступна на dotnetify.net .

🔐 Лицензия: Apache-2.0

🖥 Github

NeuroLook

01 Dec, 12:04


🖥 Реализация шаблона Saga на языке C#!

🌟 Шаблон Saga — это шаблон проектирования, который решает сложности, связанные с управлением распределенными транзакциями и обеспечением согласованности данных в микросервисах. Он разбивает длительную транзакцию на ряд более мелких, управляемых транзакций.

🔗 Ссылка: *клик*

NeuroLook

29 Nov, 09:28


#ПятничныйКвиз

NeuroLook

27 Nov, 10:40


🖥 Эта статья посвящена улучшению качества кода в C#!

🌟 Она подчеркивает важность написания небольших функций, выполняющих одну задачу, что способствует упрощению сопровождения и тестирования кода.

🌟 Основные рекомендации: сокращение длины функций (до 4-6 строк), использование описательных имен для функций и методов, а также создание тестов, которые позволяют убедиться в корректности каждой отдельной функции. В более сложных случаях, когда функции становятся перегруженными, автор рекомендует структурировать их в классы для лучшей организации и читаемости.

🔗 Подробнее: *клик*

NeuroLook

27 Nov, 08:31


⚡️Истовый инженер теперь в Telegram!

В канале публикуют полезные статьи для инженеров и программистов со всех направлений. Вот, что мы лично прочитали и где поставили лайк:

— Что изучить про алгоритмы и структуры данных разработчикам на С++ ( читать )
— CodeChecker: анализируем большой проект на С++ быстро, эффективно и бесплатно ( читать )
— 5 способов писать эффективный код на Go: от нейминга переменных до архитектуры ( читать )
— Ужасно подробные ошибки в API: пишем инструмент для работы с ними на Go ( читать )

📝 и ещё 100+ полезных статей, лекций и кейсов от практиков

Подписываемся, чтобы не потерять полезный канал

NeuroLook

26 Nov, 10:01


🖥 Что находится внутри ограничения скорости для .NET?

💡 API ограничения скорости дебютировал в .NET 7. Он реализует несколько популярных алгоритмов для ограничения количества запросов к общему ресурсу. Этот API обычно продвигается как часть встроенного промежуточного программного обеспечения ограничения скорости ASP.NET Core. Однако сам API не зависит от ASP.NET и имеет более широкую область применения. Этот API был недавно написан и может отражать текущее состояние параллелизма в .NET. Наконец, это готовая к использованию библиотека, а не книжный пример семафора в цикле со сном. Так что давайте заглянем внутрь и посмотрим, сможем ли мы чему-то научиться!

🔗 Ссылка: *клик*

NeuroLook

25 Nov, 12:03


🖥 SurrealDB — это современная многомодельная база данных, предназначенная для универсального управления данными!

💡 Она объединяет возможности SQL, NoSQL и графовых баз данных в едином решении, позволяя использовать реляционные, документные, графовые, временные и ключ-значение модели данных без необходимости переключаться между разными системами.

🌟 SurrealDB также поддерживает запросы через SQL, GraphQL, REST и SDK для различных языков программирования, таких как Rust, C#, Python, PHP, Java и другие. Кроме того, она включает функции реального времени, масштабируемости, встроенной поддержки AI и машинного обучения, а также обладает мощной системой управления схемами и разрешениями.

🔐 Лицензия: Apache-2.0

🖥 Github

NeuroLook

24 Nov, 17:14


🖥 В этой полезной статье автор рассказывает 8 способов, как сделать ваш C# код чище и читабельнее!

🌟 Автор берет за пример кусок "грязного" кода и демонстрирует способы его улучшения шаг за шагом.

🔗 Ссылка: *клик*

NeuroLook

24 Nov, 10:48


🖥 Создание RESTful API с .NET и Clean Architecture: полное руководство!

🌟 Статья начинается с теоретического объяснения Clean Architecture, описывая ключевые принципы и выделяя слои архитектуры. Далее автор углубляется в каждый слой, показывая, как использовать .NET Core, Entity Framework Core и другие технологии для их реализации. В частности, он рассматривает инфраструктуру CQRS (Command Query Responsibility Segregation) и реализует конкретные компоненты с поддержкой для MediatR.

🔗 Ссылка: *клик*

NeuroLook

23 Nov, 12:19


🖥Эта статья описывает, как использовать библиотеку Testcontainers для интеграционного тестирования в .NET с помощью Docker!

💡 Testcontainers позволяет автоматически запускать контейнеры для различных сервисов, таких как базы данных, и использовать их в тестах, что обеспечивает более реалистичное окружение по сравнению с моками или in-memory решениями. Автор также делится примером настройки и применения Testcontainers в ASP.NET Core и описывает, как интеграционные тесты можно запускать в CI/CD.

🔗 Ссылка: *клик*

NeuroLook

22 Nov, 10:38


#ПятничныйКвиз

NeuroLook

21 Nov, 14:16


🖥 Обеспечьте контейнерам доступ к пользовательским локальным доменам на хост-машине с помощью .NET Aspire!

⭐️ Пользовательские домены полезны для локальной разработки, но контейнеры не могут разрешать их по умолчанию. Узнайте, как заставить контейнеры распознавать пользовательские хосты хост-машины с помощью .NET AspireAspire!

🔗 Ссылка: *клик*

NeuroLook

20 Nov, 12:15


⚡️ Слеза ностальгии для программистов: возрождение классического Visual Basic 6, полностью написанного на C#.

В проект входят Visual Designer и поддержка открытия/сохранения проектов в формате, совместимом с VB6.

dotnet publish AvaloniaVisualBasic.Desktop -f net9.0 -o bin/
dotnet publish AvaloniaVisualBasic.Standalone -f net9.0 -o bin/standalone/


🖥 GitHub
⭐️ Веб-версия

#csharp #programming

NeuroLook

19 Nov, 13:39


🖥 MessagePack-CSharp — реализация MessagePack для .NET, предназначенная для быстрой и компактной сериализации данных!

💡 MessagePack — это бинарный формат, похожий на JSON, но более эффективный, что делает его полезным для приложений с высокими требованиями к производительности. Библиотека поддерживает .NET и Unity, обеспечивая гибкость и совместимость в проектах, где требуется быстрое взаимодействие между системами.

🔐 Лицензия: BSD 2-Clause

🖥 Github

NeuroLook

17 Nov, 11:04


🖥 Разработка бизнес-приложения для управления инвестициями с использованием .NET 8, Azure и ИИ!

🌟 Эта статья показывает, как создать систему, которая позволяет инвесторам принимать решения на основе различных данных. Автор описывает архитектуру, выбор стека технологий, а также интеграцию AI для обработки данных, принятия решений и автоматизации процессов!

🔗 Ссылка: *клик*

NeuroLook

16 Nov, 14:13


🖥 Эта статья развенчивает распространённые мифы о производительности в C#.

🌟 Автор обсуждает ошибочные подходы к оптимизации, которые могут на самом деле ухудшить код или не дать значительного прироста. Например: использование struct вместо class, избегание LINQ и чрезмерное внимание к мелким оптимизациям. Основное внимание уделяется пониманию того, когда и как оптимизировать с учетом реальных требований к производительности.

🔗 Ссылка: *клик*

NeuroLook

15 Nov, 09:03


#ПятничныйКвиз

NeuroLook

14 Nov, 11:14


⚡️ Вышел .NET Aspire Community Toolkit!

.NET Aspire Community Toolkit теперь доступен на NuGet и поддерживает .NET Aspire 9!

Этот набор интеграций и расширений позволяет улучшить работу с .NET Aspire.

Новый инструмент содержит множетсво интеграций для разных платформ и облегчает разработку приложений благодаря примерам, документации и поддержке на GitHub, что делает платформу еще более универсальной и функциональной.

Установка:
dotnet add package CommunityToolkit.Aspire.Hosting.Ollama

📌 Подробности

NeuroLook

13 Nov, 10:45


🖥 Эта статья объясняет паттерн проектирования State, который позволяет объекту изменять свое поведение при смене состояния.

🌟 Паттерн упрощает код за счет делегирования логики в отдельные классы, отвечающие за каждое состояние. Автор также иллюстрирует примеры использования паттерна на практике и его преимущества для поддержки чистого и гибкого кода.

🔗 Ссылка: *клик*

NeuroLook

11 Nov, 13:53


🖥 Эта статья посвящена повышению производительности запросов на чтение в Entity Framework (EF) Core для .NET.

💡 Автор предлагает ряд практических советов, таких как использование индексов, оптимизация выборки данных, применение AsNoTracking для операций без отслеживания изменений, использование ленивой и жадной загрузки, пагинация для больших наборов данных, использование скомпилированных запросов и кэширования. Также рекомендуется анализировать производительность с помощью инструмента BenchmarkDotNet и отслеживать фрагментацию индексов.

🔗 Ссылка: *клик*

NeuroLook

09 Nov, 13:25


🖥 Избегайте IHostedService до .NET 8, если можете, потому что у него есть проблема!

💡 В версиях .NET до 8 методы StartAsync реализаций IHostedService вызывались один за другим во время запуска приложения. Каждый метод StartAsync должен был быть завершен до того, как мог начаться следующий, что могло задержать запуск, если какая-либо служба долго инициализировалась. Представьте, что у вас есть задача, которая выполняется в течение пары минут. Это означает, что приложение не запустится, пока эта задача не будет завершена.

🌟 .NET 8 представляет решение с помощью свойства ServicesStartConcurrently в классе HostOptions. Теперь, когда службы запускаются одновременно, время запуска хоста сводится к длительности метода StartAsync самой медленной службы, а не к совокупному времени всех служб. Примечание: каждая служба запускается только после того, как предыдущая освобождает управление, достигнув своего первого оператора await в методе StartAsync.

🌟 Чтобы позволить следующей службе запускаться как можно быстрее,...

NeuroLook

08 Nov, 10:58


#ПятничныйКвиз

NeuroLook

07 Nov, 14:35


🖥 Эта статья описывает новый менеджер ресурсов (.resx) в Visual Studio, который упрощает процесс локализации приложений

🌟 Этот инструмент позволяет легче управлять строками локализации и ресурсами, облегчая работу с файлами .resx для многоязычных проектов. Он интегрируется в рабочие процессы разработки и помогает быстрее находить и исправлять проблемы с переводом и локализацией. Разработчики получают более эффективные способы работы с ресурсами, что ускоряет их рабочие процессы

🔗 Ссылка: *клик*

NeuroLook

06 Nov, 12:15


🖥 Быстрый совет по .NET:

🌟 Использование Bulk Update в EF Core

💡 Метод ExecuteUpdate позволяет нам определить запрос и выполнить массовое обновление всех сущностей, соответствующих заданным критериям.

🌟 Он был выпущен в EF 7.

Как его использовать?

🌟 Сначала напишите запрос для выбора записей, которые вы хотите обновить.
Затем вызовите метод ExecuteUpdate для полученного IQueryable.

🌟 Метод SetProperty используется для указания свойств, которые мы хотим обновить.

NeuroLook

05 Nov, 10:16


🖥 Эта статья рассказывает о расширении авторизации в ASP.NET Core с использованием преобразования claims (утверждений). Она объясняет, как добавить или изменить claims в токенах пользователя для более гибкого управления правами доступа

🌟 В статье рассматривается интерфейс IClaimsTransformation, который позволяет обогащать claims перед использованием их для авторизации, что полезно в сценариях с ролью RBAC или сложными правами доступа, требующими дополнительной обработки данных из внешних источников

🔗 Читать: *клик*

NeuroLook

03 Nov, 13:42


🖥 Понимание Kafka и Zookeeper: как они улучшают ваше .NET-приложение!

💡 В современную эпоху разработки программного обеспечения потребность в эффективной потоковой передаче данных и обработке данных в реальном времени стала первостепенной. Apache Kafka и Zookeeper стали критически важными компонентами для удовлетворения этих потребностей. В этой статье вы узнаете, что такое Kafka и Zookeeper, как они работают и как они могут значительно улучшить ваши приложения .NET!

🔗 Ссылка: *клик*

NeuroLook

02 Nov, 14:46


🖥 Эта статья рассказывает о том, как следовать принципам чистого кода и соглашениям по написанию кода на C#. В статье освещаются важные аспекты написания поддерживаемого, понятного и эффективного кода, такие как правильное именование, структурирование, комментирование и другое!

🔗 Ссылка: *клик*

NeuroLook

01 Nov, 13:44


#ПятничныйКвиз

NeuroLook

31 Oct, 09:26


🖥 Огромная книга по C#! (160+ глав)

🔗 Скачать: *клик*

NeuroLook

30 Oct, 12:03


🖥 Реализация пользовательского логгера для ASP.NET Core!

💡 Ведение логов — одна из важнейших частей экосистемы .NET, и любой разработчик должен уметь взаимодействовать с ней для диагностики работоспособности приложения. Особенно важно регистрировать ошибки, возникающие в процессе эксплуатации приложений. Для этого ASP.NET Core предлагает встроенный поставщик ведения логов

🌟 В этой статье мы создадим собственного поставщика, который будет зависеть от встроенного, но в нашем поставщике мы будем собирать информацию и сохранять ее в базе данных

🔗 Ссылка: *клик*

NeuroLook

27 Oct, 15:41


🖥 EfCore.SchemaCompare — инструмент для сравнения схем баз данных Entity Framework Core (EF Core). Он позволяет проверять различия между базой данных и миграциями, обеспечивая удобный способ отслеживания изменений в схемах данных

🌟 Этот инструмент может быть полезен для управления версиями баз данных и предотвращения ошибок, связанных с несовпадением структуры данных при разработке приложений на EF Core

▪️GitHub

NeuroLook

26 Oct, 16:14


🖥 Эта статья обсуждает улучшения в библиотеке System.Text.Json в .NET 9!

⭐️ Обновления включают в себя поддержку иерархических объектов IEnumerable<T>, новых атрибутов для настройки сериализации, улучшения производительности и работы с объектами readonly struct. Эти изменения делают библиотеку более мощной и удобной для работы с JSON в .NET приложениях

🔗 Подробнее: *клик*

NeuroLook

25 Oct, 08:41


#ПятничныйКвиз

NeuroLook

18 Oct, 17:03


🖥 Полезная статья, которая описывает паттерн проектирования Iterator в языке C#. Этот паттерн предоставляет способ последовательного доступа к элементам коллекции без раскрытия ее внутренней структуры

🌟 Приведен пример с реализацией интерфейсов IIterator<T> и ICollection<T>, демонстрирующий, как с помощью итератора можно перебрать элементы коллекции (в данном случае список товаров). Статья объясняет, как это упрощает доступ к элементам и улучшает читаемость кода

🔗 Ссылка: *клик*

NeuroLook

18 Oct, 09:12


#ПятничныйКвиз

NeuroLook

16 Oct, 15:55


🖥 В этой статье автор объясняет, почему следует избегать ленивой загрузки (lazy loading) сущностей в ASP.NET приложениях

🌟 Ленивое выполнение запросов может значительно замедлить работу веб-приложений, так как увеличивает количество запросов к базе данных, особенно при сложных связях между сущностями. Это приводит к проблемам с производительностью и ненужным нагрузкам. Автор рекомендует отключать ленивую загрузку и использовать жадную загрузку (eager loading) для более эффективной работы

🔗 Подробнее: *клик*

NeuroLook

16 Oct, 15:55


🎉🎉🎉 Релиз .NET Aspire 9.0 RC1!

Полная информация о выпуске:
https://learn.microsoft.com/dotnet/aspire/whats-new/dotnet-aspire-9-release-candidate-1

NeuroLook

14 Oct, 12:07


🖥 Интересный тред на Reddit, который обсуждает использование "Results Pattern" в .NET. Это подход, который предлагает способ обработки результатов выполнения операций в коде, где вместо использования исключений для ошибок, методы возвращают объект результата, содержащий как успешные данные, так и информацию об ошибке (если она произошла)

🌟 Такой паттерн улучшает читаемость кода, упрощает отладку и снижает вероятность исключений в рантайме, делая код более предсказуемым и надежным

🔗 Читать: *клик*

NeuroLook

13 Oct, 15:48


🎹 Сolorchord.net

Color Chord - это визуализатор хроматической музыки в реальном времени. Основан на работе cnlohr, портирован на C#.NET c добавлением функционала.

Хроматическими по существу называются такие интервалы, которые образуются семью и более квинтовыми шагами, а именно: увеличенная прима (и уменьшённая октава); увеличенная квинта (и уменьшённая кварта); увеличенная секунда (и уменьшённая септима);

🖥 Github

NeuroLook

12 Oct, 08:45


🖥 Autofac — полезный IoC container для .NET.

Он помогает управлять зависимостями между классами, для того, чтобы приложение можно было легко изменять по мере масштабирования и сложности.

Это достигается за счет обработки обычных .NET-классов как компонентов.

Используете ли вы в своей практике IoC-контейнеры (которые позволяют упростить и автоматизировать написание кода), в частности, Autofac?

Github
Docs

NeuroLook

11 Oct, 07:45


#ПятничныйКвиз

NeuroLook

01 Oct, 15:03


🖥 FluentDocker — это библиотека для управления контейнерами Docker через удобный и понятный API на C#. Она предоставляет набор инструментов для управления Docker-контейнерами, Docker Compose и Docker Machine. FluentDocker упрощает выполнение сложных сценариев развертывания, взаимодействие с контейнерами, а также позволяет разрабатывать гибкие и динамические приложения, используя все возможности Docker
🌟 Поддерживаются Windows, Mac и Linux

🔐 Лицензия: Apache 2.0

▪️Github

NeuroLook

29 Sep, 15:24


🖥 CsvHelper — мощная и быстрая библиотека, упрощающая все операции с CSV!

🔍 Функции библиотеки:

🌟 Простое чтение и запись CSV-файлов
🌟 Гибкая настройка маппинга:
🌟 Поддержка разных форматов чисел, разделителей, дат и строк
🌟 Встроенные инструменты для контроля ошибок при чтении и записи
🌟 Высокая производительность
🌟 Простота использования: интуитивный API, минимизирующий код для работы с CSV

💡 Установка:
dotnet add package CsvHelper


💡 Использование:
using CsvHelper;
using System.Globalization;


🔐 Лицензии: MS-PL, Apache

▪️Github

NeuroLook

27 Sep, 07:42


#ПятничныйКвиз

NeuroLook

26 Sep, 17:25


🖥 SQL tips and tricks

Круташий набор лайфхаков и советов по улучшению SQL запросов.

В нём представлены методы повышения читаемости кода и предотвращения распространённых ошибок и рекомендации по оптимизации.

Github

NeuroLook

25 Sep, 17:14


Awesome-Avalonia PRs Welcome

Коллекция полезных библиотек и инструментов для проекта Avalonia включает в себя множество полезных ресурсов.

Если вы работаете с кроссплатформенным XAML-фреймворком для экосистемы .NET, то репозиторий awesome-avalonia заслуживает вашего внимания. Он содержит множество полезной информации и будет отличным дополнением к вашим закладкам.

GitHub