Как стать автором
Обновить
47.7
Рейтинг

C# *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга

Улучшения диагностики в .NET Core 3.0

Разработка веб-сайтов *Программирование *.NET *C# *
Перевод
В .NET Core 3.0 мы представляем набор инструментов, которые используют новые возможности среды выполнения .NET, которые упрощают диагностику и решение проблем с производительностью.

Эти возможности помогут вам ответить на некоторые распространенные вопросы диагностики, которые могут у вас возникнуть:

  1. Является ли мое приложение работоспособным?
  2. Почему мое приложение имеет аномальное поведение?
  3. Почему мое приложение крашится?


Читать дальше →
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 10K
Комментарии 4

.Net Community Райффайзенбанка приглашает на митап UPD Трансляция

Блог компании Райффайзен Банк .NET *ASP *C# *Микросервисы *
.NET Community Райффайзенбанка приглашает на Meetup, который состоится в московском офисе в Нагатино 23 мая.

Сообщество разработчиков Райффайзенбанка активно проводит митапы, готовит вокркшопы, и делает еще много всего, для того, чтобы сотрудники могли делиться опытом и знаниями друг с другом. В программе события два доклада. Поговорим про DDD в микросервисах и узнаем как коллеги из Ozon реализовали сбор метрик в приложениях ASP.NET Core


Всего голосов 29: ↑27 и ↓2 +25
Просмотры 3.1K
Комментарии 6

Один день до DotNext 2019 Piter. Анонс бесплатной трансляции

Блог компании JUG Ru Group .NET *C# *Конференции


15 мая, то есть уже завтра, состоится конференция DotNext 2019 Piter. Это два дня докладов про настоящее и будущее платформы .NET, оптимизацию производительности, детали внутреннего устройства платформы, архитектуру, решение необычных задач и так далее.


Общее количество докладов на конференции — 31. Из них вы сможете совершенно бесплатно посмотреть на YouTube доклады первого дня, проводящиеся в первом зале — 5 штук. В той же онлайн-трансляции будут онлайн-интервью между докладами. Что это за доклады — обсудим под катом.


Трансляция начнется в 9:45 утра (по московскому времени), через 15 минут начнётся открытие, а закончится всё ближе к 7 часам вечера. Открывать ссылку именно в 9:45 необязательно — ссылка будет работать весь день, поэтому можно открывать её только на наиболее важных докладах.


Ссылка на сайт трансляции — под катом. Там же есть краткое описание докладов и обсуждение пары вещей, которых на трансляции (даже если купили онлайн-билет) всё-таки не будет.

Читать дальше →
Всего голосов 30: ↑30 и ↓0 +30
Просмотры 3.5K
Комментарии 1

Создание голосового ассистента

Программирование *.NET *Системное программирование *C# *Функциональное программирование *
Recovery mode
Из песочницы
Доброго времени суток. Недавно я загорелся вопросом создания голосового ассистента. Столкнулся с миллиардом проблем. Но всё же я решил свои вопросы.

Для начала скачиваем Visual Studio.
Читать дальше →
Всего голосов 26: ↑17 и ↓9 +8
Просмотры 19K
Комментарии 5

Волшебная фея для юнит-тестов: DSL в C#

Блог компании Dodo Engineering Программирование *.NET *C# *
Как часто бывало так, что написав рабочий юнит-тест, ты смотришь на его код, а он… плохой? И ты такой думаешь: «Это же тест, оставлю так…». Нет, %username%, так оставлять не надо. Тесты — это значимая часть системы, которая обеспечивает поддерживаемость кода, и очень важно, чтобы эта часть также была поддерживаемой. К несчастью, у нас не так много способов обеспечить это (не будем же мы писать тесты на тесты), но парочка всё-таки есть.

Читать дальше →
Всего голосов 34: ↑27 и ↓7 +20
Просмотры 10K
Комментарии 41

Серый кардинал .NET — Джон Гэллоуэй

Блог компании JUG Ru Group .NET *C# *Конференции Интервью


Знаете ли вы, кто такой Джон Гэллоуэй? А между тем, он есть. Он не только один из авторов «Professional ASP.NET MVC», но и человек, который является исполнительным директором .NET Foundation, по сути – отвечает за весь опенсорс .NET. Основные темы этой статьи: подробности работы .NET Foundation, примеры решаемых задач и пара слов о книгах и переходе на .NET Core. Добро пожаловать под кат!

