ValueTask — почему, зачем и как?

Автор: admin от 28-08-2019, 22:25, посмотрело: 122

Предисловие к переводу



В отличие от научных статей, статьи данного типа сложно переводить "близко к тексту", приходится проводить довольно сильную адаптацию. По этой причине приношу свои извинения, за некоторую вольность, с моей стороны, в обращении с текстом исходной статьи. Я руководствуюсь лишь одной целью — сделать перевод понятным, даже если он, местами, сильно отклоняется от исходной статьи. Буду благодарен за конструктивную критику и правки / дополнения к переводу.



Введение



Пространство имен System.Threading.Tasks и класс Task впервые были представлены в .NET Framework 4. С тех пор, этот тип, и его производный класс Task, прочно вошли в практику программирования на .NET, стали ключевыми аспектами асинхронной модели, реализованной в C# 5, с его async/await. В этой статье я расскажу о новых типах ValueTask/ValueTask, которые были введены с целью повышения производительность асинхронного кода, в тех случаях, когда ключевую роль играют накладные расходов при работе с памятью.



ValueTask — почему, зачем и как?

Категория: Программирование

 

Скрипт настройки Windows 10

Автор: admin от 28-08-2019, 22:10, посмотрело: 429

Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 18362), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части.



Конечно, будет проблематично описать все пункты настройки, но постараюсь выделить самое важное.



Если кому-то интересно, то добро пожаловать по кат.

Категория: Windows

 

Как НАСА взяло на работу Снупи и подобрало одежду Барби

Автор: admin от 28-08-2019, 19:55, посмотрело: 90

Космическое агентство давно полагается на детские талисманы для рекламы космоса



Как НАСА взяло на работу Снупи и подобрало одежду Барби


Во вселенной комиксов Peanuts Снупи первым попал на Луну. В марте 1969 года – за четыре месяца до того, как Армстронг сделал свой знаменитый маленький шаг – бесстрашный астробигль и его летающая будка опустились на поверхность Луны. «Я обогнал русских… Я обогнал всех, — удивлялся Снупи. – Я обогнал даже этого тупого соседского кота!»



Как НАСА взяло на работу Снупи и подобрало одежду Барби


Формальное сотрудничество собачки из комиксов и НАСА началось годом ранее, когда Чарльз Шульц, создатель комикса, и его издатель United Feature Syndicate, согласились использовать Снупи в качестве полуофициального талисмана НАСА.

Категория: Космонавтика

 

Волшебная сила макросов, или как облегчить жизнь ассемблерного программиста AVR

Автор: admin от 28-08-2019, 15:10, посмотрело: 89

Про макросы в ассемблере написано много. И в документации, и в различных статьях. Но в большинстве случаев все сводится либо к простому перечислению директив с кратким описанием их функций, либо к набору разрозненных примеров готовых макросов.

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

Категория: Программирование

 

Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal

Автор: admin от 28-08-2019, 15:00, посмотрело: 191

Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal

Здравствуйте уважаемые читатели Хабра!



Этой публикацией я хочу начать цикл статей про развертывание полноценной среды оркестрации контейнерами Kubernetes, которая будет готова к эксплуатации и запуску приложений.

Я хочу рассказать не просто про то, как развернуть кластер Kubernetes, но и про то, как настроить кластер после установки, как добавить в него удобных инструментов и дополнений для использования микросервисной архитектуры.



Данный цикл будет состоять минимум из четырех статей:




  • В первой из них я расскажу, как на голое железо установить отказоустойчивый кластер kubernetes, как установить стандартный дашборд и настроить доступ к нему, как установить ingress контроллер.

  • Во второй статье я расскажу, как развернуть отказоустойчивый кластер Ceph и как начать использовать RBD тома в нашем кластере Kubernetes. Также немного затрону остальные виды стораджей (storages) и более подробно рассмотрю local-storage. Дополнительно расскажу, как на базе созданного кластера CEPH организовать отказоустойчивое хранилище S3

  • В третьей статье я расскажу, как в нашем кластере Kubernetes развернуть отказоустойчивый кластер MySql, а именно — Percona XtraDB Cluster on Kubernetes. И также опишу все проблемы с которыми мы столкнулись, когда решили перенести БД в kubernetes.

  • В четвертой статье я постараюсь собрать все вместе и рассказать, как задеплоить и запустить приложение, которое будет использовать БД и тома ceph. Расскажу, как настроить ingress контроллер для доступа к нашему приложению извне и сервис автоматического заказа сертификатов от Let's Encrypt. Еще — как автоматически поддерживать данные сертификаты в актуальном состоянии. Также немного затронем тему RBAC в контексте доступа до панели управления. Расскажу в двух словах про Helm и его установку.

    Если Вам интересна информация данных публикаций, то — добро пожаловать!
  • Категория: Программирование / Linux

     

    Time series данные в реляционной СУБД. Расширения TimescaleDB и PipelineDB для PostgreSQL

    Автор: admin от 28-08-2019, 13:00, посмотрело: 131

    Time series данные или временные ряды — это данные, которые изменяются во времени. Котировки валют, телеметрия перемещения транспорта, статистика обращения к серверу или нагрузки на CPU — это time series данные. Чтобы их хранить требуются специфичные инструменты — темпоральные базы данных. Инструментов — десятки, например, InfluxDB или ClickHouse. Но даже у самых лучших решений для хранения временных рядов есть недостатки. Все time series хранилища низкоуровневые, подходят только для time series данных, а обкатка и внедрение в текущий стек — дорого и больно.



    Time series данные в реляционной СУБД. Расширения TimescaleDB и PipelineDB для PostgreSQL


    Но, если у вас стек PostgreSQL, то можете забыть о InfluxDB и всех остальных темпоральных БД. Ставите себе два расширения TimescaleDB и PipelineDB и храните, обрабатываете и проводите аналитику time series данных прямо в экосистеме PostgreSQL. Без внедрения сторонних решений, без недостатков темпоральных хранилищ и без проблем их обкатки. Что это за расширения, в чем их преимущества и возможности, расскажет Иван Муратов (binakot) — руководитель отдела разработки в «Первой Мониторинговой Компании».

    Категория: Информационная безопасность

     

    Хакеры воруют и отмывают деньги через сервисы доставки еды и бронирования отелей

    Автор: admin от 28-08-2019, 13:00, посмотрело: 64

    Хакеры воруют и отмывают деньги через сервисы доставки еды и бронирования отелей



    По долгу работы приходится копаться на андеграунд форумах в поиске свежей информации об уязвимостях, утечках паролей и другим интересным вещам. Иногда консультируем представителей силовых структур на тему новых уязвимостей, атак и схем нападения, случаются ситуации, когда “новинками” делятся силовики. Думаю многие разделят мою точку зрения касательно того, что если “схема” или “уязвимость” попала на форум, то, как правило, все “сливки” с нее уже давно кто то снял. Да и форумы вне зоны .onion супер серьезно воспринимать не стоит. Но в этот раз была найдена схема которая удивила своей относительной простотой и новизной. Собственно о том, как хакеры воруют и отмывают деньги через сервисы доставки еды и будет сегодняшний рассказ.

    Категория: Информационная безопасность

     

    Производительность — это не только CPU: создание собственных профилировщиков для Python

    Автор: admin от 28-08-2019, 12:30, посмотрело: 82

    Категория: Веб-разработка

     

    Реализация пула соединений в WCF для .Net Core с использованием HttpClientFactory

    Автор: admin от 28-08-2019, 12:10, посмотрело: 109

    Наш продукт разрабатывается на платформе .Net Core 2.2 с использованием WCF 4.5 для взаимодействия с SOAP сервисом клиента. В процессе работы сервиса разработчики шины данных заметили высокую нагрузку на сервер. Далее стали появляться проблемы с доступом к сервису. В результате выяснили, что причина кроется в количестве активных соединений.



    Существует такая проблема как connection exhaustion. Она может возникать из-за нехватки доступных портов при установлении соединения или ограничения на количество соединений с внешним или внутренним сервисом. Есть два варианта решения:



    • Увеличение доступных ресурсов,

    • Уменьшение количества соединений.



    Первый вариант нам недоступен, так как увеличение ресурсов может производится только на стороне сервис-провайдера. Поэтому решили искать варианты оптимизации количества соединений. В этой статье расскажем о найденном решении.



    Реализация пула соединений в WCF для .Net Core с использованием HttpClientFactory

    Категория: Программирование

     

    Мой седьмой день с Haiku: распечатка, сканирование, сети

    Автор: admin от 28-08-2019, 10:45, посмотрело: 75

    Мой седьмой день с Haiku: распечатка, сканирование, сети

    TL;DR: Распечатка выглядит как привет из 90-х, Windows 3.x вызывает свои принтеры обратно. Сканирование удивительно "просто работает", по крайней мере при подключении USB. 3D печать в разработке. Поддержка сети вызывает смешанные чувства. Смартфоны у меня пока не заработали. Устройства с последовательным интерфейсом USB, в основном, работают.

    Категория: Linux

     
    Назад Вперед