Профессор Си – Telegram
Профессор Си
2.88K subscribers
104 photos
2 videos
129 links
Уроки, советы, новости C#.


@anothertechrock
@aldrson
Download Telegram
Подготовили для вас новый полезный вебинар на тему: «Мониторинг работоспособности ASP.NET Core приложений.»

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


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

Чуть-чуть подробнее для заинтересовавшихся:
Как настраивать Health Checks для проверки состояния вашего приложения.
Как использовать различные инструменты для мониторинга и логирования.
Как интерпретировать данные мониторинга.
Возможность задать вопросы крутому эксперту в онлайн эфире!

Все это + очень приличная скидка на курс C# ASP.NET Core разработчик при регистрации по ссылке

Скидка может быть и не пригодится прямо сейчас, но лучше же чтобы она была, да? 🤔 ☺️

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1
📕Открытый урок по Scala для Java, C#, Kotlin и Android программистов, аналитиков данных и специалистов по обработке больших данных

На открытом уроке 16 декабря в 20:00 мск мы изучим, эффекты в Scala.

📗На уроке:
- узнаем, что такое эффекты и какие они бывают;
- познакомимся с понятием функционального эффекта;
- разберемся, какие задачи они могут решать.

📘В результате:
Реализуем свой функциональный эффект, применив полученные навыки.

Спикер Алексей Воронец — руководитель разработки департамента проектных решений и поисковых систем в компании Naumen, 14+ лет разработки на Scala, Java, JavaScript и PHP.

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/TYfW/

📙 Все участники открытого урока получат скидку на курс "Scala-разработчик"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1
Подробно рассказываем о высокопроизводительных решениях с фреймворком userver на новом бесплатном вебинаре!

Он предназначен для создания надежных и молниеносных микросервисов и веб-серверов. Освойте передовой C++ фреймворк всего за 90 минут!

 Вы узнаете:
- Уникальные архитектурные особенности и преимущества userver, которые сделают вашу работу легче и эффективнее.
- Как быстро настроить окружение и запустить свой первый проект, не тратя лишнего времени.
- Советы высококлассных профессионалов по работе с асинхронностью, которые помогут вам стать мастером своего дела и очень много другой полезной сочной информации!

💡 Будет особенно интересно:
- C++ разработчикам, стремящимся освоить мощный инструмент для создания микросервисов.
- Backend-инженерам и Team Lead'ам, ищущим высокопроизводительные решения для своих задач.
- Специалистам, работающим над масштабируемыми системами.

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

P.S. Все зарегистрированные участники получат приличную скидку на обновленный топовый курс «C++ Developer. Professional»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Что выведет строка
Console.WriteLine($"{0.12345f:F3}")?
Anonymous Quiz
7%
0.12345
11%
0.12345 на новой строке
60%
0.123
22%
0.123 на новой строке
🥴6👍3🔥1🤡1
Работа с NoSQL на С#: разбираем нереляционные базы данных от первого бита и до последнего!

Всего за 90 минут мы:
1️⃣Подробно разберем, что такое NoSQL, их виды и почему это важно для современных разработчиков, рассмотрим уникальные особенности баз данных.
2️⃣Главное! Закрепим полученные знания на практике, работая с NoSQL базами.
3️⃣И даже если Вы уже работали с NoSQL, этот вебинар будет полезен для вас!

Ваши результаты после живого веба:
Понимание особенностей реляционных и нереляционных баз данных.
Уверенность в выборе оптимального типа базы данных для конкретных задач!

А продвинутый курс C# Developer. Professional поможет вам претендовать на зарплату Senior специалиста, которая, как правило, от 280 000 рублей/мес. Помимо знаний, опыта и ценных навыков, после выпускной работы Вы получите сертификат, который действительно ценится работодателями, потому что все наши курсы регулярно обновляются под текущие требования рынка: https://vk.cc/cGgSvv

До встречи на вебе!🧡

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Многомерный массив в C# - это...
Anonymous Quiz
2%
int[]
52%
int[,]
42%
int[][]
4%
В C# нет многомерных массивов
👍8👎51
🔥 Хотите узнать, как создавать мощные WebAPI с MongoDB и EF Core?

Добро пожаловать на эксклюзивный открытый урок «Создание WebAPI с помощью EF Core и MongoDB»! 🚀

📗На бесплатном вебинаре вы узнаете:
— Как работать с NoSQL-хранилищем MongoDB в реальных приложениях.
— Новые возможности EF Core для интеграции с MongoDB.
— Стандарты работы с MongoDB в .NET.

📅 Встречаемся 12 февраля в 🕗 20:00 мск. Этот урок - ваша возможность погрузиться в мир передовых технологий ASP.NET.

