TGViewer
Channel Public Channel
C# Development | YeaHub

C# Development | YeaHub

@yeahub_c_sharp_dev

Теория, подготовка к интервью и курсы для C# разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Subscribers
743
Photos
304
Videos
33
Links
537

Showing posts older than #121 · Back to latest

Older Posts 20 shown
Post #120 185
#Собес #CSharp
🤔 Что такое частичные классы (Partial Classes) в С#?

Частичные классы в С# позволяют разделять код одного класса на несколько файлов, что полезно для больших классов или когда несколько разработчиков работают над одной частью класса. Для этого используется ключевое слово partial.

👉Новости 👉База вопросов
  • 👏 1
Post #119 206
#новости
👨‍💻 Обновлённый инструмент GitHub Copilot для .NET скоро выйдет

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

Может действовать автономно, без необходимости подтверждать каждое действие, так как будет поддерживать режим агента Copilot, который скоро появится в Visual Studio

👉Новости 👉База вопросов
Post #118 178
#полезное
😎 Wexflow — это мощная платформа для автоматизации рабочих процессов с открытым исходным кодом. Она позволяет автоматизировать задачи, такие как обработка файлов, отправка уведомлений, резервное копирование, интеграция с различными API и многое другое

Wexflow обладает рядом функций, включая интеграцию с базами данных и облачными сервисами, поддержку различных форматов данных и протоколов, а также собственным приложением для Android!
Гитхаб

👉Новости 👉База вопросов
Post #117 208
#полезное
🛞 SharpRedirect — это инструмент на основе .NET Framework, разработанный для перенаправления сетевого трафика!

Он принимает входящие TCP-подключения на локальный порт и пересылает их на указанный удалённый хост и порт. Приложение поддерживает двустороннюю передачу данных в полном дуплексе, обеспечивая стабильную и асинхронную работу для повышения производительности.
Гитхаб

👉Новости 👉База вопросов
Post #116 197
#Собес #CSharp
🤔 В чем разница между поздним связыванием (late binding) и ранним связыванием (early binding) в С#?

Раннее связывание происходит на этапе компиляции, когда типы объектов и их методы известны, что делает выполнение быстрее. Позднее связывание происходит на этапе выполнения, когда типы объектов определяются динамически, что может замедлить выполнение.

👉Новости 👉База вопросов
Post #114 190
#полезное
😬 Новинка: Incrementalist 1.0 — инструмент инкрементальной сборки для .NET, который использует git diff (через libgit2sharp) и Roslyn для анализа изменений и зависимостей в коде, чтобы значительно сократить время сборки и тестирования в больших .NET-решениях и монорепозиториях.

Хотя его использовали и раньше, но только сейчас инструмент получил полноценный интерфейс командной строки

👉Новости 👉База вопросов
  • ❤ 1
Post #113 172
#полезное
😊 Версионирование API в .NET 9

В .NET 9 ты можешь гибко управлять версиями API — хоть в контроллерах, хоть в минималках:

🟠URL-версионирование — /api/v1/orders, /api/v2/orders

🟠Query string — /api/orders?api-version=1

🟠Заголовок HTTP — X-Api-Version: 1

🟠Тип медиа — application/vnd.myapi.v1+json

Подключи нужные пакеты:
Asp.Versioning.Http  
Asp.Versioning.Mvc
Asp.Versioning.Mvc.ApiExplorer


Поддержка версионирования:

🟠В контроллерах
🟠В минимальных API

Старые версии можно объявить устаревшими.

👉Новости 👉База вопросов
Post #112 180
#Собес #CSharp
🤔 Какие существуют способы перегрузки методов в С#?

Перегрузка методов в С# позволяет создавать несколько методов с одинаковыми именами, но с различными параметрами. Методы могут отличаться по числу параметров, их порядку или типам данных

👉Новости 👉База вопросов
Post #111 217
#полезное
🤓 OpenAI выпустила Codex CLI — опенсорс агента ИИ

Лицензия Apache 2.0. Легко запускается локально и превращает командную строку в среду программирования на естественном языке.

👉Новости 👉База вопросов
  • 👍 1
Post #109 182
#ЛитКод
Задача: 503. Next Greater Element II

Дан циклический массив целых чисел nums (т.е. следующий элемент после nums[nums.length - 1] это nums[0]), верните следующее большее число для каждого элемента в nums.

Следующее большее число для числа x — это первое большее число, следующее за ним в порядке обхода массива, что означает, что вы можете искать циклически, чтобы найти следующее большее число. Если оно не существует, верните -1 для этого числа.

Пример:
Input: nums = [1,2,1]
Output: [2,-1,2]
Explanation: The first 1's next greater number is 2;
The number 2 can't find next greater number.
The second 1's next greater number needs to search circularly, which is also 2.


👨‍💻 Алгоритм:

1⃣Инициализация
Создайте массив res той же длины, что и nums, и заполните его значениями -1.

2⃣Поиск следующего большего элемента
Для каждого элемента nums[i], используя индекс j, ищите следующий больший элемент среди следующих (циклически) n-1 элементов. Если найден больший элемент, обновите res[i] и прервите внутренний цикл.

3⃣Возврат результата
Верните массив res.

😎 Решение:
public class Solution {
public int[] NextGreaterElements(int[] nums) {
int n = nums.Length;
int[] res = new int[n];
Array.Fill(res, -1);

for (int i = 0; i < n; i++) {
for (int j = 1; j < n; j++) {
if (nums[(i + j) % n] > nums[i]) {
res[i] = nums[(i + j) % n];
break;
}
}
}

return res;
}
}


👉Новости 👉База вопросов
Post #107 251
#полезное
🛞 Google представил OSV-Scanner v2

Новая версия OSV-Scanner значительно расширяет возможности для разработчиков:

🟠 Теперь сканируются проекты на .NET, Python, Java, JS, Go, Haskell — включая такие форматы, как deps.json, uv.lock, bun.lock, Uber Jars и др.

🟠 Сводка по уязвимостям с фильтрами по критичности, пакетам, слоям в виде интерактивного HTML-отчёта

🟠 Если вы используете Java с Maven, инструмент подскажет, как безопасно обновить уязвимые зависимости с минимальными рисками.

🟠 Анализ образов Debian, Ubuntu и Alpine с определением уязвимых пакетов, историей слоев, идентификацией базового образа и фильтрацией ложных срабатываний
Релиз

👉Новости 👉База вопросов
  • ❤ 1
  • 👍 1
Post #106 225
#полезное
📞 Если вы ещё не включили RespectRequiredConstructorParameters в System.Text.Json 9 — самое время это сделать

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

Если какой-то required-параметр отсутствует в JSON — JsonException тут как тут

Больше никаких тихих багов из-за значений по умолчанию

👉Новости 👉База вопросов
Post #105 243
#полезное
😴 Wait4X — это высокоэффективный инструмент без внешних зависимостей, который обеспечивает ожидание готовности сервисов перед продолжением работы.

🟠 Поддержка различных протоколов и сервисов: делает его незаменимым для:

CI/CD конвейеров: гарантирует, что все зависимости доступны перед запуском тестов.
Оркестрации контейнеров: проверяет работоспособность служб перед стартом приложения.
Процессов развертывания: удостоверяется в готовности системы до начала деплоя.
Инициализации приложения: проверяет доступность внешних сервисов.
Локальной разработки: упрощает контроль готовности локального хоста.
🟠 Основные возможности:

Поддержка нескольких протоколов: TCP, HTTP, DNS.
Интеграция с сервисами: Redis, MySQL, PostgreSQL, MongoDB, RabbitMQ, InfluxDB, Temporal.
Обратная проверка для выявления свободных портов или неготовых служб.
Параллельная проверка нескольких сервисов одновременно.
Экспоненциальное повторение попыток с увеличивающимися задержками для повышения надежности.
Интеграция с CI/CD для автоматизации рабочих процессов.
Кроссплатформенность: единый двоичный файл для Linux, macOS и Windows.
Импорт пакетов Go в приложения на Go.
Выполнение команд после успешного прохождения проверок.
Больше на Гитхаб

👉Новости 👉База вопросов
Post #104 207
#Собес #CSharp
🤔 Что такое управляемый (Managed) и неуправляемый (Unmanaged) код в С#?

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

👉Новости 👉База вопросов
Post #103 281
#полезное
😇 Что такое преобразование клеймов (Claims Transformation) в ASP.NET Core?

Если access token от вашего провайдера идентификации (Identity Provider) не полностью соответствует внутренним требованиям авторизации вашего приложения, вы можете использовать преобразование клеймов.

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

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

Почему это полезно —> читайте здесь: статья

👉Новости 👉База вопросов
  • ❤ 1
Post #102 260
image_2025-04-11_11-04-44.png1.2 MB
#полезное
🤓 Краткая история языка C#

Microsoft выпустила C# 13 в ноябре прошлого года. За более чем 20 лет C# развивался через 13 версий, каждая из которых привносила новые возможности.

Вот краткий обзор этих функций:

⏩ C# 1.0 (.NET 1.0, 2002): Первый релиз
⏩ C# 1.2 (.NET 1.1, 2003): IDisposable для IEnumerators
⏩ C# 2.0 (.NET 2.0, 2005): Обобщения, nullable-типы, итераторы
⏩ C# 3.0 (.NET 3.5, 2007): Лямбда-выражения, LINQ, методы расширения
⏩ C# 4.0 (.NET 4, 2010): Динамическое связывание, именованные аргументы, необязательные параметры
⏩ C# 5.0 (.NET 4.5, 2012): Async/await, атрибуты информации о вызывающем
⏩ C# 6.0 (.NET 4.6, 2015): Инициализаторы автосвойств, статические импорты, фильтры исключений
⏩ C# 7.0 (.NET 4.7, 2017): Кортежи, сопоставление с образцом, ref-переменные и возвращаемые значения
⏩ C# 7.1 (2017): Async main, вывод кортежей, выражения по умолчанию
⏩ C# 7.2 (2017): Модификатор доступа private protected, Span<T>
⏩ C# 7.3 (2018): Новые ограничения для обобщений, переназначение ref
⏩ C# 8.0 (.NET Core 3.0, 2019): Nullable-ссылочные типы, индексы и диапазоны, using-объявления
⏩ C# 9.0 (.NET 5.0, 2020): Records, свойства init, верхнеуровневые программы
⏩ C# 10.0 (.NET 6.0, 2021): Record-структуры, глобальные using-и, пространства имён в файлах
⏩ C# 11.0 (.NET 7.0, 2022): Обобщённая математика, обязательные члены, необработанные строковые литералы
⏩ C# 12.0 (.NET 8.0, 2023): Выражения коллекций, первичные конструкторы
⏩ C# 13.0 (.NET 9.0, 2024): Улучшенные параметры, частичные свойства, новый объект блокировки


👉Новости 👉База вопросов
  • 👍 4
  • ❤ 1
Post #101 223
#полезное
👨‍💻 Совет по C#

Используй метод string.Join, чтобы объединить элементы коллекции в одну строку, вставляя указанный разделитель между элементами.

👉Новости 👉База вопросов
  • ❤ 2
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →