Рубрика «автоматизация рутины» - 2

На сайте ФНС по адресу egrul.nalog.ru/index.html есть замечательный сервис проверки контрагентов или своих собственных обществ.

Суть проверки сводится к подаче запроса в ЕГРЮЛ (единый реестр фактов детальности юридических лиц) и получении тут же, онлайн, выписки из реестра.

Работа с сервисом не вызывает каких-либо затруднений: внес в поле ОГРН, нажал кнопку “Найти” и нажал кнопку “Скачать” ниже. Все, выписка получена.

Как здесь может помочь автоматизация? Очень просто.

Если ваш холдинг состоит из n-количества юридических лиц, то даже такая работа как копипастинг ОГРН в строку поиска сервиса может надоесть.

Избавимся от рутины и автоматизируем процесс подачи-скачивания выписок из ЕГРЮЛ!
Читать полностью »

PowerShell Desired State Configuration и напильник: часть 1. Настройка DSC Pull Server для работы с базой данных SQL - 1

PowerShell Desired State Configuration (DSC) сильно упрощает работу по развертыванию и конфигурированию операционной системы, ролей сервера и приложений, когда у вас сотни серверов.

Но при использовании DSC on-premises, т.е. не в MS Azure, возникает пара нюансов. Они особенно ощутимы, если организация большая (от 300 рабочих станций и серверов) и в ней еще не открыли мир контейнеров:

  • Нет полноценных отчетов о состоянии систем. Если нужная конфигурация не применилась на каких-то серверах, то без этих отчетов мы об этом не узнаем. От встроенного сервера отчетов информацию получить довольно сложно, а для большого количества хостов – еще и долго.
  • Отсутствует масштабируемость и отказоустойчивость. Невозможно построить ферму опрашивающих веб-серверов DSC, которые бы имели единую отказоустойчивую базу данных и общее хранилище mof-файлов конфигураций, модулей и ключей регистрации.

Сегодня я расскажу, как можно решить первую проблему и получить данные для построения отчетности. Все было бы проще, если в качестве базы данных можно было бы использовать SQL. MS обещает встроенную поддержку только в Windows Server 2019 или в build Windows server 1803. Забирать данные с использованием OleDB provider тоже не получится, так как DSC-сервер использует именованный параметр, который не полностью поддерживается OleDbCommand.

Нашел вот такой способ: тем, кто использует Windows Server 2012 и 2016, можно настроить использование БД SQL в качестве backend’a для опрашивающего DSC-сервера. Для этого создадим «прокси» в виде .mdb файла со связанными таблицами, который будет перенаправлять данные, полученные от отчетов клиентов, в БД SQL-сервера.
Читать полностью »

Некоторые гос. структуры формируют отчёты в doc файлах. Где-то это делается руками, а где-то автоматически. Представим, что вам поручено обработать тонну таких документов. Это может быть необходимо для вычленения какой-то конкретной информации или просто проверки содержимого. Нам нужно вынуть только неформатированный текст без графиков и картинок. К примеру такие данные проще засовывать в нейронную сеть для дальнейшего анализа.

Вот некоторые варианты для самого обычного человека:

  • Ручками перебрать все файлы по одному. Уже после десятого документа к вам придёт мысль о том, что вы делаете что-то не так.
  • Попробовать найти в интернете специальную библиотеку (расширение) для работы с doc файлами на языке программирования, которым вы владеете. Потратить часок другой на понимание как работать с этой библиотекой. Также вам ещё предстоит столкнуться с тем, что принципы работы с doc и docx слегка отличаются.
  • Попытаться автоматизировано пересохранить все документы в другой формат, с которым будет удобнее работать.

Как раз о последнем варианте и пойдёт речь.

И на помощь к нам спешит vbs скрипт. vbs скрипт можно вызвать из командной строки, что можно сделать в любом языке программирования.
Читать полностью »

Полное руководство по CMake. Часть третья: Тестирование и пакетирование - 1

Введение

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

Читать полностью »

Полное руководство по CMake. Часть вторая: Система сборки - 1

Введение

В данной статье рассмотрено использование системы сборки CMake, применяемой в колоссальном количестве проектов на C/C++. Строго рекомендуется прочитать первую часть руководства во избежание непонимания синтаксиса языка CMake, явным образом фигурирующего на протяжении всей статьи.

Читать полностью »

Полное руководство по CMake. Часть первая: Синтаксис - 1

Введение

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

Язык CMake, будучи транслированным в нативный файл сборки (например, Makefile или Ninja), определяет процесс всего управления проектом. В Вашем распоряжении, с функциональной стороны, есть лишь команды, которые могут образовываться в довольно сложные конструкции. С них мы и начнём.

Читать полностью »

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

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

image
Читать полностью »

Это перевод статьи дизайнера-программиста Джона Голда, занимающегося системами дизайна в Airbnb, а ранее — сотрудника проекта Grid, который, как и мы, делает раннюю попытку применить нейросети и машинное обучение в дизайне и редизайне веб-элементов.

Инструменты машинного* дизайна - 1

Дизайн – это почти бесконечный процесс выстраивания всевозможных гипотез с дальнейшей попыткой собрать детали воедино.

Получив бриф проекта c набором условий, мы отправляемся прорабатывать все варианты, которые им удовлетворяют. По ходу дерево гипотез растет, мы придумываем различные сценарии (дивергируем), а затем пробуем свести воедино опыт команды дизайнеров, заказчиков и пользователей, чтобы выбрать оптимальный вариант (конвергируем).
Читать полностью »

Задача. На web-сервере в домашней папке ~/public_html привычным образом располагаются каталоги различных сайтов. Таким же привычным образом в каждом каталоге сайта располагается файл .htaccess. Известно, что с помощью этого файла, в том числе, ограничивается доступ по IP. В моём случае этот файл выглядит так:

Order Allow,Deny
Allow from all
Deny from 194.87.147.196

Эта запись (блок) встречается в каждом файле .htaccess каждого сайта в папке public_html всего один раз. И если требуется заблокировать доступ ко всем сайтам по IP, например 194.165.16.76 – в каждый файл, после строки «Allow from all» добавляется новая строка:

Deny from 194.165.16.76

Вопрос: что же делать, когда на сервере не 2 и не 3 сайта, а намного больше?
Вот как я попытался решить эту задачу.
Читать полностью »

Добрый вечер, Хабровчане! Новогодние праздники отгремели и все потихоньку входят в рабочий ритм после выходной недели, а это значит, что самое время описать свою новогоднюю забаву.

Если вам интересно узнать, как генерировать изображения из простых картинок с помощью PhantomJS и небольшой магии, то добро пожаловать под кат!

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js