Channel: Developers Community
Особенности реализации List в C#.
List является одной из самых популярных коллекций в C#. Автор статьи разобрался в некоторых особенностях работы с ним и изучил внутреннюю реализацию его отдельных частей.
Подробности: https://habr.com/ru/company/pvs-studio/blog/691476/
List является одной из самых популярных коллекций в C#. Автор статьи разобрался в некоторых особенностях работы с ним и изучил внутреннюю реализацию его отдельных частей.
Подробности: https://habr.com/ru/company/pvs-studio/blog/691476/
Хабр
Особенности реализации List в C#
List является одной из самых популярных коллекций в C#. Давайте разберёмся в некоторых особенностях работы с ним и посмотрим на внутреннюю реализацию его отдельных частей. Введение Данная статья будет...
Планируете взяться за .NET MAUI? Будьте готовы к приключениям с NullReferenceException.
.NET Multi-platform App UI – фреймворк, который разрабатывает Microsoft. Тем не менее, код некоторых его функций выглядит так, будто разработчики забыли о последствиях разыменования нулевых ссылок.
Подробности: https://habr.com/ru/company/pvs-studio/blog/691790/
.NET Multi-platform App UI – фреймворк, который разрабатывает Microsoft. Тем не менее, код некоторых его функций выглядит так, будто разработчики забыли о последствиях разыменования нулевых ссылок.
Подробности: https://habr.com/ru/company/pvs-studio/blog/691790/
Хабр
Планируете взяться за .NET MAUI? Будьте готовы к приключениям с NullReferenceException
.NET Multi-platform App UI – фреймворк, который пишут профессионалы. Тем не менее, код некоторых его функций выглядит так, будто разработчики забыли о последствиях разыменования нулевых ссылок....
Книга «EF Core в действии» в правильном переводе команды DotNetRu.
EF Core стал почти стандартом при разработке .NET приложений, использующих реляционные базы данных, и большое число разработчиков успешно применяют его в своих проектах. Эта книга представляет собой подробное руководство по работе с этим инструментом и будет интересна как новичкам, так и опытным разработчикам.
Подробности: https://habr.com/ru/company/jugru/blog/691664/
EF Core стал почти стандартом при разработке .NET приложений, использующих реляционные базы данных, и большое число разработчиков успешно применяют его в своих проектах. Эта книга представляет собой подробное руководство по работе с этим инструментом и будет интересна как новичкам, так и опытным разработчикам.
Подробности: https://habr.com/ru/company/jugru/blog/691664/
Хабр
Книга «EF Core в действии» в правильном переводе команды DotNetRu
Около трех лет назад наше сообщество DotNet.Ru приняло участие в интересном эксперименте. Взаимодействуя с издательством ДМК-пресс, члены сообщества работали над переводом на русский язык...
Обзор нововведений в C# 11.
C# 11 выходит уже совсем скоро, так что пора детально изучить новые особенности, которые появятся в языке. И хотя их немного, среди них есть довольно интересные: обобщённая математика, исходные строки, модификатор required, параметры типа в атрибутах и прочее.
Подробности: https://habr.com/ru/company/pvs-studio/blog/694792/
C# 11 выходит уже совсем скоро, так что пора детально изучить новые особенности, которые появятся в языке. И хотя их немного, среди них есть довольно интересные: обобщённая математика, исходные строки, модификатор required, параметры типа в атрибутах и прочее.
Подробности: https://habr.com/ru/company/pvs-studio/blog/694792/
Хабр
Обзор нововведений в C# 11
C# 11 выходит уже совсем скоро, так что пора детально изучить новые особенности, которые появятся в языке. И хотя их немного, среди них есть довольно интересные: обобщённая математика, исходные...
Что нового в .NET 7.
Вышел .NET 7, а это значит, что можно вдоволь насладиться различными нововведениями и фишками. Расскажем про самые интересные улучшения: C# 11, контейнеры, производительность, GC и прочее.
Подробнее: https://habr.com/ru/company/pvs-studio/blog/699706/
Вышел .NET 7, а это значит, что можно вдоволь насладиться различными нововведениями и фишками. Расскажем про самые интересные улучшения: C# 11, контейнеры, производительность, GC и прочее.
Подробнее: https://habr.com/ru/company/pvs-studio/blog/699706/
Хабр
Что нового в .NET 7?
Вышел .NET 7, а это значит, что можно вдоволь насладиться различными нововведениями и фишками. Расскажем про самые интересные улучшения: C# 11, контейнеры, производительность, GC и прочее. C# 11 Мы...
Быстрый консольный ввод на .NET.
Во времена, когда .NET был закрытой технологией только для Windows, за ним и языком C# закрепилась репутация платформы, которая отлично подходит для решения бизнес-задач, но непригодна для соревновательного программирования и написания высокопроизводительного кода.
Часто приходится слышать, что "шарпы медленные", особенно в контексте алгоритмических задач, например с timus.online и codeforces.com. И, увы, не только слышать, но и сталкиваться с реальными проблемами, связанными с особенностями платформы, получая Wrong Answer, Runtime Error, Memory Limit, Time Limit при корректном алгоритме.
Большинство этих проблем кроется в особенностях консольного ввода и вывода. Да и часто куда проще написать cin >> nили sc.nextInt(), чем int.Parse(Console.ReadLine()) или Console.ReadLine().Split().Select(int.Parse).ToArray(), из-за чего выбор падает на другой язык.
Далее подробности о распространённых проблемах с консольным вводом-выводом в .NET, и о том, как сделать ввод быстрым и удобным: https://habr.com/ru/post/705834/
Во времена, когда .NET был закрытой технологией только для Windows, за ним и языком C# закрепилась репутация платформы, которая отлично подходит для решения бизнес-задач, но непригодна для соревновательного программирования и написания высокопроизводительного кода.
Часто приходится слышать, что "шарпы медленные", особенно в контексте алгоритмических задач, например с timus.online и codeforces.com. И, увы, не только слышать, но и сталкиваться с реальными проблемами, связанными с особенностями платформы, получая Wrong Answer, Runtime Error, Memory Limit, Time Limit при корректном алгоритме.
Большинство этих проблем кроется в особенностях консольного ввода и вывода. Да и часто куда проще написать cin >> nили sc.nextInt(), чем int.Parse(Console.ReadLine()) или Console.ReadLine().Split().Select(int.Parse).ToArray(), из-за чего выбор падает на другой язык.
Далее подробности о распространённых проблемах с консольным вводом-выводом в .NET, и о том, как сделать ввод быстрым и удобным: https://habr.com/ru/post/705834/
Хабр
Быстрый консольный ввод на .NET
Во времена, когда .NET был закрытой технологией только для Windows, за ним и языком C# закрепилась репутация платформы, которая отлично подходит для решения бизнес-задач, но непригодна для...
Как увеличилась производительность LINQ в .NET 7?
В новой версии .NET улучшилась производительность методов Min, Max, Average и Sum для массивов и списков. Как вы думаете, во сколько раз увеличилась скорость их выполнения? В 2 раза, в 5? Нет, они стали гораздо быстрее. Посмотрим, как этого удалось достичь.
Подробности: https://habr.com/ru/company/pvs-studio/blog/702560/
В новой версии .NET улучшилась производительность методов Min, Max, Average и Sum для массивов и списков. Как вы думаете, во сколько раз увеличилась скорость их выполнения? В 2 раза, в 5? Нет, они стали гораздо быстрее. Посмотрим, как этого удалось достичь.
Подробности: https://habr.com/ru/company/pvs-studio/blog/702560/
Хабр
Как увеличилась производительность LINQ в .NET 7?
В новой версии .NET улучшилась производительность методов Min, Max, Average и Sum для массивов и списков. Как вы думаете, во сколько раз увеличилась скорость их выполнения? В 2 раза, в 5? Нет, они...
Дельта компрессия и квантизация объектов в C#.
Cтатья затрагивает тему сериализации данных, которые передаются по unreliable каналам. В статье вы узнаете, как с помощью дельта компрессии и квантизации можно уменьшить размер объектов и, тем самым, уменьшить размер сериализованных данных. Попутно мы познакомимся с библиотекой для битовой сериализации данных NetCode.
Подробности: https://habr.com/ru/post/709954/
Cтатья затрагивает тему сериализации данных, которые передаются по unreliable каналам. В статье вы узнаете, как с помощью дельта компрессии и квантизации можно уменьшить размер объектов и, тем самым, уменьшить размер сериализованных данных. Попутно мы познакомимся с библиотекой для битовой сериализации данных NetCode.
Подробности: https://habr.com/ru/post/709954/
Хабр
Дельта компрессия и квантизация объектов в C#
Cтатья затрагивает тему сериализации данных, которые передаются по unreliable каналам. В первую очередь это касается реалтайм игр, которые критичны к сетевым задержкам, имеют активное общение клиента...
Ozon открыл набор на бесплатные курсы для middle-специалистов Route 256
Актуально для инженеров, которые хотят перейти на Go, освоить микросервисы на C# или автотесты на Python.
А самое интересное — здесь вы узнаете, как все это применяется в Ozon.
🔹Два месяца онлайн-занятий в удобное вечернее время
🔹Менторство от экспертов и тьюторов
🔹Опыт разработчиков Ozon
🔹Офферы в команду для лучших выпускников
Как попасть на курс?
Оставь заявку на сайте ➡️ 5 февраля пройди отборочный контест ➡️ попади в рейтинг лучших ➡️ развивайся под менторством экспертов Ozon.
Регистрация на курс
Актуально для инженеров, которые хотят перейти на Go, освоить микросервисы на C# или автотесты на Python.
А самое интересное — здесь вы узнаете, как все это применяется в Ozon.
🔹Два месяца онлайн-занятий в удобное вечернее время
🔹Менторство от экспертов и тьюторов
🔹Опыт разработчиков Ozon
🔹Офферы в команду для лучших выпускников
Как попасть на курс?
Оставь заявку на сайте ➡️ 5 февраля пройди отборочный контест ➡️ попади в рейтинг лучших ➡️ развивайся под менторством экспертов Ozon.
Регистрация на курс
Развертывание ASP.NET Core приложения в Kubernetes.
Данная статья является краткой инструкцией по развертыванию ASP.NET Core приложения в Kubernetes с написанием Dockerfile для формирования образа (Docker image) и минимального манифеста для создания деплоймента и объекта, предоставляющего доступ к нему, – в статье будет использован ingress в исполнении nginx.
Подробнее: https://habr.com/ru/post/709342
Данная статья является краткой инструкцией по развертыванию ASP.NET Core приложения в Kubernetes с написанием Dockerfile для формирования образа (Docker image) и минимального манифеста для создания деплоймента и объекта, предоставляющего доступ к нему, – в статье будет использован ingress в исполнении nginx.
Подробнее: https://habr.com/ru/post/709342
Хабр
Развертывание ASP.NET Core приложения в Kubernetes
Данная статья является краткой инструкцией по развертыванию ASP.NET Core приложения в Kubernetes с написанием Dockerfile для формирования образа (Docker image) и минимального манифеста для создания...
Домашнее облачко или что можно сделать с Orange Pi 5 (Часть 1).
Многим разработчикам довольно часто бывают нужны какие-то локальные сервисы под рукой. Почему бы не использовать одноплатный компьютер?
Подробнее: https://habr.com/ru/post/708944/
Многим разработчикам довольно часто бывают нужны какие-то локальные сервисы под рукой. Почему бы не использовать одноплатный компьютер?
Подробнее: https://habr.com/ru/post/708944/
Хабр
Домашнее облачко или что можно сделать с Orange Pi 5 (Часть 1)
Работаю разработчиком и довольно часто бывает нужны какие то сервисы локальные под рукой, что то дорогого покупать не хотелось, арендую обычно когда выкатываю к заказчику. Подумал поискать где можно...
Книга «C# 10 и .NET 6. Современная кросс-платформенная разработка».
Шестое издание книги серьезно переработано, добавлены все новые функции, реализованные в версиях C# 10 и .NET 6.
Подробности: https://habr.com/ru/company/piter/blog/714396/
Шестое издание книги серьезно переработано, добавлены все новые функции, реализованные в версиях C# 10 и .NET 6.
Подробности: https://habr.com/ru/company/piter/blog/714396/
Хабр
Книга «C# 10 и .NET 6. Современная кросс-платформенная разработка»
Привет, Хаброжители! Шестое издание книги серьезно переработано, добавлены все новые функции, реализованные в версиях C# 10 и .NET 6. Вы изучите принципы объектно-ориентированного программирования,...
Опыт разработки программы для игры в шашки с помощью алгоритма минимакс.
Изначально автор хотел писать на python, но потом решил сделать крутую красивую игру и выбрал Unity (C#). Спойлер: красивую игру сделать так и не вышло.
Подробности: https://habr.com/ru/post/710990/
Изначально автор хотел писать на python, но потом решил сделать крутую красивую игру и выбрал Unity (C#). Спойлер: красивую игру сделать так и не вышло.
Подробности: https://habr.com/ru/post/710990/
Хабр
Мой опыт разработки программы для игры в шашки с помощью алгоритма минимакс
Я только лишь передвигал нужную шашку на нужное поле… (ответ Мариона Тинсли на вопрос, как ему удалось победить) Об идее В Интернете можно откопать сотни, а в англоязычном его сегменте — тысячи,...
Привет, читатель. Продолжаю размышлять над тем, как сделать контент канала интереснее. Решил, что неплохо было бы нам познакомится получше.
Мне интересно, есть ли среди подписчиков разработчики игр и интересна ли вообще эта тема. Мы касаемся этого не так часто, но Unity-разработчики ведь пишут на шарпах свои проекты. Можно было поговорить о работе с игровыми движками. Там полно своих нюансов и подходов. Вдохновил на мысль канал Кот и Код, там как раз есть технические моменты про связку С# и Unity, и в целом про работу игрового программиста. В общем можно было бы немного разбавить, а точнее дополнить текущий MS-контент. Что думаете?
Как всегда, жду от вас реакций. Да 👍 или нет 💩.
Мне интересно, есть ли среди подписчиков разработчики игр и интересна ли вообще эта тема. Мы касаемся этого не так часто, но Unity-разработчики ведь пишут на шарпах свои проекты. Можно было поговорить о работе с игровыми движками. Там полно своих нюансов и подходов. Вдохновил на мысль канал Кот и Код, там как раз есть технические моменты про связку С# и Unity, и в целом про работу игрового программиста. В общем можно было бы немного разбавить, а точнее дополнить текущий MS-контент. Что думаете?
Как всегда, жду от вас реакций. Да 👍 или нет 💩.
Telegram
Кот и код
Про разработку на Unity и .Net, радость и боль программирования.
Автор: @KotikovD
Про искусство и игрострой:
@svolochandborshch
Автор: @KotikovD
Про искусство и игрострой:
@svolochandborshch
Всё что нужно знать про ECS.
В этой статье автор рассказал всё, что знает про Entity-Component-System и попытался развеять различные предубеждения об этом подходе. Здесь вы найдете много слов о преимуществах и недостатках ECS, об особенностях этого подхода, о том как с ним подружиться, о потенциальных граблях, о полезных практиках, а также в отдельном разделе коротко посмотрим на ECS фреймворки для Unity/C#.
Подробности: https://habr.com/ru/post/665276/
В этой статье автор рассказал всё, что знает про Entity-Component-System и попытался развеять различные предубеждения об этом подходе. Здесь вы найдете много слов о преимуществах и недостатках ECS, об особенностях этого подхода, о том как с ним подружиться, о потенциальных граблях, о полезных практиках, а также в отдельном разделе коротко посмотрим на ECS фреймворки для Unity/C#.
Подробности: https://habr.com/ru/post/665276/
Хабр
Всё что нужно знать про ECS
Привет, Хабр! В этой статье я расскажу всё, что знаю про Entity-Component-System и попытаюсь развеять различные предубеждения об этом подходе. Здесь вы найдете много слов о преимуществах и недостатках...
Сортировка слиянием — не так просто, как кажется.
В одной компании соискателю на позицию Senior C# developer выдали тестовое задание: отсортировать файл со строками определенного формата.
Требования такие:
- Формат строки: число, точка, пробел, далее любые символы до конца строки.
- Порядок сортировки — сначала сортируем текстовой части строки, потом по числу если текстовые части совпадают.
- Кодировка — UTF-8.
- Размер файла — 100гб - гарантированно больше объема ОП.
- Должно отработать за 1 час на машине проверяющего, вряд ли там будет супер-быстрый SSD и огромное количество оперативной памяти.
Эта задача вызвала бурные обсуждения о способах её решения. Многие программисты, причисляющие себя к рангу senior, предложили использовать базы данных, ибо не барское это дело - вручную писать алгоритмы сортировки. Некоторые даже попытались сделать решение на Apache Spark. Однако никто до конца задачу не решил, ибо мало кому удалось отсортировать в нужном порядке даже 10ГБ файл менее чем за 15 минут без SSD.
Подробности: https://habr.com/ru/post/714524/
В одной компании соискателю на позицию Senior C# developer выдали тестовое задание: отсортировать файл со строками определенного формата.
Требования такие:
- Формат строки: число, точка, пробел, далее любые символы до конца строки.
- Порядок сортировки — сначала сортируем текстовой части строки, потом по числу если текстовые части совпадают.
- Кодировка — UTF-8.
- Размер файла — 100гб - гарантированно больше объема ОП.
- Должно отработать за 1 час на машине проверяющего, вряд ли там будет супер-быстрый SSD и огромное количество оперативной памяти.
Эта задача вызвала бурные обсуждения о способах её решения. Многие программисты, причисляющие себя к рангу senior, предложили использовать базы данных, ибо не барское это дело - вручную писать алгоритмы сортировки. Некоторые даже попытались сделать решение на Apache Spark. Однако никто до конца задачу не решил, ибо мало кому удалось отсортировать в нужном порядке даже 10ГБ файл менее чем за 15 минут без SSD.
Подробности: https://habr.com/ru/post/714524/
Хабр
Сортировка слиянием — не так просто, как кажется
В одной конторе соискателю на позицию Senior C# developer выдали тестовое задание: отсортировать файл со строками определенного формата. Требования такие: Формат строки: число, точка, пробел, далее...
Проблемы unsafe кода C#.
В этой статье автор показывает, какие проблемы может вызвать unsafe код. Также внутра несколько примеров того, как можно изменить значение константы, readonly поля и свойства без set метода.
Подробнее: https://habr.com/ru/post/707172/
В этой статье автор показывает, какие проблемы может вызвать unsafe код. Также внутра несколько примеров того, как можно изменить значение константы, readonly поля и свойства без set метода.
Подробнее: https://habr.com/ru/post/707172/
Хабр
Проблемы unsafe кода C#
В этой статье я покажу какие проблемы может вызвать unsafe код и пару примеров, как можно изменить значение константы, readonly поля и свойства без set метода. Я не знаю насколько будет вам полезна...
Swagger и полиморфные контракты в .NET 7.
Не так давно состоялся релиз седьмой версии платформы .NET. Он привнёс множество изменений и интересных нововведений, по которым уже успели пробежаться в рамках новостного обзора. В этой статье рассматривается развитие сериализации платформы (System.Text.Json) вместе с возможностями, которые она открывает.
Подробности: https://habr.com/ru/company/ruvds/blog/715000/
Не так давно состоялся релиз седьмой версии платформы .NET. Он привнёс множество изменений и интересных нововведений, по которым уже успели пробежаться в рамках новостного обзора. В этой статье рассматривается развитие сериализации платформы (System.Text.Json) вместе с возможностями, которые она открывает.
Подробности: https://habr.com/ru/company/ruvds/blog/715000/
Хабр
Swagger и полиморфные контракты в .NET 7
Не так давно состоялся релиз седьмой версии платформы .NET. Он привнёс множество изменений и интересных нововведений, по которым уже успели пробежаться в рамках новостного обзора. В этой статье мы...
Нужен ли ConfigureAwait?
В этой статье автор рассказывает зачем нужен ConfigureAwait(false), а также о том, как можно обходиться без него.
Подробности: https://habr.com/ru/post/721050/
В этой статье автор рассказывает зачем нужен ConfigureAwait(false), а также о том, как можно обходиться без него.
Подробности: https://habr.com/ru/post/721050/
Хабр
Нужен ли ConfigureAwait?
Мне никогда не нравилась многословность кода. Длинные и подробные названия упрощают работу с бизнес-логикой, но технические детали кода хочется держать краткими, чтобы они отвлекали на себя минимум...
Современные (инкрементные) Source Generators в .NET.
В процессе написания source generators автор столкнулся с тем, что на большой кодовой базе обычные генераторы работают медленно, существенно влияя на производительность IntelliSense в Visual Studio. Наткнувшись на описание более современного API — incremental generators, автор обрадовался и обновил генераторы. Однако ожидаемого прироста скорости не появлось. В результате поиска ответа на вопрос "почему так и что можно сделать?" и появилась эта статья.
Подробности: https://habr.com/ru/post/721874/
В процессе написания source generators автор столкнулся с тем, что на большой кодовой базе обычные генераторы работают медленно, существенно влияя на производительность IntelliSense в Visual Studio. Наткнувшись на описание более современного API — incremental generators, автор обрадовался и обновил генераторы. Однако ожидаемого прироста скорости не появлось. В результате поиска ответа на вопрос "почему так и что можно сделать?" и появилась эта статья.
Подробности: https://habr.com/ru/post/721874/
Хабр
Современные (инкрементные) Source Generators в .NET
Введение В процессе написания source generators (далее " генераторы ") для наших внутренних нужд я столкнулся с тем, что на большой кодовой базе (>250 проектов в solution, большая часть из которых...
HTML Embed Code: