Как стать автором
Обновить
7
0
Александр @aenikitin

Ведущий инженер

Отправить сообщение

Стейты, БД и логи — разбираем шаблон диалогового Телеграм бота

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров9K

В предыдущих статьях я рассказала, как быстро создать инфраструктуру для диалогового бота на основе Yandex Serverless Functions и базы данных YDB, а также показала, как реализовать новые команды, добавив код в шаблон. В качестве примера использовался примитивный бот, реализованный в моём репозитории ydb_serverless_telegram_bot.

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

/start
Всего голосов 6: ↑4 и ↓2+2
Комментарии1

Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

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

Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


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


Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

Читать дальше →
Всего голосов 88: ↑86 и ↓2+108
Комментарии67

Hello, Bot! Чат-боты – следующее поколение приложений?

Время на прочтение6 мин
Количество просмотров71K
Недавно прошла конференция //BUILD, на которой Майкрософт традиционно представляет новые технологии для разработчиков. В ключевом докладе первого дня была высказана одна очень важная мысль – по мере того, как общение с компьютерами становится всё более естественным, возрастает роль диалогового общения на естественном языке. Речь здесь не только о том, что мы сможем просить голосовой помощник Cortana просить поставить нам будильник, но и что множество других задач (заказать пиццу, забронировать гостиницу, купить билеты и т.д.) может быть решено с помощью диалога. Более того, это может быть не только диалог между пользователем и компьютером: в более сложном случае человек может попросить Cortana спланировать путешествие, и затем Cortana будет сама общаться с другими ботами, совершая заказ гостиницы и билетов.



Здесь интересно то, что само “общение” может происходить а различных местах: на десктопе с помощью клиента Cortana, но также и в других традиционно используемых для чата каналах: в Skype, Telegram, Slack и т.д. Личность и память нашего персонального ассистента не зависит от канала общения, а располагается где-то в облаке, готовая пообщаться с нами на любом из так называемых “conversational canvases”.

Для создания ботов была представлена предварительная версия Microsoft Bot Framework и соответствующие API, о которых мы поговорим ниже. Мы также покажем, как можно создать своего простейшего бота, поддерживающего беседу с пользователем на английском языке.
Читать дальше →
Всего голосов 36: ↑31 и ↓5+26
Комментарии53

Различия Azure Resource Manager и Azure Service Manager — взгляд разработчика

Время на прочтение7 мин
Количество просмотров5K
Выражаем благодарность за подготовку статьи Михаилу Тряхову (@PerseptronYar) из компании Akvelon (Ярославль) за помощь в написании данной статьи. Михаил работает в команде разработчиков Microsoft Azure CLI (Command Line Interface) со специализацией на Networking Services.

Всем привет!

C 2008 года те из нас, кто работал с Azure, возможно, сами того не зная, использовали так называемый режим ASM (Azure Service Manager), который теперь называется классическим. Платформа Azure меж тем росла, развивалась, породила множество полезных сервисов, поддержку новых платформ и много еще чего хорошего. С ростом поддерживаемых и все более усложняющихся архитектур компонентов назрел целый ряд изменений, который решено было вынести в отдельный комплекс — ARM (Azure Resource Manager). В данной статье я поделюсь некоторыми моментами, с которыми сталкиваешься, осваивая данную платформу. Но сначала вспомним, что же такого серьезно нового оно нам несет.



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

TOP (10) бесплатных плагинов для SSMS

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


До того, как начать работать с SQL Server я толком то и баз данных в лицо не видел… Помню, что мне установили SQL Server Management Studio 2005 и дали задание активно «крутить педали». По прошествии пары недель, как бы так сказать, моя производительность по написанию запросов была явно в районе плинтуса…

Более опытный коллега с недоумением на меня посмотрел и посоветовал поставить пару плагинов для SSMS… после этого работать стало явно веселее.

В данном посте я хочу поделиться моим топ списком бесплатных плагинов для SSMS, которыми чаще всего пользовался.
Подробнее
Всего голосов 24: ↑20 и ↓4+16
Комментарии12

Полезные сниппеты для Nginx конфигов

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


Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

Читать дальше →
Всего голосов 94: ↑91 и ↓3+88
Комментарии44

