Библиотека шарписта | 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
🎮 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
💬 Истории подписчиков: как проходят дейлики

Часто у вас идёт что-то не так на дейликах? Админ хочет поделиться болью:
У меня две собаки и обе старенькие. Одна из них любит покашлять и часто во время того, как я говорю.
Но это ладно. Недавно жена так громко позвала меня кушать, что я даже покраснел. Хорошо, что без камер сидели.


💬 А как проходят дейли у вас? Всё штатно или кто-то на фоне любит погулять или покашлять? Делитесь в комментариях 👇

P.S. Если хотите задать вопрос сообществу, заполните
нашу гугл-форму.

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
⚙️ Фишки для улучшения стиля кода и совместной работы

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

EditorConfig использует конфигурационный файл .editorconfig, который определяет правила форматирования для разных типов файлов (например, для C#, JavaScript, HTML). Когда редактор или IDE открывает проект, он автоматически подхватывает настройки из этого файла и применяет их.

Основные принципы и возможности

Определение правил для различных языков и файлов
EditorConfig позволяет настраивать правила форматирования для каждого типа файлов или каталогов.
Пример конфигурации:
[*.cs]
indent_style = space
indent_size = 4
tab_width = 4
trim_trailing_whitespace = true
end_of_line = lf
insert_final_newline = true


indent_style: cтиль отступов, может быть space или tab.
indent_size: количество пробелов для отступа.
tab_width: ширина табуляции (используется, если indent_style = tab).
trim_trailing_whitespace: удаление пробелов в конце строки.
end_of_line: стиль переноса строки (LF или CRLF).
insert_final_newline: добавление пустой строки в конце файла.


Конфигурация для разных директорий

[*.js]
indent_style = space
indent_size = 2

[test/*.cs]
indent_style = tab
indent_size = 4


Глобальные настройки для всех проектов

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

root = true

[*]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true


Использование с git

Если вы хотите гарантировать, что изменения в коде всегда соответствуют стандартам, можно интегрировать EditorConfig с Git Hooks. Таким образом, при каждом коммите можно автоматически проверять, чтобы все изменения соответствовали правилам форматирования.

💡 Если вы используете Visual Studio 2019 или более позднюю версию, EditorConfig будет работать без дополнительных настроек.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🥱31
🎮 Дорожная карта Unity-разработчика 2025: с нуля до джуна

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

Рассмотрели все важные этапы: от основ языка C# до работы с физикой, интерфейсом и сторонними SDK. Шаг за шагом объясняются ключевые темы, такие как ООП, паттерны проектирования, корутины и оптимизация.

В конце бонус — подборка полезных ресурсов.

➡️ Пройти путь по карте

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