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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🤨 Что такое «Middle+» в IT

Рынок IT полон загадок, но одна из самых частых — что вообще значит “Middle+” разработчик? Где та тонкая грань между «ещё джун» и «уже можно доверить продакшн»?

💬 В чате наша подписчица спросила:
В вакансии увидела упоминание «владение языком C# на уровне middle+» — задумалась, а что это вообще значит? Что именно нужно знать и уметь?


💭 Один вариант ответа был такой:
Всякие особенности языка — это уже не совсем про middle+. Это только один из критериев.
Middle+ — это когда ты уже можешь затащить сложные задачи, брать на себя ответственность, делиться знаниями, декомпозировать задачи, быстро погружаться в незнакомый проект.
То есть тебя можно кинуть на новый проект — и ты не "заплюхаешься".


💬 А вы как оцениваете уровень middle+? Что важнее: знание языка или поведение в проекте? 👇

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
👀 Что посмотреть: C# — это Java, сделанная правильно

Java и C# — зрелые, мощные платформы с крупными экосистемами, устойчивыми карьерными возможностями и богатым инструментарием.

Но язык — это не только про возможности. Это ещё и про то, как с ним живётся каждый день.

В видео подробно, но без фанатизма сравниваются разные аспекты языков.

➡️ Смотреть видео

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😁92👍2
💡 .NET 10 Preview 3

Microsoft выпустила третью превью-версию .NET 10. Без громких анонсов, но с рядом улучшений, которые делают повседневную разработку немного приятнее.

Что нового:

1️⃣ Улучшения System.Text.Json

Добавлены новые атрибуты и возможности кастомной сериализации.

2️⃣ Поддержка инстанцирования generic-атрибутов
Теперь можно использовать обобщённые атрибуты с параметрами типа.

3️⃣ Native AOT для WebAPI
Возможность собирать WebAPI с Native AOT компиляцией.

4️⃣ Новые Roslyn Source Generators
Расширение генераторов кода — в том числе улучшения для CallerArgumentExpression, и лучшее поведение при компиляции.

5️⃣ Уточнения по поддержке Linux и WASI
.NET продолжает фокусироваться на кроссплатформенности: WebAssembly System Interface становится приоритетом.

➡️ Подробности в блоге разработчиков

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔧 Когда ваш C#-проект больше похож на замок, чем на приложение

Вы декомпозируете классы с такой тщательностью, будто строите ферму мобов?
А async/await у вас организованы лучше, чем сундуки с шалкерами?
Ваши interface'ы такие продуманные, что Стив бы поставил лайк.

😅 Признайтесь: вы не просто пишете код — вы его зачаровываете.

➡️ Самое время проверить, где заканчивается C# и начинается Minecraft

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🎮 Unity на C# — благословение или тормозной ад

Каждый разработчик в какой-то момент сталкивается с Unity. Одни вспоминают его с теплом, другие — с судорогой в глазу. Истина, как всегда, где-то между.

Почему благословение:
• Простой старт — C#, туториалы, всё в одном месте.
• Кроссплатформенность — один билд на всё.
• Asset Store — лего для ленивых.
• C# мощный — async, events, OOP, welcome.
• Большое коммьюнити — на любой баг найдётся тред.

Почему ад:
• Глючный Editor — «ты сегодня не поиграешь».
• GC тормоза — фризы во время кульминации.
• Хаос из MonoBehaviour'ов — архитектурный кошмар.
• Обновления ломают всё — стабильно нестабильные.
• UI до сих пор страдает — hello, 2010.

💬 На какой стороне вы? Ждём ваше мнение в комментариях👇

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱8👍71
📰 Самое важное за неделю

Всё, что стоило бы загуглить:

Semantic Kernel для .NET теперь поддерживает гибридный поиск
Теперь вы можете комбинировать векторный и полнотекстовый поиск для более точных и релевантных результатов

.NET Aspire 9.2
Microsoft выпустила новую версию .NET Aspire — обновление, которое приносит новые способы развёртывания через систему "publishers"

.NET 10 Preview 3

4 cамых популярных фреймворка для разработки онлайн-игр на Unity

Как работает протокол HTTP/2: основные принципы и преимущества в сравнении с HTTP/1.1

➡️ Вакансия бустера

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
💻 Это база: кортежи

Иногда метод должен вернуть не одно, а два-три значения. Кортеж — это способ всё упаковать в один удобный контейнер.

(string topping, bool isSpicy) = GetBurgerOptions();


