Иногда мы не понимаем как работает регулярное выражение, которое мы составили, и хотим проверить. Есть множество восхитительных приложений встроенных в различные среды или онлайн. Мне захотелось добавить еще одно к этому списку.
В данной статье мы посмотрим, как можно обернуть Regex в кроссплатформенную графику и получить простенькое приложение для теста регулярных выражений.
Читать полностью »
Рубрика «.net» - 30
Регулярная Авалония
2019-10-01 в 18:33, admin, рубрики: .net, avalonia, avaloniaui, C#, Программирование, Разработка под Linux, разработка под windowsВсем известно, что нет ничего глупее споров «какой язык лучше». Например, лучше для чего? Разные языки успешны в разных нишах — и бессмысленно делать категоричные выводы, не учитывая это.
Но что получится, если обратиться к опытным специалистам, которые сами всё это понимают, и попросить их всё-таки устроить холивар «C++ vs C#»? Оказывается, можно узнать много любопытных деталей. Слово «кроссплатформенный» можно по-своему применить к обоим языкам, но что это значит на практике? Активно ли сейчас развивается С++? Ломал ли C# когда-либо обратную совместимость? Ответы могут быть очевидны для тех, кто уже глубоко погружён в оба языка сразу, но таких людей немного — а все остальные узнают что-то новое.
Со стороны C++ поучаствовал Сергей sermp Платонов — председатель программного комитета конференции C++ Russia. Сторону C# представлял Анатолий Кулаков — он входит и в ПК конференции DotNext, и в число лидеров DotNetRu. А ведущим дискуссии, в жизни которого сосуществуют оба этих мира, стал Дмитрий mezastel Нестерук.
Сериализация и десериализация данных .NET Core vs Go
2019-09-29 в 18:58, admin, рубрики: .net, Go, golang, Блог компании ООО «Хоум Кредит Энд Финанс Банк», сравнительные тестыПривет, %username%
Передо мной была поставлена задача сравнить производительность при сериализации для .NET Core и Golang. Поискав в интернете, наткнулся на репозиторий. Рассматривается простой пример REST микросервиса. Это именно то, что нужно, подумал я. Посмотрев результаты тестирования, я был удивлен. Посмотрев исходный код, я понял, что не так. Вот что мне не понравилось:
- Для сериализации и десериализации выбран массив из 3-х элементов. Этого явно недостаточно.
- Для Golang не используются все возможности языка, а, как известно, встроенная библиотека encoding/json работает медленно.
- В итоге автор сравнивает производительность веб-серверов kestrel и net/http.
Именно эти недочеты стали причиной более подробного рассмотрения производительности в рамках примера, описанного выше. Надеюсь, вам будет интересно узнать результаты.
Многопоточность в .NET: когда не хватает производительности
2019-09-26 в 12:52, admin, рубрики: .netПлатформа .NET предоставляет множество готовых примитивов синхронизации и потокобезопасных коллекций. Если при разработке приложения нужно реализовать, например, потокобезопасный кэш или очередь запросов — обычно используются эти готовые решения, иногда сразу несколько. В отдельных случаях это приводит к проблемам с производительностью: долгим ожиданием на блокировках, избыточному потреблению памяти и долгим сборкам мусора.
Эти проблемы можно решить, если учесть, что стандартные решения сделаны достаточно общими — они могут иметь избыточный в наших сценариях оверхед. Соответственно, можно написать, например, собственную эффективную потокобезопасную коллекцию для конкретного случая.
Под катом — видео и расшифровка моего доклада с конференции DotNext, где я разбираю несколько примеров, когда использование средств из стандартной библиотеки .NET (Task.Delay, SemaphoreSlim, ConcurrentDictionary) привело к просадкам производительности, и предлагаю решения, заточенные под конкретные задачи и лишённые этих недостатков.
Читать полностью »
Теория и практика стандартизации Docker-сервисов
2019-09-25 в 9:35, admin, рубрики: .net, ci/cd, devops, docker, автоматизация, Блог компании «Антиплагиат», контейнерыИнформации на тему микросервисной архитектуры приложений, успевшей уже набить оскомину, сегодня вполне достаточно для того, чтобы определиться, подходит она вашему продукту или нет. И совершенно не секрет, что компаниям, решившим выбрать этот путь, предстоит принять множество инженерных и культурных вызовов. Одним из источников проблем является множащийся всюду оверхед, и это в равной степени касается и рутины, связанной с производственными процессами.
Как можно догадаться, Антиплагиат – как раз такая компания, где постепенно пришло понимание, что нам с микросервисами по пути. Но прежде чем начать есть кактус, мы решили его почистить и приготовить. А так как все единственно верные и правильные решения для каждого уникальны, то вместо универсальных DevOps-слайдов с красивыми стрелками мы решили просто поделиться собственным опытом и рассказать, как мы уже прошли немалую часть нашего особого пути к, я надеюсь, успеху.
C 23 по 25 сентября пройдёт .NET Conf 2019
2019-09-22 в 18:35, admin, рубрики: .net, C#, dotnetconf, Блог компании Семинары Станислава Сидристого, Программирование, Промышленное программированиеC 23 по 25 сентября пройдет онлайн-конференция Microsoft .NET Conf. Что ожидается на конференции? Все темы можно посмотреть на сайте конференции, а ниже я представил наиболее значимые доклады:
- Что нового в C# 8? (два доклада)
- Переводим настольные .NET приложения на .NET Core
- Разрабатываем Full-stack C# Вэб-приложения с Blazor и .NET Core 3. (по Blazor 3 доклада)
- Разработка Cloud Native Apps с .NET Core 3.0 и Kubernetes
- Entity Framework Core 3.0
- Перерождение Visual Studio for Mac
- Durable Functions 2.0 — Serverless Actors, Orchestrations, and Stateful Functions
- Awesome games with .NET, Visual Studio 2019 and Unity 2019
- и многое-многое другое
Не пропускаем, смотрим по мере возможности. Доклады будут очень интересными.
BudgetTracker — ещё один open-source инструмент для личного учета финансов
2019-09-20 в 15:17, admin, рубрики: .net, .net core, C#, finance, open source, svelte, финансы в ITПочему?
Несколько лет назад я заинтересовался получением пассивного дохода и решил попробовать инвестировать с помощью p2b-площадок. Через некоторое время стало заметно, что денежные средства оказались очень сильно фрагментированы по площадкам, банкам, долгам, и это затрудняло понимание ситуации. Я не мог ответить на два самых главных вопроса:
Сколько у меня денег?
Какой тренд? Я богатею, или беднею?
Для чего пригодится дефолтная реализация интерфейсов?
2019-09-20 в 8:47, admin, рубрики: .net, C#, default interface implementation, mixins, traits, Программирование, Совершенный кодВ моем последнем посте я обещал рассказать о некоторых случаях, в которых, я думаю, имеет смысл рассмотреть использование дефолтной реализации в интерфейсах. Эта фича, конечно, не отменяет множество уже существующих соглашений по написанию кода, но я обнаружил, что в некоторых ситуациях использование дефолтной реализации приводит к более чистому и читаемому коду (по крайней мере, на мой взгляд).
Читать полностью »
Garbage Collector. Полный курс + перевод из BOTR
2019-09-17 в 19:25, admin, рубрики: .net, C#, clr, clrium, gc, Блог компании Семинары Станислава Сидристого, ПрограммированиеВ данной статье вы встретите сразу два источника информации:
- Полный курс по работе Garbage Collector на русском языке: CLRium #6 (текущий семинар здесь)
- Перевод статьи из BOTR "Устройство сборщика мусора" от Маони Стевенс.