• Автоматизация по методологии BDD. Наш опыт успешного внедрения

    • Tutorial
    Статья публикуется от имени Трубанова Вадима, @vonaburt

    Методология BDD все чаще завоевывает внимание IT-индустрии как логически верная ступень развития традиционных подходов к тестированию проектов, в том числе подходов к автоматизации тестирования. Текущая эпоха информационных технологий диктует свои правила, и в этой гонке технологий выигрывает тот, кто умеет реагировать на любые изменения быстро и качественно. Особенно это касается компаний связанных с банковской деятельностью, например таких, как наш банк, где каждый отложенный час до релиза может повлиять на общую картину качества сервисов, составляемую нашими клиентами. При правильном использовании методология BDD позволяет сократить время, затрачиваемое на тестирование выпускаемых продуктов, повышать качество проводимого тестирования и делать сам процесс прозрачным и понятным для всех, что и подтолкнуло нас к её использованию. На данный момент методология BDD внедряется на двух наших web-продуктах, активно развивается и уже приносит свои плоды. Хочется поделиться нашим опытом внедрения BDD со стороны автоматизации тестирования и рассказать об основных принципах, которые позволят вам внедрить эту методологию безболезненно, быстро и, самое главное, сделать её использование эффективным.
    Читать дальше →
  • Как искать паттерны в биржевых данных и использовать их в торговле?

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

      Будем получать биржевые данные Forex от одного из брокеров, сохраним в базу данных PostgreSQL и попробуем найти закономерности при помощи алгоритмов машинного обучения.

      В статье есть несколько приятных бонусов в виде кода на Python — Вы сможете сами проанализировать любые (почти) биржевые данные (или значения индикаторов), запустить собственного торгового робота и проверить любую торговую стратегию.

      Все условия и определения паттернов в статье приведены для примера, вы можете использовать любые критерии.
      Читать дальше →
    • Сколько должен стоить ваш SaaS? Я проанализировал 1530 сервисов и получил такие графики

        image

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

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


          Привет всем, кто проходит курс машинного обучения на Хабре!


          В первых двух частях (1, 2) мы попрактиковались в первичном анализе данных с Pandas и в построении картинок, позволяющих делать выводы по данным. Сегодня наконец перейдем к машинному обучению. Поговорим о задачах машинного обучения и рассмотрим 2 простых подхода – деревья решений и метод ближайших соседей. Также обсудим, как с помощью кросс-валидации выбирать модель для конкретных данных.


          UPD: теперь курс — на английском языке под брендом mlcourse.ai со статьями на Medium, а материалами — на Kaggle (Dataset) и на GitHub.


          Видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017).

          Читать дальше →
        • Невидимые друзья вашего github-репозитория

          • Tutorial
          image
          Github это незаменимый инструмент, прочно вошедший в жизнь практически каждого разработчика.

          Хотя многие из нас используют его постоянно, не все знают, что существует большое количество сторонних (и бесплатных) сервисов и инструментов, которые тесно интегрированы с github и расширяют его функциональность.

          В данной статье мы уделим внимание, в основном, инструментам, работающим в инфраструктуре npm. Полный список сервисов, интегрирующихся с github, можно посмотреть на странице github integrations directory.

          Сегодня в выпуске:




          Читать дальше →
        • Книга «Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих»

            image Алгоритмы — это всего лишь пошаговые алгоритмы решения задач, и большинство таких задач уже были кем-то решены, протестированы и проверены. Можно, конечно, погрузиться в глубокую философию гениального Кнута, изучить многостраничные фолианты с доказательствами и обоснованиями, но хотите ли вы тратить на это свое время?

            Откройте великолепно иллюстрированную книгу, и вы сразу поймете, что алгоритмы — это просто. А грокать алгоритмы — это веселое и увлекательное занятие.
            Читать дальше →
          • Открытый курс машинного обучения. Тема 2: Визуализация данных c Python


              Второе занятие посвящено визуализации данных в Python. Сначала мы посмотрим на основные методы библиотек Seaborn и Plotly, затем поанализируем знакомый нам по первой статье набор данных по оттоку клиентов телеком-оператора и подглядим в n-мерное пространство с помощью алгоритма t-SNE. Есть и видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017).


              UPD: теперь курс — на английском языке под брендом mlcourse.ai со статьями на Medium, а материалами — на Kaggle (Dataset) и на GitHub.


              Сейчас статья уже будет существенно длиннее. Готовы? Поехали!

              Читать дальше →
            • Автоматизация тестирования Web-приложений

              • Tutorial


              Автоматизация тестирования – место встречи двух дисциплин: разработки и тестирования. Наверное поэтому, я отношу эту практику к сложным, но интересным.

              Путем проб и ошибок мы пришли к следующему технологическому стеку:
              1. SpecFlow (опционально): DSL
              2. NUnit: тестовый фреймворк
              3. PageObject + PageElements: UI-абстракиця
              4. Контекст тестирования (информация о целевом окружении, пользователях системы)
              5. Selenium.WebDriver

              Для запуска тестов по расписанию мы используем TFS 2012 и TeamCity.
              В статье я опишу, как мы к этому пришли, типовые ошибки и пути их решения.
              Читать дальше →
            • Angular 2: почему на TypeScript?

              • Translation
              Здравствуйте все, кто не забывает заглядывать в наш блог и в традиционно нерабочее время суток!

              Давным-давно в нашей публикации от 13 ноября 2015 года вы убедили нас дождаться допиливания Angular 2 и издать о нем книгу. Мы всерьез собираемся взяться за такой проект в самое ближайшее время, а пока предлагаем почитать развернутый ответ на вопрос, вынесенный в заглавие этого поста.
              Читать дальше →
            • Внедрение зависимостей в Angular 2

              • Translation
              Добрый вечер, уважаемые дамы и господа!

              При всей неослабевающей популярности фреймворка AngularJS мы все-таки не успели отметиться с книгой по его первой версии, а теперь решили не дожидаться второй и поинтересоваться: насколько вам импонирует вот эта работа, охватывающая кроме AngularJS и более широкий контекст JavaScript-разработки?



              Под катом вы найдете перевод регулярно обновляемой статьи Паскаля Прехта (версия от 12 октября 2015 года), рассказывающей о таких высоких материях, как внедрение зависимостей в AngularJs и, что самое интересное, тех доработках, которые ждут этот механизм в Angular 2.
              Читать дальше →
              • +1
              • 13.5k
              • 3
            • Мониторинг выполнения задач в IPython Notebook

                Хотел бы поделиться простым, но полезным инструментом. Когда много работаешь с данными, часто возникают примитивные, но долгие операции, например: «скачать 10 000 урлов», «прочитать файл на 2Гб, и что-то сделать с каждой строчкой», «распарсить 10 000 html-файлов и достать заголовки». Долго смотреть в зависший терминал тревожно, поэтому долгое время я использовал следующий гениальный код:
                def log_progress(sequence, every=10):
                    for index, item in enumerate(sequence):
                        if index % every == 0:
                            print >>sys.stderr, index,
                        yield item
                


                Эта функция прекрасна, больше года она кочевала у меня из задачи в задачу. Но недавно я заметил в стандартной поставке Jupyter виджет IntProgress и понял, что пора что-то менять:

                Читать дальше →
              • Как работает метод главных компонент (PCA) на простом примере



                В этой статье я бы хотел рассказать о том, как именно работает метод анализа главных компонент (PCA – principal component analysis) с точки зрения интуиции, стоящей за ее математическим аппаратом. Максимально просто, но подробно.
                Читать дальше →
              • ASP.NET Core, Angular 2, SignalR для чайников

                  Всем привет! Хочу поделиться своим опытом использования ASP.Net Core и Angular 2 с использованием SignalR.

                  Будучи программистом 1С, часто приходится решать задачи, которые на 1С решить сложно или невозможно. Очень помогает знание .Net. Но вот, что касается клиентской части сайтов, то здесь много тонкостей (JavaScript, CSS, JQuery итд), которые быстро забываются, если ими не пользоваться.

                  Angular 2 позволяет значительно упростить создание клиентской части. Так TypeScript значительно ближе к C# (и главное позволяет использовать Руслиш), а с шаблонами несложно разобраться зная Razor и Xaml.

                  Главное, что вы работаете с данными, по аналогии с WPF. При этом есть куча контролов.

                  Хочу поделиться с такими же бедолагами как я, или кто только начинает изучение Angular 2, ASP.Net Core, так как потратил значительное время, на поиски материалов для изучения.

                  Для тренировки на кошках был выбран мой проект 1C Messenger для отправки сообщений, файлов и обмена данными между пользователями 1С, вэб страницы, мобильными приложениями а ля Skype, WhatsApp. Исходники Здесь

                  Пока не вышел. Net Core 1.2 и NetStandard 2, сейчас нет поддержки клиента для SignalR под .Net Core

                  Итак, начнем. Для работы нам потребуется:

                  1. ASP.NET Core + Angular 2 шаблон для Visual Studio
                  2. Руководство по ASP.NET Core
                  3. Руководство по Angular 2
                  4. Руководство по TypeScript
                  5. Компоненты от PrimeNG
                  6. Компоненты Bootstrap
                  Читать дальше →
                • 8 JavaScript библиотек для визуализации данных в виде интерактивных карт

                  Визуализация данных стала неотъемлемой частью жизни практически каждого веб-разработчика. Если построение графиков, диаграмм, карт и дашбордов до сих пор никогда не были вашей головной болью, просто немного подождите: наверняка и вы скоро вступите в наш «клуб».

                  Данная статья дает общее, но вовлеченное представление о восьми самых интересных, на мой взгляд, JavaScript-библиотеках для построения интерактивных геовизуализаций. В целом, таких решений сейчас много, и выбрать оптимальное под тот или иной конкретный проект – задача порой непростая как минимум по времени. Этой публикацией я попытаюсь хотя бы немного упростить жизнь тем, кто только начинает разбираться в данной теме. Кстати, это слегка модифицированный перевод моей недавней статьи на Onextrapixel (оригинал на английском).

                  Заглавная картинка: визуализация данных с помощью интерактивных карт
                  Читать дальше →
                • Почему Hackintosh уже актуален. Развенчание мифов

                    Каждому iOS разработчику нужен свой уголок с печеньками, плюшевой уточкой и шайтан-машиной на OSX.


                    В свете перехода на Swift, мощность железа стала особенно востребована. Чтобы комфортно разрабатывать под айфоны, нужен как минимум процессор с частотой 3+ ghz, SSD на 120-250Gb и оперативы гигов 16. Все это как раз для того, чтобы не было желания посмотреть футбол, пока запускается проект или открывается interface builder.


                    А знаете, что еще было всегда актуально? Сумасшедшие цены на яблочные устройства:


                    image


                    PC с таким же, плюс-минус, железом можно запросто собрать всего за 30.000 рублей! (инфа на ноябрь 2016). Многие, конечно, думают, что раз компания покупает железо, то значит финансы бесконечные, можно не стесняться в средствах. Если вы работаете в Google, то вам повезло и жизнь хороша. Но в остальных случаях это не так.


                    Что же делать? Не разрабатывать же под Android в конце концов?


                    Под катом мы узнаем о современном Hackintosh, его роли в разработке, способам безболезненной установки и настройки, услышим мнение людей, работающих на нем не первый год, и проведем тест на iOS инструментах.


                    Читать дальше →
                  • Мониторинг Elasticsearch через боль и страдания


                      Мы наконец допинали функционал мониторинга elasticsearch до публичного релиза. Суммарно мы переделывали его три раза, так как результат нас не устраивал и не показывал проблемы, которые мы огребали на нашем кластере ES.


                      Под катом история про наш production кластер, наши проблемы и наш новый мониторинг ES.

                      Читать дальше →
                      • +34
                      • 22.1k
                      • 6
                    • Книга «Microsoft Visual C#. Подробное руководство. 8-е издание»

                        image Привет, Хаброжители! Недавно мы перевели книгу Джона Шарпа.

                        Для кого предназначена эта книга


                        Предполагается, что читателем книги будет разработчик, желающий изучить основы программирования на C# с использованием среды Visual Studio 2015 и .NET Framework версии 4.6. Прочитав книгу, вы получите полное представление о языке C# и сможете воспользоваться им для создания адаптивных и широко масштабируемых приложений, способных работать под управлением операционной системы Windows 10.

                        Кому не следует читать эту книгу


                        Эта книга предназначена для разработчиков, ранее пользовавшихся языком C#, и не рассчитана на абсолютных новичков в вопросах программирования. Поэтому ее материал основан преимущественно на применении языка C#. Эта книга не задумывалась в качестве подробного описания множества технологий, доступных для создания приложений корпоративного уровня, работающих под управлением Windows, таких как ADO.NET, ASP.NET, Windows Communication Foundation или Windows Workflow Foundation.
                        Читать дальше →
                      • «Мои друзья потеряли меня из виду на 3 месяца» или как люди учатся у нас big data

                          Всем привет! 5 октября в New Professions Lab стартует пятый набор программы «Специалист по большим данным», которую на данный момент закончило более 200 человек. Мы уже рассказывали на Хабре (здесь и здесь), чему конкретно мы учим, с какими знаниями и навыками выходят наши выпускники, и совсем скоро напишем, что нового будет в пятой программе. А сегодня хотим поделиться рассказами и отзывами тех, кто уже прошел обучение и на себе испытал все тяготы и невзгоды.

                          image
                          Читать дальше →
                          • +10
                          • 16.9k
                          • 6
                        • Обзор курсов по Deep Learning

                            Привет, Хабр! Последнее время все больше и больше достижений в области искусственного интеллекта связано с инструментами глубокого обучения или deep learning. Мы решили разобраться, где же можно научиться необходимым навыкам, чтобы стать специалистом в этой области.

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