Обновить
20.73

Apache *

Свободный веб-сервер

Сначала показывать
Порог рейтинга
Уровень сложности

Экспорт дерева тестов из JMeter в текст

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

Привет, Хабр!


Работаю на большом интеграционном проекте (IBM WAS, WebSphere MQ, Oracle) и оплетаю наш кровавый энтерпрайз паутиной функциональных тестов в JMeter, который крутится на тестовом стенде и пробуждается по зову Jenkins после деплоя нового билда. По мере увеличения количества тестов столкнулся с проблемой поддержания тестовой документации в актуальном виде.

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

Классификация больших объемов данных на Apache Spark с использованием произвольных моделей машинного обучения

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

Часть 1: Постановка задачи


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

  • Как представить модель машинного обучения в виде сервиса (Model as a Service)?
  • Как физически выполняются задачи распределенной обработки больших объемов данных при помощи Apache Spark?
  • Какие проблемы возникают при взаимодействии Apache Spark с внешними сервисами?
  • Как при помощи библиотек akka-streams и akka-http, а также подхода Reactive Streams можно организовать эффективное взаимодействие Apache Spark с внешними сервисами?

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

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

Apache Kafka: обзор

Время на прочтение12 мин
Количество просмотров418K
Привет, Хабр!

Сегодня мы предлагаем вам сравнительно краткую, но при этом толковую и информативную статью об устройстве и вариантах применения Apache Kafka. Рассчитываем перевести и выпустить книгу Нии Нархид (Neha Narkhede) et. al до конца лета.


Приятного чтения!
Читать дальше →

Unity(Unet) — интеграция с социальными сетями и защищенные WebSocket'ы

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

Введение


В этой статье хочу поделиться своим опытом интеграции сетевого приложения (в моем случае — игры) с социальными сетями. Так как я стараюсь, по возможности, не прибегать к сторонним решениям, то сетевая часть была разработана на том, что предлагает Unity3D, а именно — Unet с использованием его низкоуровневой части (LLAPI). NetworkClient на клиенте соединяется с NetworkServer на удаленном сервере. Игровой сервер тоже написан на Unity3D. Работа в такой связке, хоть и требует углубленных знаний Unet , но имеет свои неоспоримые плюсы.

Проблема


И вот настало время разместить приложение в соц. сети. Подключив API соц. сети, настроил приложение в самой соц. сети, скомпилировал WebGl сборку и выложил игру на сервер. Первый запуск приложения сразу выявил ошибку: WebGl сборка не может открыть обычный Socket и требует работать только через WebSocket. Здесь все понятно — это мое упущение, ведь крайнее приложение я делал еще под Unity Web Player, который работал на обычных Socket'ах. Решив вопрос настройки сети для работы с WebSocket'ами (об этом чуть позже), я столкнулся со следующей проблемой. Т.к. соц. сети (по крайней мере та, с которой я интегрировался) работает по защищенному протоколу (Https) и предъявляет требование к своему контенту, так же работать через защищенный протокол. «Не беда» — подумал я, сейчас сделаем… Несколько дней «копания» интернета, общения с разработчиками Unity ввергло меня в уныние: поддержки защищенных WebSocket'ов (WSS) в Unet нет и неизвестно когда будет. Насколько я понимаю, большинство разработчиков в этом месте уходят в «фотон». Но мы не такие!

Так вот при чем тут соц. сети. Для обычной web-сборки работаем с обычными WebSocket'ами и радуемся жизни.
Читать дальше →

Как отследить загрузку файлов со своего сайта на WordPress

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


Возникла задача отслеживания загрузок файлов с сайта (изображений, документов, видео, дистрибутивов, …), т.к. обычные сервисы статистики не могут это делать без изменения URL файлов. И статистика должна быть видна в привычном месте (например, Google Analytics или FireBase).

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

  • слишком неудобно и долго заводить элемент под каждый файл;
  • файлы могут менять свое расположение – опять придется исправлять элемент.

В итоге сделана своя реализация в виде плагина к WordPress, в котором просто указывается каталог (относительный путь сайта) и далее происходит мониторинг загрузок его содержимого.

Ссылка на бесплатный плагин тут для тех кому информации выше достаточно. Дальше приведены примеры результатов статистик и подробности технической реализации.
Читать дальше →

Camel в вопросах и ответах

Время на прочтение14 мин
Количество просмотров65K
6-7 апреля в Москве в шестой раз пройдет JPoint – международная Java-конференция для опытных разработчиков. В этот раз в ней примет участие Клаус Ибсен (Claus Ibsen) – старший инженер Red Hat, гуру Apache. Ниже приводим перевод начала его книги «Camel in Action» – эксклюзивно для читателей нашего блога.



