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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
Разраб предложил создать HTTP-статус имени Олега Тинькова (признан иноагентом Министерством юстиции РФ) под названием 267 Doubtful But Okay, который означает, что запрос имеет сомнительную семантику, но он принят и обработан. Код статуса 267 выбран по году рождения Олега (1967 год).

💬 Как вам идея?

🤔 — сомнительно, но окэй
👍 — давно пора

#холивар
🤔257👍123🥱15😁10🔥4
🆕 Эйджизм в IT: как возраст влияет на трудоустройство

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

🔗Подробнее
😢20🥱3👍2🤔2👾1
🤯 Issue ASP.NET на GitHub под названием Epic: Eventing Framework в .NET 9 вызвала шквал критики по обычным причинам: Microsoft активно продвигает собственную экосистему .NET OSS и т. д. и т. п.

🤦‍♂️ По мнению автора Akka.NET и многих других инструментов Aaron Stannard сообщество .NET в контексте этой дискуссии разделилось на две группы: те, кто топит за разнообразие опенсорсных инструментов, и те, кто на стороне единого стандарта для всех задач.

👀 Естественно, вторая группа верит в то, что только решения от Microsoft могут быть «безопасными» и качественными. Это ограничивает разработчиков, ведет к уменьшению инноваций и творческого подхода в экосистеме .NET.

🤔 Посмотрим, к чему это приведет...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔542
💡 Знаете ли вы, что TextWriter.WriteWriteAsync) в .NET Core теперь принимает StringBuilder?

Это полезная перегрузка, например, для реализации логирования или чего-то подобного, когда сообщение создается с использованием переиспользуемого экземпляра StringBuilder.

#csharp #dotnet #tip by Сергей Тепляков
👍35
💪 Что не так с MVP: как создать конкурентоспособный продукт

Традиционная концепция MVP нуждается в пересмотре — авторы предлагают альтернативный подход, основанный на тесном взаимодействии с целевой аудиторией и непрерывных итерациях для создания действительно ценного продукта.

👉 Читать статью
👉 Зеркало
👍4🥱31
🤔 Каким вы видите для себя идеальный собес?

Пример недушного собеса по мотивам статьи опытного интервьюера Олега Плотникова:

1️⃣ Вопрос про предыдущий опыт: в двух словах описать самый интересный (сложный) проект.

В чем суть проекта? Размер команды? Роль? Основной вклад? Срок проекта? И т. д.

2️⃣ Типовая задача, с которой реально придется сталкиваться, но решаемая за 5-15 минут + несколько вопрос в глубину про понимание инструмента (языка, фреймворка).

📌 Три основных аспекта, по которым оценивается кандидат:

🔸 Харды и наличие релевантного опыта.
🔸 Коммуникация (софт скиллы). Умение общаться, быстро и структурировано объяснить суть вопроса.
🔸 Проактивность в обучении и страсть к делу.

📌 За каждый навык дается до трех баллов. Есть хоть один ноль — сразу до свидания.

🔸 0 — все плохо
🔸 1 — с пивом покатит
🔸 2 — хорошо
🔸 3 — прекрасно

💬 Что думаете?

#холивар
👍131🔥1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📈 По просьбе подписчиков «Библиотеки программиста» мы провели опрос и выяснили, что у большинства айтишников зарплата в 2023 году выросла.

⚡️ Как выглядит доход среднего айтишника и какие факторы окажут влияние на динамику ИТ-зарплат в 2024 году — расскажем в статье на VC.

👉 Читать

P. S. Свои предложения для исследований пишите в комменты👇
Please open Telegram to view this post
VIEW IN TELEGRAM
4😁3
🧰 Создание дампа управляемой кучи в C#

🛠 Существует множество инструментов для проверки содержимого памяти процесса .NET: dotnet-dump, dotnet-gcdump, ClrMD, Visual Studio и многие другие.

🤔 Но что, если бы мы могли сделать это изнутри самого приложения? По крайней мере, это отличный повод узнать о структуре управляемой кучи.

👃 Kevin Gosse разбирается, как далеко можно зайти, злоупотребляя некоторыми API и суя свой нос туда, куда не следует.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3🤔2
🛣 .NET Developer Roadmap в 2024

Ник Чапсас обновил дорожную карту для .NET-разработчика, которая сосредоточена на бэкенде.

👉 Смотреть & Скачать roadmap

#roadmap
🥱26👍184😁1🌚1
⚡️Подборка для .NET-разработчика:

🌐 Андрей Александров «Вкусные новинки EF Core 8»
🌐 Александр Гольдебаев «.NET Aspire in action»
🌐 Руслан Каменский «Bootstrapping .NET 8 SDK: собираем дотнет из исходников»
🌐 Никита Маслов «С# 12: Primary constructors»
🌐 Андрей Порожняков «Что нового в Minimal API на ASP.NET Core 8»
🌐 Евгений Федотов «А что там собственно нового в C# 12?»
🌐 Валерий Никитин «.NET 8 и улучшения в контейнерах»

#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥142
20+ вопросов, которые стоит задать на собеседовании в стартап

