В поисках производительности — как мы сократили время каждого POST запроса на 200 мс Перевод статьи. Во время работы в нашей инструментальной панели Pro мы заметили, что поисковые запросы обслуживаются 300 мс. У нас в команде есть сотрудники, которые использовали Elasticsearch для обработки гораздо больших наборов данных, и они были удивлены тем, как медленно обрабатываются […]
Archive for the ‘Linux’ Category
Как настроить беспарольный доступ в Jenkins
1 июня, 2015
rius Такой функционал может понадобиться для выкладывания результатов сборки на удаленной сервер с помощью команды scp или запуска команд на удаленном сервере с помощью ssh. Даже если вы решите использовать плагин дженкинса вроде Publish Over SSH, то вам придется делать эту же настройку. Будем считать, что надо выполнить команду: ssh user_name@remote_host ls -l /tmpssh user_name@remote_host ls […]
Особенности использования плагина jasperreports-maven-plugin в CentOS
20 мая, 2015
rius Третьего дня понадобилось под CentOS мавеном собрать проект, в котором задействован плагин jasperreports-maven-plugin. Собирал как положено — мавен 3.3.3 и jdk 1.8.0. Сборка начала валиться с ошибкой: [ERROR] class file has wrong version 52.0, should be 50.0[ERROR] class file has wrong version 52.0, should be 50.0 Это навело на мысль, что плагин ищет джаву вовсе […]
Продвинутые SCTP клиент и сервер
29 апреля, 2015
rius Протокол SCTP является очень перспективным и предоставляет множество интересных возможностей. В данной заметке я рассмотрю использование продвинутых SCTP клиента и сервера из примеров netty (простые клиент и сервер рассмотрены тут: Простые SCTP клиент и сервер ). Проект будет на maven. Скорее всего с ходу вам скомпилировать примеры из репозитория (репозиторий) не удастся. Я перечислю еще […]
Разбор рекурсивной грамматики с помощью javacc
3 апреля, 2015
rius Продолжаем создавать парсеры на java с помощью javacc. В этот раз рассмотрим разбор грамматики, которую уже разбирали с помощью lex+yacc тут: ссылка. В той статье есть BNF для данного языка в понятном для yacc виде. Для простоты я опять закомментировал название пакета — если надо, раскоментируйте и ставьте свой. Я собирал с помощью make:
Использование именованных каналов и замены процессов
25 марта, 2015
rius Использование именованных каналов и замены процессов Данная заметка является вольным переводом этой статьи http://vincebuffalo.com/2013/08/08/the-mighty-named-pipe.html Трудно не влюбиться в Unix, если вы биоинформатик. В прошлой заметке я упоминал о том, что каналы в Unix представляют собой элегантный способ взаимодействия биоинформационных программ (и вообще осуществляют взаимодействие между процессами). Исследуя другие способы сопряжения программ в Unix я открыл […]
Использование javacc для разбора SQL
18 марта, 2015
rius Пришло время затронуть тему создания парсеров на java. Для этого воспользуемся утилитой javacc. Update. Плагин Вордпресса для подсвечивания кода стал безнадежно портить исходники — добавлять закрывающие теги там, где они не нужны, дефолтные значения у того, что он считает атрибутами тегов. Неискаженные исходники, адаптированные к javaCC версии 7.0.9 доступны тут: исходники За основу взята эта […]
Простые SCTP клиент и сервер на java
11 марта, 2015
rius Как только вы начинаете искать работающий java код для этих классов, то получаете в выдаче устаревшие примеры (сомневаюсь, что они работали уже на момент публикации). В этой заметке я разберу пример простых клиента и сервера для протокола SCTP и типовые ошибки при сборке и запуске. Исключение вида java.lang.UnsupportedOperationException: libsctp.so.1: cannot open shared object file: No […]
Практическое использование yacc и lex
4 марта, 2015
rius В данной заметке я рассмотрю использование связки lex + yacc (с небольшими доработками указания справедливы и для flex + Bizon). В свое время я перелопатил много статей по синтаксическому разбору, но большинство из них (самые частые — переводные статьи про установку температуры нагревателя) не объясняют как расправиться с рекурсией или сделать чтение из файла вместо […]
Как обнаружить прозрачный прокси (transparent proxy)
26 февраля, 2015
rius Иногда бывает нужно определить наличие такого прокси, допустим, при тестировании вэб-приложений. Непрозрачный прокси обнаруживается достаточно легко по source/dest IP и заголовкам, которые добавляет прокси. Оговорюсь, что мы будем слушать трафик на стороне клиента и сервера OS для анализа. Итак, обнаружение прозрачного прокси. Для этого надо сделать запрос на заведомо несуществующий IP, к примеру, на 192.168.100.100. […]

Posted in
Tags: