Библиотека шарписта | 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
✍️ Библиотека программиста» находится в поиске переводчика и автора оригинальных статей

Кто нужен?
● Энтузиасты, которые держат руку на пульсе, читают помимо книг зарубежные техноблоги
● Энтузиасты, которым есть что сказать

Тематика
● Java, C#
● В четырех случаях из пяти вы предлагаете тему статьи

Объем
● От 7 до 15 тыс. знаков без учета кода
● 3-4 статьи в месяц

Оплата
● 4к руб. за статью
● Перевод — 250 руб. за 1000 символов без учета кода
● В месяц выйдет ~16к руб.
● Работаем с самозанятыми (компенсируем налог), ИП

Тестовое задание
Автор: написать статью по Java или C#
Переводчик: перевести статью или часть статьи по Java или C#
● Тема: на ваше усмотрение
● ЦА: начинающие/джуны
● Объем: 5-7к символов без пробелов
● Не оплачивается

Не хочу выполнять тестовое задание
Если у вас есть опубликованные статьи, пришлите ссылки на них.

Я пишу «так себе», что делать?
Чтобы написать статью, которую не стыдно опубликовать, достаточно овладеть инфостилем. У нас есть бесплатный курс для начинающих копирайтеров «Статьи для IT: как объяснять и распространять значимые идеи». Время прохождения курса: 1-2 недели.

Где публикуется статья?

Статья публикуется на сайте proglib.io, в группе ВК (425к подписчиков), на канале «Библиотека джависта» (24к подписчиков) и в «Библиотека шарписта» (20к подписчиков).

Вакансию закроем 15 января. У вас есть время пройти курс и написать тестовое задание.

➡️ Заполнить анкету ⬅️
🥱7👍4
Dependency Injection контейнеры .NET, допускающие полиморфное поведение

При разработке .NET-приложения с DI и сервисами от контейнера может потребоваться поддержка полиморфного поведения. Когда, например, у интерфейса есть несколько реализаций, и их нужно грамотно расфасовать по правильным конструкторам так, чтобы всё работало из коробки.

Однако стандартный DI контейнер платформы долгое время не давал этой возможности. Сеньор .NET-разработчик Степан Минин рассмотрел альтернативы для решения этой задачи на тот случай, если вы ещё не успели переехать на .NET 8 или работаете в каком-нибудь Иннотехе, где в наличии только зеркало NuGet-пакетов, выпущенных до начала 2022 года.

👉 Читать
👍16🌚1
💡Литералы коллекций сложнее, чем вы могли бы подумать (в хорошем смысле)

Логика инициализации работает следующим образом: для списков она опирается на новый 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