• Автотесты, балансировка, терминал и не только – о чем мы будем говорить уже в этот четверг

      Привет, Хабр! Напоминаем, что осталось всего три дня, чтобы успеть записаться на QIWI SERVER PARTY 2.0, который мы проведем в четверг, 15 марта.

      Адрес тот же – г. Москва, Ул. Ленинская Слобода, 26с11 Loft#3, начинаем в 17.00 (спикеры выступают с 18 до 21).

      Бесплатная регистрация доступна по ссылке, а под катом мы расскажем немного подробнее о том, какие доклады ждут вас в четверг.
      Читать дальше →
    • Нагрузочное тестирование «не-HTTP». Ч.2 Gatling

        В первой части статьи мы провели сравнительный анализ средств нагрузки на Java для JMeter, ушли от XML тест-планов и достигли 30K RPS с одной машины, нагружая «не-HTTP» сервис на примере Apache Thrift.

        В этой статье рассмотрим еще один инструмент для нагрузочного тестирования — Gatling и, как и обещали ранее, постараемся увеличить его производительность в десятки раз.

        Читать дальше →
      • 15 марта QIWI соберёт back-end разработчиков на QIWI SERVER PARTY 2.0

          Неформальный митап для back-end разработчиков, которым важно быть в теме.



          Приходи и ты узнаешь:

          • Про отказоустойчивую и высоконагруженную балансировку
          • Горизонтальный рост разработчика
          • Автотесты на Kotlin
          • Teamcity DSL (Kotlin)
          • Оптимизацию навыков работы в терминале


          Программа митапа:

          17.00–18.00 — cбор гостей и регистрация
          18.00–19.00 — выступления спикеров
          19.00–19.20 — перекур
          19.20–21.00 — выступления спикеров
          21.00–22.00 — свободное общение и выступление музыкальной группы.
          Читать дальше →
        • QIWI приглашает дизайнеров, исследователей и аналитиков «на кухню»

            15 февраля 2018 г. в офисе QIWI пройдет митап QIWI Кухня, посвященный созданию продуктов «с нуля». Спикерами выступят команды дизайнеров QIWI, а также Иван Замесин (ex- Chatfuel) и Алексей Черняк (ex-Groupon).

            image

            Новый проект QIWI Кухня — это серия неформальных митапов для дизайнеров, исследователей и аналитиков, которые хотят быстро запускать новые продукты и увидеть внутреннюю «кухню» QIWI и как все устроено в больших компаниях на самом деле.
            Участники первого митапа смогут узнать о процессах при создании продуктов с нуля, почему вся команда должна знать бизнес-модель, как быстро и легко делать customer development.
            Рил ток онли!

            Лиды продуктовых и дизайн-команд QIWI расскажут, как проводить UX-тесты, когда у вас agile, как создавался дизайн «Совести» и как с ним жить дальше, на какую аналитику не стоит тратить время на старте.

            Читать дальше →
          • Двадцать лет с юзкейсами: выжимаем практический опыт

              У нас в QIWI регулярно проводятся встречи аналитиков и проектных менеджеров, где мы рассказываем друг другу о своем опыте, делимся знаниями и полезными приемами. На одной из таких встреч я рассказал о методике Use Case и о своем опыте работы с ней. Рассказ был встречен на ура, и я решил поделиться им с хабрасообществом.



              Я буду использовать разговорное «юзкейс» вместо неуклюжей кальки «прецедент использования». Надеюсь, уважаемая публика меня за это простит.
              Читать дальше →
              • +19
              • 5,8k
              • 2
            • Нагрузочное тестирование «не-HTTP». Ч.1 JMeter

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


                В этой статье мы расскажем, как писать код для нагрузочного тестирования «не-HTTP» протоколов на примере Apache Thrift с помощью таких инструментов, как JMeter и Gatling (часть 2). Тестировать будем микросервис, который должен справляться с 50K RPS. С одной нагрузочной машины постараемся достичь производительности, заявленной в этом твите:


                Читать дальше →
                • +11
                • 5,5k
                • 7
              • Два года успешного использования Edition-Based Redefiniton в базах Oracle

                  Хранимый код в базе? Не смешите, на дворе 2017 год!


                  В этом году бренду QIWI исполнилось 10 лет. За это время в нашей основной транзакционной базе накопилось более чем 130 тысяч строк хранимого PL/SQL кода. На Хабре регулярно встречаются статьи о том, как различные команды разработчиков категорически не используют хранимый код в БД, стараясь убрать излишнюю нагрузку с БД и таким образом удешевить систему. По этой теме можно долго дискутировать, и такая точка зрения опровергается, например, вот в этом видео.

                  Что бесспорно — хранимый PL/SQL код традиционно имел один существенный минус: релиз PL/SQL программы требовал остановки сервиса, поскольку процесс компиляции этого кода должен был получить эксклюзивную блокировку в словаре БД (так называемый library cache pin). Не вовремя запущенная случайная рекомпиляция могла подвесить всю систему. Приходилось регулярно выделять технические окна для релиза PL/SQL кода. Заверенные скриншоты жалоб наших возмущённых клиентов, попавших в такие окна, бережно хранятся в наших архивах. Однако не прошло и 20 лет от создания PL/SQL, как Oracle этот недостаток если не устранил полностью, то существенно смягчил.

                  Welcome to Oracle Edition-Based Redefinition


                  Мы не будем приводить детальные примеры кода с использованием Edition-Based Redefinition, а опишем несколько ключевых пунктов проекта по его внедрению. С некоторой натяжкой этот механизм, который принято сокращать до EBR, можно считать системой контроля версий объектов БД внутри самой БД. Теперь приложения способны работать с разными версиями одних и тех же процедур, пакетов и представлений. Однако в БД, кроме кода, есть еще и структуры данных в виде таблиц, и Oracle пришлось придумать способ межверсионной трансформации как самих таблиц, так и данных в них.
                  Читать дальше →
                  • +11
                  • 2,7k
                  • 5
                • Как мозг бьет дерево, или как мы сделали рекомендательную систему с помощью нейронной сети

                    Как бы вы сделали рекомендательную систему? У многих в голове сразу появилась картина как они импортят и стакают XGBoost CatBoost. Изначально у нас в голове появилась та же картина, но мы решили на волне хайпа сделать это на нейронных сетях, благо времени было много. Опыт их создания, тестирование, результаты и наши мысли описаны далее.


                    Читать дальше →
                  • Длинные уши асинхронности


                      Разработчики React тяготеют к функциональному подходу, но с появлением MobX, появилась возможность работать с состоянием в более-менее привычном ООП-стиле. Mobx старается не навязывать какую либо архитектуру, позволяя работать с реактивным состоянием, как с обычными объектами. При этом он делает автоматическое связывание вычислений, когда достаточно написать C = A + B, чтобы при обновлении A, обновился и C.


                      В HelloWorld это выглядит просто, но если мы добавим fetch, отображение статусов загрузки и обработку ошибок, мы увидим, что получается много копипаста, а в код начинают просачиваться хелперы вроде when, fromPromise или lazyObservable. И уже не получается писать код так, как будто нет асинхронности. Я хочу разобрать некоторые подобные примеры в MobX и попытаться улучшить его базовую концепцию, развив идею псевдосинхронности.

                      Читать дальше →
                    • Донаты стримерам и настоящие деньги для ненастоящей жизни: подведены итоги QIWI API Contest

                        Современное правило ценности гласит: «Ценность любой платформы для пользователей определяется количеством приложений, под неё написанных». Поэтому, выложив в августе этого года API QIWI Кошелька с новой аутентификацией, мы не стали откладывать вовлечение аудитории в творческий процесс создания приложений в долгий ящик, и провели в сентябре конкурс идей QIWI API Contest, в котором поучаствовал даже сам Хабр.


                        Финалисты QIWI API Contest и члены жюри

                        Из 20 полученных прототипов мы отобрали 6 лучших команд, попавших в финал. А затем выбрали два проекта, заслуживших наши такие разные, но по-своему замечательные призы: поездку на Финтех фестиваль в бананово-лимонный Сингапур и личное знакомство с основателем и CEO компании QIWI Сергеем Солониным.
                        Читать дальше →
                      Самое читаемое
                      Интересные публикации