Читать дальше →
Всего голосов 41: ↑40 и ↓1 +39
Просмотры 9.9K
Комментарии 2

Индексаторы в C# под капотом: индексируем лучше Доу-Джонса

Высокая производительность *.NET *Assembler *C# *
Доброго времени суток. В данной статье я предлагаю ознакомиться с индексаторами в различных типах. Посмотрим код языка ассемблера для данных индексаторов и характеристики каждой инструкций по ее скорости. Также я предложу несколько очевидных выводов. Но что именно использовать в конкретно вашей ситуации решать вам — стоит ли жертвовать удобством ради скорости или наоборот.

image
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Просмотры 12K
Комментарии 5

.NET зоопарк под призмой NET Core

.NET *C# *Разработка под Linux *Xamarin *Разработка под Windows *
Из песочницы
Всем привет! Сегодня мы рассмотрим разные фишки и изменения, которые появились в .NET Core платформе и сравним их с Framework. Я разбил статью на модули для более лучшего понимания. Эта статья будет интересна тем кто собирается переходить на .NET Core или уже использует его.

Stack technology


В данный момент у нас есть три платформы: .NET Framework, Mono и .NET Core. Каждая платформа включает в себя следующие технологии:

NET Framework — WPF, WinForms, ASP.NET (DNX реализация), WCF
NET Core — UWP, ASP.NET Core, WA, Xamarin (.NET Standard), Avalonia and other
Mono — Xamarin (PCL, Share project), Unity, ASP.NET, WinForms (cross platform)
NET Core (3.0) — Всё тоже самое, что и у .NET Core выше + WPF и WinForms, ML.NET

NET Standard


Ещё есть .NET Standard. Это набор классов, методов и интерфейсов, которые позволяют писать и использовать общий код под все перечисленные выше платформы. Ещё на ней можно писать консольные приложения. Вкратце это тот же PCL, но работает на всех перечисленных выше платформах.

Cross Platform


Читать дальше →
Всего голосов 36: ↑26 и ↓10 +16
Просмотры 14K
Комментарии 27

DotNetRu на конференции DotNext 2019 Piter

Блог компании JUG Ru Group .NET *C# *


15-16 мая в Санкт-Петербурге пройдёт DotNext — крупнейшая в России конференция, посвящённая разработке на платформе .NET. В рамках конференции всероссийское объединение .NET-сообществ DotNetRu проведёт свой собственный трек. Мы соберёмся все вместе для того, чтобы обсудить будущее языка, платформы, технологий и сообщества в целом. Вас ждут круглые столы, викторины, конкурсы, подарки и, конечно же, общение.

imageПриятные сюрпризы для всех .NET'чиков обеспечат наши хорошие друзья Arcadia и Контур. У вас есть шанс заполучить: фирменные толстовки и футболки DotNetRu, браслеты Xiaomi Mi Band, лицензии от JetBrains, Raspberry Pi Starter Kit, шикарные наклейки и многое другое. А ещё книгу, которой нет, и наши фирменные медитативные лестницы. Если хотите представить уровень веселья, посмотрите, как это было на первом и втором слёте сообществ.


Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 2.4K
Комментарии 1

Почему по статистике Яндекс и StackOverfow C# программисты самые дешёвые?

Программирование *.NET *C# *Исследования и прогнозы в IT *
В общем недавно тут публиковалось статистика Яндекса по зарплатам в IT в России и еще на StackOverfow можно посмотреть на статистику по ЗП в США и тут грустный факт можно увидеть.
Читать дальше →
Всего голосов 33: ↑17 и ↓16 +1
Просмотры 20K
Комментарии 62

Создание игры Tower Defense в Unity, часть 1

Разработка игр *Алгоритмы *C# *Unity *
Перевод

Поле


  • Создание тайлового поля.
  • Поиск путей с помощью поиска в ширину.
  • Реализация поддержки пустых и конечных тайлов, а также тайлов стен.
  • Редактирование контента в режиме игры.
  • Опциональное отображение сетки поля и путей.

Это первая часть серии туториалов, посвящённых созданию простой игры в жанре tower defense. В этой части мы рассмотрим создание игрового поля, поиск пути и размещение конечных тайлов и стен.