Читать дальше: Camel в вопросах и ответах

Apache Ignite: распределенные вычисления в оперативной памяти

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


Привет, Хабр!

Мы продолжаем интересоваться новыми решениями от Apache. Рассчитываем выпустить в мае книгу «High Performance Spark» Холдена Карау (книга в верстке), а в августе — книгу «Kafka: The Definitive Guide» Нии Нархид (еще в переводе). Сегодня же хотим предложить краткую ознакомительную статью об Apache Ignite и оценить масштаб интереса к теме.

Приятного чтения!
Читать дальше →

Установка сервера Linux + (Nginx + Apache) + PostgreSQL + PHP на VirtualBox (Ubuntu Server 16.04.3 LTS)

Время на прочтение9 мин
Количество просмотров66K
На просторах интернета не нашел единого рецепта по установке и настройке такого, довольно нестандартного сервера. Решил написать свой рецепт.

Принцип работы следующий:


Статические данные (файлы) отдает Nginx, а динамикой занимается Apache.
Читать дальше →

Связка Apache PHP MySQL в Solaris 11.3

Время на прочтение5 мин
Количество просмотров3.9K
При первом знакомстве с Solaris единственным для меня недостатком был тот факт, что пакеты которые возможно установить являются довольно устарелыми, но к счастью актуальные версии можно собрать из исходного кода. В данной публикации пойдёт речь о сборке apache и php из исходного кода(mysql можно скачать в виде готового пакета с сайта mysql.com). На момент написания данной публикации актуальная версия apache была 2.4.29, а php 7.2.3.
Читать дальше →

Apache Ignite — кеш для баз данных

Время на прочтение9 мин
Количество просмотров15K
В Apache Ignite можно определить именованный кеш данных для постоянного хранилища, загрузить в него данные и далее выполнять различные манипуляции с ними.

Можно выполнять операции get/put как c Map, например в java, эти операции имеют название сквозного чтения, записи в постоянное хранилище (write-through and read-through). Т.е. после того как кеш загружен при выполнении операции get объект будет взят их него, а не из базы, а при записи он изменится в кеше и будет записан в хранилище данных. Если при попытке взятия объекта его не будет в кеше он будет вначале в него записан. Понятно что операции чтения уже будут из памяти кеша и очень быстро. Все это актуально для операций get/put. Для других операций поиска, например для поиска объекта не по ключу есть — Query, как быстрее находить данные в кеше?, работа с транзакциями, все это ниже в статье…
Читать дальше →

Apache Ignite — вычисления в гриде

Время на прочтение5 мин
Количество просмотров5.5K
Вычисления в гриде или майнинг «красивых» хешей, такую задачу я решил проверить для вычисления в гриде Apache Ignite. Ранее я пробовал и писал Ignite как Sql БД, но для себя я понял что это пока удобная опция в этой вычислительной системе (к SQL на Ignite я еще вернусь), именно так как вычислительная система я себе ее представляю с возможностью быстрой и не дорогой масштабируемостью. Вот это и посмотрим, как можно быстро и недорого нарастить вычисления, или нет, например нарастить вычисления 1 мощного компьютера добавляя к нему несколько слабых.

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

Single Sign-On, или Танцы Шестерых

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



Эта статеечка изначально писалась как памятка для себя, но по настойчивым просьбам коллег я всё-таки через полтора года собрался с духом и публикую её.


Материал прозаичен, но может оказаться кому-нибудь полезным, чему я буду очень рад. Ещё больше буду признателен конструктивным советам и отзывам.


Итак, наша тема – «Как реализовать Single Sign-On для веб-приложения в условиях разношёрстности и нормальной лохматости системного зоопарка».

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

Apache Ignite vs Oracle СУБД

Время на прочтение3 мин
Количество просмотров9.6K
Apache Ignite – распределенная база данных в памяти, подобные БД получают распространение и хочется сравнить с тем что уже есть и зарекомендовало себя, например реляционная СУБД Oracle. Ignite имеет широкие возможности распределенных вычислений, также есть поддержка SQL на уровне ANSI-99, в производительности SQL и хочется сделать некоторое сравнение. Настройка БД будет в обоих случаях во многом по умолчанию, в случае Oracle это XE, а в случае Ignite это два узла(node) на одном компьютере. Компьютер i5 7400 (4-ядра) 3.5Ггц, 8Гб ОЗУ, SSD диск.
В качестве тестовых данных буду использовать данные КЛАДР (~223 тыс. записей) в качестве среды выполнения запросов DBeaver в котором настроены два подключения к Ignite и Oracle. И первое что сделаю импортирую данные в таблицы, Данные КЛАДР из DBF переведу в CSV, а затем средствами DBeaver выполню импорт в таблицы.
Читать дальше →

Ближайшие события

Глубокое обучение при помощи Spark и Hadoop: знакомство с Deeplearning4j

Время на прочтение12 мин
Количество просмотров15K
Здравствуйте, уважаемые читатели!

Мы вполне убедились в мегапопулярности глубокого обучения (Deep Learning) на языке Python в нашей целевой аудитории. Теперь предлагаем поговорить о высшей лиге глубокого обучения — то есть, о решении этих задач на языке Java при помощи библиотеки Deeplearning4j. Мы перевели для вас июньскую статью из блога компании Cloudera, где в интереснейших подробностях рассказано о специфике этой библиотеки и о глубоком обучении в Hadoop и Spark.

Приятного чтения.
Читать дальше →

Apache Kafka и миллионы сообщений в секунду

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

Мы в компании любим и уважаем Apache Kafka, и в ознаменование выхода ее недавнего обновления я решил подготовить статью про ее производительность. А еще рассказать немного про то, как выжать из нее максимум.
Читать дальше →

BanMoron — инструмент активной защиты WEB-сервера от взлома

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


Небось снова про блокчейн, только в профиль?

— А вот и не угадали! На этот раз – ничего ни про блокчейн, ни про Emercoin! В конце концов, имеем же мы право делать что-либо помимо основного проекта!


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

Полное руководство по переходу с HTTP на HTTPS

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

В наше время HTTPS обязателен для каждого веб-сайта: пользователи ищут замочек в адресной строке, когда передают личные данные; Chrome и Firefox недвусмысленно помечают как небезопасные веб-сайты с формами на страницах без HTTPS; это влияет на позиции в поисковой выдаче и оказывает серьёзное влияние на приватность в целом. Кроме того, сейчас имеется несколько вариантов получить бесплатный сертификат, так что переход на HTTPS — всего лишь вопрос желания.


Установка HTTPS может немного пугать неподготовленного пользователя — она требует многих шагов с участием различных сторон, а также специфических знаний криптографии и серверных конфигураций, да и вообще в целом кажется сложной.

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

Сюда включены детальные инструкции для владельцев виртуального хостинга на cPanel, администраторов серверов Apache HTTP и nginx под Linux и Unix, а также Internet Information Server под Windows.
Читать дальше →

Пошаговая настройка Apache с выбором версий php + Nginx как reverse proxy (с mod_pagespeed) на ubuntu 16.04

Время на прочтение10 мин
Количество просмотров67K
В интернете кучу статей по настройке сервера, настройки Apache, Nginx и т.п. В данной статье будет пошагово настроен простой shared хостинг. Все операции производятся через консоль.

В посте будут решены и описаны следующий задачи:

1. Установка Apache + PHP
2. Возможность выбора версий PHP
3. Возможность работы сайтов от разных пользователей, с ограничением на чтение директорий других сайтов.
4. Установка Nginx с модулем pagespeed от google
5. Настройка Nginx как reverse proxy

Все этапы будут содержать описание и пояснения. Сам пост писался больше для себя, чтобы не потерять порядок настройки, но будет очень полезным для новичков, которые начинают разбираться в администрировании сервера. В качестве сервера установлен Ubuntu 16.0.4 только с SSH.
Читать дальше →

Настройка Reverse Proxy Apache (Debian 8) с автоматической выдачей Let's Encrypt

Время на прочтение4 мин
Количество просмотров42K
Так как зачастую, сайтов в организации много, а IP адресов мало, нужно иметь решение с Reverse Proxy. Для моих целей раньше всегда выступал Microsoft TMG, но у него есть свои недостатки, как и плюсы. Один из основных минусов, это то что на TMG нужно подгружать сертификаты публикуемого ресурса, что с Let's Encrypt довольно неудобно, ввиду обновления сертификатов каждые 90 дней.

Решение было найдено: поднять Reverse Proxy на Apache и сделать так, чтобы работала автовыдача сертификатов Let's Encrypt. А после чего спокойно публиковать его на Firewall, при этом порты буду перенаправляться с http на https.

За основу берем что у нас стоит чистый Debian GNU/Linux 8 (jessie). Подробнее под катом.
Читать дальше →

Делаем бесплатный SSL сертификат в 2017 году

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

Предисловие


Недавно я искал ssl сертификат для своего сайта но на Хабре было только инструкция для StartSSl который уже не поддерживают Google Chrome и MozillaFirefox. И здесь я бы хотел показать как сделать сертификат пошагово на собственном сервере.
Читать дальше →