Как стать автором
Обновить
109.02

.NET *

Хаб со знаниями про .NET

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

Дата и время: трудно, но возможно

Время на прочтение22 мин
Количество просмотров9.4K

Некоторые разработчики пишут код, требующий особого обращения с датой и временем — но совершенно не задумываются над этим. А другие разработчики тоже пишут такой код и очень переживают, потому что это действительно непросто.


На конференции DotNext Джон Скит поговорил о сложностях, связанных с написанием такого кода. Почему даже подход «просто храните всё в UTC» может приводить к ошибке, и пользователь может опоздать на встречу, правильно сохранённую в UTC?


А также говорил о Noda Time — созданном им инструменте для работы с датой и временем в .NET. Но доклад будет полезен, даже если вы не можете или не хотите использовать Noda Time.



Если хотите, можете посмотреть видео доклада в оригинале — запись под катом. А ещё мы подготовили для вас расшифровку. Далее — повествование от лица спикера.

Всего голосов 25: ↑25 и ↓0+25
Комментарии19

Авалония для самых маленьких

Время на прочтение8 мин
Количество просмотров26K
В свежем превью Rider, помимо прочего, появилась поддержка Авалонии. Авалония — это самый крупный .NET фреймворк для разработки кроссплатформенного UI, и его поддержка в IDE — отличный повод наконец разобраться, как писать десктопные приложения для любых платформ.

В этой статье я на примере простой задачи по реализации калькулятора покажу:

  • как управлять разметкой,
  • как связывать функциональность с компонентами,
  • как управлять стилями.


Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Комментарии34

Статические веб-приложения Azure с .NET и Blazor

Время на прочтение3 мин
Количество просмотров4.3K


Статические веб-приложения Azure — это сервис, который автоматически создает и развертывает веб-приложения полного стека из репозитория GitHub. Статические веб-приложения Azure состоят из статического веб-клиента и серверной части на базе Azure Functions. При создании ресурса «Статические веб-приложения» Azure создает в репозитории исходного кода приложения рабочий процесс GitHub Actions, который отслеживает выбранную вами ветвь. Всякий раз когда вы отправляете фиксации в отслеживаемую ветвь, рабочий процесс GitHub Actions автоматически создает и развертывает ваше приложение и его API-интерфейс. 

На сегодняшний день в статических веб-приложениях Azure реализована первоклассная поддержка Blazor WebAssembly и .NET Functions в ознакомительной версии во всех регионах ее действия. Это было одним из ключевых запросов пользователей с момента объявления о выпуске статических веб-приложений на конференции Build. Вы можете разрабатывать и развертывать клиентские и бессерверные API-интерфейсы, созданные полностью на языке .NET. 

Давайте попробуем! 
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Как мы заставили код, портированный с C#, работать с моделью памяти C++

Время на прочтение19 мин
Количество просмотров7.8K
Привет, Хабр. В прошлой статье я рассказывал о том, как мы создали фреймворк для перевода кода C# на (неуправляемый) C++, чтобы выпускать свои библиотеки, изначально разработанные для платформы .Net, и под C++ тоже. В этой статье я расскажу о том, как нам удалось согласовать модели памяти этих двух языков, добившись работы портированного кода в необычном для него окружении.

Я расскажу о том, какие умные указатели мы используем, и почему нам пришлось разработать для них собственные реализации. Я также расскажу о процессе подготовки кода C# к портированию с точки зрения управления временем жизни объектов, о некоторых проблемах, с которыми мы столкнулись, и о специфических способах диагностики, которыми нам приходится пользоваться при работе.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии25

Истории

Тестируем веб-API ASP.NET Core

Время на прочтение8 мин
Количество просмотров22K

При проектировании и разработке широкого спектра API с использованием ASP.NET Core 2.1 Web API важно понимать, что это только первый этап в создании продуктивного и стабильного решения. Наличие стабильной среды для вашего решения также очень важно. Ключ к отличному решению заключается не только в правильном построении API, но и в его тщательном тестировании, чтобы исключить возможность негативного опыта у пользователей во время использования вашего API.

Эта статья является продолжением моей предыдущей статьи для InfoQ под названием «Продвинутая архитектура веб-API ASP.NET Core». Не беспокойтесь, вам не нужно вникать в предыдущую статью, чтобы разобраться с тестированием в этой, но она может помочь вам лучше понять, как я спроектировал обсуждаемое здесь решение. На протяжении последних нескольких лет я много времени размышлял о тестировании, создавая API для клиентов. Знание архитектуры веб-API ASP.NET Core 2.1 может помочь и вам расширить ваше понимание.

Солюшн и весь код из примеров в этой статье можно найти в моем GitHub репозитории.

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии11

Анонс онлайн-митапа по .NET: три доклада о кроссплатформенных десктопных приложениях

Время на прочтение2 мин
Количество просмотров2.3K

