Pull to refresh
0
0
Андрей @andreypaa

User

Send message

ELK+R как хранилище логов

Reading time3 min
Views33K
В компании заказчика появилась необходимость в неком хранилище логов с возможностью горизонтального масштабирования. Исходя из начала задачи первая мысль — Splunk. К сожалению, стоимость данного решения уходила далеко за пределы бюджета заказчика.

В итоге выбор пал на связку Logstash + Elasticsearch + Kibana.
Читать дальше →

Потоковая обработка данных при помощи Akka

Reading time5 min
Views40K
Привет, Хабр! Все привыкли ассоциировать обработку больших данных с Hadoop (или Spark), которые реализуют парадигму MapReduce (или его расширения). В этой статье я расскажу о недостатках MapReduce, о том, почему мы приняли решение отказываться от MapReduce, и как мы приспособили Akka + Akka Cluster на замену MapReduce.


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

Как дважды два: автоматизация двушки за $2000

Reading time3 min
Views19K
Обычно для размещения в разделе «Проекты умных домов» нам присылают примеры реализации автоматизации класса люкс, где все очень красиво и поэтому очень дорого. Но сегодня мы расскажем о проекте, который зацепил нас именно тем, что представляет собой недорогое и одновременно качественное воплощение умного дома на пространстве двухкомнатной малогабаритки.



Автоматизация на российском и белорусском оборудовании обошлась автору немногим дороже $2000, а работает она ничем не хуже всем известных дорогих систем и очень интересна по своим возможностям. Мы связались с автором проекта и хозяином квартиры Павлом Ханеней, который живет в белорусском Гомеле, и расспросили его о проделанной работе.
Читать дальше →

Windows 10 можно активировать бесплатно, если установить Insider Preview

Reading time2 min
Views161K


Для получения активированной легальной копии Windows 10 RTM необязательно иметь лицензионную копию Windows 7 или 8.1.

Microsoft опубликовала сообщение в официальном блоге, где разъяснила момент с обновлением Windows 10 Insider Preview на финальную версию Windows 10 RTM, которая выйдет 29 июля 2015 года.
Читать дальше →

13 лучших роботов для детей

Reading time5 min
Views38K
image

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

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

Kolab Groupware (Часть 2 — Установка)

Reading time14 min
Views26K


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

У семи программистов адрес без дома

Reading time4 min
Views99K
Привет, Хабр!

Мы в HumanFactorLabs парсим адреса в особо крупных размерах. Наши продукты упрощают ввод контактных данных и работу с ними.

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

Недавно на Хабре нас попросили привести примеры необычных адресов, в связи с чем и написана эта статья.
Читать дальше →

Отправка Nginx-логов в Google Analytics

Reading time5 min
Views20K
image

С наших Download-серверов каждый день скачивается несколько миллионов драйверов (статичных .exe и .zip файлов). Для анализа поведения пользователей перед нами встала задача посчитать следующие параметры: когда, сколько, как часто и даже кто именно скачивает драйверы.

Самым очевидным решением было бы использовать инструменты типа AWstat, GoAccess, ELK stack или Splunk, а в крайнем случае собирать логи Nginx.

Но у каждого варианта есть свои минусы: неудобный интерфейс, скудность данных, сложность настройки и, самое главное, отсутствие возможности строить сегменты в пользовательских отчётах.

И тогда мы решили заставить Nginx самостоятельно отправлять события в Google Analytics сразу же после скачивания файла. Мы также смогли передать в GA уникальный идентификатор пользователя ClientID.
В результате мы получили аналитику по статичным файлам, к которым раньше невозможно было привязать счетчик GA.

Под катом готовый конфиг и примеры работы нашей системы.
Читать дальше →

О расширении словаря эмоционально окрашенных слов на базе сообщений Твиттера

Reading time4 min
Views4.6K
Социальные сети, в том числе Твиттер, предоставляют огромное количество информации о том, что люди думают по тому или иному поводу, и понятным является желание автоматизировать и улучшать методы оценки общественного мнения на основе данных соц. сетей.

Предположим, нам надо оценить эмоциональную окраску твитов, например, для проведения различных социологических замеров (о том, могут ли такие замеры заменить классические соц. опросы см. здесь). В таком случае, очевидным подходом будет взять словарь эмоционально окрашенных слов, где эмоции выражены количественно, и оценивать твиты по наличию слов из этого словаря. Но тут возникает проблема: такие словари редки, малы и могут устареть, к тому же не соответствуют «живому» языку общения в соц. сетях. Кажется законным пополнять доступные словари новыми словами, при этом приписывая им эмоциональность твитов, в которых эти слова встречаются (точнее, среднее арифметическое по всем твитам, содержащим данное слово). Собственно такая задача предлагается к решению в курсе «Introduction to Data Science». Возникает вопрос: является ли такое продолжение законным? Будет ли полученный словарь зависеть от тех твитов на которых он расширялся или, точнее, насколько будут отличаться два словаря, полученные из одного и того же начального словаря, но дополненные на разных твитах?
Читать дальше →

(Не)безопасный frontend

Reading time13 min
Views60K

Интро


Не так давно я выступал на конференции FrontendConf 2015 (РИТ++) с темой данной статьи. И при подготовке доклада начал искать информацию, а кто вообще выступал на данную тему и что есть в Сети на данный момент.

Оказалось, что информации совсем немного, более-менее можно было бы отметить доклад mikewest.org/2013/09/frontend-security-frontendconf-2013 от Mike West из компании Google, но какой-то «непентестерский» взгляд и уж совсем мало материала. И www.slideshare.net/eoftedal/web-application-security-in-front-end где тема раскрыта более детально, но выступление 2011 года. А за 4 года технологии и атаки на месте не стояли.

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

О чем вообще разговор?


А действительно, о чем тут вообще можно разговаривать? Говоря про взломы и безопасность невольно приходят в голову тезисы — слили базу, получили доступ к выполнению команд ОС на сервере, прочитали чужую переписку. Но это все — server side код. А что ж может «нагородить» фронтэндер? Главная опасность, конечно же, в обходе атакующим SOP — Same Origin Policy, главной политики безопасности браузеров, которая регулирует работу в разных Origin. Но не только, давайте разбираться.

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

Примеры использования MongoDB в e-commerce (часть 2)

Reading time25 min
Views29K


[ Первая часть ]

В этом посте будет то, что не поместилось в первую часть. Это некоторые операторы, которые есть в aggregation framework и достаточно вольный перевод трех статей из раздела экоситема на сайте со справкой к MongoDB, описывающих некоторые случаи применения для интернет-коммерции.

Случаи использования разделены там на восемь статей, которые условно можно разделить на три группы. Мне показались самыми интересными для перевода три материала, связанные с e-commerce.

  1. Операторы в aggregation framework
  2. Каталог продуктов
  3. Корзина и управления остатками на складе
  4. Иерархия категорий

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

DDoS атака в обход Qrator. Как защититься?

Reading time4 min
Views27K
Есть сервисы, защищающие нас от DDoS атак. Они работают по принципу прокси: в DNS прописывается их IP, они фильтруют трафик и проксируют на ваш сервер. Все они настоятельно рекомендуют прятать свой IP и в публичном доступе давать только IP прокси-защитника. Вполне здравый подход, достаточный для успешной защиты. А я расскажу на чем можно проколоться и как от этого защитится.
Читать дальше →

Интеграция Symfony 2 и Google Calendar

Reading time3 min
Views10K
При создании современного веб проекта вам не обойтись без работы с внешними сервисами. Недавно у нас возникла задача по работе с календарями. В этой статье я бы хотел рассказать о некоторых моментах интеграции проекта на Symfony2 с Google Calendar.
Читать дальше →

Семишаговый тест логотипа Пола Рэнда

Reading time6 min
Views49K
Вы обладаете сильным или слабым логотипом?

В то время как танцор может спросить себя «Интересно, что Майкл Джексон подумал бы о моих танцевальных движениях?» или боксер может спросить себя: «Интересно, что Мухаммед Али подумал бы о моем правом хуке?», дизайнер задастся вопросом: «Что Пол Рэнд подумал бы о моем логотипе?»

К концу чтения вы будете точно знать, одобрил или не одобрил бы Пол Рэнд ваш логотип.
Читать дальше →

Сравнение Security Enhanced NGINX и Hiawatha Web Server при отражении атак 7 уровня (BOTS/SQL/XSS etc.)

Reading time5 min
Views17K
Добрый день.

В завершение «недели NGINX», мы решили рассказать об очень интересной сборке «безопасной» версии NGINX китайской компании Neusoft, о которой не было замечено ни одной статьи на Хабре, а именно — SeNginx. В дополнение к этому, мы также расскажем вам о втором веб сервере, которому не уделяется так много внимания, как Nginx — Hiawatha Web Server, и постараемся сравнить Hiawatha с SeNginx в плане использования их для обеспечения безопасности вашего сайта или web приложения.

image image

Отметим, что за 5 лет существования нашей хостинговой компании нам довелось повидать целый спектр атак различных уровней и типов на сайты и web приложения наших клиентов, а также поработать с London Metropolitan Police в поиске и поимке одного управляющего ботнетом. Сегодня DDoS атаки стали настолько частыми, что только за вчерашний день Arbor в одном из наших датацентров зафиксировал 49 DDoS атак 3/4 уровней мощностью до 20-25 Gbit/s (график 1 и график 2). И, хотя Arbor девайсы и могут при определенной настройке неплохо справляться с атаками 3 и 4 уровня, они практически бесполезны при атаках 7 уровня, целью которых является перегрузка ресурсов сервера, а также поиск уязвимостей в вашем приложении.

