Telegram Web
👩‍💻 Консольный чат на C# в прямом эфире

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

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

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

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

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Задачка: Преобразование числа в соответствующее название месяца

Напишите функцию, которая принимает число (от 1 до 12) и возвращает соответствующее ему название месяца в виде строки. Например, если в качестве входных данных задано число 3, то функция должна возвращать "March", поскольку март - это 3-й месяц.

Примеры:
MonthName(3) ➞ "March"
MonthName(12) ➞ "December"
MonthName(6) ➞ "June"

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

#задача
👍1
using System.Globalization;
public class Program
{
public static string MonthName(int num)
{
return CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(num);
}
}

#задача #ответ
👍6👎2
💡 Shuffle() в действии

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

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

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


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

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

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

🤔 Книги для шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍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#

Пройти тестирование — сложно! А ты справишься?
32 вопроса, 40 минут

Проверь себя - пройди квиз и оцени свой уровень навыков, а также свою готовность к обучению на курсе — «C# Developer Professional» от Отус.

⚡️ На курсе ты научишься разрабатывать на C# сложные клиент-серверные приложения, используя паттерны проектирования и возможности CLR (многопоточность, асинхронность, рефлексия, сериализация) и LINQ, и многое другое.

👉 ПРОЙТИ ТЕСТ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
C# 12 in a Nutshell

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

#csharp #en

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

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

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

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

#задача
⌨️ Создание высоконагруженных систем на C#: инструменты и техники

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

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

На вебинаре:
✔️ Узнаем, как проектировать масштабируемые приложения с использованием современных подходов, таких как микросервисы и event-driven архитектура;
✔️ Рассмотрим Redis: как правильно кешировать данные, использовать Pub/Sub, шардирование и репликацию для повышения производительности;
✔️ Разберем gRPC и HTTP/2: как с их помощью обрабатывать огромное количество запросов с минимальной задержкой;
✔️ А также проведем практическую демонстрацию:
- настройки Redis и реализации кеширования в приложении на C#
- создания gRPC-сервиса для быстрой и надежной коммуникации между компонентами системы.

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

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

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

#задача #ответ
👍4
⌨️ Квиз на знание C#

Пройти тестирование — сложно! А ты справишься?
32 вопроса, 40 минут

Проверь себя - пройди квиз и оцени свой уровень навыков, а также свою готовность к обучению на курсе — «C# Developer Professional» от Отус.

⚡️ На курсе ты научишься разрабатывать на C# сложные клиент-серверные приложения, используя паттерны проектирования и возможности CLR (многопоточность, асинхронность, рефлексия, сериализация) и LINQ, и многое другое.

👉 ПРОЙТИ ТЕСТ

🎁 Для прошедших тест скидка для обучение на курсе по промокоду C#PRO_03

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21😁1
Задачка: Поменять местами

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

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

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

#задача
🤨6👍5🤡2🤯1
using System.Linq;
public class Program
{
public static string NameShuffle(string str)
{
return string.Join(" ", str.Split(' ').Reverse());
}
}

#задача #ответ
🤡10👍2
⚡️Асинхронность без сложных потоков? В C++20 это возможно. Корутины позволяют выполнять задачи параллельно без создания лишних потоков, экономя ресурсы и упрощая код.

На открытом вебинаре 27 марта в 20:00 мск разберём, как co_await и co_yield работают в современных C++-проектах, где применяются в реальных задачах и почему это важно для высоконагруженных систем. Разберём практические примеры из сетевого программирования и обработки данных.

Освойте новую парадигму асинхронности, избавьтесь от проблем с потоками и сделайте свой код проще и быстрее. Вы научитесь внедрять корутины в свои проекты, разберётесь в новшествах C++20/23 и сможете использовать их в продакшене.

👉Регистрируйтесь и получите скидку на большое обучение «C++ Developer. Professional»: https://otus.pw/6OuJ/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Вопрос на засыпку. В чем разница между constant и readonly?

Ответ опубликуем вечером.

Пишите в комментариях ваш вариант!

#questions
🤡8🥰1👏1
2025/07/12 22:52:41
Back to Top
HTML Embed Code: