Search
Write a publication
Pull to refresh
2
0.1
Send message

Более 60 инструментов для мониторинга Windows

Reading time8 min
Views291K
В предыдущей статье был составлен список из 80 инструментов для мониторинга Linux системы. Был смысл также сделать подборку инструментов для системы Windows. Ниже будет приведен список, который служит всего лишь отправной точкой, здесь нет рейтинга.


читать дальше

Звезда TMS

Reading time9 min
Views24K
Считается, что системы управления транспортировками (Transportation Management Systems, TMS) входят в класс систем управления цепями поставок (Supply Chain Management, SCM), которые, в свою очередь, являются частью систем управления предприятиями (Enterprise Resource Planning, ERP). Хотя вопрос о соотношении систем различных классов достаточно сложный и неоднозначный…

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

Бизнес-процессы: Как все запущено и запутано. Глава Вторая «Мухи и котлета»

Reading time20 min
Views21K

Крошка сын к отцу пришёл, и спросила кроха: — Что такое хороший BPM?


Business Process Management. Предлагается из всего многообразия «BPM-наукообразия» выделить «чисто инженерную составляющую», исключив лукавый маркетинг и высокоуровневые бизнес-абстракции, бизнес-надстройки и прочую «бизнес-шелуху» на BPM — инженерии (как инженерной дисциплины), а также вынести за скобки ИТ-составляющую. Вводится понятия процессная инженерия, процессная система, процессные технологии, Process BPM (Natural BPM). Process technology рассматриваются комплексно: Операционная деятельность — Разработка — Внедрение — Контроль.


Вводная
Крошка сын к отцу пришёл, и спросила кроха: — Что такое хороший BPM?

Термин BPM, Business Process Management так «заговорили», что понять, «что же это такое» — уже совсем не просто. В первой главе был показан «Business Process Management маркетин говый» (PR-bpm). Главу первую можно было долго развивать, например, тему (проблему) путаницы терминологий вокруг BPM и тезис «BPM vs [всего и самого себя]»:
Вариант 1: «BPM vs BPM», где буква «M» = {Management vs Modelling vs Mapping}.
Вариант 2: "BPM vs BPM", где в одном из вариантов «P» = Performance.

В «современном» термине «BPMS», буква «М» вообще «не к месту» и что бы людей не путать заглавная буква от «Management» должна быть заменена или на «А» (Аutomation) или на «Е» (Еxecution), т.к. речь там в основе — о разработке программ. Последнюю — букву «S» можно читать как угодно и без потери смысла: suite, system, software (даже в разных версиях BPM CBOK по-разному).
Читать дальше →

Бизнес-процессы, помноженные на эффективность. Часть 2: обзор BPM с функцией учета KPI

Reading time10 min
Views48K
В предыдущем посте говорилось о трех ключевых функциях, на выполнение которых направлены инструменты учета KPI:

  1. Мониторинг эффективности сотрудников и мотивация персонала
  2. Контроллинг процессов
  3. Управление целями компании


Сегодня приведу примеры того, как это реализуется на практике разработчиками BPM-систем.

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

Еще раз о том, как не сделать из своей сети «решето»

Reading time20 min
Views350K
Здравствуйте! Я почти 10 лет работаю в сфере ИТ и ИБ, всегда интересовался практической безопасностью, в настоящее время работаю пентестером. За все время работы я постоянно сталкивался с типовыми ошибками в настройках и дизайне инфраструктуры. Ошибки эти чаще всего досадные, легко устранимые, однако быстро превращают сеть в полигон для взлома. Порой кажется, что где-то специально учат так настраивать, насколько часто они встречались. Это и побудило меня написать данную статью, собрав все самое основное, что может улучшить защищенность.

В этой статье я не буду рассказывать про использование сложных паролей, максимального ограничения прав доступа, смене учетных записей по умолчанию, обновлению ПО, и других «типовых» рекомендациях. Цель статьи – рассказать о самых частых ошибках в настройках, заставить администраторов и специалистов ИБ задуматься над вопросом – «а все ли в моей сети хорошо?», а также показать, как можно оперативно прикрыть те или иные типовые уязвимости, используя встроенные или бесплатные средства, не прибегая к дополнительным закупкам.

Инструкций-рецептов намеренно не прикладываю, так как многое ищется очень легко по ключевым словам.
Читать далее