Туториал создавался в Unity 2018.3.0f2.


Поле, готовое к использованию в тайловой игре жанра tower defense.

Игра жанра Tower Defense


Tower defense — это жанр, в которой целью игрока является уничтожение толп врагов, пока они не добрались до своей конечной точки. Игрок выполняет свою цель, строя башни, которые атакуют врагов. У этого жанра очень много вариаций. Мы будем создавать игру с тайловым полем. Враги будут двигаться по полю в сторону своей конечной точки, а игрок будет создавать им препятствия.
Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Просмотры 16K
Комментарии 0

Blazor перешел из стадии эксперимента в Preview

Блог компании Microsoft .NET *ASP *C# *
Перевод
С этим новым релизом мы рады сообщить, что Blazor теперь в стадии превью! Blazor больше не является экспериментальным, и мы обязуемся предоставлять его в качестве поддерживаемого фреймворка веб-интерфейса, включая поддержку запуска на стороне клиента в браузере на WebAssembly.

Чуть более года назад мы запустили экспериментальный проект Blazor с целью создания клиентского фреймворка веб-интерфейса на основе .NET и WebAssembly. В то время Blazor был нечто чуть-большим, чем прототип, и было много открытых вопросов о жизнеспособности запуска .NET в браузере. С тех пор мы выпустили девять экспериментальных релизов Blazor, посвященных различным проблемам, включая компонентную модель, привязку данных, обработку событий, маршрутизацию, макеты, размер приложения, модели хостинга, отладку и инструменты. Сейчас мы находимся в точке, когда мы думаем, что Blazor готов сделать свой следующий шаг.
image

Читать дальше →
Всего голосов 22: ↑21 и ↓1 +20
Просмотры 10K
Комментарии 25

Глобальное кеширование результатов Query в ASP.NET CORE

Программирование *.NET *ASP *Проектирование и рефакторинг *C# *

Парадигма CQRS в том или ином виде предполагает, что вызовы Query не будут менять состояние приложения. То есть многократные вызовы одной и той же query, в рамках одного запроса, будут иметь один и тот же результат.


Пусть все интерфейсы, использующиеся в рамках запроса будут иметь тип IQuery или IAsyncQuery:


public interface IQuery<TIn, TOut>
{
   TOut Query(TIn input);
}

public interface IAsyncQuery<TIn, TOut>: IQuery<TIn, Task<TOut>
{
}
Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 7.6K
Комментарии 11

.NET: The Good Parts — от CLR до сообщества

Блог компании JUG Ru Group Высокая производительность *Программирование *.NET *C# *

Хотите повстречаться с Джоном Гэллоуэем (исполнительным директором .NET Foundation), Павлом Йосифовичем (автором легендарной «Windows Internals» и новых курсов на Pluralsight)? Или может быть, с Алексом Тиссеном — 12-кратным MVP в категории Visual Studio? Или пройти тренинг у Конрада Кокоса (автора «Pro .NET Memory Management»)? Теперь у вас есть такая возможность.


15-16 мая в Санкт-Петербурге состоится крупнейшая конференция для .NET-разработчиков — DotNext 2019 Piter. Под катом будет структурный обзор программы докладов и пара слов о тренинге.


Однажды Дуглас Крокфорд написал книгу «JavaScript: The Good Parts» и этим положил начало множеству трудов, посвященных тому, чтобы подсветить самое лучшее во множестве технологий. В этом хабрапосте мы поговорим о четырёх лучших разделах знания об экосистеме .NET, актуальных в 2019 году.


Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Просмотры 4.4K
Комментарии 0

Обновлена поддержка Razor в Visual Studio Code. Теперь с Blazor

Блог компании Microsoft .NET *ASP *Visual Studio *C# *
Перевод
Совсем недавно мы анонсировали улучшенную поддержку инструментов Razor в Visual Studio Code с последним расширением C#. Этот выпуск включает в себя улучшенную диагностику Razor и поддержку для тег-хелперов и приложений Blazor.

image
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 4.1K
Комментарии 0

Создание системы отчетности для 1С:ERP на базе OLAP и Excel

SQL *ERP-системы *C# *
Tutorial

