Профессор Си
2.82K subscribers
47 photos
1 video
73 links
Уроки, советы, новости C#.


@anothertechrock
@aldrson
Download Telegram
✏️ Не копируйте gitignore, генерируйте

Мы раньше кидали эту команду. dotnet new gitignore делает все за вас. В ней уже прописаны все типичные исключения: каталоги bin/, obj/, кэш NuGet, файлы публикаций, временные артефакты IDE и прочие служебные данные, которые не должны попадать в репозиторий.

Не нужно искать шаблон на GitHub или копировать его вручную — всё доступно из коробки.

Профессор Си
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113
⭐️ ValueTask в C#

Мы уже разбирали ValueTask раньше, но сейчас напомним ключевые моменты. ValueTask это структура, которая может хранить либо готовый результат, либо Task, чтобы избежать аллокаций в простых случаях.

Особенности использования ValueTask:

Повторное ожидание запрещено

Вызывать await несколько раз для одного и того же ValueTask нельзя, так как это может привести к неожиданным результатам:
ValueTask<int> task = GetValueAsync();
int value1 = await task;
int value2 = await task; // Ошибка


• Конвертация в Task

Eсли требуется передать ValueTask в API, которое ожидает Task, можно вызвать метод .AsTask():
Task<int> task = GetValueAsync().AsTask();


• Когда использовать ValueTask:

+ Операция часто завершается синхронно.
+ Создание объекта Task может быть слишком накладным.
+ Вы пишете библиотеку с высокой производительностью.

Когда НЕ использовать ValueTask:

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

Профессор Си
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Как Microsoft задушил Delphi, создав .NET: история одного программиста и одного чемодана

Личный взгляд программиста с стажем на то, как Microsoft переманил Хейлсберга, создал .NET и вытеснил Delphi с технологической сцены. История предательства, перехода эпох и чемодана, который до сих пор скрипит в углу.

https://habr.com/ru/articles/902476/
😢3
👀 Сортировать все ради одного значения — это дорогая привычка

В продакшене до сих пор встречается LINQ паттерн, где коллекцию сначала сортируют, а потом берут первый элемент:
var youngest = people
.OrderBy(p => p.Age)
.First();


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

Правильнее выразить намерение напрямую через MinBy:
var youngest = people.MinBy(p => p.Age);


MinBy возвращает элемент с минимальным ключом и не требует полной сортировки последовательности. Если в коде встречается OrderBy().First() или OrderByDescending().First(), это повод остановиться и проверить, не ищется ли просто минимум или максимум.

Профессор Си
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3
⚙️ Гибридное кэширование

Гибридный кэш это баланс между скоростью и масштабируемостью. Он объединяет два уровня хранения данных:

1️⃣ Кэш в памяти. Хранит часто используемые данные локально, обеспечивая моментальный доступ.

2️⃣ Распределенный кэш: Redis, SQL Server Cache. Используется для хранения данных, доступных нескольким серверам.

То есть это метод, при котором данные сначала проверяются в локальном кэше, а если их там нет, запрашиваются из распределенного кэша, например, Redis.

Настройка гибридного кэша в .NET

Чтобы реализовать гибридное кэширование можно использовать HybridCache, который сочетает кэш в памяти и Redis.

1️⃣ Настроить локальный кэш

2️⃣ Добавить Redis как распределенный кэш

3️⃣ Реализовать логику работы с кэшем, используя стратегию «сначала память, потом Redis»

➡️ Подробнее о реализации HybridCache

🤔 Книги для шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔔Новые вакансии по C# за последние 14 дней

1️⃣ C# Developer
Hunter Bond
Hybrid · London, UK · 💰 от 8 333 £

2️⃣ C# Developer (gamedev)
Middle · Remote

3️⃣ C# Ontwikkelaar
Macee
Middle · Remote · Remote, Netherlands

4️⃣ Фулстек Разработчик c# (forex, crypto разработка программ для трейдинга)
Westernpips
Lead · Remote · 💰 150 000 – 180 000 ₽

5️⃣ Senior Техлид C#
Цифровые привычки
Senior · Remote · 💰 300 000 – 350 000 ₽

6️⃣ Cтарший Backend-разработчик
VK (MAX)
Remote · Москва

7️⃣ .NET C# Technical Lead
Jalasoft
Senior · Remote · Remote, Colombia

8️⃣ C# разработчик (WPF)
Антереал
Томск

9️⃣ Backend C# Junior+ Разработчик
ФинТех
Junior · Remote · 💰 100 000 – 150 000 ₽

1️⃣0️⃣ SDET C# (UIS)
Kaspersky
Москва

