Библиотека шарписта | C#, F#, .NET, ASP.NET
22.8K 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
💡Литералы коллекций сложнее, чем вы могли бы подумать (в хорошем смысле)

Логика инициализации работает следующим образом: для списков она опирается на новый API CollectionsMarshal и использует span для эффективного заполнения списка.

Это гораздо эффективнее, чем инициализаторы коллекций!

#dotnet #csharp #tip by Сергей Тепляков
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👏18👍112
🧰Azure Migrate application and code assessment tool for .NET

Представлен новый инструмент AppCAT для упрощения миграции локальных .NET-приложений в Azure.

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

dotnet tool install -g --ignore-failed-sources dotnet-appcat


#новости
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63😁2
🤘 Особенности работы в ИТ: информация из первых рук

👨‍💻 Недавно мы проводили среди вас опрос, а теперь делимся интересными выводами обо всех аспектах работы в ИТ.

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

💬 Пишите в комментариях другие темы, о которых вам хотелось бы узнать👇
👍8
При использовании Akka.NET
вы можете случайно изучить pattern matching, effects systems, monads и другие концепции функционального программирования. Не забудьте предупредить своих коллег-разработчиков на C# 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20👍6👾1
🧰 Microsoft.IO.RecyclableMemoryStream — библиотека, обеспечивающая объединение объектов .NET MemoryStream в пул для повышения производительности.

Это замена MemoryStream, которая предлагает улучшенное поведение для систем, критичных к производительности. В частности, она оптимизирована для выполнения следующих задач:

☑️ Устранение аллокаций в куче больших объектов за счет использования пулов буферов
☑️ Сокращение количества полных сборок мусора (gen 2 GC) и уменьшение времени простоя из-за сборки мусора
☑️ Предотвращение утечек памяти за счет ограничения размера пула
☑️ Избежание фрагментации памяти
☑️ Предоставление нескольких способов чтения и записи данных, которые избегают лишних аллокаций памяти
☑️ Обеспечение отладки и логирования
☑️ Предоставление метрик для отслеживания производительности
Install-Package Microsoft.IO.RecyclableMemoryStream

👉 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍294
1️⃣🐝🏎️ The One Billion Row Challenge — версия .NET

Изначально челлендж 1BRC завирусился в сообществе Java-разработчиков, но .NET-разрабы не смогли пройти мимо.

Выше представлены результаты тестов на 10-ядерном процессоре Xeon W iMac Pro 2017 года с тактовой частотой 3 ГГц.
👍222
This media is not supported in your browser
VIEW IN TELEGRAM
🎮 Собираем автономную игру на C# в 2 килобайтах

Как думаете, каким может быть минимальный размер полезного автономного исполняемого файла C#? Могут ли приложения на C# достичь размеров, при которых пользователи будут ощущать их скачивание как мгновенное? Позволит ли это использовать C# там, где он не используется сейчас?

Автор создал автономную игру размером 64 МБ на C#, а затем за 10 шагов сократил размер до ~2 КБ и закодировал содержимое EXE'шника в QR-код.

👉 Читать
👍39😁6
🎉 C# — язык программирования 2023 года по версии TIOBE

Новость была встречена с большим воодушевлением поклонниками C# и .NET и некоторой постоянной дозой скептицизма со стороны разработчиков, работающих в других экосистемах. Хотя обе реакции ожидаемы и совершенно нормальны, есть еще несколько интересных фактов, о которых почти никто не говорит, даже несмотря на то, что индекс TIOBE не указывает на превосходство языка программирования или экосистемы.

👉 Читать
55👍7🔥4
💡 Как улучшить производительность при использовании Entity Framework Core?

HiLo в EF Core — это алгоритм генерации идентификаторов, который помогает управлять выделением уникальных ключей для сущностей в базе данных.

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

🛠 Для использования HiLo в EF Core, необходимо:

1. Настроить контекст базы данных для использования HiLo. Например:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<YourEntity>()
.Property(e => e.Id)
.UseHiLo("YourHiLoSequenceName");
}


2. Настроить базу данных для создания последовательности HiLo. Это делается в методе OnModelCreating контекста базы данных:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasSequence<int>("YourHiLoSequenceName")
.StartsAt(1)
.IncrementsBy(10);
}


В примере создается последовательность YourHiLoSequenceName, которая начинается с 1 и увеличивается на 10. Это означает, что каждый раз, когда приложение запрашивает блок идентификаторов, оно получает диапазон из 10 значений.

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

👉 Подробнее

#dotnet #efcore #tip
👍27🤔32🌚2
Чистая архитектура на примере: гайд для начинающего C#-разработчика.

👉 Читать
👍29🤔1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🍊Подборка лучших статей «Библиотеки программиста» за декабрь: сохраняй в заметки, чтобы не пропустить #самыйсок

🛠️ 17 суперинструментов для разработки фронтенда
🏃 Самоучитель по Go для начинающих: часть 3 + часть 4
 🔟🏢 ТОП-10 российских IT-работодателей
📁💡Где программисту взять идеи для портфолио
🐍📋 F-строки в Python для интерполяции и форматирования строк
🤖 Машинное обучение: что это такое и как оно работает
🌎 ТОП-10: рейтинг лучших зарубежных работодателей в IT
🐍🤖✍️ Документирование кода и проектов на Python с помощью ChatGPT
📈 Обзор рынка труда в ИТ: III квартал 2023 года
🐍⚙️ Python или Rust: что выбрать для анализа данных и машинного обучения
🧠🧩 Зачем айтишнику психолог?
🐍🧫 Создаём игру «Жизнь» Джона Конвея на Python
👨‍🎓 14 бесплатных ресурсов, которые пригодятся каждому разработчику
✍️ Почему отсутствие технической документации убьёт ваш проект?
👨‍💻 Вопросы для подготовки к собеседованию по JavaScript. Часть 1
🎄🎁 10 абсурдных подарков программисту на Новый год
😺🐙 Как разобраться в Git: краткая инструкция для джунов
🔥 12 признаков выгорания или как понять, что вам пора в отпуск
⚙️📕 Ответы на вопросы для самопроверки из книги «Тестирование Дот Ком» Романа Савина
🏦⚠️ Борьба с ошибками разработки ПО в финтехе
👍3
Немного магии JIT от Егора Богатова

🙃 Оба метода работают одинаково, но почему версия _hacker работает быстрее?

#dotnet #benchmarks
🤔22🔥10👍5😁4
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы

#️⃣C#

Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие профильные каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика

💼Каналы с вакансиями

Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
👍4
🚀Метод быстрого марша (Fast Marching Method) на практике: объяснение принципа работы алгоритма с примерами на C#

Алгоритм был разработан для решения краевых задач уравнения Эйконала. Автор статьи использует его для расчёта полей расстояний (Distance Field) и поиска кратчайшего пути.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5🤔1