Чистим домашний интернет от очень назойливой рекламы (Ad's blocker для OpenWRT)

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


Дело было вечером, делать было нечего... © С. В. Михалков
Навеяно публикацией «Как я bind`ом вирусы искал…», а конкретно этой веткой комментариев. Надеюсь, не поздно размещаю.

Сидел я и думал, телевизор Samsung, WinPhone, (а впоследствии может кофеварка и пылесос) показывают суперназойливую рекламу, надо с этим чтото делать, и раз в WinPhone и телевизор(кофеварку, пылесос) плагина AdBlock нету, то он должен быть там где ходит их трафик, на роутере.
Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии49

Безымянная книга

Время на прочтение5 мин
Количество просмотров16K
Привет, Хабр!
Скоро в типографию отправится очень интересная (и весьма неформальная) книга, которую написал Игорь Савчук, а мы все никак не можем выбрать название. Похоже, мы зашли в тупик и без вашей помощи не обойтись…
Читать дальше →
Всего голосов 17: ↑12 и ↓5+7
Комментарии41

Настройка службы IPAM шаг за шагом

Время на прочтение7 мин
Количество просмотров60K
Неотъемлемой частью администрирования сетью является управление IP адресами. До выхода Windows Server 2012 системным администраторам для комплексного управления всем пространством IP адресов, а также службами DNS и DHCP, приходилось использовать таблицы, различные сторонние инструменты, писать пользовательские скрипты. С выходом Windows Server 2012 ситуация изменилась – появился IPAM (IP Address Management). Тому, что из себя представляет IPAM, а также о том, как настроить эту службу в вашей сети и будет эта статья.


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

Мониторинг серверов теперь стал проще с WinLogViewer.com

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

Привет Хабр! Несколько лет назад мы столкнулись с проблемой знакомой пожалуй большинству компаний ведущих бизнес в интернете — как эффективно мониторить сервера и максимально исключить неожиданные выходы их из строя?

Сервера под управлением Windows Server имеют очень эффективный источник информации о работе системы, журналы событий (Window Event Logs). Там можно найти практически все, отчеты о проблемах чтения/записи жестких дисков до попыток подбора паролей через внешние сервисы. Однако интерфейс журналов событий не предоставляет удобные возможности подключения к ним удаленно. Большинству системных администраторов приходится заходить на каждый сервер по отдельности и рыться в тысячах событий которые генерируются системой каждые несколько часов.

Программные решения которые немного облегчают труд системного администратора и собирают все необходимые данные на одном экране весьма дороги. К примеру набор инструментов для мониторинга логов от Solarwinds.com стоит от 2500$.

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

Так родился наш проект — WinLogViewer.com. Бесплатный сервис для мониторинга журналов событий на Windows серверах.

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

58 признаков хорошего интерфейса

Время на прочтение16 мин
Количество просмотров381K
У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

1 Один столбец вместо нескольких


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

image
Читать дальше →
Всего голосов 226: ↑182 и ↓44+138
Комментарии102

Администрируем сервера через единую консоль

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

Давно собирался написать на Хабре, но все как-то откладывал. Но вот недавно прочитал пару статей (раз, два) и понял, что надо взять себя в руки. Это мой первый пост на Хабре, надеюсь, что он будет удачный.

Logo

Начало


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

Проба пера


Как только количество серверов перевалило за критическую отметку, у меня возник вопрос: как всем этим управлять и не тратить много времени на это. Понятно, что заходить на сервера по RDP\SSH и выполнять там одинаковые команды — это не по фэншую.
Читать дальше →
Всего голосов 24: ↑16 и ↓8+8
Комментарии37

Сети для самых маленьких. Часть десятая. Базовый MPLS

Время на прочтение45 мин
Количество просмотров386K
Сеть нашей воображаемой компании linkmeup растёт. У неё есть уже магистральные линии в различных городах, клиентская база и отличный штат инженеров, выросших на цикле СДСМ.
Но всё им мало. Услуги ШПД — это хорошо и нужно, но есть ещё огромный потенциальный рынок корпоративных клиентов, которым нужен VPN.
Думали ребята над этим, ломали голову и пришли к выводу, что никак тут не обойтись без MPLS.

Если мультикаст был первой темой, которая требовала некоторого перестроения понимания IP-сетей, то, изучая MPLS, вам точно придётся забыть почти всё, что вы знали раньше — это особенный мир со своими правилами.



Сегодня в выпуске:


А начнём мы с вопроса: «Что не так с IP?»

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

Установка Lync 2013 в ресурсном лесе

Время на прочтение6 мин
Количество просмотров32K
Иногда развертывание Microsoft Lync 2013 требует наличие ресурсного домена. Ресурсный домен — это такое место, где живет только непосредственно сам сервер Lync 2013. Пользователи живут в другом домене – пользовательском. Как их подружить между собой, будет рассказано ниже. Кому интересно, добро пожаловать под кат. Будет интересно (и много всяких картинок).
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии20

Sony NEX-5. Фотокамера для продвинутого «чайника»

Время на прочтение4 мин
Количество просмотров55K
Сразу оговорюсь: я в фотографии даже не любитель. Так, чайник. Все четыре цифровика, которые последовательно появлялись у меня, начиная с 2002 года – мыльницы среднего класса. Поэтому «продвинутым любителям», а также полупрофи- и профи- фотографам читать этот пост противопоказано.

Кроме того, здесь не будет ничего про unpacking, а также не планируются образцы фотографий (последним просто стыдно было бы хвастаться – см. первый абзац). Все это можно увидеть на специализированных сайтах и в специализированных отчетах. От себя скажу только одно – Sony NEX-5 делает снимки радикально лучшего качества, чем то, что мне удавалось получить ранее (в общем-то, и неудивительно — матрица APS-C «чуточку» больше, чем то, что стоит в компактах).

image

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

Читать дальше →
Всего голосов 63: ↑49 и ↓14+35
Комментарии115

Краткое введение в SIM-карты

Время на прочтение6 мин
Количество просмотров227K
Когда на вопрос «кем вы работаете?» я отвечал «разработчиком ПО для SIM-карт», даже технически подкованные люди частенько удивлялись. Многие думают, что SIM-карта это «что-то типа флешки».

В этой статье я постараюсь кратко рассказать что такое SIM-карта (и смарт-карты в общем), зачем она нужна и что у нее внутри.

На самом деле SIM-карта — это частный случай контактной смарт-карты с микропроцессором. По сути, представляет из себя достаточно защищенный микрокомпьютер с CPU, ROM (опционально), RAM и NVRAM (которая выступает в качестве аналога жесткого диска в PC), с аппаратными генераторами случайных чисел и аппаратной реализацией крипто-алгоритмов.

В некотором приближении архитектуру микропроцессорной смарт-карты можно представить так:
Архитектура смарт-карты

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

Создание документации ИС

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

Вступление…


Решился продолжить статьи
«История одной инфраструктуры. Решения MS. Часть 1»
«История одной инфраструктуры. Решения MS. Часть 2»
«История одной инфраструктуры. Решения MS. Часть 3»
и более подробно рассмотреть вопрос создания документации информационной системы (ИС) предприятия. Сразу оговорюсь, что не претендую на истину, всего лишь, мой подход и мои соображения по данному вопросу. Надеюсь, что смогу помочь начинающим разработчикам документации в этом нелегком деле.
Читать дальше →
Всего голосов 18: ↑11 и ↓7+4
Комментарии9

Решаем практические задачи на батниках

Время на прочтение3 мин
Количество просмотров17K
Батники это не мощный язык программирования, но, в то же время, на нем можно решить много рутинных задач. Цель статьи не просто рассказать о возможностях Windows-консоли, а показать их, решая практические задачи с которыми мне приходилось сталкиваться.
Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии29

C# + WPF + сторонние сборки -> один .exe-шник

Время на прочтение3 мин
Количество просмотров25K
Бывает приходится разработать маленькое приложение на C# и WPF, однако в следствие использования сторонних сборок(например SharpZipLib, Unity) — получается так что на выходе у нас кроме нашего маленького .exe-шника получается ещё и куча .dll-ок, а нам нужно чтобы был именно один .exe-шник.
Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии12

Руководство по созданию пользовательских интерфейсов для Windows 7

Время на прочтение1 мин
Количество просмотров3.4K
image

Microsoft выпустила официальное руководство, в котором подробно описываются принципы построения пользовательских приложений и интерфейсов для Windows 7. Руководство очень большое – 882 страницы, на которых приводятся советы, рассматриваются конкретные примеры, даются рекомендации.

Всего руководство разделено на 10 больших разделов:

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

Загрузить Windows User Experience Interaction Guidelines в формате .pdf можно по этой ссылке.
Всего голосов 70: ↑44 и ↓26+18
Комментарии18

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург и область, Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

System Administration
Lead
Vmware vSphere
VMware
PowerShell
Ansible