Search
Write a publication
Pull to refresh
4
0
Send message

Microsoft Message Center в Telegram через PowerShell и Azure Automation

Reading time12 min
Views3.1K

И плюс, и минус любой SaaS системы в том, что она управляется не нами, и мы никак (в большинстве случаев) не можем повлиять на цикл обновлений основного функционала и добавление новых фич. Однако эти обновления могут носить собой как информативный характер и не нести никаких серьезных изменений в функционал, так и могут и быть критическими для инфраструктуры, что в свою очередь несет собой дополнительные риски для бизнеса, а стало быть, и для нашего спокойствия, как для IT инженеров все это дело поддерживающих. О том, как получать все необходимые сообщения об обновлениях в Microsoft 365 не устанавливая для этого никаких дополнительных приложений будет эта статья. Из всего что нам понадобится, это зарегистрированное приложение для доступа в API в Azure Active Directory, Azure Automation, PowerShell и бот в Телеграм.

Читать далее

Отслеживание лиц в реальном времени в браузере с использованием TensorFlow.js. Часть 6

Reading time7 min
Views3.2K

Вот и финал этой серии статей (ссылки на предыдущие части — в конце этого материала), в которой мы создавали в браузере фильтры в стиле Snapchat, обучая модель ИИ понимать выражения лиц и добились ещё большего, используя библиотеку Tensorflow.js и отслеживание лиц.

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

Приятного программирования!

Отслеживание лиц в реальном времени в браузере с использованием TensorFlow.js. Часть 5

Reading time7 min
Views3.9K

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

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

Приятного программирования!

Фиксирование договоренностей прямо в чате экономя нервы, время и деньги

Reading time3 min
Views6.5K

Всем привет, меня зовут Алексей. Я занимаюсь консалтингом стартапов и их разработкой, а также являюсь организатором нескольких крупных ИТ мероприятий.

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

Плюсы такого метода очевидны - это быстро. Особенно учитывая возросший темп обмена информацией при помощи чатов и звонков.

Главным минусом такого подхода является ненадежность.

Читать далее

Cortex и не только: распределённый Prometheus

Reading time17 min
Views9.2K

В последнее время Prometheus стал де-факто стандартом для сбора и хранения метрик. Он удобен для разработчиков ПО - экспорт метрик можно реализовать в несколько строк кода. Для DevOps/SRE, в свою очередь, есть простой язык PromQL для получения метрик из хранилища и их визуализации в той же Grafana.

Но Prometheus имеет ряд недостатков, способы устранения которых я хочу рассмотреть в этой статье. Также разберём деплой Cortex.

Ныряем

Обнаружение эмоций на лице в реальном времени с помощью веб-камеры в браузере с использованием TensorFlow.js. Часть 3

Reading time6 min
Views4.6K

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

Давайте сделаем это!

Изучаем ELK. Часть III — Безопасность

Reading time13 min
Views45K

В первой и второй частях данной серии была описана процедура установки и настройки кластера Elasticsearch, Kibana и Logstash, но никак не освящался вопрос безопасности.

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

Читать далее

Пишем установщик на WixSharp. Плюшки, проблемы, возможности

Reading time11 min
Views5.8K

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

В первой своей реинкарнации это было решение из множества приложений, которые дергали друг друга и все это подавалось под соусом InnoSetup. Масштабировать функционал уже не представлялось возможным. И мы пришли к решению пересесть на "новые рельсы" и тут понеслось…

Читать далее

Обнаружение эмоций на лице в браузере с помощью глубокого обучения и TensorFlow.js. Часть 2

Reading time15 min
Views4.8K

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

В этой статье мы используем ключевые ориентиры лица, чтобы получить больше информации о лице из изображений. Мы используем глубокое обучение на отслеженных лицах из набора данных FER+ и попытаемся точно определить эмоции человека по точкам лица в браузере с помощью TensorFlow.js.