Вы уже не ждали, а мы сделали. В этот четверг, спустя почти год после предыдущего митапа, мы проводим первую (надеюсь, среди многих ?) онлайн-встречу с тремя бомбическими докладами про кроссплатформенные десктопные приложения. Миша Романов рассмотрит всевозможные фреймворки для кроссплатформенных приложений и расскажет, как и зачем. Никита Цуканов потравит байки про разработку Avalonia — интероп с COM и автогенерированный CQRS прилагаются. А Саша Якунин расскажет о разработке библиотеки для отслеживания изменений в данных, которая позволяет делать real-time UI (как и другие штуки) действительно быстрыми.

Когда: 26 ноября в 17:00 (Мск)
Где: Ютуб-канал Контура

Давай подробности!
Всего голосов 7: ↑7 и ↓0+7
Комментарии4

Конвертируем doc в docx и xml на C#

Время на прочтение10 мин
Количество просмотров12K

Продолжаю свой цикл статей, посвященный конвертации различных текстовых файлов с помощью решений, реализованных на языке C#.


С момента моей последней публикации «Конвертация xls в xlsx и xml на C#» прошло более полугода, за которые я успел сменить как работодателя, так и пересмотреть свои взгляды на некоторые аспекты коммерческой разработки. Сейчас, работая в международной компании с совершенно иным подходом к разработке ПО (ревью кода, юнит-тестирование, команда автотестеров, строгое соблюдение СМК, заботливый менеджер, очаровательная HR и прочие корпоративные плюшки), я начинаю понимать, почему некоторые из комментаторов интересовались целесообразностью предлагаемых мной велокостылей, когда на рынке есть очень достойные готовые решения, например, от e-iceblue. Но давайте не забывать, что ситуации бывают разные, компании – тем более, и если потребность в решении какой-то задачи с использованием определенного инструментария возникла у одного человека, то со значительной долей вероятности она возникнет и у другого.


Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии2

Поддержка процессоров Apple M1 в .NET

Время на прочтение4 мин
Количество просмотров23K

17 ноября Apple официально представила устройства на базе своего нового ARM-процессора Apple M1. Естественно, это событие не могло быть не замечено со стороны компании Microsoft, которая с 2014 года начала активную экспансию .NET на новые платформы. Давайте посмотрим, что нас ждет в связи с этим в ближайшее время!

Быть ли поддержке Apple M1 в .NET?
Всего голосов 16: ↑16 и ↓0+16
Комментарии62

Подход к интеграции .NET в TeamCity

Время на прочтение8 мин
Количество просмотров6.8K

Мы в TeamCity всегда уделяли особое внимание .NET, его многочисленным инструментам и фреймворкам тестирования. В этом посте мы хотим рассказать о недавних обновлениях в нашей поддержке .NET и поделиться примером демо-проекта, который их иллюстрирует.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии6

Вышел Windows Terminal Preview 1.5

Время на прочтение3 мин
Количество просмотров9.1K
Мы вернулись с очередным выпуском Windows Terminal! Терминал Windows перешел на версию 1.4 и включает функции, описанные в сообщении блога о версии 1.4. Windows Terminal Preview была переведена на версию 1.5 и включает функции, описанные ниже, в этой статье. Вы можете загрузить обе версии из Microsoft Store или со страницы выпусков GitHub. Давайте узнаем, что нового!

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии13

Роботы. Часть два. Крылатые качели

Время на прочтение9 мин
Количество просмотров8.7K
Дисклаймер. Роботы — очень надёжные парни. Среднестатистический роберт нормального бренда может как проклятый работать годами без перерыва, требуя только коротких перерывов для обслуживания и проверки калибровки. Все нижесказанное — исключительно следствие того, что мы пытаемся этих парней заставить делать то, к чему они не привыкли. Конечно, нельзя не отметить, что мы пытаемся это сделать в рамках мануалов, но, видимо, лезем в такие дебри, где функция вроде как написана, но при этом не до конца проработана. В связи с чем и выхватываем всю ту радость, о которой пойдёт далее речь в тексте. Лонгрид.

image
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии75

Jupyter для .NET. «Как в питоне»

Время на прочтение3 мин
Количество просмотров8.8K
Несколько месяцев назад Microsoft рассказали о Jupyter в .NET. Но активности по этому топику очень мало, а ведь тема очень интересная. Но что такое прикольное придумать? Я решил сделать удобный вывод класса Entity из библиотеки символьной алгебры:



Выглядит круче, чем в питоне. Делается просто, доставляет массу удовольствия. Приглашаю под кат!
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии11

Разбираемся с middleware в ASP.NET Core

Время на прочтение6 мин
Количество просмотров65K

Этой статья раскрывает концепции Middleware в ASP.NET Core. К концу этой статьи вы получите четкое представление о следующих моментах:

- Что такое Middleware?

- Почему порядок расположения Middleware имеет значение?

- Методы Run, Use и Map.

- Как создать собственное Middleware?

- Как реализовать просмотр каталогов с помощью Middleware?

Приступить к прочтению!
Всего голосов 9: ↑8 и ↓1+7
Комментарии6

Ближайшие события

Эволюция Material Design для AvaloniaUI

Время на прочтение3 мин
Количество просмотров8K

image


