🤔 Зачем писать свой велосипед? Возьми готовую либу и пользуйся! За тебя уже все написали
Вы наверняка слышали эту фразу от других разработчиков. Наличие инструмента/проекта/библиотеки для любой задачи — это одновременно как достоинство, так и недостаток современной разработки.
С одной стороны, они облегчают жизнь разработчикам и целым командам, а с другой — могут стать источником больших проблем: размер и скорость работы приложения, поддерживаемость кода, время на изучение библиотеки, баги, уязвимости и многое другое.
💬 А как в вашей команде обстоят дела со сторонними библиотеками? По каким критериям вы принимаете решение о внедрении их в проект?
#холивар
Вы наверняка слышали эту фразу от других разработчиков. Наличие инструмента/проекта/библиотеки для любой задачи — это одновременно как достоинство, так и недостаток современной разработки.
С одной стороны, они облегчают жизнь разработчикам и целым командам, а с другой — могут стать источником больших проблем: размер и скорость работы приложения, поддерживаемость кода, время на изучение библиотеки, баги, уязвимости и многое другое.
💬 А как в вашей команде обстоят дела со сторонними библиотеками? По каким критериям вы принимаете решение о внедрении их в проект?
#холивар
👍1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍3❤1
mskdotnet_meetup_55_обобщенная_математика.pdf
11.7 MB
«Как в C# 11 появилась обобщённая математика?» — доклад ведущего C#-разработчика Степана Минина на MskDotNet Meetup #55
Степан с нуля рассмотрел концепцию обобщённой математики, как она выглядит в C# 11, как могла выглядеть в предыдущих версиях языка и почему вообще появилась.
📺 Смотреть
Степан с нуля рассмотрел концепцию обобщённой математики, как она выглядит в C# 11, как могла выглядеть в предыдущих версиях языка и почему вообще появилась.
📺 Смотреть
👍7❤2
💡 В ASP.NET Core 8 завезли middleware для поддержки тайм-аутов запросов
Новая возможность позволяет устанавливать тайм-ауты запросов на отдельных эндпоинтах, контроллерах или динамически для каждого запроса.
#aspnet #tip by Nabi Karampoor
Новая возможность позволяет устанавливать тайм-ауты запросов на отдельных эндпоинтах, контроллерах или динамически для каждого запроса.
#aspnet #tip by Nabi Karampoor
👍51🔥20❤1
💬 Подкаст RadioDotNet: Async practices, breaking changes, time provider
😎О борьбе с ненадежными тестами с помощью TimeProvider и ITimer, асинхронном программировании, изменении правил совместимости, книге «Blazor в действии» и других интересных темах на русском.
⏯️ YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка
#подкасты
😎О борьбе с ненадежными тестами с помощью TimeProvider и ITimer, асинхронном программировании, изменении правил совместимости, книге «Blazor в действии» и других интересных темах на русском.
⏯️ YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка
#подкасты
❤12👍4
Давайте пофантазируем! Если отмотать время назад и вернуться к моменту, когда вы только выбрали C#/.NET для дальнейшего изучения и построения карьеры, ваше итоговое решение могло измениться?
💬 Вы выбрали бы C#? Может быть Java? Или Go/C/C++/...?
👍 — C#
🤔 — другой ЯП
#холивар
💬 Вы выбрали бы C#? Может быть Java? Или Go/C/C++/...?
👍 — C#
🤔 — другой ЯП
#холивар
👍324🤔47
🔧 Все, что вам нужно знать о конфигурации и управлении секретами в .NET
Конфигурация .NET кардинально изменилась с момента появления .NET Core. Времена использования нескольких файлов
Однако гибкая система также может быть сложной системой. О том, как работает система конфигурации .NET и как ее можно оптимально использовать, читайте в руководстве.
📌 И не забудьте сохранить этот большой труд в заметки
Конфигурация .NET кардинально изменилась с момента появления .NET Core. Времена использования нескольких файлов
Web.config
прошли, теперь у нас гораздо более гибкая система. Однако гибкая система также может быть сложной системой. О том, как работает система конфигурации .NET и как ее можно оптимально использовать, читайте в руководстве.
📌 И не забудьте сохранить этот большой труд в заметки
❤21🌚2
🤦♂️ Российская ОС — это не какое-то далекое будущее. Это настоящее!
Если у вас вдруг появится задача развернуть проект под Astra Linux, придется немного потанцевать с бубном. «Можно ведь просто использовать Docker» — скажете вы. Таки да, но бывают особенные случаи вроде этого👇
👉 Читать
Если у вас вдруг появится задача развернуть проект под Astra Linux, придется немного потанцевать с бубном. «Можно ведь просто использовать Docker» — скажете вы. Таки да, но бывают особенные случаи вроде этого👇
👉 Читать
Хабр
Развертывание программного комплекса на Asp.net на российских ОС
Введение В России все больше пользователей и организаций используют российские Linux системы. Но при подготовке пакетов для комплексных решений на этих системах могут возникнуть сложности, связанные с...
😁25👍6🤔1🥱1
«Метрики в .NET на примере OpenTelemetry и Prometheus» — доклад Александра Пугача из Лаборатории Касперского с DotNext 2023
В современной разработке observable (наблюдаемость) системы — важная часть. Постоянный мониторинг сервисов в реальном времени позволяет гораздо больше узнать о том, чем на самом деле они занимаются. Сейчас существует множество инструментов, технологий и подходов для организации наблюдаемости со своими свои достоинства и недостатки.
OpenTelemetry устанавливает общие стандарты для логов, метрик и трейсов, которые поддерживают множество платформ, что позволяет использовать все их преимущества. В докладе Александр поделился опытом по работе с метриками в .NET на примере, покажет примеры кода и демо по сбору метрики с приложения в Prometheus и визуализацией в Grafana.
Вы узнаете про OpenTelemetry в целом и особенности API в .NET, как добавлять метрики в свои приложения и какие есть варианты сбора метрик.
📺 Смотреть
В современной разработке observable (наблюдаемость) системы — важная часть. Постоянный мониторинг сервисов в реальном времени позволяет гораздо больше узнать о том, чем на самом деле они занимаются. Сейчас существует множество инструментов, технологий и подходов для организации наблюдаемости со своими свои достоинства и недостатки.
OpenTelemetry устанавливает общие стандарты для логов, метрик и трейсов, которые поддерживают множество платформ, что позволяет использовать все их преимущества. В докладе Александр поделился опытом по работе с метриками в .NET на примере, покажет примеры кода и демо по сбору метрики с приложения в Prometheus и визуализацией в Grafana.
Вы узнаете про OpenTelemetry в целом и особенности API в .NET, как добавлять метрики в свои приложения и какие есть варианты сбора метрик.
📺 Смотреть
👍12🔥1
🤩 Кроме всех докладов с недавней конференции .NET Conf 2023, на официальном канале dotnet появилось много интересного:
✹ Hack Together .NET 8
✹ .NET Conf 2023 + бонус
✹ C# for Beginners
✹ .NET for Beginners
✹ .NET Package Management with NuGet for Beginners
✹ C# and .NET Development in VS Code for Beginners
✹ C# and .NET Development with Visual Studio for Beginners
✹ Blazor Hybrid for Beginners
✹ Machine Learning and AI with .NET for Beginners
✹ Upgrade Applications with .NET Modernization for Beginners
✹ Learn Live: Get started with C#
✹ Hack Together .NET 8
✹ .NET Conf 2023 + бонус
✹ C# for Beginners
✹ .NET for Beginners
✹ .NET Package Management with NuGet for Beginners
✹ C# and .NET Development in VS Code for Beginners
✹ C# and .NET Development with Visual Studio for Beginners
✹ Blazor Hybrid for Beginners
✹ Machine Learning and AI with .NET for Beginners
✹ Upgrade Applications with .NET Modernization for Beginners
✹ Learn Live: Get started with C#
👍15❤1
Memory alignment of doubles in C#.pdf
851.9 KB
⚙ Как выравниваются массивы чисел типа double в .NET
Автор изначально заметил, что в 64-битной среде .NET объекты выравниваются по 8-байтной границе, несмотря на 32-битный заголовок. Это наблюдение привело к обсуждению выравнивания массивов double.
Вас ждет гайд для с пикантными подробностями о контексте выделения, поддельных объектах и коде C#, который определенно не стоит деплоить в прод.
👉 Читайте на Medium или в PDF
Автор изначально заметил, что в 64-битной среде .NET объекты выравниваются по 8-байтной границе, несмотря на 32-битный заголовок. Это наблюдение привело к обсуждению выравнивания массивов double.
Вас ждет гайд для с пикантными подробностями о контексте выделения, поддельных объектах и коде C#, который определенно не стоит деплоить в прод.
👉 Читайте на Medium или в PDF
👍10
💡 Не храните
Таким образом, вы можете гарантировать, что каждый поток получит свой собственный экземпляр объекта
📌 Это считается лучшей практикой по нескольким причинам:
✔️ Безопасность потоков: получение
✔️ Управление памятью:
✔️ Тестируемость: получение
#dotnet #aspnet #tip by Nabi Karampoor
HttpContext
в поле, вместо этого извлекайте его из IHttpContextAccessor
всякий раз, когда это необходимо, и используйте его только в области действия метода или блока кода, который его требует.Таким образом, вы можете гарантировать, что каждый поток получит свой собственный экземпляр объекта
HttpContext
и что он не будет общим для потоков.📌 Это считается лучшей практикой по нескольким причинам:
✔️ Безопасность потоков: получение
HttpContext
из IHttpContextAccessor
при необходимости гарантирует, что каждый поток имеет свой собственный экземпляр.✔️ Управление памятью:
HttpContext
имеет большое количество связанных с ним объектов и ресурсов, поэтому получение HttpContext
только при необходимости позволяет избежать ненужного использования памяти.✔️ Тестируемость: получение
HttpContext
с помощью IHttpContextAccessor
упрощает написание модульных тестов. #dotnet #aspnet #tip by Nabi Karampoor
👍56🤔7🥱4❤1
🔥 -50% на курс «Алгоритмы и структуры данных»
😲 В честь черной пятницы курс «Алгоритмы и структуры данных» со скидкой 50% – https://proglib.io/w/48357c58
17 990 рублей35 990 рублей до 30 ноября
🐣 На курсе вы на практике познакомитесь со сложными алгоритмами и научитесь писать более короткий и эффективный код. И сможете подготовиться к собеседованию крупную IT-компанию.
Что еще вас ждет на курсе:
▪️ 150 практических заданий и 47 видеолекций;
▪️ Бессрочный доступ ко всем материалам курса;
▪️ Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.
👉 А если вы сомневаетесь подходит ли вам курс, то вы можете начать изучение с бесплатных вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Переходите на сайт и оставляйте заявку на вводные занятия – https://proglib.io/w/48357c58
До встречи на обучении 🙌
😲 В честь черной пятницы курс «Алгоритмы и структуры данных» со скидкой 50% – https://proglib.io/w/48357c58
17 990 рублей
🐣 На курсе вы на практике познакомитесь со сложными алгоритмами и научитесь писать более короткий и эффективный код. И сможете подготовиться к собеседованию крупную IT-компанию.
Что еще вас ждет на курсе:
▪️ 150 практических заданий и 47 видеолекций;
▪️ Бессрочный доступ ко всем материалам курса;
▪️ Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы.
👉 А если вы сомневаетесь подходит ли вам курс, то вы можете начать изучение с бесплатных вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
Переходите на сайт и оставляйте заявку на вводные занятия – https://proglib.io/w/48357c58
До встречи на обучении 🙌
🥱7
🛠️ Пополняемая серия статей от JetBrains про возможности C# 12 и то, как ReSharper и Rider упрощают их внедрение в вашу кодовую базу:
1️⃣ Primary Constructors
2️⃣ Interceptors
3️⃣ Alias Any Type
4️⃣ Collection Expressions
#csharp12
1️⃣ Primary Constructors
2️⃣ Interceptors
3️⃣ Alias Any Type
4️⃣ Collection Expressions
#csharp12
👍7🔥4
🤩 Обновленные примеры приложений, разработанных с использованием .NET MAUI:
#dotnet8 #maui
•
Point of Sale•
Weather '21 App•
Calculator App•
.NET Podcasts App•
Navigation Samples•
Beginner's Series Task App Sample#dotnet8 #maui
🥰22👍11👏2❤🔥1🔥1
У нас появились новые каналы по C#, в которых мы готовимся к собеседованиям и проверяем себя на практических задачках 🚀
Подписывайтесь:
👉Библиотека собеса по C# — тут мы готовимся к интервью
👉Библиотека задач по C# — тут решаем задачи, проходим тесты и изучаем код
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19😁13👏2🥱1
❗️Мы запускаем серию исследований — и вы можете нам в этом помочь!
«Библиотека программиста» выпустит несколько статей, в которых мы проведем полноценные исследования.
Помогите нам выбрать интересные темы: может быть, вы давно хотели узнать, как изменилась зарплата у тех, кто релоцировался? Или гадаете, сколько лет нужно, чтобы стать миддлом?
Присылайте интересующие вас темы в комментарии — интересные мы возьмем в работу и поделимся с вами результатами 💙
«Библиотека программиста» выпустит несколько статей, в которых мы проведем полноценные исследования.
Помогите нам выбрать интересные темы: может быть, вы давно хотели узнать, как изменилась зарплата у тех, кто релоцировался? Или гадаете, сколько лет нужно, чтобы стать миддлом?
Присылайте интересующие вас темы в комментарии — интересные мы возьмем в работу и поделимся с вами результатами 💙
👍9❤3🔥1