• Оптимизация метода Виолы и Джонса для платформы Эльбрус

      Метод (алгоритм) Виолы и Джонса [1] является одним из способов выявления границ объектов на изображении. Хотя алгоритм, разработанный П. Виолой и М. Джонсом еще в 2001 году, был первоначально ориентирован на быстрый поиск лиц на изображениях, сейчас разнообразные вариации этого популярного алгоритма с успехом используются в различных задачах поиска границ:


      • образов пешеходов [2],
      • образов автомобилей [3],
      • образов дорожных знаков [4],

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

      Читать дальше →
    • Нагрузочное тестирование PostgreSQL, используя JMeter, Yandex.Tank и Overload

      Пару слов для начала


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


      1. Apache JMeter – инструмент для нагрузочного тестирования, который способен проводить тесты для JDBC-соединений, FTP, LDAP, SOAP, JMS, POP3, IMAP, HTTP и TCP из коробки и еще множество других протоколов и решений, используя различные плагины.
      2. Yandex.Tank – это облачный инструмент для нагрузочного тестирования, использует различные генераторы нагрузки, в том числе и JMeter.
      3. Yandex.OverLoad – сервис для удобного мониторинга и анализа серверов под нагрузкой.
      Читать дальше →
    • Cоздаём компонент карт Google Maps API с помощью VueJs2

      Google Maps API — это сервис геолокации. С помощью этого сервиса мы можем отобразить карту и места на карте.

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

      Чтобы создать компонент на основе статьи, нужно самостоятельно подготовить «hello word» приложение на VueJs2 с использованием es6. Итак по порядку:
      Читать дальше →
    • Быстрый пул для php+websocket без прослойки nodejs на основе lua+nginx

      nginx + lua

      Кратко: nginx не умеет пулить websockets, а php работает per request. Нужна прослойка которая будет держать открытыми вебсокеты и при поступлении данных соединяться с php (через тот же fastcgi) и отправлять обратно ответ.

      update: Здесь не идётся про решения на php, так как по сравнению даже с nodejs, они гораздо медленнее.

      Тема, как оказалось, не нова, исходники тянуться аж из 2014, но, тем не менее, информации о трюке, про который здесь пойдёт речь, крайне мало. Можете погуглить "websockets php". Усугубляется тема ещё тем, что найденные примеры реализации (два, точнее) не работают, включая тот, что в документации :)
      Читать дальше →
    • Литература на выходные: 15 материалов по структурированию кода для разработчиков

        Одним из параметров оценки кода служит его чистота. Создатель языка моделирования UML Гради Буч (Grady Booch) писал:

        «Чистый код прост и ясен. Чистый код читается как хорошо написанное произведение. Чистый код никогда не скрывает намерений создателя, но, напротив, полон четких абстракций и простых линий передачи управления»

        Сегодня мы собрали для вас список книг и статей по этой теме, которые рекомендуют к прочтению резиденты Hacker News, Stack Exchange и других профильных платформ.

        Читать дальше →
      • Обзор GUI-интерфейсов для управления Docker-контейнерами



          Работа с Docker в консоли — привычная для многих рутина. Тем не менее, бывают случаи, когда GUI-/веб-интерфейс может оказаться полезным даже для них. В статье представлен обзор наиболее заметных на сегодняшний день решений, авторы которых попытались предложить более удобные (или подходящие для каких-то случаев) интерфейсы для знакомства с Docker или даже обслуживания больших его инсталляций. Некоторые из проектов совсем молоды, а иные — наоборот, уже отмирают…
          Читать дальше →
        • Сравнительное нагрузочное тестирование Lua-коннекторов для Tarantool из NGINX

          В последнее время на Хабре появляется достаточно много статей про Tarantool — базу данных и сервер приложений, который используется в Mail.Ru Group, Avito, Yota в разных интересных проектах. И вот, я подумал – а чем мы хуже? Давайте тоже попробуем.

          В силу своей профессиональной деформации буду рассматривать следующий кейс:

          • Есть Web-ресурс, доступ к которому мы хотим ограничить;
          • Сам ресурс менять нельзя или крайне нежелательно.

          Как подступиться к данной задаче?
          Читать дальше →
          • +15
          • 3,9k
          • 3
        • Load Average в Linux: разгадка тайны

          • Перевод


          Средние значения нагрузки (Load averages) — это критически важная для индустрии метрика. Многие компании тратят миллионы долларов, автоматически масштабируя облачные инстансы на основании этой и ряда других метрик. Но на Linux она окутана некой тайной. Отслеживание средней нагрузки на Linux — это задача, работающая в непрерываемом состоянии сна (uninterruptible sleep state). Почему? Я никогда не встречал объяснений. В этой статье я хочу разгадать эту тайну, и создать референс по средним значениям нагрузки для всех, кто пытается их интерпретировать.

          Читать дальше →
        • По следам Petya: находим и эксплуатируем уязвимость в программном обеспечении

            image

            Нашумевшие события последних месяцев наглядно показывают, насколько актуальной является проблема критических уязвимостей в программном обеспечении. Массовые атаки на пользователей с помощью вирусов-шифровальщиков WannaCry и Petya осуществлялись путем удалённой эксплуатации уязвимостей нулевого дня в сетевых сервисах Windows – SMBv1 и SMBv2. Нахождение и эксплуатация уязвимостей для удаленного выполнения кода – задачка явно не из легких. Однако лучшим из лучших специалистов по информационной безопасности всё по зубам!

            В одном из заданий очного тура NeoQuest-2017 необходимо было найти уязвимости в доступной по сети программе-интерпретаторе команд, и с помощью их эксплуатации выполнить код на удаленном сервере. Для доказательства взлома нужно было прочитать содержимое файлового каталога на сервере – там, по условию, размещался ключ задания. Участникам был доступен бинарный файл интерпретатора. Итак, лёд тронулся!
            Читать дальше →
            • +11
            • 7,6k
            • 7
          • Разбор задач финала Яндекс.Алгоритма 2017

              На днях завершился Яндекс.Алгоритм 2017 — наш чемпионат по спортивному программированию. В финальном раунде 25 финалистам нужно было за два с половиной часа решить шесть задач. Первое место вновь завоевал Геннадий Короткевич из питерского ИТМО — это уже четвёртая его победа после состязаний 2013, 2014 и 2015 года. Никола Йокич из Швейцарской высшей технической школы Цюриха и выпускник Университета Токио Макото Соэдзима стали вторым и третьим, повторив свои прошлогодние результаты. Вот как распределились денежные призы: победа — 300 тысяч рублей, второе место — 150 тысяч, третье — 90 тысяч.




              Заявки на участие в Алгоритме 2017 подали 4840 человек. Более 60% из них — россияне. На втором месте по количеству заявок — Беларусь, далее следуют Украина, Индия и Китай. В общей сложности на чемпионат зарегистрировались жители нескольких десятков стран, включая Сингапур, Камерун, Венесуэлу и Перу.


              Мы по традиции публикуем формулировки и разобранные решения задач финала.

              Читать дальше →
              • +43
              • 24,7k
              • 3