А участники получат эксклюзивную скидку на обучение на курсе «C# ASP.NET Core разработчик». 🎓

Не упустите возможность!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Какие из модификаторов не может иметь абстрактный класс?
Anonymous Quiz
24%
static, internal
52%
sealed, static
24%
sealed, internal
🤡7👍3🔥1🦄1
👩‍💻 Консольный чат на C# в прямом эфире

Приглашаем на открытый урок.

🗓 25 февраля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «C# Developer Professional».

На вебинаре:
✔️Рассмотрим создание интеррактивного консольного чата на языке C#
✔️Рассмотрим такие классы как TcpConnection и TcpListener, поговорим про TcpSocker и Network стрим и в целом концепцию обмена данных по сети.

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

🔗 Ссылка на регистрацию

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Shuffle() в действии

До сих пор в LINQ не было встроенного метода для случайного перемешивания коллекций. Разработчикам приходилось использовать разные неэффективные методы.

В новом PR был добавлен метод Shuffle() в IEnumerable<T>. Будем ждать в одном из следующих релизов .NET

Пример будущего кода:
var shuffledItems = items.Shuffle();


Подробности:

🔗 Обсуждение необходимости метода

🔗 Реализация в .NET

🤔 Книги для шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1
@rabotacschap - работа по C# и Unity. Подписывайтесь.
⚙️ Гибридное кэширование

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

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
👍21
👩‍💻 Clean code и связь с архитектурными паттернами в C#

Приглашаем на открытый урок.

🗓 05 марта в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «C# Developer Professional».

На вебинаре:
✔️принципы clean code и основные архитектурные паттерны написания проекта (такие как, Layered Architecture, Clean Architecture, Repository Pattern), которые позволяют отделять бизнес логику и писать легко поддерживаемые приложения
✔️кроме того как надо, посмотрим на примеры, которые принято называть антипаттернами.

По итогам вебинара каждый участник:
✔️ Сможет улучшать качество кода в своих проектах с помощью практических инструментов.

🔗 Ссылка на регистрацию

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Гибридное кэширование

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

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👍1👌1
This media is not supported in your browser
VIEW IN TELEGRAM
Игра или жизнь? 🤔

Наш канал GameDev разработка для тех кто хочет начать карьеру в Game индустрии и для тех, кто увлекается играми.

Контент:
1. туториалы
2. советы и подсказки
3. визуалка
4. гифки из игр
5. книги

Туториалы по GameDev от первого лица.

Воксельная графика, inspiration контент

Подписывайся на @turbogamedev
🎉21👍1
😴🛠 Паттерн «Состояние»

Паттерн «Состояние» — это поведенческий паттерн проектирования, который позволяет объекту изменять своё поведение в зависимости от текущего состояния. Он помогает избежать большого количества условных операторов и делает код более читаемым, гибким и модульным.

Когда использовать паттерн «Состояние»?
Когда у объекта есть несколько состояний, и его поведение зависит от текущего состояния.
Когда в коде слишком много if-else или switch-case, которые проверяют состояние объекта.
Когда требуется обеспечить легкое добавление новых состояний без изменения существующего кода.

Основные компоненты паттерна
Контекст: класс, который хранит текущее состояние и позволяет его изменять. Обычно предоставляет интерфейс для взаимодействия с клиентом.
Интерфейс состояния: абстрактный или интерфейсный класс, который определяет общие методы, характерные для всех состояний.
Конкретные состояния: реализации интерфейса состояния. Каждое состояние определяет свое поведение, соответствующее текущему состоянию.

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

🤔 Книги для шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
C# 12 in a Nutshell

Автор:
Joseph Albahari
Год издания:
2023

#csharp #en

Скачать книгу
👍31
Задачка: Абсолютная сумма

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

Примеры:
getAbsSum([2, -1, 4, 8, 10]) ➞ 25
getAbsSum([2, 4, 6, 8, 10]) ➞ 30
getAbsSum([-1]) ➞ 1

Пишите ваши варианты в комментариях. Ответ будет в канале завтра.

#задача
using System;
using System.Linq;

public class Program
{
public static int getAbsSum(int[] arr)
{
return arr.Select(Math.Abs).Sum();
}
}

#задача #ответ
👍4
Задачка: Поменять местами

Напишите функцию, которая принимает строку (имя и фамилию человека) и возвращает строку, в которой имя и фамилия поменяны местами.

Примеры:
NameShuffle("Donald Trump") ➞ "Trump Donald"
NameShuffle("Rosie O'Donnell") ➞ "O'Donnell Rosie"
NameShuffle("Seymour Butts") ➞ "Butts Seymour"

Пишите ваши варианты в комментариях. Ответ будет в канале завтра.

#задача
🤨6👍5🤡2🤯1