Иногда полезно встраивать версию приложения или метаданные непосредственно в сборку. Это можно сделать с помощью флагов в
dotnet build
:dotnet build /p:Version=1.0.0 /p:CommitHash=$(git rev-parse --short HEAD)
/p:Version=1.0.0
: встраивает версию в сборку.
/p:CommitHash=$(git rev-parse --short HEAD)
: встраивает хэш текущего коммита в сборку, полученный с помощью Git.Вы можете использовать эти переменные в коде для отображения версии и метаданных в финальном приложении.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
На этом этапе студенты познакомятся с базовыми понятиями пользовательского интерфейса в Unity. Разберем, как создается UI, что такое Canvas, как работают элементы и как правильно размещать их на экране. Обсудим настройку рендеринга и обработку пользовательских событий, а также:
• Что такое UI в Unity
• Canvas: что это и как он работает
• Основные UI-элементы (Button, Text, Image, Slider и др.)
• RectTransform и отличие от Transform
• Понятие Render Mode и масштабирование UI
Встречаемся в преддверии старта курса «Unity Game Developer. Basic».
👉Регистрация и подробности о курсе: https://vk.cc/cMBZsU
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
📋 Чек-лист по написанию LINQ запросов
Независимо от того, работаете ли вы с коллекциями, базами данных или XML, LINQ запросы требуют правильной структуры и оптимизации для достижения наилучших результатов.
В этом чек-листе собраны основные моменты, которые помогут вам писать чистые, читаемые и эффективные LINQ запросы.
✅ Понимание источника данных
Убедитесь, что данные поддерживают LINQ, например,
✅ Определение цели запроса
Чётко определите входные данные, что с ними будет в процессе и какие ожидаются данные на выходе.
✅ Синтаксис запроса
Перед написанием запросов стоит определить какой синтаксис будет использоваться.
• Синтаксис как метод:
• Запрос в синтаксисе:
✅ Оптимизация производительности
Используйте
✅ Отложенная и немедленная загрузка
Отложенная загрузка полезна, когда вам нужно выполнить запрос, но выполнение следует отложить до тех пор, пока это не потребуется.
Немедленная загрузка используется, когда вы хотите сразу получить результат выполнения запроса или когда данные нужно обработать немедленно.
✅ Агрегация и группировка
Используйте функции агрегации, такие как
✅ Сложные запросы
Работайте с несколькими коллекциями через операторы
✅ Использование
Упрощайте запросы с помощью промежуточных переменных:
✅ Обработка пустых коллекций
Используйте
✅ Производительность и асинхронность
Используйте асинхронные методы, такие как
Независимо от того, работаете ли вы с коллекциями, базами данных или XML, LINQ запросы требуют правильной структуры и оптимизации для достижения наилучших результатов.
В этом чек-листе собраны основные моменты, которые помогут вам писать чистые, читаемые и эффективные LINQ запросы.
Убедитесь, что данные поддерживают LINQ, например,
IEnumerable<T>
или IQueryable<T>
.Чётко определите входные данные, что с ними будет в процессе и какие ожидаются данные на выходе.
Перед написанием запросов стоит определить какой синтаксис будет использоваться.
• Синтаксис как метод:
var result = collection.Where(x => x.Age > 30).OrderBy(x => x.Name).ToList();
• Запрос в синтаксисе:
var result = from x in collection
where x.Age > 30
orderby x.Name
select x;
Используйте
IQueryable<T>
для внешних источников данных (например, базы данных), чтобы запрос выполнялся на сервере.Отложенная загрузка полезна, когда вам нужно выполнить запрос, но выполнение следует отложить до тех пор, пока это не потребуется.
Немедленная загрузка используется, когда вы хотите сразу получить результат выполнения запроса или когда данные нужно обработать немедленно.
Используйте функции агрегации, такие как
Sum()
, Average()
, Max()
, и группировку через GroupBy()
.Работайте с несколькими коллекциями через операторы
join
, union
, intersect
и except
.var combined = collection1.Join(collection2,
c1 => c1.Id,
c2 => c2.Id,
(c1, c2) => new { c1.Name, c2.Price });
let
для промежуточных вычисленийУпрощайте запросы с помощью промежуточных переменных:
var result = from x in collection
let temp = x.Age * 2
where temp > 40
select new { x.Name, temp };
Используйте
DefaultIfEmpty()
для предотвращения ошибок при работе с пустыми коллекциями.Используйте асинхронные методы, такие как
ToListAsync()
, для работы с асинхронными источниками данных.Please open Telegram to view this post
VIEW IN TELEGRAM
❤10
Приглашаем на открытый урок.
🗓 24 июня в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «C# Developer Professional».
На вебинаре:
Кому будет полезно:
- Всем, кто стремится глубже понять DDD
- .NET-разработчикам, проектирующим сложные системы с долгосрочной поддержкой
- Студентам, изучающим паттерны проектирования и чистую архитектуру
Чему научатся участники по итогам вебинара:
- Понимать, когда код попадает в антипаттерн Anemic Model
- Проектировать сущности с бизнес-логикой внутри
- Выбирать компромиссы: скорость разработки (Anemic) vs гибкость/безопасность (Rich).
🔗 Ссылка на регистрацию: https://vk.cc/cMYGq7
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Задачка: Умножение на длину
Напишите функцию, умножающую все значения в массиве на количество значений в заданном массиве.
Примеры:
Пишите ваши варианты в комментариях. Ответ будет в канале завтра.
#задача
Напишите функцию, умножающую все значения в массиве на количество значений в заданном массиве.
Примеры:
MultiplyByLength([2, 3, 1, 0]) ➞ [8, 12, 4, 0]
MultiplyByLength([4, 1, 1]) ➞ ([12, 3, 3])
MultiplyByLength([0]) ➞ ([0])
Пишите ваши варианты в комментариях. Ответ будет в канале завтра.
#задача
🔥2
🎯 Курс «C# Developer. Professional» от OTUS — это актуальная программа для тех, кто хочет прокачать свои навыки разработки, работы с микросервисами и создания сложных клиент-серверных приложений. Программа включает реальную практику с использованием Scrum-методики, что помогает вам сразу внедриться в командную работу и работать по методологии, актуальной для крупных ИТ-компаний.
Освежите и углубите свои знания C# и .NET.
Вы научитесь:
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
🐢 Столкнулись с «тормозным» C#-кодом? Медленные алгоритмы могут растянуть выполнение задачи на минуты вместо миллисекунд.
📅 Приглашаем на открытый урок «Анализ сложности алгоритмов и сортировка на C#» 3 июля в 20:00 МСК.
Разберём, что такое Big O, какие факторы влияют на скорость, и на практике напишем пузырьковую, вставками и другие сортировки.
Вы увидите, как измерять время выполнения, сравнивать производительность и выбирать самый эффективный алгоритм. После занятия ваш код станет быстрее, а техническое интервью — проще.
Регистрируйтесь сейчас — урок проходит перед стартом курса «C# Developer»: https://vk.cc/cNiiau
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
📅 Приглашаем на открытый урок «Анализ сложности алгоритмов и сортировка на C#» 3 июля в 20:00 МСК.
Разберём, что такое Big O, какие факторы влияют на скорость, и на практике напишем пузырьковую, вставками и другие сортировки.
Вы увидите, как измерять время выполнения, сравнивать производительность и выбирать самый эффективный алгоритм. После занятия ваш код станет быстрее, а техническое интервью — проще.
Регистрируйтесь сейчас — урок проходит перед стартом курса «C# Developer»: https://vk.cc/cNiiau
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Задачка: Удаление первого и последнего символов
Напишите функцию, удаляющую из строки первый и последний символы.
Примеры:
Пишите ваши варианты в комментариях. Ответ будет в канале завтра.
#задача
Напишите функцию, удаляющую из строки первый и последний символы.
Примеры:
RemoveFirstLast("maybe") ➞ "ayb"
RemoveFirstLast("benefit") ➞ "enefi"
RemoveFirstLast("a") ➞ "a"
Пишите ваши варианты в комментариях. Ответ будет в канале завтра.
#задача
🔥 Пройдитет тест! 💻 Ответьте на 32 вопроса и узнайте, достаточно ли у вас знаний, для обучения на онлайн-курсе «C# Developer. Professional» от OTUS.
Вас ждут реальные проекты в Scrum-командах, продвинутый уровень работы с C#, освоение SQL и NoSQL, кэширование, Unit-тесты и CI/CD.
🦾 Пора стать тем самым разработчиком, которого компании хантят друг у друга. Нужно только перейти на принципиально новый уровень.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
interface IList
{
int Count { get; set; }
}
interface ICounter
{
void Count(int i);
}
interface IListCounter:IList, ICounter { }
class C
{
void Test(IListCounter x) //1
{
x.Count(1); //2
x.Count = 1; //3
}
}
public class Program
{
private static void Main(string[] args)
{
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
🗓 17 июля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «C# Developer. Professional».
Что будет на вебинаре:
Кому будет полезно:
- Разработчикам C# с опытом (Mid+/Senior), которые активно используют async/await.
- Тем, кто сталкивался с непонятными блокировками или проблемами производительности в асинхронном коде.
- Тем, кто хочет писать более надежный и эффективный асинхронный код.
🔗 Ссылка на регистрацию: https://vk.cc/cNx25S
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
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
Скачать книгу
Development Fundamentals
Автор: Mark J. Price
Дата выхода: 2023
#csharp #en #2O23
Скачать книгу
❤1🔥1
Устали править копипастные участки кода и бороться с хаосом в проекте?
⏺️ Приглашаем на открытый урок «Переиспользуемый код на C#: архитектурный подход» 15 июля в 20:00 МСК. Разберём, как строить приложение по принципам SOLID, DRY, KISS и YAGNI и избавляться от дублирования на уровне архитектуры. Вы увидите, как декомпозировать систему на слои, внедрять зависимости через абстракции и собирать «Lego-приложение» для разных интерфейсов.
🔴 Встречаемся 15 июля в 20:00 МСК.
➡️ Успейте зарегистрироваться на урок количество участников ограничено: https://vk.cc/cNx7t7
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
⏺️ Приглашаем на открытый урок «Переиспользуемый код на C#: архитектурный подход» 15 июля в 20:00 МСК. Разберём, как строить приложение по принципам SOLID, DRY, KISS и YAGNI и избавляться от дублирования на уровне архитектуры. Вы увидите, как декомпозировать систему на слои, внедрять зависимости через абстракции и собирать «Lego-приложение» для разных интерфейсов.
🔴 Встречаемся 15 июля в 20:00 МСК.
➡️ Успейте зарегистрироваться на урок количество участников ограничено: https://vk.cc/cNx7t7
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Что будет выведено на экран?
Anonymous Quiz
9%
Вечер
3%
Ветер
57%
Вечер сегодня прекрасный
19%
Ветер сегодня прекрасный
13%
Возникнет ошибка