Создание архитектуры программы или как проектировать табуретку

Reading time25 min
Views709K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →

Как внедряется система безопасной печати на ближайшее к пользователю устройство (follow-me printing)

Reading time7 min
Views37K

Предположим, вы банк, нефтяная компания или просто параноик. Вам хочется, чтобы:
  • Уборщицы, враги и рептилоиды не забирали документы из принтеров.
  • Память принтера надёжно очищалась после печати.
  • Нецелевая печать отсутствовала.
  • Большие задания автоматически перенаправлялись на устройства с дешёвым отпечатком.
  • При отправке на печать задания 50 раз (как часто делает паникующий пользователь) выползало только одно.
  • Чтобы тексты фильтровались по стоп-словам, а картинки — распознавались и тоже не печатались, если содержат конфиденциальные данные (есть не у всех решений).
  • В редких случаях — ну и ещё чтобы в документах на лету слово «направо» заменялось на «налево» для введения потенциального противника в заблуждение.

Это дорого, но уже давно используется в финансовых учреждениях. Там печать выглядит так: вы отправляете задание на принт-сервер, он обрабатывает файл (если надо — посылает безопаснику на ручное согласование, но такая фича также есть не у всех решений), а потом отдаёт на определённый принтер только тогда, когда вы введёте пин и покажете свой отпечаток пальца непосредственно на устройстве, чтобы документ выпал вам лично в руки. Или не приложите свою смарт-карту вроде личного пропуска в здание.

Расскажу детальнее.
Читать дальше →

Полезные трюки PostgreSQL

Reading time3 min
Views203K


В мануале есть всё. Но чтобы его целиком прочитать и осознать, можно потратить годы. Поэтому один из самых эффективных методов обучения новым возможностям Postgres — это посмотреть, как делают коллеги. На конкретных примерах. Эта статья может быть интересна тем, кто хочет глубже использовать возможности postgres или рассматривает переход на эту СУБД.
Читать дальше →

Аутентификация с использованием Spring Security и JWT-токенов

Reading time10 min
Views156K
Всем привет! Хабр жив! Данный пост вряд ли соберёт кучу просмотров и комментов, но, надеюсь, немного поможет здоровью хабра.

В данной статье рассмотрим принцип аутентификации в веб-приложениях на платформе Spring с использованием относительно нового механизма аутентификации — JSON Web Token (JWT). Этот механизм уже обкатан и реализован для многих языков программирования.

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

Нечеткий поиск в словаре с универсальным автоматом Левенштейна. Часть 1

Reading time9 min
Views105K


Нечеткий поиск строк является весьма дорогостоящей в смысле вычислительных ресурсов задачей, особенно если вам необходима высокая точность получаемых результатов. В статье описан алгоритм нечеткого поиска в словаре, который обеспечивает высокую скорость поиска при сохранении 100% точности и сравнительно низком потреблении памяти. Именно автомат Левенштейна позволил разработчикам Lucene повысить скорость нечеткого поиска на два порядка
Читать дальше →

Партиционирование в PostgreSQL – Что? Зачем? Как?

Reading time23 min
Views211K
Функцией партиционирования таблиц в PostgreSQL, к сожалению, активно пользуются пока не многие. На мой взгляд, очень достойно о ней рассказывает в своей работе Hubert Lubaczewski (depesz.com). Предлагаю вам еще один перевод его статьи!

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

Так что я постараюсь объяснить в меру своих знаний и возможностей, что это такое, зачем его стоит использовать и как это сделать.
Читать дальше →

Распарсить HTML в .NET и выжить: анализ и сравнение библиотек

Reading time8 min
Views129K

В ходе работы над одним домашним проектом, столкнулся с необходимостью парсинга HTML. Поиск по гуглу выдал комментарий Athari и его микро-обзор актуальных парсеров HTML в .NET за что ему огромное спасибо.

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

Сегодня я протестирую популярные, на данный момент, библиотеки для работы с HTML, а именно: AngleSharp, CsQuery, Fizzler, HtmlAgilityPack и, конечно же, Regex-way. Сравню их по скорости работы и удобству использования.


TL;DR: Код всех бенчмарков можно найти на github. Там же лежат результаты тестирования. Самым актуальным парсером на данный момент является AngleSharp — удобный, быстрый, молодежный парсер с удобным API.

Тем, кому интересен подробный обзор — добро пожаловать под кат.
Читать дальше →

Как сэкономить миллион долларов с помощью Tarantool

Reading time10 min
Views31K
Для чего используются базы данных, ведь есть старые добрые файлы? Чем они хуже базы данных или чем база данных лучше файлов? БД — более структурированное хранилище. Она позволяет делать транзакции, запросы и так далее. Самый простой случай: есть сервер с базой данных и несколько приложений, которые делают запросы к серверу. База данных отвечает, меняет что-то внутри себя, и всё хорошо ровно до того момента, пока нагрузка на неё не вырастает настолько, что база данных перестаёт справляться.

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

Если база не держит нагрузку на запись, то шарды можно добавлять до бесконечности. Шард устроен сложнее, чем реплика, потому что нужно как-то распределить данные по таблицам или внутри таблицы, по хэшу, по range — есть множество разных вариантов. Таким образом, добавляя реплики и шарды, вы можете делить любую нагрузку на базу данных. Казалось бы, больше желать нечего, о чём дальше говорить?
Читать дальше →

Реализация работы с факсами в asterisk

Reading time5 min
Views47K
Появилась необходимость настроить прием и отправку факсов на asterisk. По техническому заданию прием и отправка факсов должны происходить с участием операторов и возможностью предварительного разговора.
В интернете нашел примеры реализации, но в них как правило:
1) была автоматическая отправка факсов на определенный номер без предварительного разговора с оператором;
2) использовались различные связки iaxmodem либо t38modem + hylafax, в которых на мой взгляд особой надобности в данном случае нет. Asterisk умеет работать с факсами через SpanDSP (должен быть собран с поддержкой SpanDSP).

В итоге все свелось к следующему:
1) любой оператор компании должен иметь функционал для приема и отправки факсов со своего рабочего места, пользуясь ПК и телефоном;
2) для приема факса необходимо перевести вызов на номер 5555. Система должна преобразовать полученный документ из tiff в pdf, выложить в общую папку FAX и продублировать на почтовый ящик секретаря.
3) при отправке факса должна быть возможность отправки любого электронного документа или документа на бумажном носителе (через сканер). Оператор вначале должен иметь возможность сообщить, кому и что за документ передает, потом так же, как и при приеме, перевести на определенный номер, соответствующий данному документу.
Читать дальше →

Сетевое оборудование под угрозой? Давайте разбираться…

Reading time19 min
Views23K
В последнее время мы наблюдаем определенную маркетинговую шумиху вокруг атак и уязвимостей в сетевом оборудовании. Зачастую это происходит вследствие вполне реальных событий, но чаще всего речь идет о низкопробной PR-активности отдельных исследователей или целых компаний, которые таким образом самоутверждаются, паразитируя на не очень активном освещении данной темы в среде специалистов, которые не всегда способны отделить зерна от плевел. Как ведущий производитель сетевого оборудования мы решили поднять завесу тайны и расставить все точки над i в вопросе возможности или невозможности атак на сетевое оборудование, взяв в качестве примера продукцию компанию Cisco.
Читать дальше →

Рекурсивные запросы в PostgreSQL (WITH RECURSIVE)

Reading time3 min
Views205K

Как ни странно, чтобы понять рекурсию, в PostgreSQL не надо понимать рекурсию. Потому что WITH RECURSIVE, который присутствует в посгресе (и в других серьёзных базах) — это скорее вычисление чего-то итерациями до того, как будет выполнено некоторое условие.
Тем не менее это очень полезный функционал базы, который можно использовать, например, чтобы вывести все подкатегории заданной категории, если таблица задана в виде (id, parent_id, ...)
Читать дальше →

Биллинг нового поколения. Часть 1

Reading time3 min
Views15K
Привет всем!
Это наша первая публикация в корпоративном блоге. Очень спешил, так как узнал что завтра выступаю с презентацией PricePlan на RIW15. Перед этим я бы хотел рассказать о нашем продукте здесь — если у вас появится вопросы, предложения и комментарии, задавайте их в комментариях или завтра на RIW.

