Ни для кого не секрет, что со временем приложение может сильно замедлять свою работу из-за роста обрабатываемых данных. Большинство этих проблем с производительностью возникает при объединении двух списков с целью манипулирования данными. В статье описано, как бороться с этой проблемой и сделать приложения на C# быстрее с помощью соединений LINQ.
https://proglib.io/w/b974f23d
https://proglib.io/w/b974f23d
timdeschryver.dev
Make your C# applications faster with LINQ joins
If you don't watch out your C# application might suddenly perform badly. As a solution, we can limit the number of operations with a LINQ Join.
Интересные размышления относительно архитектуры приложений на языке C#:
- Я десять лет страдал от ужасных архитектур в C# приложениях — и вот нашел, как их исправить
- Архитектура интерпрайз-приложений может быть другой
- Я десять лет страдал от ужасных архитектур в C# приложениях — и вот нашел, как их исправить
- Архитектура интерпрайз-приложений может быть другой
Хабр
Я десять лет страдал от ужасных архитектур в C# приложениях — и вот нашел, как их исправить
Я второй десяток лет участвую в разработке приложений для бизнеса на .NET и каждый раз вижу одни и те же проблемы — быдлокод и беспорядок. Месиво из сервисов, U...
GeekBrains проводит набор на курсы руководителей команды разработки
Программа обучения онлайн-университета GeekBrains рассчитана на middle- и senior-разработчиков. В течение 6 месяцев слушатели освоят технологии автоматизации разработки, а также методы управления командами, проектами и высоконагруженными системами. Курс разбит на четверти, каждая из которых посвящена одной из ключевых для будущего руководителя компетенций. Практикующие тимлиды с опытом в крупных проектах будут проводить занятия в формате видеолекций с выполнением заданий и разбором персональных кейсов.
Получить дополнительную информацию и записаться можно на сайте: https://proglib.io/w/69ad0053
Программа обучения онлайн-университета GeekBrains рассчитана на middle- и senior-разработчиков. В течение 6 месяцев слушатели освоят технологии автоматизации разработки, а также методы управления командами, проектами и высоконагруженными системами. Курс разбит на четверти, каждая из которых посвящена одной из ключевых для будущего руководителя компетенций. Практикующие тимлиды с опытом в крупных проектах будут проводить занятия в формате видеолекций с выполнением заданий и разбором персональных кейсов.
Получить дополнительную информацию и записаться можно на сайте: https://proglib.io/w/69ad0053
Событие — это сообщение, посланное объектом, чтобы сообщить о совершении действия. Это действие может быть вызвано взаимодействием с пользователем, например при нажатии кнопки, или другой логикой программы, например изменением значения свойства. Объект, вызывающий событие, называется отправителем событий. Отправителю событий не известен объект или метод, который будет получать (обрабатывать) созданные им события.
События являются членами класса и объявляются с помощью ключевого слова
где делегат_события обозначает имя делегата, используемого для поддержки события, а имя_события — конкретный объект объявляемого события.
Как и делегаты, события поддерживают групповую адресацию. Это дает возможность нескольким объектам реагировать на уведомление о событии.
Паттерн Наблюдатель тестно связан с событиями, т. к. его можно часто встретить там, где применяется событийная модель отношений между компонентами. Наблюдатель позволяет отдельным компонентам реагировать на события, происходящие в других компонентах.
Признаки применения паттерна: Наблюдатель можно определить по механизму подписки и методам оповещения, которые вызывают компоненты программы.
Применение данного паттерна описано здесь.
События являются членами класса и объявляются с помощью ключевого слова
event
. Чаще всего для этой цели используется следующая форма: event делегат_события имя_события;где делегат_события обозначает имя делегата, используемого для поддержки события, а имя_события — конкретный объект объявляемого события.
Как и делегаты, события поддерживают групповую адресацию. Это дает возможность нескольким объектам реагировать на уведомление о событии.
Паттерн Наблюдатель тестно связан с событиями, т. к. его можно часто встретить там, где применяется событийная модель отношений между компонентами. Наблюдатель позволяет отдельным компонентам реагировать на события, происходящие в других компонентах.
Признаки применения паттерна: Наблюдатель можно определить по механизму подписки и методам оповещения, которые вызывают компоненты программы.
Применение данного паттерна описано здесь.
Docs
Шаблон разработки Observer
Сведения о конструктивном шаблоне Observer в .NET. Этот шаблон позволяет подписчику регистрироваться у поставщика и получать от него уведомления.
Выпущена третья версия ConsoleAppFramework — инструментария командной строки для .NET Core. В статье описаны новые функции и приведены примеры.
https://proglib.io/w/2ec9e12d
https://proglib.io/w/2ec9e12d
GitHub
GitHub - Cysharp/ConsoleAppFramework: Zero Dependency, Zero Overhead, Zero Reflection, Zero Allocation, AOT Safe CLI Framework…
Zero Dependency, Zero Overhead, Zero Reflection, Zero Allocation, AOT Safe CLI Framework powered by C# Source Generator. - Cysharp/ConsoleAppFramework
Учимся работать с данными в C#
Цикл материалов, в рамках которых рассматриваются следующие темы:
✔️выбор правильного типа данных;
✔️приведение типов и преобразование данных из одного типа в другой;
✔️изменение строковых данных, форматирование строковых данных для отображения и изменение содержимого строки;
✔️обработка массивов, добавление, удаление и сортировка данных.
https://proglib.io/w/1d56ac62
Цикл материалов, в рамках которых рассматриваются следующие темы:
✔️выбор правильного типа данных;
✔️приведение типов и преобразование данных из одного типа в другой;
✔️изменение строковых данных, форматирование строковых данных для отображения и изменение содержимого строки;
✔️обработка массивов, добавление, удаление и сортировка данных.
https://proglib.io/w/1d56ac62
Docs
Работа с переменными данными в консольных приложениях C# (начало работы с C#, часть 4) - Training
Продолжение серии статей о диагностике .NET Core приложений (1 часть):
- dotnet-trace for .NET Core tracing in PerfView, SpeedScope, Chromium Event Trace Profiling, Flame graphs and more
- Exploring your .NET applications with dotnet-monitor
- dotnet-trace for .NET Core tracing in PerfView, SpeedScope, Chromium Event Trace Profiling, Flame graphs and more
- Exploring your .NET applications with dotnet-monitor
Telegram
Библиотека шарписта
Разбираемся с кроссплатформенными средствами диагностики .NET Core приложений: https://proglib.io/w/a612f6ec
📌 Первое занятие нашего курса по математике для Data Science доступно на YouTube
На вебинаре вы узнаете, как решать задачи по комбинаторике. Вы изучите основные формулы комбинаторики, правило суммы и правило произведения. Мы разберем, что такое выбор без возвращения, с возвращением, с учетом порядка, без учета порядка. Параллельно порешаем несколько задач на понимание теории.
https://www.youtube.com/watch?v=GxQGbhjVWWM
Присоединяйтесь к полному курсу по ссылке (набор до 10 октября): https://proglib.io/w/51a2a7fb
На вебинаре вы узнаете, как решать задачи по комбинаторике. Вы изучите основные формулы комбинаторики, правило суммы и правило произведения. Мы разберем, что такое выбор без возвращения, с возвращением, с учетом порядка, без учета порядка. Параллельно порешаем несколько задач на понимание теории.
https://www.youtube.com/watch?v=GxQGbhjVWWM
Присоединяйтесь к полному курсу по ссылке (набор до 10 октября): https://proglib.io/w/51a2a7fb
YouTube
Комбинаторика для начинающих с примерами. Лекция преподавателя МГУ
Теория вероятностей: основные формулы комбинаторики. Правило суммы и правило произведения. Выбор без возвращения, с возвращением, с учетом порядка, без учета порядка. Примеры. Задачи.
Сайт издания «Библиотека программиста» — https://proglib.io
Оставить…
Сайт издания «Библиотека программиста» — https://proglib.io
Оставить…
На сайте Microsoft появился новый раздел «Разработка игр с .NET», предназначенный как для новичков, так и для текущих разработчиков .NET. Подробности в статье: https://proglib.io/w/14497770
Microsoft News
Game Development with .NET
Launching .NET for game development that runs on a wide variety of platform using purpose built gaming engines. Develop games on Windows, Linux, or mcaOS.
Доклад Ивана Патудина на DotNetRu 2020 под названием «gRPC и его реализация в .NET Core». В рамках доклада Иван разбирает, какие у фреймворка gRPC могут быть юзкейсы и какие задачи он решает, рассматривает сильные и слабые стороны, а также сравнивает его с REST и с WCF.
https://proglib.io/w/202be2a4
https://proglib.io/w/202be2a4
YouTube
Иван Патудин «gRPC и его реализация в .NET Core»
gRPC — опенсорсный фреймворк для удалённого вызова процедур, который был доступен уже давно, но недавно Майкрософт интегрировал его в .NET Core, и он пришёл на смену отжившему своё WCF.
В этом докладе мы разберём какие у него могут быть юзкейсы и какие задачи…
В этом докладе мы разберём какие у него могут быть юзкейсы и какие задачи…
♻ Как правильно управлять ресурсами в .NET Core
Сборщик мусора .NET отлично справляется с очисткой управляемых ресурсов, но с неуправляемыми справиться не может. Разбираемся, что тут к чему.
https://proglib.io/sh/o2nMtK0dF7
Сборщик мусора .NET отлично справляется с очисткой управляемых ресурсов, но с неуправляемыми справиться не может. Разбираемся, что тут к чему.
https://proglib.io/sh/o2nMtK0dF7
Прояви себя в цифре! Участвуй в региональных Онлайн-Хакатонах Цифрового Прорыва!
Тебя ждет насыщенная серия конкурсов с актуальным кейсами от бизнеса и государства, а призовой фонд каждого хакатона до 3 млн. руб.!
Выбирай удобные даты, понравившийся кейс, собирай команду и покажи, на что ты способен:
16.10 - 18.10 - Центральный Хаб: https://leadersofdigital.ru/event/63007
24.10 - 26.10 - Северо-Кавказский Хаб: https://leadersofdigital.ru/event/63006
31.10 - 02.11 - Уральский Хаб: https://leadersofdigital.ru/event/63009
14.11 - 16.11 - Северо-Западный Хаб: https://leadersofdigital.ru/event/63011
Стань частью цифрового будущего России!
Тебя ждет насыщенная серия конкурсов с актуальным кейсами от бизнеса и государства, а призовой фонд каждого хакатона до 3 млн. руб.!
Выбирай удобные даты, понравившийся кейс, собирай команду и покажи, на что ты способен:
16.10 - 18.10 - Центральный Хаб: https://leadersofdigital.ru/event/63007
24.10 - 26.10 - Северо-Кавказский Хаб: https://leadersofdigital.ru/event/63006
31.10 - 02.11 - Уральский Хаб: https://leadersofdigital.ru/event/63009
14.11 - 16.11 - Северо-Западный Хаб: https://leadersofdigital.ru/event/63011
Стань частью цифрового будущего России!
Какой символ следует использовать в качестве директивы для интерполяции строк?
Anonymous Quiz
72%
$
16%
@
3%
%
2%
!
7%
Посмотреть результаты
#вакансия #разработчик #fulltime #developer #удаленка
MiddleSenior .Net разработчик на проект крупного российского банка.
Город: Казань или полная удаленка (по московскому времени)
Проект на .Net Core - пополнение инвест счетов в момент открытия счета/ приобретение опиф на сайте. Восстановление логина в системе.
Требования:
- C# на уровне middle разработчика и выше
- Опыт работы с .Net Core (желательно 3.1)
- Навык проектирования сервисов
- Опыт написания юнит/интеграционных тестов
- MS Sql
Желательно:
- Опыт работы с Kafka
- Работа с микросервисной архитектурой
- Опыт работы в распределенной команде
- Опыт работы по scrumagile
Условия:
- Полностью удаленная работа или офисная позиция в Казани
- Зп до 120-165 net (в зависимости от грейда, по результатам собеседования)
Контакты:
Tg: @shirikova_alexandra Email: a.shirikova@outlines.tech
https://proglib.io/vacancies/middle-senior-net-razrabotchik-outlines-technologies-2020-10-11
MiddleSenior .Net разработчик на проект крупного российского банка.
Город: Казань или полная удаленка (по московскому времени)
Проект на .Net Core - пополнение инвест счетов в момент открытия счета/ приобретение опиф на сайте. Восстановление логина в системе.
Требования:
- C# на уровне middle разработчика и выше
- Опыт работы с .Net Core (желательно 3.1)
- Навык проектирования сервисов
- Опыт написания юнит/интеграционных тестов
- MS Sql
Желательно:
- Опыт работы с Kafka
- Работа с микросервисной архитектурой
- Опыт работы в распределенной команде
- Опыт работы по scrumagile
Условия:
- Полностью удаленная работа или офисная позиция в Казани
- Зп до 120-165 net (в зависимости от грейда, по результатам собеседования)
Контакты:
Tg: @shirikova_alexandra Email: a.shirikova@outlines.tech
https://proglib.io/vacancies/middle-senior-net-razrabotchik-outlines-technologies-2020-10-11
Знакомимся с отложенной («ленивой») инициализацией в C#: https://proglib.io/w/09e3f4bf
Хабр
Ленивая инициализация в C#
Отложенная инициализация или «ленивая» инициализация — это способ доступа к объекту, скрывающий за собой механизм, позволяющий отложить создание этого объекта до момента первого обращения....
This media is not supported in your browser
VIEW IN TELEGRAM
Автономная база данных Oracle в Вашем ЦОД!
Присоединяйтесь к онлайн мероприятию, чтобы узнать:
⚡️о решении Oracle Exadata Cloud@Customer, которое сочетает в себе простоту работы в облаке с безопасностью и контролируемостью локального развертывания, его ключевых технологических, эксплуатационных аспектах и гибких лицензионных возможностях
⚡️об инновациях и новом расширенном функционале Автономной Базы Данных Oracle
⚡️об опыте использования Exadata Cloud at Customer в одной из ведущих международных химических компаний
Участие в мероприятии бесплатное при условии предварительной регистрации!
Когда: 15 октября 2020 в 11:00 Время Московское
Принять участие: https://vk.cc/aAJk3i 👈🏻
Присоединяйтесь к онлайн мероприятию, чтобы узнать:
⚡️о решении Oracle Exadata Cloud@Customer, которое сочетает в себе простоту работы в облаке с безопасностью и контролируемостью локального развертывания, его ключевых технологических, эксплуатационных аспектах и гибких лицензионных возможностях
⚡️об инновациях и новом расширенном функционале Автономной Базы Данных Oracle
⚡️об опыте использования Exadata Cloud at Customer в одной из ведущих международных химических компаний
Участие в мероприятии бесплатное при условии предварительной регистрации!
Когда: 15 октября 2020 в 11:00 Время Московское
Принять участие: https://vk.cc/aAJk3i 👈🏻
Какое из приведенных утверждений верно?
Anonymous Quiz
9%
В библиотеке классов .NET всегда определяются перегруженные версии для каждого метода.
50%
Библиотека классов .NET содержит определения для типов данных, используемых в C#.
23%
Библиотека классов .NET использует пространства имен для оптимизации кода.
4%
Библиотека классов .NET содержит методы, которые не относятся ни к одному классу.
13%
Посмотреть результаты
Серия видеоуроков, в которой объясняется, как использовать правильные инструменты для создания веб-сайта на ASP.NET Core, включить компоненты Blazor и опубликовать веб-сайт в Azure: https://proglib.io/w/ad9f5f5e