Самым бюджетным вариантом отражения атак 7 уровня являются различные варианты с использованием DNS RoundRobin + HaProxy, Nginx, Varnish Cache и т.д., которые либо позволяют рассредоточить атаку между несколькими серверами клиента, либо дают возможность обработать запросы ботов «в лоб» с помощью отдачи кешированной версии страницы. Данный подход, к сожалению, часто требует ручной настройки, постоянного мониторинга и редко эффективен при меняющихся типах атак.

Наглядное представление DNS RoundRobin + Nginx (источник):

image

После длительных поисков нами был найден отличный модуль к NGINX, написанный русскими программистами на Perl в 2012 году и позволяющий фильтровать ботов, которые заходят на ваш сайт в автоматическом режиме — Roboo (статья на Хабре). Модуль показал себя с наилучшей стороны, позволяя фильтровать сотни тысяч запросов от ботов с помощью NGINX с минимальной нагрузкой на сервер.
Читать дальше →

Умный кроп на основе энтропии

Reading time2 min
Views26K
Во многих веб-приложениях существует необходимость автоматического кропа — будь то вырезание аватарки из загруженного фото, превью крупных изображений или создание миниатюр в больших галереях.



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

Литье пластмасс в силикон — доступное мелкосерийное производство в домашних условиях

Reading time8 min
Views360K
Многие из тех, кто печатает на 3D-принтере сталкиваются или с необходимостью получить партию моделей в короткие сроки, или скопировать удачно получившуюся деталь, или получить изделия с прочностными характеристиками, превосходящими таковые у пластиков для домашней 3d-печати.

3D-принтер далеко не всегда способен выполнить такие задачи, но отлично подойдет для создания единственного образца, или мастер-модели. А дальше на помощь нам приходят материалы производства компании Smooth-On, наверное, самого популярного производителя материалов холодного отверждения.

image

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

Как мы строим волшебный SSD-хостинг в Нидерландах и США с новыми принципами тарификации и работы, действительно ли он волшебен?

Reading time9 min
Views7.3K
Статья не претендует на абсолютную истину и не отражает полной проблематики предоставления и использования хостинг-услуг, ставит вопросы, описывает проблемы и некоторые из методов решения. Будет полезна вебмастерам для лучшего понимания специфики используемых услуг, облегчения выбора нужного решения и, возможно, будет полезна хостинг-провайдерам.

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

Разрабатывая полностью новый хостинг-сервис, которого еще не существовало на рынке хостинг-услуг, мы попытались решить ряд вопросов, остро стоящих в последнее время перед нами и, возможно, некоторыми другими хостинг-провайдерами, учесть пожелания наших клиентов. Попытались сделать услугу более надежной и понятной прежде всего для рядового пользователя хостинг-услуг. Пока рано говорить об успехе или провале проекта, но первые результаты говорят о том, что мы работаем не зря, а там посмотрим…
Читать дальше →

Релиз OpenCV 3.0 с поддержкой Python 3

Reading time1 min
Views38K
Вышла третья версия OpenCV (Open Computer Vision Library) — популярной библиотеки алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения с открытым исходным кодом.

Релиз включает примерно 1500 патчей, отправленных через github. Упомянуто, что в OpenCV использовано большое количество интеллектуальной собственности Intel (IPPCV), которую компания передала пользователям библиотеки бесплатно, без лицензионных выплат, для коммерческого и некоммерческого использования. Аппаратное ускорение с использованием OpenCL теперь доступно разработчикам через T-API (transparent API). Помимо этого, в третью версию OpenCV добавлено огромное количество новых возможностей, улучшений производительности и стабильности, подробнее обо всём можно почитать по ссылке.

Это первая стабильная версия библиотеки, которая полностью поддерживает Python 3. Для Windows и Python 3.4 бинарники уже можно скачать на сайте lfd.uci.edu. Модуль всё ещё имеет название cv2.
Читать дальше →

Что нужно знать при миграции с MySQL на PostgreSQL?

Reading time8 min
Views37K
В продолжение статьи о теории и практике миграции хранилищ данных на PostgreSQL, мы поговорим о проблемах, с которыми вы можете столкнуться при переезде с распространенной СУБД MySQL. Дабы не утомлять всех лишней риторикой, сегодняшний рассказ будет более тезисный и проблемно-ориентированный.

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

Именно поэтому в предыдущей статье я рекомендовал не тратить время на поиск серебряной пули и написать что-нибудь свое “на коленке”, что действительно работает. Данная статья призвана облегчить написание такого инструмента, указывая на потенциальные изъяны, в наличии которых вы может сравнительно быстро убедиться.

Перейдем к делу.
Читать дальше →

Information

Rating
Does not participate
Location
Мордовия, Россия
Date of birth
Registered
Activity