• Облачные автотесты Selenium + Ubuntu (пошаговая инструкция)

    В данной публикации я расскажу о том, как подружить Linux (ubuntu server 14.04) с Selenium Server v.2.43.1, о подводных камнях и зачем мне в облаке понадобился сервер для автоматических тестов.

    image

    Не так давно на Хабре была опубликована статья «Автотесты – барское дело». Я считаю, что в команде, где более 2-х разработчиков работают над одним проектом — это просто необоходимая вещь. Когда я работал один, обходился без тестов. Проект писался с нуля, код я знал как свои 5 пальцев. Компания росла очень быстро — в месте с ней и количество задач. Появились новые разработчики, тут то и начались проблемы. Пишем один функционал — отваливается другой. Не подумайте, такое случалось редко, но такие ошибки стоили дорого и нужно было с этим бороться. В это время я принял решение ввести автотесты в процесс разработки, о чем ни капли не жалею.

    Сейчас я решил еще больше оптимизировать процесс тестирования. Идея в том, чтобы автоматически запускать тесты при поднятии функционала на дев, продакшин. Преимущества такого подхода очевидны и о них уже писали не раз. Как минимум — это моя уверенность в том, что тесты отработали и при заливке на продакшин ничего не сломается.
    Читать дальше →
    • +10
    • 27,4k
    • 9
  • Что делать, если у банка отозвали лицензию?

    • Tutorial

    В последнее время всё чаще появляются новости о том, что Центробанк отозвал лицензию у какого-нибудь банка. Иногда это происходит внезапно и неожиданно, а бывает, что до этого в интернете уже проскальзывал слух. Когда нужно верить плохим новостям и бежать менять банк и, самое главное, что делать, если вы остались без банка — не будем тянуть с лиричными вступлениями и расскажем прямо сейчас.
    Читать, пока еще не поздно
  • Как автоматически создать резервную копию базы данных MySQL и Web-сервера в хранилище FTP


      Эта статья содержит один из древнейших методов, предложенный NIX Craft в 2006 году. Статья, на мой взгляд, ценна тем, что содержит как бы базовое направление мысли, в котором может следовать начинающий или «случайный» (вынужденный заниматься администрированием баз данных в дополнение к другим задачам) сисадмин.
      На мой взгляд, понимание базовых принципов, изложенных в этой статье, сродни пониманию принципов изготовления плова. Можно экспериментировать с пловом в достаточно широких пределах; главное — не разварить рис в клейкую кашу и не сунуть в плов вместо жирного мягкого мяса непонятно что. Точно так же и стратегия бэкапа баз данных MySQL может варьироваться в очень широких пределах, но основы — сочетание полного резервного копирования с инкрементальным, установление периодичности выполнения отдельных задач и контроль за их правильным выполнением — остаются неизменными вне зависимости от используемого инструментария.
      Оригинал статьи взят здесь: http://www.cyberciti.biz/tips/how-to-backup-mysql-databases-web-server-files-to-a-ftp-server-automatically.html. Далее идёт сам текст перевода.
      Читать дальше →
      • +2
      • 19,1k
      • 9
    • Интересный способ запуска Selenium тестов на заднем плане

        image
        В последнее время у нас на проекте остро стал вопрос о запуске Selenium тестов на заднем плане. Одно из правил в нашей команде гласит, что мы не комитим код, пока не прошли все авто-тесты. Для проекта нашего размера это вполне реально. Проекты у нас меняются каждые 2-3 месяца и обычно занимает от 5 до 15 минут прогнать все тесты. Операционная система, в которой мы работаем — Ubuntu, у всех по два монитора (спасибо заказчику). Поэтому, поглядывая на тесты, удобно поделать что-то еще. Поревьювить таски, например, или начать делать новую задачу. Главная проблема заключается в том, что во время прохождения тестов на компьютере ничего сделать невозможно. А именно, каждое действие веб-драйвера делает его окно активным. Таким образом, можно только нормально послушать музыку. В лучшем случае — почитать или посмотреть видео. А вот если печатать — то почти стопроцентно завалишь какой-нибудь тест. Из-за этой проблемы каждый team member тратил кучу драгоценного времени впустую. Так я начал инвистигейшн данной проблемы.
        Читать дальше →
      • Две специальные модели разбиения чисел

        Два специальных разбиения натурального числа N могут быть использованы при построении алгоритма факторизации. В предшествующих постах об этом шла речь и автору были заданы вопросы.В работах о факторизации оговаривалось, что при рассматриваемом подходе появляется принципиальная возможность решать задачу факторизации больших чисел (ЗФБЧ) за малое время при наличии программы, генерирующей специальные разбиения. В этой работе автор раскрывает более подробно специфику специальности разбиений. Поскольку участники сообщества Хабра в своем большинстве являются программистами, то предлагаю тому, кто проявит интерес к ЗФБЧ, решаемой за приемлемое время (не годами, не месяцам, и даже не десятками часов), попробовать свои силы и приложить умения к разработке программы генератора спцразбиений. Разбивать как следует из текста ниже необходимо ф-инвариант числа N, свойство, не зависящее от разрядности числа, либо само число N. В комментариях приводится таблица всех разбиений числа 13, среди которых только 4 являются специальными, к факторизации приводит любое из трех первых специальных разбиений.
        Читать дальше →
        • –4
        • 10k
        • 1
      • Новые накопители – что день грядущий нам несет?


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

          На первый взгляд все довольно очевидно: производители жестких дисков устроили очередную гонку объемов, восторженно анонсируя 6-ти, 8-ми и даже 10-ТБ модели. Но все кроется в деталях, а если быть более точными – в специфике применения этих дисков. Сразу оговоримся, что мы будем говорить о серверных аспектах использования дисков.

          Так что там, в деталях?
          Читать дальше →
        • Мануал по решению типизированных задач в Microsoft Excel

          Добрый день, уважаемые хаброжители!

          Время от времени некоторым (а может и более, чем некоторым) из нас приходится сталкиваться с задачами по обработке небольших массивов данных, начиная от составления и анализа домашнего бюджета и заканчивая какими-либо расчетами по работе, учебе и т.д. Пожалуй, наиболее подходящим инструментом для этого является Microsoft Excel (или возможно иные его аналоги, но они менее распространены).

          Поиск выдал мне всего одну статью на Хабре по схожей тематике — «Талмуд по формулам в Google SpreadSheet». В ней дано хорошее описание базовых вещей для работы в excel (хотя он и не 100% про сам excel).

          Таким образом, накопив определенный пул запросов/задач, появилась идея их типизировать и предложить возможные решения (пусть не все возможные, но быстро дающие результат).

          Речь пойдет о решении наиболее распространенных задач, с которыми сталкиваются пользователи.

          Описание решений построено следующим образом – дается кейс, содержащий исходное задание, которое постепенно усложняется, к каждому шагу дано развернутое решение с пояснениями. Наименования функций будут даваться на русском языке, но в скобках при первом упоминании будет приводиться оригинальное наименование на английском языке (т.к. по опыту у подавляющего большинства пользователей установлена русскоязычная версия).
          Читать дальше →
        • Как мы пишем веб-сервис для миллиарда пользователей

          IT-директор проекта BeSmart.net Максим Модель про работу над глобальным обучающим сервисом

          image

          Наша команда работает над проектом BeSmart. Сейчас у нас девять программистов, включая IT-директора, то есть меня самого (само собой, есть дизайнеры, маркетологи и другие специалисты — всего более 20-ти человек). Мы работаем в белорусском Витебске, известном в России по фестивалю «Славянский базар».

          BeSmart.net — это сервис для размещения обучающих лекций в формате видео, аудио и PDF, которые, как мы надеемся, со временем будут смотреть по всему миру. Амбиций много, но пока мы отставим их в сторону и расскажем, какие две цели стоят перед нами, разработчиками, и как мы их выполняем.
          Читать дальше →
        • Планирование приемо-сдаточных испытаний облачной площадки

            Сьют ИТ-ГРАДа в SDN

            24 сентября мы (ИТ-ГРАД) открыли новую публичную облачную площадку в дата-центре SDN (Stack Data Network). Перед вводом первого клиента в промышленную эксплуатацию я занимаюсь планированием испытаний, которые покажут, что все компоненты работают как задумывалось, а дублирование и обработка аппаратных сбоев происходит в штатном режиме. Здесь я расскажу о тех тестах, которые уже запланировал, а также попрошу хабровчан поделиться своими дополнениями и рекомендациями.
            Читать дальше →
          • Хороший менеджер – ленивый менеджер

              Случалось ли вам наблюдать, как руководитель проекта с самого его начала постоянно занимается пожаротушением, полностью погружен в борьбу с неотложными проблемами, темп поступления которых превышает скорость их решения. Все задачи, которые получает команда проекта, имеют наивысший приоритет и срочность: «Это надо было сделать еще вчера!» Трудовой героизм. Постоянные сверхурочные. Субботники. Авралы. Обучение, анализ, планирование, проектирование, тестирование, рефакторинг – «это все потом!».

              Знакомо?

              «Хорошо управляемое предприятие — это спокойное место. Зато «фабрика, отличающаяся «кипучей» деятельностью и «трудовым героизмом» работников, который бросается в глаза любому посетителю, является на самом деле плохо управляемой», писал управленческий авторитет Питер Фердинанд Друкер.

              Проблема большинства проектов разработки ПО заключается не в том, что люди мало трудятся, а в том, что они делают не ту работу, которую нужно делать. Хороший менеджер должен руководствоваться фундаментальным принципом наименьшего действия и, следовательно, быть ленивым. И у него все получится. Почему?
              Читать дальше →
            • Анализ существующих подходов к распознаванию лиц

                С завидной регулярностью на Хабре появляются статьи, рассказывающие о тех или иных методах распознавания лиц. Мы решили не просто поддержать эту замечательную тему, но выложить наш внутренний документ, который освещает пусть и не все, но многие подходы к распознаванию лиц, их сильные и слабые места. Он был составлен Андреем Гусаком, нашим инженером, для молодых сотрудников отдела машинного зрения, в образовательных, так сказать, целях. Сегодня предлагаем его все желающим. В конце статьи – впечатляющих размеров список литературы для самых любознательных.
                Читать дальше →
              • Поиск жилья без посредников в 21-м веке

                  Полагаю, все мы однажды искали себе жилье. Кто-то — в собственность, большинство, вероятно, в аренду. Все, кто хоть раз пытался найти реальные предложения на досках объявлений, знают — это нереально. Такого количества спама нет, пожалуй, ни в одной другой сфере. После того, как окунешься в этот ад, обычно руки начинают чесаться применить свою IT-шность на благо ближнему. Результатом для меня стал проект Sobnik, о котором я и хочу рассказать.

                  Sobnik — это плагин для Chrome, который помечает посредников на досках объявлений. Пока работает только с Avito.ru, в ближайшем будущем я добавлю Irr.ru и другие крупные доски. Всех, кто сидит на чемоданах и кому не терпится попробовать, прошу в Google Web Store. Под катом я расскажу о технической стороне проекта, о его перспективах и о моих наблюдениях за противником посредниками. Любители критиковать чужой JS-код также велкам, исходник клиентской части плагина доступен на github.

                  Читать дальше →
                • Категоризация технологий: MP3 и iPod

                  • Перевод


                  Прим. переводчика: эта статья – перевод материала из блога одного из ведущих сторонних аналитиков Apple Хораса Дедью (Horace Dediu). В своих материалах Хорас преображает данные из открытых источников в любопытные диаграммы и графики и делает из них нетривиальные выводы. В этой статье он демонстрирует взаимосвязь между продажами iPod touch и степенью проникновения технологии MP3 на рынок США и делает вывод о том, к какой категории отнести гаджеты для прослушивания музыки в MP3-формате и каким ему видится их будущее в сравнении с другими технологиями.
                  Читать дальше →
                • В чем нарисовать MindMap? Детальный обзор 6 самых популярных программ для рисования mindmap

                  Структура обзора


                  1. Вступление;
                  2. Сравнение основных 5-х программ по популярности, цене, совместимости, наличию на разных платформах;
                  3. Подробное описание функционала и особенностей 5-х основных программ.

                  Введение


                  Mindmapping (рисование древовидных карт или ментальных карт) прочно вошел в жизнь многих людей именно с появлением соответствующего софта. Используя mindmap, делают техзадания, консультанты-аналитики делают проекты, дизайнеры придумывают концепции, тренера делают презентации, менеджеры составляют планы и т.д.

                  Целью этой статьи не является пропаганда mindmapping. У древовидного представления данных есть свои плюсы и свои ограничения. Обсуждение уже было в комментариях к публикации "+10 к интеллекту".

                  Эта публикация для тех, кто хочет выбрать удобный инструмент и узнать какие-то новые фишки, о которых еще не знал.
                  Читать дальше →
                • Интеграция JIRA 4.1 с Active Directory

                    Встала задача интеграции JIRA 4.1 с Active Directory со следующими условиями:
                    1. Синхронизация пользователей и групп (версия 4.1 не поддерживает синхронизацию)
                    2. Прозрачная аутентификация (в качестве логинов в JIRA используются почтовые адреса)
                    3. Заполнение свойства пользователей (номер телефона)
                    4. Пользователи, которых нет в AD, должны быть помечены

                    И вот как я её решил:
                    Читать дальше →
                    • +6
                    • 13,1k
                    • 2
                  • ITIL для разработчиков



                      “… british scientists proved…”


                      Привет, Хабр. Меня зовут Сергей Сапегин, я работаю PHP-разработчиком в DataArt. Но сегодня я хочу поговорить не о PHP.

                      Работники IТ, вне зависимости от области специализации, в последнее время все чаще сталкиваются с интересным феноменом мира ПО — ITIL. Поскольку общемировая тенденция не миновала и DataArt, мы предприняли небольшое исследование, дабы понять, что и как следует знать нашим разработчикам, чтобы некоторые процессы заказчиков не ставили в тупик всю команду. Представляем вам, что из этого получилось…

                      Читать дальше →
                    • Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в степень

                        Пусть мы хотим вычислить десятимиллионное число Фибоначчи программой на Python. Функция, использующая тривиальный алгоритм, на моём компьютере будет производить вычисления более 25 минут. Но если применить к функции специальный оптимизирующий декоратор, функция вычислит ответ всего за 18 секунд (в 85 раз быстрее):


                        Дело в том, что перед выполнением программы интерпретатор Python компилирует все её части в специальный байт-код. Используя метод, описанный хабрапользователем SkidanovAlex, данный декоратор анализирует получившийся байт-код функции и пытается оптимизировать применяющийся там алгоритм. Далее вы увидите, что эта оптимизация может ускорять программу не в определённое количество раз, а асимптотически. Так, чем больше будет количество итераций в цикле, тем в большее количество раз ускорится оптимизированная функция по сравнению с исходной.

                        Эта статья расскажет о том, в каких случаях и каким образом декоратору удаётся делать подобные оптимизации. Также вы сможете сами скачать и протестировать библиотеку cpmoptimize, содержащую данный декоратор.
                        Читать дальше →
                      • Все на одного или как мы построили CDN

                          Среди высоконагруженных (highload) систем существует большая разница между системами с высокой нагрузкой в плане количества запросов в секунду (RPS, requests per second) и высокой нагрузкой в плане генерируемого трафика (того, который меряется гигабитами в секунду). В нашем ivi.ru нагрузка есть и та, и другая. Сейчас я хочу рассказать про то, как мы генерируем сотни гигабит в секунду, и никому от этого не плохеет.


                          Читать дальше →
                        • Qt Creator для Sublime'еров

                          • Tutorial

                          Мое первое знакомство с Qt Creator было отнюдь не приятным. Тому есть несколько причин, но одна из главных — интерфейс и все, что с ним связано. После года на Sublime Text 2 от Qt Creator у меня, буквально таки, глаза полезли на лоб. Не желая с этим бороться, я положил его на полочку — до лучших времен. Но вот, лучшие времена настали и я решил, что пора наконец кастомизировать эту хорошую (как оказалось) IDE под себя. Под катом мини-гайд с подробностями.
                          Читать дальше →
                        • Чем грозит движок бизнес-процессов программисту на примере Apache Activiti

                          Словосочетание «бизнес-процессы» давно и прочно будоражат мозг всем бизнес-людям и тем, кто с оными сталкивается. В среде заинтересованных считается, что работа по бизнес-процессам — это «стильно, модно, молодежно». Правда, нет никакой гарантии увидеть четкое понимание того, что же это за зверь в глазах собеседника, даже если он и есть настоящий бизнес-человек. А теперь предлагаю представить, какое болото на эту тему квакало в голове среднестатистического разработчика (на примере автора), когда выяснилось, что следующий продукт будет работать по этим самым бизнес-процессам…

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