Как программистам так и пользователям известно, как долго и сложно создаются отчеты в 1C. Однако, мы можем предложить на рассмотрение не стандартное решение — это загрузка данных в OLAP. OLAP — онлайн аналитическая отчетность для предприятий с возможностью построения таблиц и графиков. Для тех, кто это попробовал, оказалось экстремально удобным средством для построения аналитической отчетности в Microsoft Excel, как говорится, привычным способом для рядовых пользователей на предприятиях использующих 1С:ERP.


Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 8K
Комментарии 16

Быстрорастворимое проектирование

Блог компании JUG Ru Group Программирование *.NET *Проектирование и рефакторинг *C# *
Люди учатся архитектуре по старым книжкам, которые писались для Java. Книжки хорошие, но дают решение задач того времени инструментами того времени. Время поменялось, C# уже больше похож на лайтовую Scala, чем Java, а новых хороших книжек мало.

В этой статье мы рассмотрим критерии хорошего кода и плохого кода, как и чем измерять. Увидим обзор типовых задач и подходов, разберем плюсы и минусы. В конце будут рекомендации и best practices по проектированию web-приложений.

Эта статья является расшифровкой моего доклада с конференции DotNext 2018 Moscow. Кроме текста, под катом есть видеозапись и ссылка на слайды.


Читать дальше →
Всего голосов 48: ↑47 и ↓1 +46
Просмотры 33K
Комментарии 34

Код живой и мёртвый. Часть вторая. Действия и свойства

Программирование *Совершенный код *Проектирование и рефакторинг *C# *ООП *

В прошлый раз я писал о том, что имена объектов имеют большое значение, и что подбирать их нужно кропотливо и со вниманием к деталям. Плохое имя отпугивает и не даёт вникнуть в суть происходящего. Но что это за суть?


Сложно оценить героя, не поняв его "статы" и "абилки". Что он может и на что способен — вот следующий уровень сложности, на который нам придётся нырнуть. Мало с помощью точного имени отразить внутреннее святилище объекта, ещё следует убедиться, что это таки святилище, а не конюшни из геттеров.


Об этом — в статье.

Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 5.6K
Комментарии 62

CLRium #5 Garbage Collector: Питер — Sold Out

Блог компании Семинары Станислава Сидристого Программирование *.NET *Системное программирование *C# *

13 апреля в Санкт-Петербурге (оффлайн и онлайн) и 20 апреля — в Москве (только оффлайн) пройдет самый крупный семинар CLRium#5 за всё время его существования.


Прокопав дебри алгоритмов управления памятью я теперь могу, наконец, ответить на извечный вопрос: "а зачем это знать?". Раньше кроме как just for fun до этого момета мне сложно было что-то ответить по одной простой причине: по-хорошему мы ничего не знали о том, как работает память в .NET. Мы знали что есть GC, что есть в целях оптимизации три поколения. Кто-то из нас даже знал про эфимерные сегменты и карточный стол. Но это выглядело скорее как буклет к чему-то более сложному, что никак не описано. И теперь, когда есть и исходники и люди, в них копающиеся, мы, наконец можем ответить на этот вопрос.


Мы приглашаем вас всех на этот семинар и в течении которого с 10:00 до 20:00 с перерывами на снять напряжение с головы будет рассказано очень и очень многое о том, как же всё-таки всё устроено.


Читать дальше →
Всего голосов 24: ↑22 и ↓2 +20
Просмотры 1.8K
Комментарии 4

Код живой и мёртвый. Часть первая. Объекты

Совершенный код *.NET *Проектирование и рефакторинг *C# *ООП *

Код — это мысль. Появляется задача, и разработчик думает, как её решить, как выразить требования в функциях и классах, как сдружить их, как добиться строгости и корректности и как подмастить бизнес. Практики, методики, принципы, шаблоны и подходы — всё нужно учесть и всё нужно помнить.


И вместе с этим мы видим повсеместную эпидемию менеджеров, хелперов, сервисов, контроллеров, селекторов, адаптеров, геттеров, сеттеров и другой нечисти: всё это мёртвый код. Он сковывает и загромождает.


Бороться предлагаю вот как: нужно представлять программы как текст на естественном языке и оценивать их соответственно. Как это и что получается — в статье.

Читать дальше →
Всего голосов 34: ↑28 и ↓6 +22
Просмотры 14K
Комментарии 55

Вклад авторов

Работа