Узнайте, на что обратить внимание, чтобы найти стартап, который не только «выстрелит», но и даст вам возможность вырасти как специалисту.

👉 Читать статью
👉 Зеркало
1
🤔 MissingMethodException: разбор загадочного исключения в простом C#-приложении

Сергей Тепляков разбирается, почему он получал MissingMethodException, когда метод явно существовал.

Спойлер: multitargeting
7❤‍🔥2🥰2👍1
🧰 NaturalSort.Extension — расширение метода для StringComparison, которое добавляет поддержку естественной сортировки (например, «abc1», «abc2», «abc10» вместо «abc1», «abc10», «abc2»).

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


var sequence = new[] { "img12.png", "img10.png", "img2.png", "img1.png" };
var ordered = sequence.OrderBy(x => x, StringComparison.OrdinalIgnoreCase.WithNaturalSort());
// ordered will be "img1.png", "img2.png", "img10.png", "img12.png"
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🥰6
🧰 Глубокое погружение в паттерн «Спецификация» и его применение в контексте разработки на C#

Андрей Потапов из Альфа-Банка погружается в детали работы с паттерном и рассматривает его сильные/слабые стороны.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👏7😁1
👀 C# 13 может скоро получить новую фичу, которая позволит использовать ref и unsafe в итераторах и асинхронных методах.

📌 Мотивация

В современном мире вы не можете сделать так:


async Task MyMethodAsync()
{
await AnAsyncMethod();
ref int x = ref GetRef();
DoSomething(ref x);
await AnohterAsnycMethod();
}


Проблема с await и ref заключается в том, что компилятор не может гарантировать, что ссылка все еще будет действительна после выполнения await. Но в данном случае это не должно быть проблемой, так как x используется только между двумя вызовами await, где ссылка все еще действительна.

То же самое относится к ref структурам, таким как Span<T> или ReadOnlySpan<T>. Их нельзя использовать в итераторах (yield) или асинхронных методах.

Предложение как раз и позволит это делать:


async Task MyMethodAsync()
{
var result = await AnAsyncMethod();
ReadOnlySpan<char> span = result.AsSpan();
DoSomething(span);
await AnohterAsnycMethod();
}


#proposal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍7🤔54🥱3
💡DebuggerDisplay в действии, или Как изменить стандартное представление отладки для класса C#

#csharp #dotnet #tip by Dave Callan
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51👍223
🧘‍♂️ Work-life balance — это баланс между работой и личной жизнью. Соблюдать его — значит придерживаться образа жизни, при котором каждая сфера деятельности находится в гармонии с остальными и не наносит им ущерба.

💡 Другими словами, work-life balance позволяет успешно совмещать работу, отдых, семью, хобби, здоровье и другие важные аспекты нашей жизни.

💬 А вам удается его соблюдать?

👍 — да, только на этом и держусь
🤔 — нет, обычно работа в приоритете
🥱 — вы о чем вообще?
💯 — свой вариант (напишу в комментариях)
🥱73🤔45👍41
👨‍💻 Ключевые изменения в документации .NET за февраль 2024 года, хоть и с опозданием

📌 Новые статьи:

🔹 Дублирование вывода для -getItem, -getProperty и -getTargetResult
🔹 Проверка сертификатов перед загрузкой удаленных изображений в PictureBox
🔹 InMemoryDirectoryInfo добавляет rootDir к файлам
🔹 Перечисление текущего пути каталога диска
🔹 Импорт .user файла во внешние сборки
🔹 Установка ограничения на размер встроенного массива структур

📌 Основы .NET
🔹 Обзор MSTest SDK
🔹 Что нового в контейнерах для .NET 8.
🔹 Что нового в .NET 8
🔹 Что нового в SDK и инструментах для .NET 8
🔹 Что нового в .NET 9

📌 C#:
🔹 Устранение ошибок и предупреждений, связанных со ссылками на сборки
🔹 new (Справочник по C#)

📌 ML.NET:
🔹 Как форматировать данные для Named Entity Recognition (NER)

📌 Обновленные статьи:
🔸 Класс System.Reflection.Emit.AssemblyBuilder: обновление информации о сохраняемом AssemblyBuilder
🔸 Что нового в .NET 8 runtime: разделение нововведений в .NET 8 по SDK/runtime

#чтопроисходит
5👍5
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍3🤔1
⚡️Proglib запускает каналы про нейросети

По каждому направлению отдельно! А именно:

Библиотека нейрозвука — здесь все, связанное с транскрибацией, синтезом речи, ИИ-музыкой
Библиотека нейротекста — классические ИИ-помощники вроде ChatGPT, Gemini, Bing
Библиотека нейровидео — здесь пишем про нашумевшую Sora AI, а также про Runway ML, дипфейки и другие видеотехнологии
Библиотека нейрокартинок — генерируем изображения и рассказываем про Midjourney, DALL-E, Stable Diffusion
⭐️Библиотека робототехники и беспилотников — наконец, тут мы рассказываем не столько про ИИ, сколько про роботов, беспилотные технологии и интернет вещей

И все это — максимально подробно: с пошаговыми инструкциями, промтами, инструментами и лайфхаками.

Подписывайтесь!
5👍3🔥3😁2