Вот уже три года моя команда работает над созданием платформы биллинга нового поколения. Я уверен, что многие читатели Хабра уже сталкивались с подобными системами в своих проектах и понимают их назначение и функционал. Поэтому сейчас я не стану говорить о том, что такое биллинг и как он работает. Вместо этого я бы хотел рассказать вам о тех функциях PricePlan, которые позволяют отнести его к новому поколению биллинговых систем. Мы с радостью продолжим эту тему на более «техническом» уровне, если она вас заинтересует.

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

Практическое использование Desired State Configuration для Windows Server 2012 R2

Reading time14 min
Views22K


Администраторам Linux: это статья о “Puppet” для Windows, и уже есть бета-версия DSC для Linux.
Для тех, кто в теме: не будет ничего о новинках PowerShell 5.0, только о том, что доступно из “коробки” Windows Server 2012 R2.


Преамбула


В 2013 году с выходом Windows Server 2012 R2 компания Microsoft сообщила о появлении Powershell Desired State Configuration (DSC).

К этому моменту я более или менее представлял, что делают подобные системы для Linux (например, уже упомянутый Puppet). Поэтому, предложенные возможности мне показались недостаточными для полной автоматической настройки системы. И только недавние сообщения о готовящемся Powershell 5.0 и о новых возможностях DSC побудили меня снова обратить внимание на эту технологию.

Чтобы разобраться, я выдумал задачку попроще:

  • Пусть, есть некий клиент, который хочет самостоятельно установить разработанное нами ASP.NET приложение на своем сервере. Кроме IIS, нам нужен MS SQL Server, а также требуется сделать некоторые настройки операционной системы и установить какие-нибудь важные утилиты.

Можно ли вместо инструкции по установке и настройке выдать некий конфигурационный скрипт, который сделает все что требуется на только что установленном Windows Server 2012 R2?

Для лучшего понимания этой статьи, наверное, предварительно стоит прочесть описание в блоге Microsoft — http://habrahabr.ru/company/microsoft/blog/253497/.
Подробнее о результатах эксперимента...

«Прозрачный» Squid с фильтрацией HTTPS ресурсов без подмены сертификатов (x86)

Reading time9 min
Views263K
Не секрет, что в больших конторах тема фильтрации Интернета довольно актуальная. С этой задачей справляется немало программных и аппаратных решений. Но в настоящее время все те сайты, которые мы резали ранее, работают по протоколу HTTPS, т.е. порт 443. Как известно, данный протокол проследить, прослушать и т. п., невозможно. А любой кеширующий фильтрующий прокси-сервер, редиректор и т. п. фильтрует только HTTP, т.е. порт 80. Как же резать Вконтакте, Одноклассники, iphide.info и многие другие подобные сайты? Как блокировать доступ к личной почте в организации, если использование оной запрещено порядками в организации? Да, можно фильтровать по IP адресам, но они частенько меняются, да и на многих ресурсах несколько IP адресов. Блокировать их на уровне файрвола как-то совсем не православное решение, и не совсем удобное.

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

Налаживаем коммуникацию между бизнесом и UX: набор артефактов в помощь аналитику

Reading time5 min
Views6.7K
image Аналитик — арбитр между бизнесом, проектированием и разработкой, который периодически смещается в ту или иную сторону, но при этом удерживает процесс создания мобильного продукта в поле здравого смысла. Он обеспечивает коммуникацию между всеми участниками процесса, транслируя знания от одной группы в другую, чтобы выдвинутые гипотезы и принятые впоследствии решения были обеспечены достаточным количеством информации.
  • Бизнес — всегда думает о достижении своих KPI, но редко понимает сложность разрабатываемой системы и удобство для пользователей.
  • UX-проектировщик — всегда думает о пользователе, иногда в ущерб бизнесу. Не всегда явно понимает цель бизнеса и пытается навязывать свои идеи.
  • Разработчик — думает, как сделать все классно с точки зрения архитектуры системы и программного кода. Пытается примерять пользовательские сценарии на себя, но является технически подкованным человеком, что не свойственно для большинства пользователей.
Если про передачу требований от уровня бизнеса к системному уровню сказано немало и выработался определенный инструментарий, то вот какие артефакты использовать для взаимодействия и передачи знаний между бизнесом, аналитиком и UX-проектированием — вопрос открытый. Этой темой я продолжаю цикл статей по бизнес-анализу в мобильной разработке.
Читать дальше →

Information

Rating
3,356-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity