c#.net

  • ХабрахабрФото [Из песочницы] Новые возможности интерфейсов в C# 8

    [Из песочницы] Новые возможности интерфейсов в C# 8

    Для начала посмотрим на определение интерфейса у Эндрю Троелсена и Филиппа Джепикса: «Интерфейс представляет собой всего лишь именованный набор абстрактных членов. Абстрактные методы являются чистым протоколом, поскольку они не предоставляют свои стандартные реализации. Специфичные члены, определяемые интерфейсом, зависят от того, какое точно поведение он моделирует. Другими словами, интерфейс выражает поведение, которое заданный класс или структура может избрать для поддержки». И…

    Читать далее »
  • ХабрахабрФото [Из песочницы] Новые возможности интерфейсов в C# 8

    [Из песочницы] Новые возможности интерфейсов в C# 8

    Для начала посмотрим на определение интерфейса у Эндрю Троелсена и Филиппа Джепикса: «Интерфейс представляет собой всего лишь именованный набор абстрактных членов. Абстрактные методы являются чистым протоколом, поскольку они не предоставляют свои стандартные реализации. Специфичные члены, определяемые интерфейсом, зависят от того, какое точно поведение он моделирует. Другими словами, интерфейс выражает поведение, которое заданный класс или структура может избрать для поддержки». И…

    Читать далее »
  • ХабрахабрФото X.509 своми силами в .Net Core

    X.509 своми силами в .Net Core

    Некоторое время назад я задался вопросом, можно ли наладить фабрику сертификатов, не прибегая к утилите openssl. Как подвести «под кнопку» весь процесс от генерации ключей до проверки подлинности. Забегая вперед, скажу, что пространство System.Security.Cryptography в этом плане является вполне самодостаточным. В статье я рассмотрю этапы создания сертификатов, экспорт в форматы pem и pkcs12, хранение сертификатов в файловой системе, а также…

    Читать далее »
  • ХабрахабрФото Конвертация xls в xlsx и xml на C#

    Конвертация xls в xlsx и xml на C#

    В этой статье я постараюсь рассказать об одном из возможных путей конвертации документов формата xls в xml. Непосредственно моя задача выглядела примерно так: Дано: 1-2 дня времени на поиск и реализацию решения Найденное решение должно быть на столько бесплатным, на сколько это возможно Известна примерная структура, размер и содержание файла, которые должны быть обработаны, что снимает необходимость читать графики, диаграммы…

    Читать далее »
  • ХабрахабрФото [Из песочницы] Конвертация текстовых документов в xml на С#

    [Из песочницы] Конвертация текстовых документов в xml на С#

    Недавно мне пришлось столкнуться с необходимостью достать текст из офисных документов (docx, xlsx, rtf, doc, xls, odt и ods). Задача осложнялась требованием представить текст в формате xml без мусора с максимально удобной для дальнейшего парсинга структурой. Решение использовать Interop сразу отпало по причине его громоздкости, во многом избыточности, а также необходимости устанавливать на сервер MS Office. В результате, решение было…

    Читать далее »
  • ХабрахабрФото [Из песочницы] Конвертация текстовых документов в xml на С#

    [Из песочницы] Конвертация текстовых документов в xml на С#

    Недавно мне пришлось столкнуться с необходимостью достать текст из офисных документов (docx, xlsx, rtf, doc, xls, odt и ods). Задача осложнялась требованием представить текст в формате xml без мусора с максимально удобной для дальнейшего парсинга структурой. Решение использовать Interop сразу отпало по причине его громоздкости, во многом избыточности, а также необходимости устанавливать на сервер MS Office. В результате, решение было…

    Читать далее »
  • ХабрахабрФото Оптимизация сборки мусора в высоконагруженном .NET сервисе

    Оптимизация сборки мусора в высоконагруженном .NET сервисе

    Ежедневно в сервисе Pyrus работают десятки тысяч сотрудников из нескольких тысяч организаций по всему миру. Отзывчивость сервиса (скорость обработки запросов) мы считаем важным конкурентным преимуществом, так как она напрямую влияет на впечатление пользователей. Ключевой метрикой для нас является «процент медленных запросов». Изучая ее поведение, мы заметили, что раз в минуту на серверах приложений возникают паузы длиной около 1000 мс. В…

    Читать далее »


Кнопка «Наверх»