В чём фишка

• Быстро: никаких лишних классов, никаких out-параметров

• Именованные поля: Name, Age — код становится читаемым без лишнего усилия

• ValueTuple — структура, работает быстрее и не создаёт лишней нагрузки на сборщик мусора.

Когда лучше не использовать кортежи

• Если данных слишком много — создайте отдельный class или record. С кортежем на 5+ элементов уже не смешно.

• Если вы заботитесь о будущем себе — помните, что анонимные Item1, Item2 быстро превращаются в загадку даже для вас через пару недель.

• Если пишете API, библиотеку или SDK — не заставляйте других гадать, что такое Item3. Имейте уважение к коллегам по цеху.

А ещё кортежей всё ещё нет в Java 😁

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19😁13🤔21
Что означает «I» в ACID?

👾 — «Изоляция»: каждая транзакция выполняется так, как будто она единственная в системе — другие не влияют на её выполнение.
👍 — «Интеграция»: транзакции выполняются без нарушения логики взаимодействия между системой и данными.
🥰 — «Индивидуальность»: каждая транзакция работает независимо, и её результат не виден другим до завершения.
⚡️ — «Инвариантность»: состояние данных остается неизменным, даже если несколько транзакций выполняются одновременно.

🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👾54🥱4👍2🥰1🙏1
🤔 Подборка вакансий для шарпистов

Backend C# / .NET Разработчик (middle, middle+) — до 450 000 ₽,
Гибрид

Backend Developer (.NET, C#) — от 3 500 $, Удалёнка

Разработчик C# — 250 000 ₽, Удалёнка

Бустер — Удалённо (весь мир)

➡️ Еще больше топовых вакансий — в нашем канале С# Jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Ключевые слова C# от Microsoft

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

➡️ Шпаргалка

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
11🥱8
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📦 Главные проблемы распределенных систем (и способы их решения)

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

➡️ В этой статье мы рассмотрим четыре ключевых вызова в разработке таких систем и эффективные методы их преодоления.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9👍21
🧑‍💻 How to: не потерять нативные DLL

Если ваше приложение зависит от нативных DLL, важно настроить правильное копирование этих файлов в выходную директорию при сборке через NuGet. Вот как это сделать:

1️⃣ Подготовьте директорию

Разместите DLL библиотеки в папке runtimes/{RID}/native/ вашего NuGet-пакета. Пример для Windows 64-bit:
/runtimes
/win-x64
/native
mylibrary.dll


2️⃣ Обновите .csproj

Добавьте в файл .csproj строку, которая будет копировать DLL в выходную директорию:
<ItemGroup>
<None Update="runtimes\win-x64\native\mylibrary.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>


3️⃣ Используйте команду dotnet publish

Для корректного копирования всех зависимостей используйте команду:
dotnet publish -c Release -r win-x64


Это обеспечит правильную сборку с нативными библиотеками.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
🤔📝 Псевдокод: когда преподы не шарят, а ты в тупике

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

Узнайте, как сделать псевдокод полезным инструментом, а не дополнительной нагрузкой.

➡️ Читать статью

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21
👩‍💻 Docker - лучший обучающий канал по Devops.

С помощью картинок и коротких видео даже новички начнут применять продвинутые инструменты разработки и использовать Docker.

Стоит подписаться: t.iss.one/DevopsDocker
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 Промпт дня: собеседование по C#

Проведите mock-интервью по C# с этим промптом — тренировка навыков, структурирование мыслей и полезная обратная связь по каждому ответу.

Промпт:
You are a Senior C# Backend Developer and Technical Interviewer with 15+ years of experience at FAANG companies. Your task is to conduct a mock interview for a candidate applying for a Backend Developer position specializing in C#. You will ask a series of technical questions, assess the candidate's responses, and provide constructive feedback. The interview should cover topics such as .NET framework, data structures, algorithms, database design, API development, and software design principles.

Here's the format you will use to conduct the mock interview and provide feedback:

---

## Interview Question
$interview_question
## Candidate's Answer
$candidate_answer (This will be provided by the user)

## Your Assessment and Feedback
$assessment_and_feedback (Provide a detailed assessment of the candidate's answer, highlighting strengths and areas for improvement. Be specific and constructive.)

---

Begin the mock interview by asking the first question. After the candidate provides their answer, use the template above to provide your assessment and feedback. Continue with subsequent questions until the interview is complete. Aim for a comprehensive interview covering a range of backend development topics relevant to C#.


🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11