Pull to refresh
24
0
pred8or @pred8or

User

Send message

Предпроектное обследования при разработке информационной системы

Reading time6 min
Views58K

Что бывает без предпроектного обследования?


В свое время мне пришлось заниматься разработкой и продажей систем для составления маршрутов транспорта: на карту выводятся точки с заказами, обводишь их мышью и размещаешь в машины. Обращается к нам одна компания с просьбой продать приложение. Не один месяц мы пытались выяснить, зачем же им подобная система нужна, в результате продали им «коробку», очень уж они просили. Затем решила данная компания привлечь нас для внедрения. И тут выяснилось, что в первую очередь им нужна была функциональность для учета топлива, которая в нашей системе отсутствовала от слова совсем.
Читать дальше →

Мультисерверная установка Zimbra Collaboration Suite

Reading time7 min
Views9.8K
Существует негласное правило, согласно которому не рекомендуется создавать более 5-6 тысяч почтовых ящиков на одном сервере с Zimbra Collaboration Suite. Превышение этого диапазона чревато значительным ухудшением качества работы сервера и снижением его доступности для пользователей. Но что делать, если у вас в ведении находится крупное предприятие или SaaS-провайдер, продающий доступ к Zimbra Collaboration Suite как услугу, и вам требуется обеспечить электронной почтой 10, 20, 30 и более тысяч человек? Специально для таких случаев в Zimbra существует поддержка мультисерверной установки, при которой почтовые ящики находятся на разных серверах и позволяют сохранять высокую доступность электронной почты даже при больших нагрузках.

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

Реализация алгоритма Левенберга-Марквардта для оптимизации нейронных сетей на TensorFlow

Reading time23 min
Views31K

Это tutorial по библиотеке TensorFlow. Рассмотрим её немного глубже, чем в статьях про распознавание рукописных цифр. Это tutorial по методам оптимизации. Совсем без математики здесь не обойтись. Ничего страшного, если вы её совершенно забыли. Вспомним. Не будет никаких формальных доказательств и сложных выводов, только необходимый минимум для интуитивного понимания. Для начала небольшая предыстория о том, чем этот алгоритм может быть полезен при оптимизации нейронной сети.




Полгода назад друг попросил показать, как на Python сделать нейросеть. Его компания выпускает приборы для геофизических измерений. Несколько различных зондов в процессе бурения измеряют набор сигналов, связаных с параметрами окружающей скважину среды. В некоторых сложных случаях точно вычислить параметры среды по сигналам долго даже на мощном компьютере, а необходимо интерпретировать результаты измерений в полевых условиях. Возникла идея посчитать на кластере несколько сот тысяч случаев, и на них натренировать нейронную сеть. Так как нейросеть работает очень быстро, её можно использовать для определения параметров, согласующихся с измеренными сигналами, прямо в процессе бурения. Детали есть в статье:


Kushnir, D., Velker, N., Bondarenko, A., Dyatlov, G., & Dashevsky, Y. (2018, October 29). Real-Time Simulation of Deep Azimuthal Resistivity Tool in 2D Fault Model Using Neural Networks (Russian). Society of Petroleum Engineers. doi:10.2118/192573-RU


Одним вечером я показал, как keras реализовать простую нейронную сеть, и друг на работе запустил обучение на насчитанных данных. Через пару дней обсудили результат. С моей точки зрения он выглядел перспективно, но друг сказал, что нужны вычисления с точностью прибора. И если средняя квадратичная ошибка (mean squared error) получилась в районе 1, то нужна была 1е-3. На 3 порядка меньше. В тысячу раз.

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

Миграция данных в кровавом энтерпрайзе: что анализировать, чтобы не завалить проект

Reading time14 min
Views14K


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

Для начинающих поясню, что миграция идет по такой схеме: источники → преобразование данных (отвечает ETL или шина) → приемник.

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

В AWS представили Firecracker — «микровиртуализацию» для Linux

Reading time4 min
Views28K


На AWS re:Invent 2018, что проходит в эти дни в Лас-Вегасе, состоялся анонс Firecracker — новой технологии виртуализации с открытым кодом, основанной на Linux KVM. Авторы обещают, что с ней «в доли секунды можно запускать легковесные микровиртуальные машины (microVMs) в невиртуализированной среде, получив преимущества и традиционных ВМ — в виде безопасности и изоляции рабочих нагрузок, и контейнеров — в виде эффективного использования ресурсов».
Читать дальше →

Metro 4 — путь длиною в 6 лет. Краткая история Metro UI CSS

Reading time6 min
Views21K

Эта история началась в далеком 2012 году, когда широкими шагами по планете начала свой путь Windows 8. Находясь под впечатлением плиточного интерфейса стартовой страницы это операционной системы, я решил сделать такую же на HTML, CSS и JavaScript.



Тогда не было и мысли делать библиотеку компонентов, просто набор стилей и их применение и чтобы в браузере и чтобы красиво и чтобы работало. И понеслась. Сначала были просто плитки (тайлы), затем они обрели различные эффекты, а затем этого стало мало. На просторах интернета (шучу, на сайте Microsoft) был найден Microsoft Developer Guide for Windows 8 UI. Почитав немного сие творение инженеров Microsoft, было принято решение начать делать библиотеку компонентов, потихоньку, для личных нужд, без рекламы и ажиотажа.


Ну, как говорится, сказано — сделано. Проект был запущен по кодовым названием Metro UI CSS.


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

Машинное обучение vs сигнатурный анализ при обнаружении атак на веб-приложение

Reading time6 min
Views8.1K


О том, как мы разрабатывали модуль машинного обучения, почему отказались от нейронных сетей в сторону классических алгоритмов, какие атаки выявляются за счет расстояния Левенштейна и нечеткой логики, и какой метод обнаружения атак (ML или сигнатурный) работает эффективнее.
Читать дальше →

Программирование с PyUSB 1.0

Reading time15 min
Views57K
От переводчика:
Это перевод руководства Programming with PyUSB 1.0
Данное руководство написано силами разработчиков PyUSB, однако быстро пробежавшись по коммитам я полагаю, что основной автор руководства — walac.


Позвольте мне представиться


PyUSB 1.0 — это библиотека Python обеспечивающая легкий доступ к USB. PyUSB предоставляет различные функции:

  • На 100% написана на Python:
    В отличии от версий 0.x, которые были написаны на C, версия 1.0 написанна на Python. Это позволяет программистам на Python без опыта работы на C лучше понять как работает PyUSB.
  • Нейтральность платформы:
    Версия 1.0 включает в себя фронтенд-бэкенд схему. Она изолирует API от специфичных с точки зрения системы деталей реализации. Соединяет эти два слоя интерфейс IBackend. PyUSB идет вместе со встроенными бэкендами для libusb 0.1, libusb 1.0 и OpenUSB. Вы можете сами написать свой бэкенд, если хотите.
  • Портативность:
    PyUSB должен запускаться на любой платформе с Python >= 2.4, ctypes и, по крайней мере, одним из поддерживаемых встроенных бэкендов.
  • Простота:
    Взаимодействие с устройством USB никогда не было таким простым! USB — сложный протокол, а у PyUSB есть хорошие предустановки для наиболее распространенных конфигураций.
  • Поддержка изохронных передач:
    PyUSB поддерживает изохронные передачи, если лежащий в основе бэкенд поддерживает их.

Несмотря на то, что PyUSB делает программирование USB менее болезненным, в этом туториале предполагается, что у Вас есть минимальные знания USB протокола. Если Вы ничего не знаете о USB, я рекомендую Вам прекрасную книгу Яна Аксельсона «Совершенный USB» (Jan Axelson «USB Complete»).
Читать дальше →

Повышаем сознательность граждан

Reading time2 min
Views90K
Привет!

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



Почему это важно сделать на бумаге? Потому что она без батарейки, не требует подключения к сети и содержит самые важные номера законов. В общем, бумага очень отказоустойчивая. Естественно, есть и PDF, которую можно просто залить на телефон.
Читать дальше →

Настройка HTTP/2 на примере Apache 2.4, PHP 7 и Ubuntu 18.04 LTS

Reading time3 min
Views34K
Я понимаю, что, возможно, Апач на данный момент не является предпочтительным выбором для запуска на нём новых проектов, то тем не менее, он существует, здравствует и проекты на нём таки работают. Выбор на него может пасть по каким-то личным предпочтениям, по требованиям совместимости, или каким-то другим соображениям… не суть. В этой статье я хочу по пунктам описать, как настроить поддержку протокола HTTP/2 на веб-сервере Apache, потому что сам им пользуюсь и в такой статье нуждаюсь нуждался, и надеюсь, что кому-нибудь она тоже пригодится на практике.
Читать дальше →

Повышение качества склейки панорамы с помощью согласования графа проективных преобразований

Reading time8 min
Views5.2K

Привет, Хабр! Сегодня мы расскажем про один из способов повышения качества склейки панорамы. Существует широко используемый подход склейки панорамы плоских объектов, но поскольку данный подход не лишен недостатков, мы предлагаем свое улучшение.

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

Домашняя электросеть

Reading time12 min
Views43K
Здесь часто возникает тема защиты оборудования в домашней электросети, но очень часть при описании базовых параметров устройств защиты информация не соответствует действительности или же, в лучшем случае, основана на отдельных примерах. Потому далее будет своеобразный ликбез о том, как правильно сделать вводный электрощиток.

Это не столько инструкция, сколько объяснение, что должно быть сделано, так как каждое подключение по сути индивидуально. В любом случае необходима консультация с учетом реальной ситуации.
Читать дальше →

Дружелюбная защита WEB ресурса от атак перебором

Reading time4 min
Views12K
Одна из проблем, которая возникает перед WEB-ресурсами имеющими персональные кабинеты — атака перебором. Да, простой перебор всех вариантов пароля для конкретной учетки. Тупо? Возможно, но такая атака может сильно нагрузить ресурс. К тому же, если контроля сложности пароля пользователя при регистрации нет, она может оказаться еще и успешной.

Чаще всего, вопрос решается относительно просто. Если пользователь ввел несколько раз неправильно пароль, его учетка блокируется на какое-то время. Альтернативное решение — выводить капчу. Сразу, или после нескольких неудачных попыток. Ну, и не забудем про 2F авторизацию, которая почти неуязвима. Казалось бы — профит! Но, не все так радужно…
Читать дальше →

Управление рисками — почему процедуры так редко работают?

Reading time4 min
Views10K
Кажущаяся простота

В любом учебнике, включая PMBOK, процедура управления рисками описывается в кристально простых и понятных терминах.

Риск нужно:

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

Однако в реальной жизни не так часто можно увидеть аккуратное следование этим процедурам и еще реже — пользу от этого.

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

Допустим, руководитель проекта понимает, что управлять рисками необходимо. Убеждать его в этом не нужно. Но как это сделать наиболее эффективным способом? Какие приемы и инструменты стоит использовать, чтобы с минимальными затратами времени действительно снизить потери от наступления рисков?
Читать дальше →

Проблемы доступа к персональным данным от лица всех участников процесса

Reading time8 min
Views5.9K
Приветствую дорогие хабровчане.

Лирическое отступление
Как пользователь одного из «высокоразвитых» ресурсов рунета, я обнаружил довольно распространённую картину в админке своего профиля: от моего имени рассылался спам.
Для меня это стало некоторым сигналом, так как за то время (активный пользователь интернет ресурсов с 1999-го) пока я использовал способы доступа к своим ресурсам в виде логина и пароля, у меня не было ни одного (по крайней мере зарегистрированного) случая взлома или утечки таких данных. На каждый ресурс я использую уникальный пароль, конечно, как у многих опытных пользователей этот пароль имеет общий корень, но всё же он не является примитивным.

История о том как простой пользователь начал принимать меры


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

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

Обзор облачного контроллера TP-Link Omada OC200

Reading time14 min
Views44K
Это наша первая версия аппаратного беспроводного контроллера для линейки Omada EAP. В нем реализована поддержка доступа через облако, мобильное приложение и сеть. И всё это без платных лицензий и ежемесячных отчислений. Для удаленного  управления сетью достаточно лишь подключения к нашему облаку. В общем, все как вы любите.

Под катом обзор интерфейса плюс куча деталей по подключению, настройке и развертыванию.


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

Электронная подпись ГОСТ Р 34.10 документов формата PDF в офисном пакете LibreOffice

Reading time10 min
Views22K
Пришла пора, несмотря на все пожары, исполнить свой гражданский долг – заплатить налоги. Платить налоги мы будем через портал Госуслуги. В личный кабинет портала Госуслуг будем входить с помощью электронной подписи (терминология портала Госуслуг ), т.е. имея на руках сертификат, полученный в аккредитованном удостоверяющем центре (УЦ), и закрытый ключ. И то и другое я храню на токене PKCS#11 с поддержкой российской криптографии:
Читать дальше →

Как правильно настроить Firewall на сервере с Zimbra?

Reading time4 min
Views15K
Одним из основных орудий современного киберпреступника является сканер портов, благодаря которому они находят подверженные тем или иным уязвимостям серверы, а затем атакуют их. Именно поэтому одним из главных правил обеспечения информационной безопасности сервера является грамотная настройка брандмауэра. Оптимально настроенная система фильтрации сетевого трафика способна нейтрализовать львиную долю киберугроз без применения других ИБ-решений

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

«Референтная модель BIAN» для банковской индустрии или как перестать изобретать велосипед

Reading time7 min
Views13K
Так как я заметил, что ты, Цезарь, уже много построил и продолжаешь строительство, я разработал определенные правила, чтобы ты сам смог оценить качество как уже существующих, так и будущих зданий.

Витрувий, архитектор времен Римской империи
Читать дальше →

Анализ производительности WSGI-серверов: Часть вторая

Reading time6 min
Views28K
Данная статья является переводом статьи Кевина Голдберга «A Performance Analysis of Python WSGI Servers: Part 2» dzone.com/articles/a-performance-analysis-of-python-wsgi-servers-part с небольшими дополнениями от переводчика.

image

Введение


В первой части этой серии Вы познакомились с WSGI и с шестью наиболее популярными по мнению автора WSGI-серверами. В этой части Вам будет показан результат анализа производительности этих серверов. С этой целью была создана специальная тестовая песочница.
Читать дальше →

Information

Rating
6,115-th
Location
Россия
Date of birth
Registered
Activity