Соединив наш код отслеживания лица с набором данных об эмоциях на лице FER, мы обучим вторую нейросетевую модель определять эмоции человека по нескольким трехмерным ключевым точкам.

Приятного программирования!

NVMe Namespaces: возможности и подводные камни

Reading time14 min
Views30K

Уверен, многие слышали про NVM Express, или просто NVMe. Изначально для меня это были просто быстрые диски. Потом я осознал, что это интерфейс для подключения этих дисков. Затем стал понимать NVMe как протокол для передачи данных по PCIe-шине. И не просто протокол, а протокол, разработанный специально для твердотельных накопителей!

Мало-помалу я пришел к пониманию, что это целая спецификация. И понеслось… Сколько интересных особенностей использования, оказывается, существует у NVMe. Сколько всего придумано… Было даже немного обидно, что мимо меня прошел такой пласт информации.

Так что же такое NVMe? Рассмотрим подробнее.
Читать дальше →

Повышаем надёжность HttpClient’а в .NET Core или как ошибиться в 3 строках кода 4 раза

Reading time13 min
Views42K

За несколько недель до 14 февраля системе Dodo IS немного поплохело под нагрузкой. Одной из причин стало то, что в backend’ах мобильного приложения и сайта не совсем корректно работали политики поверх HttpClient’а (Retry, Circuit Breaker, Timeout). В этой статье я хочу поделиться с вами потенциальными проблемами, которые могут возникнуть при неправильном использовании таких политик.


Читать дальше →

Асинхронный рассинхрон: антипаттерны в работе с async/await в .NET

Reading time9 min
Views52K

Кто из нас не косячит? Я регулярно встречаюсь с ошибками в асинхронном коде и делаю их сам. Чтобы прекратить это колесо Сансары делюсь с вами самыми типичными косяками из тех, которые иногда довольно сложно отловить и починить.



Читать дальше →

Отслеживание лиц в реальном времени в браузере с использованием TensorFlow.js. Часть 1

Reading time8 min
Views9.3K

Такие приложения, как Snapchat, предлагают удивительное разнообразие фильтров для лиц и объективов, которые позволяют накладывать интересные эффекты на фотографии и видео. Если вы когда-либо дарили себе виртуальные собачьи уши или праздничную шляпу, вы знаете, насколько это может быть весело!
Задумывались ли вы о возможности создания таких фильтров с нуля? Что ж, теперь у вас есть возможность научиться всему, используя только веб-браузер! В этой серии статей мы узнаем, как создавать в браузере фильтры в стиле Snapchat, обучать модель искусственного интеллекта (ИИ) понимать выражения лиц и добиваться ещё большего, используя библиотеку Tensorflow.js и отслеживание лиц.

Приятного программирования!

Ломаем и чиним etcd-кластер

Reading time7 min
Views61K

etcd — это быстрая, надёжная и устойчивая к сбоям key-value база данных. Она лежит в основе Kubernetes и является неотъемлемой частью control-plane, именно поэтому критически важно уметь бэкапить и восстанавливать работоспособность как отдельных нод, так и всего etcd-кластера.

В предыдущей статье мы подробно рассмотрели перегенерацию SSL-сертификатов и static-манифестов для Kubernetes, а также вопросы связанные c восстановлением работоспособности Kubernetes-кластера. Эта статья будет посвящена целиком и полностью восстановлению etcd.

Поехали! ┬─┬ ノ( ゜-゜ノ)

За один проход

Reading time7 min
Views157K
Среди задач по программированию часто попадаются такие: дана последовательность однотипных элементов (обычно это числа), требуется за один проход по ней найти какую-нибудь характеристику (среднее квадратическое отклонение, количество минимальных элементов, непрерывный участок с наибольшей суммой...) Дополнительное ограничение — последовательность может быть очень длинной, и в память не поместится. Других ограничений на элементы последовательности, обычно, не накладывается.
С этими задачами всё, более или менее, понятно: нужно найти то, что на мехмате МГУ называют «индуктивным расширением» искомой функции, и реализовать её вычисление. Если найти не удалось (требуемый объём памяти слишком велик), то задача не решается.
Но попадаются и другие задачи. В них есть дополнительные ограничения на элементы последовательности в совокупности, и эти ограничения приходится существенно использовать для решения (и проверять их не надо). Простейшая такая задача выглядит так:

