Библиотека шарписта | C#, F#, .NET, ASP.NET
22.9K subscribers
2.26K photos
36 videos
85 files
4.43K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🏔 Эпикфейл: карьера катится к чертям

🤦‍♂️ У всех нас случались провалы в карьере, о которых не хочется распространяться. Неловкий момент на собеседовании, провал проекта из-за глупой ошибки, конфликт с начальством — такие ситуации хочется поскорее забыть. Однако часто именно они дают нам самые ценные уроки и закаляют как профессионалов.

📝 Поделитесь своей историей карьерного провала в нашем новом опросе и расскажите, к чему он привел в итоге. Быть может, эта ошибка позволила вам пересмотреть свой путь и выбрать более подходящую профессию? А может, вы сделали правильные выводы и сейчас добились успеха?

👉 Поделиться историей
1👍1
👩‍💻 Новый TerminalLogger в .NET 8 SDK

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

📌 Для активации используйте опцию --tl (например, dotnet build --tl) или включите его по умолчанию с помощью переменной окружения MSBUILDTERMINALLOGGER, которая может быть установлена в значения true, false или auto.

📌 Новый TerminalLogger можно включить для текущего пользователя:

[Environment]::SetEnvironmentVariable("MSBUILDTERMINALLOGGER", "auto", "User")


В статье также приводится сравнение вывода между стандартным консольным логгером и TerminalLogger, подчеркивая такие преимущества, как группировка предупреждений и ошибок по целевой платформе, улучшенная читаемость благодаря цветам, гиперссылки для основного вывода сборки, отображение времени выполнения для каждой цели и более понятный статус окончательной сборки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍202
Можно ли ускорить рефлексию в .NET? Да, с помощью легковесной генерации кода на основе деревьев выражений.

Выше — пример оптимизации доступа к членам путем кэширования сгенерированных выражений доступа к полям или свойствам.

Это все еще в 100 раз медленнее, чем прямой доступ. Но в 10 раз быстрее, чем обычная рефлексия!

#dotnet #csharp #benchmarks #tip by Сергей Тепляков
12👍61💯1
🤦‍♂️ Есть такое слово «надо», которое отравляет многим жизнь. Надо получить вышку, надо жениться до стольких-то лет и родить детей до стольких-то, надо зарабатывать столько-то и еще много-много «надо».

❤️ Как с этим жить? Попробуйте вместо «надо» поставить «полезно». И если бесполезно — то не надо!

💬 А какое слово отравляет вашу жизнь? Поделитесь в комментариях 👇
👍12🥱74
👨‍💻 При разработке .NET-приложений почти всегда возникает необходимость включить в сборку сторонние ресурсы. Среди них могут быть данные любого типа: от исполняемых файлов до изображений и CSS-файлов.

Также часто возникает необходимость использовать разные ресурсы для разных целевых платформ. В статье автор разбирает два примера настройки MSBuild с разными ресурсами для каждой из выбранных операционных систем (Windows и Linux).

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

<EmbeddedResource Include="Images\linux.png" LogicalName="Images.Banner.png"/> 
<Content Include="run" CopyToOutputDirectory="PreserveNewest"/>
👍131
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🗄️ Базовые запросы SQL: получение записей из БД

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

🔗 Читать статью
🔗 Зеркало
17🥱9
🤔 Microsoft 365 «под капотом» переведут на Rust — соответствующие вакансии появились на официальном портале Microsoft

Рассматривать возможность переноса кода собственных проектов на современные типобезопасные языки в Microsoft начали не позднее 2019 г. В декабре 2019 г. CNews писал о том, что специалисты «Редмондского гиганта» разрабатывают новый язык программирования под кодовым названием Verona, который базируется на Rust.

Непосредственно с Rust в Microsoft начали экспериментировать летом 2019 г., а в ноябре того же года Adam Burch, программист из команды разработчиков Hyper-V, написал в корпоративном блоге о том, что ему поручили переписать на Rust некий низкоуровневый компонент Windows. Он также отметил, что опыт применения Rust для него оказался в целом положительным.

👉 Подробнее о новости
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔18👍4🥰42👏2
😱 Команда Microsoft представила утилиту sudo для Windows

🔐 Кто работал в *nix, знают, что sudo позволяет выполнять привилегированные команды обычным пользователям без необходимости ввода пароля суперпользователя.

⚒️ Sudo для Windows — это новый способ запуска команд с повышенными привилегиями прямо в терминале пользователя. Казалось бы, отличная новость, — операционная система развивается. Но в случае с Microsoft всегда в сообществе происходит переполох.

🤯 Мейнтейнеры оригинального проекта sudo вместе с сообществом решили перенести Word в OpenBSD, при этом повторить путь Microsoft:

🔸Не заботиться о совместимом поведении
🔸Не заботиться о товарных знаках или де-факто товарных знаках
🔸Не спрашивать первоначальные продуктовые команды, все ли в порядке
👍12🤔4😁2
👩‍💻 Советы и рекомендации по работе в Visual Studio

Erik Dahl, Microsoft MVP и автор на Pluralsight, делится опытом кастомизации Visual Studio, которая повышает его продуктивность. Может и вашу повысит 😉

Шрифты
Цвета и темы
Производительность разработчика
Условные точки останова
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥84
🥇 Спортивная мотивация и мотивация в IT, что общего?

Рассказываем, как использовать психологические инструменты из спорта, чтобы увеличить внутреннюю мотивацию и повысить продуктивность.

👉 Читать статью
👉 Зеркало
😁9👍1
🔐 AuthPermissions.AspNetCore (AuthP) — библиотека, которая предоставляет дополнительные функции авторизации и мультитенантности для приложений ASP.NET Core.

👩‍💻 GitHub
📦 NuGet
🛤 Roadmap
🔗 Подробнее
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍5🎉3
James Montemagno, Principal Lead Program Manager для сообщества разработчиков в Microsoft, делится десятью фичами Visual Studio (и не только), которые появились в прошлом году:

1️⃣ Dev Tunnels
2️⃣ HTTP Files & Endpoint Explorer
3️⃣ GitHub Copilot & GitHub Copilot Chat
4️⃣ Git & PR Enhancements
5️⃣ Brace Colorization
6️⃣ Spell Check
7️⃣ Accessibility Checker
8️⃣ Поддержка .NET Aspire
9️⃣ UI Refresh
🔟 C# Dev Kit для VS Code
🔥5👍21
💡Обзор различий между параметрами ref, out и in в C#

1️⃣ ref: передает аргумент по ссылке, позволяя методу читать и изменять значение. Перед передачей переменная должна быть инициализирована. Вы также можете использовать его со ссылочными типами, такими как string или ваш кастомный класс.

2️⃣ out: похож на ref, но переменная не должна быть инициализирована перед передачей. Метод должен присвоить значение перед возвращением.

3️⃣ in: передает аргумент по ссылке, но метод может только читать значение, не изменяя его. Полезно для производительности при передаче больших структур, но не так полезно, если вы передаете ссылочные типы.

#dotnet #csharp #tip by Steven Giesel
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍436👏2🥱2