1️⃣1️⃣ Автотестировщик (C#)
ИТ-компания «Лоция»
Middle · Remote

1️⃣2️⃣ Senior C# Developer
Bell Integrator
Senior · Москва

✈️ Talanto | #вакансии #csharp
Please open Telegram to view this post
VIEW IN TELEGRAM
C# 12 and .NET 8 – Modern Cross-Platform
Development Fundamentals


Автор: Mark J. Price
Дата выхода: 2023

#csharp #en #2O23

Скачать книгу
4
🥸 Шарписты в очках

Сидите у монитора по 10–12 часов, втыкаете в Visual Studio, гоняете сборки.

И тут коллега с серьёзным лицом заявляет:
Без очков с фильтром синего ты себе глаза посадишь!


Но правда ли это — или просто маркетинг, нацеленный на программистов, особенно тех, кто пишет на C# и ценит комфорт?

👓 Аргументы за очки с фильтром синего света:

• Производители обещают защиту от «синих пиков» LED-экранов.

• Есть мнение, что блокировка синего света вечером помогает выработке мелатонина.

• Некоторым пользователям помогают при чувствительности к свету.

• Модный аксессуар. Особенно с антирефлексом и аккуратной оправой — +10 к внешности на митапах.

🧠 Аргументы против:

• Реальная проблема это плохая эргономика, поза и освещение.

• Лучше настроить яркость, использовать dark mode и 20-20-20 правило.

• Фильтрация синего искажает цвета. Особенно критично, если работаешь с графикой или UI.

• Хорошие очки стоят как лицензионный ReSharper.

💬 А вы носите очки? Не обязательно с фильтрами, может просто с диоптриями. Делитесь в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🔔Новые вакансии по C# за последние 7 дней

1️⃣ C# Developer (Revit API / BIM Automation) ТОЛЬКО АСТАНА!
DAN and PARTNERS
Астана

2️⃣ C#/.NET Разработчик
Nexign
Санкт-Петербург

3️⃣QA Fullstack C# Engineer
Зонтик
Senior · Remote · РФ · 💰 до 350 000 ₽

4️⃣ Middle C# Developer
AIR ASTANA, АО
Middle · Алматы

5️⃣ Senior C# разработчик [Telco Platform]
МТС
Senior · Remote · Москва

6️⃣ Senior C# Developer
Veeam
Senior · Remote · Warsaw, Poland

7️⃣ QA Fullstack C#
Альфа-Банк
Hybrid

8️⃣ AQA на C# Middle+
Devquality
Senior · Remote · Москва, Россия · 💰 до 165 000 ₽

9️⃣ Junior Game Developer (C# / C++)
Nival
Junior · Hybrid · 💰 100 000 – 150 000 ₽

1️⃣0️⃣ Automation Test Engineer C# (KORM)
Kaspersky
Москва

✈️ Talanto | #вакансии #csharp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🔔Новые вакансии по C#

1️⃣ C# Developer (Revit API / BIM Automation) ТОЛЬКО АСТАНА!
DAN and PARTNERS
Астана

2️⃣ C#/.NET Разработчик
Nexign
Санкт-Петербург

3️⃣QA Fullstack C# Engineer
Зонтик
Senior · Remote · РФ · 💰 до 350 000 ₽

4️⃣ Middle C# Developer
AIR ASTANA, АО
Middle · Алматы

5️⃣ Senior C# разработчик [Telco Platform]
МТС
Senior · Remote · Москва

6️⃣ Senior C# Developer
Veeam
Senior · Remote · Warsaw, Poland

7️⃣ QA Fullstack C#
Альфа-Банк
Hybrid

8️⃣ AQA на C# Middle+
Devquality
Senior · Remote · Москва, Россия · 💰 до 165 000 ₽

9️⃣ Junior Game Developer (C# / C++)
Nival
Junior · Hybrid · 💰 100 000 – 150 000 ₽

1️⃣0️⃣ Automation Test Engineer C# (KORM)
Kaspersky
Москва

✈️ Talanto | #вакансии #csharp
Please open Telegram to view this post
VIEW IN TELEGRAM
Составили для вас "План подготовки к собеседованию" на каждую из вакансий на нашем сайте talanto.work.

Теперь на каждую из 30.000 вакансий на нашем сайте есть "План подготовки под эту вакансию" в нём, вопросы и ответы на часто задаваемые вопросы на собеседовании, как от HR, так и технические вопросы. Например на python вакансию - часто задаваемые python вопросы.

3000+ вопросов и ответов по разным технологиям.

Как бы я искал работу на сайте?
1. Заполнил профиль на сайте
2. Открыл вакансию и увидел процент соответствия вашего профиля на эту вакансию
3. Прожарил бы свое резюме и исправил неточности и ошибки.
4. Изучил "План подготовки под эту вакансию"
5. Проработал и ответил на вопросы, которые могут задать HR и технический специалист.
6. Откликнулся на вакансию.

Все вопросы и планы лежат по ссылке: https://talanto.work/interview-prep.

Фичу выкатили только сегодня - если есть какие-то ошибки - пишите пожалуйста в комментариях.
👍1
C# 12 and .NET 8 – Modern Cross-Platform
Development Fundamentals


Автор: Mark J. Price
Дата выхода: 2023

#csharp #en #2O23

Скачать книгу
1