Задача 1. В последовательности записаны целые числа от 1 до N в произвольном порядке, но одно из чисел пропущено (остальные встречаются ровно по одному разу). N заранее неизвестно. Определить пропущенное число

Решение очевидно: просматриваем числа, находим их количество K и сумму S. По условию, N=K+1, значит, сумма чисел от 1 до N будет равна (K+1)*(K+2)/2, и пропущенное число равно (K+1)*(K+2)/2-S. Если вы почему-то боитесь переполнений, то работайте с беззнаковыми числами (там переполнения не страшны — но будьте осторожны при вычислении (K+1)*(K+2)/2 :) ), или вместо суммы ищите XOR всех чисел.
Другие задачи

Вложенные привязки в WPF

Reading time5 min
Views24K
В WPF существует три вида привязок: Binding, PriorityBinding и MultiBinding. Все три привязки наследуются от одного базового класса BindingBase. PriorityBinding и MultiBinding позволяют к одному свойству привязать несколько других привязок, например:

<MultiBinding Converter="{StaticResource JoinStringConverter}" ConverterParameter=" ">
    <Binding Path="FirstName" />
    <Binding Path="MiddleName" />
    <Binding Path="LastName" />
</MultiBinding>

Исходный код класса JoinStringConverter
public class JoinStringConverter : IMultiValueConverter
{
    public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
    {
        var separator = parameter as string ?? " ";
        return string.Join(separator, values);
    }

    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
    {
        var separator = parameter as string ?? " ";
        return (value as string)?.Split(new[] { separator }, StringSplitOptions.None).Cast<object>().ToArray();
    }
}


Список привязок MultiBinding-а — это коллекция типа Collection<BindingBase>. Логично было бы предположить, что внутри MultiBinding-а можно использовать еще один MultiBinding.
Читать дальше →

Жесткая вода и накипь. Структура, свойства и способы минимизации ущерба (Steanlab Review)

Reading time87 min
Views116K
Что остается делать темными зимними вечерами в самоизоляции кроме как не перечитывать старые подшивки советских журналов. В зависимости от специализации, у кого-то это журнал Квант, у кого-то Техника Молодежи. В моем случае, из-за профессиональной деформации, подходит только «Химия и жизнь». И вот в одном из номеров этого журнала я натолкнулся на душераздирающее письмо читателя (КДПВ — это оно). И подумал, а ведь действительно, сколько вроде бы не написано на различных сайтах и сайтиках про известковый налет от жесткой воды, а все так же он появляется то в увлажнителях воздуха, то в бойлерах, то даже в радиаторе автомобиля. И все также люди начинают искать ответы, пробуя все подряд рекомендации. Проблема есть (если уж даже Китай тратит 0,2% ВВП страны на борьбу с накипью, в Беларуси 0,5% ВВП тратят на развитие науки и исследований). А если есть проблема, попробуем решить, вложить, используя терминологию читателя ХиЖ «средства в борьбу». Под катом — про жесткую воду, накипь и множество явлений (чаще негативных) которые с этим всем связаны.


Убрать накипь с прибора!

Куда идти за иммунитетом?

Reading time6 min
Views180K

Начну с того, что я не антипрививочник ни разу, скорее наоборот. Но вакцина вакцине рознь, особенно сейчас и от известного вируса. Итак, что же мы имеем на сегодня? 