Material.Avalonia — быстрый способ стилизовать под Material Design приложение, написанное на AvaloniaUI — кросс-платформенном XAML фреймворке для .NET.


Примерно с год назад на Хабре уже была статья о нашей библиотеке, однако с этого момента изменилось многое: мы избавились от встроенных тем, переделали стандартные и добавили свои элементы управления.

Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Комментарии20

Роботы. Часть раз. Вводная

Время на прочтение8 мин
Количество просмотров10K
Добрый день. Какое-то время назад меня волею судеб и счастливого случая занесло в мир промышленной робототехники. Вот той самой, где красивые и немного страшные железные хреновины клепают терминаторов, или хватают за загривок странное серо-синее существо в «Валериан», или попросту создают завораживающе-стройное мельтешение конечностями на кадрах про автозаводы. Вот про них мы сегодня и поговорим (лонгрид).

image
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии71

Представляем PowerShell 7.1

Время на прочтение3 мин
Количество просмотров7K
Мы с гордостью объявляем о выпуске PowerShell 7.1, последнего крупного обновления для PowerShell 7. Этот выпуск включает в себя ряд улучшений и исправлений, которые основаны на мартовском выпуске PowerShell 7.0 и недавнем выпуске .NET 5 GA. С тех пор команда PowerShell (и многие из вас, участники нашего сообщества, спасибо!) Усердно работали над некоторыми основными репортами сообщества об ошибках и запросами функций.

В этой статье расскажем что нового в PowerShell 7.1.

Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии6

MskDotNet Meetup 19/11

Время на прочтение2 мин
Количество просмотров796
Вместе с сообществом MskDotNet встретились на онлайн-митапе 19 ноября. Поделились историей создания Dependency Pipeline — готового решения для стандартного DI-механизма .NET Core. Рассказали о переиспользовании модулей приложения при прототипировании, а после обсудили эту тему за виртуальным круглым столом.

Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Поговорим про перформанс-анализ

Время на прочтение45 мин
Количество просмотров12K


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


Сегодня мы обсудим основные задачи и сложности перформанс-анализа: поговорим о том, как изучать сырые данные и сводные метрики, применять статистические тесты, сравнивать перформансные распределения, писать перформансные тесты, анализировать историю замеров и выбирать правильные метрики. С этим нам поможет Андрей Акиньшин — ниже представлены видеозапись и расшифровка его доклада.

Всего голосов 56: ↑56 и ↓0+56
Комментарии7

Программа DotNext: архитектура, Мигель де Икаса, традиции коренных народов Севера

Время на прочтение15 мин
Количество просмотров2.9K


О чём .NET-разработчикам уже скоро расскажут на онлайн-конференции DotNext?


Будут привычные категории докладов:


  • о «кишочках» платформы .NET, причём зачастую от спикеров, которые эти кишочки и делают
  • об архитектуре (от DDD до Clean Architecture)
  • об актуальных трендах (пора как следует разбираться в C# 9.0 и .NET 5)

А что-то в этот раз отличается:


  • помимо докладов, будет сразу несколько воркшопов (они хорошо подходят онлайн-формату)
  • впервые выступят несколько интереснейших спикеров, чья работа важна для всей экосистемы .NET: Мигель де Икаса (создатель Mono, Xamarin и GNOME), Маони Стивенс (мейнтейнер .NET GC), Мадс Торгерсен (lead designer языка C#) и другие
  • в одном из докладов рассмотрят не только паттерны распределённых систем, но и традиции малочисленных народов Севера (окей, это не главное на .NET-конференции, но сложно было промолчать)

Подробная программа с описаниями всех докладов — под катом.

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

.NET 5.0 выйдет в релиз 10-12 ноября на .NET Conf

Время на прочтение2 мин
Количество просмотров6.3K
.NET Conf — это бесплатное трехдневное виртуальное мероприятие для разработчиков, организованное совместно сообществом .NET и Microsoft. В этом году на .NET Conf 2020 произойдет релиз .NET 5.0. Читайте подробности о релизе.

.NET Conf с самого начала была виртуальным мероприятием, и в этом году мы празднуем нашу 10-ю онлайн-конференцию. Учитывая все, что произошло в этом году, мы знаем, что онлайн-конференции стали важнее, чем когда-либо. Мы всегда стремились создать увлекательный виртуальный опыт мирового уровня для всех наших участников, независимо от того, где они находятся.

В течение этих трех дней будет проводиться множество живых сессий с участием докладчиков из сообщества и команд .NET. У нас есть сеансы, транслируемые круглосуточно между вторым и третьим днем ​​конференции, поэтому каждый может принять участие независимо от вашего часового пояса. Задавайте вопросы в прямом эфире в Твиттере, присоединяйтесь к веселью на Twitch, посещайте виртуальную вечеринку, играйте в викторины и выигрывайте призы.

Присоединяйтесь к общению и задавайте вопросы, используя хэштег: #dotNETConf в Twitter. Вы также можете подписаться на уведомления о .NET Conf и будущих событиях.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии0
Изменить настройки темы

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

Работа

.NET разработчик
72 вакансии