Библиотека шарписта | 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
🔥Эндрю Лок продолжает серию статей о структуре данных куча и типе PriorityQueue

☑️ Из второй части вы узнаете про тип PriorityQueue под капотом: разберетесь, как он использует базовый массив в качестве кучи, и оцените сложность реализации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72😁1
🔟 10 суровых истин, которые должен знать каждый джун

Вы думаете, что карьера в ИТ — это сплошные плюшки? Забудьте! Реальность жестока: низкие зарплаты на старте, бесконечные задачи и битва за релокацию. Откройте глаза на суровые реалии прямо сейчас!

👉 Читать статью
👉 Зеркало
❤‍🔥7😁3👍1🤔1
💡ReadOnlySpan<char> в действии

Знаете ли вы, что в .NET8+ можно разделить строку без дополнительных аллокаций? Несмотря на то, что span — не самый удобный тип для создания API, команде .NET удалось создать аккуратную, простую в использовании и более быструю реализацию.

#csharp #dotnet #tip by Сергей Тепляков
Please open Telegram to view this post
VIEW IN TELEGRAM
26👍124🤔2😁1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in your browser
VIEW IN TELEGRAM
💬 Open Source по-русски: путь к технологической независимости или обочина прогресса?

Для одних организаций open source является ключом к преодолению зависимости от иностранных вендоров и драйвером инноваций, для других — дырой в безопасности и обочиной технологического прогресса.

Мы хотим изучить текущее состояние и возможности открытого ПО в России. Пройдите опрос и помогите нам увидеть ситуацию глазами IT-профессионалов.

👉 Ссылка на опрос 👈

Прохождение займёт примерно 4 минуты
😁82👍2
🛠 Garnetновый убийца Redis удаленный cache-store от Microsoft Research, написанный на C# и предназначенный для обеспечения высокой производительности, масштабируемости и надежности. Инструмент поддерживает оптимизацию пропускной способности и задержки, восстановление данных, шардирование кластеров, миграцию ключей и репликацию. Совместим с существующими клиентами Redis, что делает его универсальным решением для различных приложений.

👀 Garnet начался в Microsoft Research в 2016 году как проект под названием FASTER, представляющий новый дизайн хранилища ключ-значение. Проект был опубликован в открытом доступе в 2018 году и получил широкое распространение. В 2021 году, учитывая большой интерес к удаленным кэш-системам и RESP API Redis, был разработан Garnet, который предлагает высокую производительность и эффективность в распределенных системах.

👉 Подробнее
👉 GitHub
👉 Сайт
👍14🥰5🤔1
Разраб предложил создать 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