Гамалеевский Спутник V. Нашумевшая и очень современная вакцина, впереди только генная терапия в чистом виде. Неудивительно, что именно сюда вложили столько сил, времени и средствОна же пока еще единственно возможная в нашей стране. Ее очевидные плюсы: максимальный иммунный ответ (помимо антител имеем клеточный иммунитет) при минимальных побочных эффектах. Но есть нюанс, про который почему-то если и говорят, то очень-очень мало и конечно же не в СМИ, а в специализированных медицинских пабликах. Сейчас объясню, о чем речь.

Данная вакцина представляет собой генетически модифицированный аденовирус, вернее два обезвреженных аденовируса (5-го и 26-го серотипов), которые вводятся в организм с промежутком в 3 недели. В геном каждого встроен ген спайк-белка ("шипа") коронавируса. По сути, это «машины», задачами которых является доставка важного «пассажира» по назначению. А дальше все идёт так, как заложено природой: аденовирус доставляет ген коронавируса в клетки, распаковывается там и начинает производить белки как «пассажира», так и свои. Кусочки этих белков выставляет заражённая клетка, обучая тем самым т-лимфоциты. После разрушения «клетки-фабрики», вирусные белки (именно белки, а не готовые заражать новые клетки вирионы, как при болезни) попадают в кровь, тем самым стимулируя производство антител. Заболеть невозможно, иммунитет формируется, и вроде бы все здорово. Но побочным эффектом этой вакцины является развитие иммунного ответа на сами аденовирусные компоненты вектора. В результате повторного введения, «машина с пассажиром» просто не успеет доехать до клетки, а будет сразу уничтожена антителами, которые образуются в результате предыдущего «знакомства». Получается, что Спутник V можно использовать только один раз. И это чревато даже не столько тем, что вакциной больше нельзя будет воспользоваться по назначению - напряженность иммунитета к коронавирусу все равно никому не известна, а случаи повторных заражений вроде бы есть, но малоПугает пожизненное ограничение на любую потенциально возможную аденовекторную генную терапию, в том числе и на лечение онкологии, которая может понадобиться в будущем. Все это сейчас активно развивается, а после такого «масштабного тестирования», дело пойдёт ещё быстрее. Но опять же, терапия эта может пригодиться, а может быть и нет, а иммунитет к вирусу нужен уже сегодня. Поэтому, здесь каждый выбирает для себя, что ему важнее. Вакцина получилась вполне нормальная, для пожилых - самое то. А вот на месте молодых (у них ведь есть все шансы в будущем  воспользоваться генной терапией), я бы призадумалась.

Слышала про разработку версии «Спутник-Лайт», для тех, кто бережёт (фигуру) иммунитет. Это будет однокомпонентная вакцина, сделаная на основании только одного серотипа. Этот вариант приятнее, но его выпуск планируется не раньше декабря 2021 года. 

Читать далее

DBA: Ночной Дозор

Reading time3 min
Views7.7K

Для многих систем характерен паттерн постоянного накопления данных с течением времени. Причем основная их масса больше никогда не изменяется - то есть они пишутся в режиме append-only.

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

Около года назад я уже писал про модель организации секционирования таких данных и вызываемые этим каскадные изменения в структуре БД. А сегодня на примере нашего сервиса анализа логов PostgreSQL-серверов разберем особенности обслуживания организованных так баз, и как грамотный подход (и немного ночной работы) может сократить затраты на инфраструктуру в разы.

Читать далее

Используем нейросеть для раскрутки собачьего аккаунта в Инстаграм или робопёс в действии

Reading time5 min
Views9.6K

Всем привет!

Недавно ребёнок завел пса и создал для него аккаунт в Instagram. В течение пары недель на аккаунт подписались все друзья и знакомые, образовалось порядка сотни подписчиков. Ну и, собственно, всё. Интересно, а помогут ли python и минимальные знания устройства Instagram как-то автоматизировать процесс расширения аудитории? Если вам тоже интересно, добро пожаловать по кат.

Читать далее

Information

Rating
Does not participate
Registered
Activity