#чтопроисходит
📌SpbDotNet #90
🌐 Михаил Руковишников | Фича-флаги. Практический пример реализации
🌐 Николай Пьяников | Pure.DI
📌DotNext 2022 Autumn: Architecture
🌐 Денис Цветцих | Rich Model и Anemic Model: враги или друзья
🌐 Андрей Парамонов, Антон Оникийчук | MediatR не нужен
🌐 Дмитрий Нестерук | Интересные подходы в реализации паттернов проектирования
🌐 Дмитрий Таболич | Думай как архитектор: майндшифт инженера
🌐 Андрей Цветцих | Zero-downtime deployment и базы данных
📌DotNext 2022 Autumn: Best practices
🌐 Александр Кузнецов | Введение в Microsoft SignalR
🌐 Игорь Шаталкин | Загадочный EF Core, или Как написать свое расширение
🌐 Алексей Авдеев (PVS-Studio) | Уязвимость регулярных выражений: теория и практика ReDoS-атак
🌐 Евгений Пешков | Алгоритмы троттлинга запросов
🌐 Игорь Лабутин | Что нового в .NET 7 и C# 11
🌐 Роман Неволин | Пишем приложения, которые не ломаются в продакшене
🌐 Гурий Самарин | Тестируем код, взаимодействующий с базой данных
🌐 Олег Сафонов | Пишем код, когда пишем код: source generator'ы
🌐 Анатолий Жмур | Пиши, как тиктокер, а не как дед. Новые конструкции языка C# в бою
🌐 Вагиф Абилов | Распределенный трейсинг OpenTelemetry вместо логирования всего подряд
📌SpbDotNet #90
📌DotNext 2022 Autumn: Architecture
📌DotNext 2022 Autumn: Best practices
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤4🤩3
☝️📺 Какой сетап у вас дома/на работе (можно выбрать два варианта)?
Anonymous Poll
36%
1
13%
2
50%
3
6%
4
8%
5
2%
6
3%
Другой (напишу в комментарии)
❤5👍3
Начать работу с подходом Entity Framework Database First с помощью CLI достаточно просто, но еще проще использовать расширение Visual Studio EF Core Power Tools.
1️⃣ Создаем простую БД
2️⃣ Используем модуль Reverse engineer в EF Core Power Tools
3️⃣ Включаем ведение логов в окне Debug
4️⃣ Выполняем простой запрос
1️⃣ Создаем простую БД
2️⃣ Используем модуль Reverse engineer в EF Core Power Tools
3️⃣ Включаем ведение логов в окне Debug
4️⃣ Выполняем простой запрос
.NET Blog
Entity Framework DB First quick start using EF Core Power Tools
It’s simple enough to get started with the Entity Framework Database First approach using the command line, but it’s even … Continue reading Entity Framework DB First quick start using EF Core Power Tools
❤9👍1
❗Ищем копирайтера
Нам нужен человек, который:
— Любит IT и русский язык.
— Понимает разницу между бэкендом и фронтендом, OWASP и MISRA, функциональным программированием и ООП, микроконтроллером и миникомпьютером, UX и UI.
— Имеет опыт работы от 1 года.
— Будет плюсом, если вы программируете на каком-нибудь языке на уровне стажера/джуна.
Что нужно делать:
— Готовить подборки, ТОПы книг, ютуб- и телеграм-каналов по языкам программирования.
— Делать расшифровки топовых Ютуб-роликов по теме программирования и оформлять их в виде статей.
— Готовить новостные заметки.
— Актуализировать старые статьи.
— Брать интервью у экспертов. Мы поможем с поиском экспертов.
— Иногда писать небольшие рекламные посты в телеграм.
— Писать статьи с кодом, переводить статьи (по желанию, оплачивается отдельно).
Можно использовать нейронки?
— Да, главное, чтобы материал получился интересный.
Условия:
— Белая зарплата: 50 000 руб.
— Возможность работать удаленно.
👉Присылайте свои резюме: hello@proglib.io
Нам нужен человек, который:
— Любит IT и русский язык.
— Понимает разницу между бэкендом и фронтендом, OWASP и MISRA, функциональным программированием и ООП, микроконтроллером и миникомпьютером, UX и UI.
— Имеет опыт работы от 1 года.
— Будет плюсом, если вы программируете на каком-нибудь языке на уровне стажера/джуна.
Что нужно делать:
— Готовить подборки, ТОПы книг, ютуб- и телеграм-каналов по языкам программирования.
— Делать расшифровки топовых Ютуб-роликов по теме программирования и оформлять их в виде статей.
— Готовить новостные заметки.
— Актуализировать старые статьи.
— Брать интервью у экспертов. Мы поможем с поиском экспертов.
— Иногда писать небольшие рекламные посты в телеграм.
— Писать статьи с кодом, переводить статьи (по желанию, оплачивается отдельно).
Можно использовать нейронки?
— Да, главное, чтобы материал получился интересный.
Условия:
— Белая зарплата: 50 000 руб.
— Возможность работать удаленно.
👉Присылайте свои резюме: hello@proglib.io
❤4
Top_10_Performance_Optimization_Tips_for_C#_Developers_by_Alex_Maher.pdf
787.5 KB
🔥10 советов по оптимизации производительности для C#-разработчиков
Приводим их в оригинале, чтобы не упустить мысль автора:
1. Avoid Boxing and Unboxing
2. Use StringBuilder for String Concatenation
3. Leverage C#’s Lazy Initialization
4. Optimize Loops
5. Use Async/Await for I/O Operations
6. Avoid Exceptions in Normal Program Flow
7. Prefer ValueTypes Over ReferenceTypes
8. Cache Results of Expensive Computations
9. Be Mindful of Capturing in Lambdas
10. Use the ‘in’ Keyword for Read-Only Reference Parameters
🔗 Читать (pdf-файл для тех, у кого Medium не открывается)
Приводим их в оригинале, чтобы не упустить мысль автора:
1. Avoid Boxing and Unboxing
2. Use StringBuilder for String Concatenation
3. Leverage C#’s Lazy Initialization
4. Optimize Loops
5. Use Async/Await for I/O Operations
6. Avoid Exceptions in Normal Program Flow
7. Prefer ValueTypes Over ReferenceTypes
8. Cache Results of Expensive Computations
9. Be Mindful of Capturing in Lambdas
10. Use the ‘in’ Keyword for Read-Only Reference Parameters
🔗 Читать (pdf-файл для тех, у кого Medium не открывается)
👍14🤔3🌚1
#холивар
🤔Что самое трудное в работе программиста? Правильно, выдумывать имена для переменных.
💬Как вы считаете, насколько важен хороший нейминг для сущностей (функций/переменных/констант/классов/модулей) в вашем коде? И есть ли у вас или в вашей команде общепринятые правила или лучшие практики, которым вы следуете при нейминге?
Если да, поделитесь опытом👇
🤔Что самое трудное в работе программиста? Правильно, выдумывать имена для переменных.
💬Как вы считаете, насколько важен хороший нейминг для сущностей (функций/переменных/констант/классов/модулей) в вашем коде? И есть ли у вас или в вашей команде общепринятые правила или лучшие практики, которым вы следуете при нейминге?
Если да, поделитесь опытом👇
👍13😁3👏1
Истории из трудовых будней миграции .NET
Jimmy Bogard (разработчик, архитектор, консультант, автор, блоггер, мейнтейнер open source проектов и просто хороший парень) за последний год участвовал в масштабной модернизации, переходя как с .NET 4.8 на .NET 6, так и с on-premise в Azure.
В качестве общей стратегии модернизации любой кодовой базы использовался паттерн Strangler Fig, —постепенный переход от устаревшего приложения к современному.
На практике, естественно, возникло множество мелких решений и препятствий. О них и пойдет речь в серии статей. Следите за обновлениями:
🔸Введение
🔸Разбор текущей системы по полкам
Jimmy Bogard (разработчик, архитектор, консультант, автор, блоггер, мейнтейнер open source проектов и просто хороший парень) за последний год участвовал в масштабной модернизации, переходя как с .NET 4.8 на .NET 6, так и с on-premise в Azure.
В качестве общей стратегии модернизации любой кодовой базы использовался паттерн Strangler Fig, —постепенный переход от устаревшего приложения к современному.
На практике, естественно, возникло множество мелких решений и препятствий. О них и пойдет речь в серии статей. Следите за обновлениями:
🔸Введение
🔸Разбор текущей системы по полкам
👍10🥰1
#dotnet #csharp #codemaze #матчасть
📌 Подборка за две недели на Code Maze:
🔹Предотвращение SQL-инъекций с помощью EF Core, Dapper и ADO.NET: как защитить ваши приложения.
🔹Использование нескольких фреймворков в проекте .NET: как объединить преимущества нескольких фреймворков.
🔹Как устранить ошибку HTTP 500.31 Failed to Load ASP.NET Core Runtime Error: о причинах проблемы и способах ее устранения.
🔹Как мокать IOptions в ASP.NET Core: простой подход, который сделает ваши тесты подробными и независимыми от реальных конфигураций.
🔹API Key Authentication в ASP.NET Core: имплементации популярного способа защиты эндпоинтов API.
📌 Подборка за две недели на Code Maze:
🔹Предотвращение SQL-инъекций с помощью EF Core, Dapper и ADO.NET: как защитить ваши приложения.
🔹Использование нескольких фреймворков в проекте .NET: как объединить преимущества нескольких фреймворков.
🔹Как устранить ошибку HTTP 500.31 Failed to Load ASP.NET Core Runtime Error: о причинах проблемы и способах ее устранения.
🔹Как мокать IOptions в ASP.NET Core: простой подход, который сделает ваши тесты подробными и независимыми от реальных конфигураций.
🔹API Key Authentication в ASP.NET Core: имплементации популярного способа защиты эндпоинтов API.
👍11❤1
Апгрейд и миграция с Xamarin.Forms на .NET MAUI: свежее руководство для C#-разработчика
James Montemagno, технический PM для сообщества разработчиков в Microsoft, делится опытом использования встроенного в VS 2022 .NET Upgrade Assistant для миграции проекта на .NET MAUI.
Вас ждет пошаговый разбор всех этапов: кастомные шрифты, NuGet-пакеты, Xamarin.Essentials, Xamarin Community Toolkit, изображения и многое другое.
00:00 - Intro
01:00 - Migration Considerations for Xamarin.Forms
03:00 - App & Code Walkthrough
03:50 - Install & Use .NET Upgrade Assistant
09:15 - Fixing Complication Errors (differences between Xamarin.Forms and .NET MAUI)
12:45 - Merge code into new .NET MAUI Application
19:00 - Fonts, Images, and other Resources
23:30 - Platform Specific Code & Dependency Service/Injection
28:08 - Documentation overview for Migration
29:25 - Wrap-up and final thoughts
📺 Смотреть
James Montemagno, технический PM для сообщества разработчиков в Microsoft, делится опытом использования встроенного в VS 2022 .NET Upgrade Assistant для миграции проекта на .NET MAUI.
Вас ждет пошаговый разбор всех этапов: кастомные шрифты, NuGet-пакеты, Xamarin.Essentials, Xamarin Community Toolkit, изображения и многое другое.
00:00 - Intro
01:00 - Migration Considerations for Xamarin.Forms
03:00 - App & Code Walkthrough
03:50 - Install & Use .NET Upgrade Assistant
09:15 - Fixing Complication Errors (differences between Xamarin.Forms and .NET MAUI)
12:45 - Merge code into new .NET MAUI Application
19:00 - Fonts, Images, and other Resources
23:30 - Platform Specific Code & Dependency Service/Injection
28:08 - Documentation overview for Migration
29:25 - Wrap-up and final thoughts
📺 Смотреть
YouTube
Migrate to .NET MAUI from Xamarin.Forms Faster Than Ever - .NET Upgrade Assistant for Visual Studio
The time is now to start migrating, upgrading, and updating your Xamairn & Xamarin.Forms apps to .NET & .NET MAUI! It has also never been easier to make this transition thanks to the new .NET Upgrade Assistant built directly into Visual Studio 2022. I set…
👍7🔥2
Мини-серия статей о важных изменениях Blazor в .NET 8:
🔸Server Side Rendering
🔸Интерактивные компоненты с использованием Blazor Server
🔸Интерактивные компоненты с использованием Blazor WASM
🔸Обработка пользовательского ввода с помощью форм
🔸Server Side Rendering
🔸Интерактивные компоненты с использованием Blazor Server
🔸Интерактивные компоненты с использованием Blazor WASM
🔸Обработка пользовательского ввода с помощью форм
jonhilton.net
Exploring Blazor Changes in .NET 8 - Server Side Rendering (SSR)
Blazor without Web Assembly or Socket Connections...
👍7❤3🔥1
Паттерн Weak Event в C#
События в C# — это мощный механизм разделения компонентов и реализации модели pub/sub. Но у них есть недостаток: издатель имеет strong ссылку на подписчика, и это может вызвать утечки памяти (например, подписчик забывает отписаться от события). Паттерн Weak Event — один из способов избежать утечек памяти в системах, основанных на событиях. О нем и пойдет речь в статье.
🔗 Читать
События в C# — это мощный механизм разделения компонентов и реализации модели pub/sub. Но у них есть недостаток: издатель имеет strong ссылку на подписчика, и это может вызвать утечки памяти (например, подписчик забывает отписаться от события). Паттерн Weak Event — один из способов избежать утечек памяти в системах, основанных на событиях. О нем и пойдет речь в статье.
🔗 Читать
👍48❤3🤔2
This media is not supported in your browser
VIEW IN TELEGRAM
🤩Попрощайтесь с головной болью отладки! Когда возникают ошибки и исключения, Copilot идет на помощь.
В марте этого года команда Microsoft анонсировала чат GitHub Copilot для Visual Studio 2022. Благодаря чату Copilot вышел за рамки завершения кода, предлагая углубленный анализ и объяснения того, как работает код.
Теперь разработчики инструмента продвинули глубокую интеграцию с Visual Studio на шаг дальше. С использованием Interactive Code Assistant, вы можете легко совершенствовать свой код с помощью Copilot Chat, даже не выходя из окна редактора.
Начните использовать функцию ask Copilot в любом месте файла кода, где вы хотите работать: задавайте вопросы и просматривайте ответы в коде, к которому они относятся.
🔗 Подробнее
В марте этого года команда Microsoft анонсировала чат GitHub Copilot для Visual Studio 2022. Благодаря чату Copilot вышел за рамки завершения кода, предлагая углубленный анализ и объяснения того, как работает код.
Теперь разработчики инструмента продвинули глубокую интеграцию с Visual Studio на шаг дальше. С использованием Interactive Code Assistant, вы можете легко совершенствовать свой код с помощью Copilot Chat, даже не выходя из окна редактора.
Начните использовать функцию ask Copilot в любом месте файла кода, где вы хотите работать: задавайте вопросы и просматривайте ответы в коде, к которому они относятся.
🔗 Подробнее
👍15🥱7❤2
Feature Flags в .NET: от простого к сложному
Feature flags — это механизм, который позволяет включать или выключать определенные части функциональности приложения в зависимости от конфигурации или условий выполнения. Наиболее полезные из них уже реализованы — вам просто нужно их подключить, а экосистема .NET только поможет вам в этом. Узнайте, как именно из статьи Microsoft MVP Tim Deschryver.
В следующей статье автор погружается в реализацию фильтра эндпоинтов, который проверяет, включен ли Feature Flag. Благодаря описанному подходу обработчики эндпоинтов Minimal API остаются чистыми и компактными, а логика Feature Flag может использоваться повторно.
Feature flags — это механизм, который позволяет включать или выключать определенные части функциональности приложения в зависимости от конфигурации или условий выполнения. Наиболее полезные из них уже реализованы — вам просто нужно их подключить, а экосистема .NET только поможет вам в этом. Узнайте, как именно из статьи Microsoft MVP Tim Deschryver.
В следующей статье автор погружается в реализацию фильтра эндпоинтов, который проверяет, включен ли Feature Flag. Благодаря описанному подходу обработчики эндпоинтов Minimal API остаются чистыми и компактными, а логика Feature Flag может использоваться повторно.
timdeschryver.dev
Feature Flags in .NET, from simple to more advanced
Let's implement a naive feature flag, refactor the code with the .NET Feature Management API, and to top things off, the Azure Feature Management Feature is thrown into the mix to tweak the feature flags dynamically without having an impact on the users.
👍15❤1
6_ASP_NET_Core_Open_Source_Projects_to_Boost_Your_Practical_Skills.pdf
920.8 KB
6 проектов ASP.NET с открытым исходным кодом для повышения ваших практических навыков:
1⃣ Clean Architecture
2⃣ Equinox Project
3⃣ Architecture
4⃣ .NET Core REST API CQRS
5⃣ Practical ASPNET Core
6⃣ Awesome .NET Core
🔗 Читать (pdf-файл для тех, у кого не открывается Medium)
1⃣ Clean Architecture
2⃣ Equinox Project
3⃣ Architecture
4⃣ .NET Core REST API CQRS
5⃣ Practical ASPNET Core
6⃣ Awesome .NET Core
🔗 Читать (pdf-файл для тех, у кого не открывается Medium)
❤24👍6
Ник Чапсас делится опытом использования одной из самых недооцененных функций HttpClient в .NET, называемую DelegatingHandler.
📺Смотреть
📺Смотреть
YouTube
The Secret HttpClient Feature You Need To Use in .NET
Use code DDD20 and get 20% off the brand new Domain-Driven Design course on Dometrain: https://dometrain.com/course/getting-started-domain-driven-design-ddd
Become a Patreon and get source code access: https://www.patreon.com/nickchapsas
Hello, everybody…
Become a Patreon and get source code access: https://www.patreon.com/nickchapsas
Hello, everybody…
👍10🥱4❤1
🔄 Правильный рефакторинг в C#: улучшаем читабельность кода с помощью высокой связности
В этой статье мы разберём понятие высокой связности (high cohesion) и пример соответствующего рефакторинга кода.
🔗 Читать статью
🔗 Зеркало
В этой статье мы разберём понятие высокой связности (high cohesion) и пример соответствующего рефакторинга кода.
🔗 Читать статью
🔗 Зеркало
👍6❤1