• QIWI server party 3.0: отчёт + полные видео всех докладов

      Всем привет!

      Как и обещали в предыдущем посте, выкладываем видеозаписи всех докладов, прозвучавших на QIWI Server party 3.0 27 сентября. Так что, если вы не пришли на сам митап и не успели посмотреть прямую трансляцию — под катом полная запись митапа от А до Я.


      Читать дальше →
    • 27 сентября, Москва – Митап QIWI SERVER PARTY 3.0

        Привет, Хабр!

        27 сентября, в четверг, мы снова решили собрать митап QIWI SERVER PARTY.



        Если вам интересны DevOps и работа с Kubernetes, то добро пожаловать под кат, там мы собрали темы докладов, с которым будут выступать наши ребята, и видео с предыдущего митапа.
        Читать дальше →
      • QIWI-терминалы. Как взять максимум из простых технологий

          В начале 2017 года мы, команда разработки ПО для QIWI Терминалов, собирали пожелания подразделений компании — узнавали, какие глобальные задачи коллеги хотели бы решить с нашей помощью, чтобы жизнь стала проще.

          Больше всего порадовал запрос клиентского сервиса, работающего со звонками и претензионкой от плательщиков:

          “Есть проблема: клиент совершает платеж на терминале, но до процессинга он так и не доходит — или терминал мог зависнуть, или интернет, работающий через gsm-модем, отвалился. И получается, что чек у клиента есть, а платежа в системе нет. Хорошо было бы в таких случаях научиться доставлять платежи в QIWI.

          Есть также группа тревожных клиентов, которые сразу после совершения платежа набирают номер колл-центра с целью удостовериться, все ли с ним хорошо. Было бы здорово срезать косты на такие звонки.”


          Так у нас появилась комплексная задача: научиться создавать платеж в случае сбоя связи с терминалом и снизить количество входящих звонков от клиентов, придумав инструмент самообслуживания для проверки статуса платежа. Кейс понятен. Стали искать решение, удобное для клиента и без рисков для безопасности.
          Читать дальше →
          • +32
          • 3,3k
          • 9
        • История тестирования проекта «К»: Kotlin&Spek

            Привет, Хабр!

            В этой статье мы поговорим об автоматическом тестировании на одном из многочисленных проектов QIWI, получившим кодовое название «К».



            Когда мы организовывали тестирование это проекта, то решили выбрать практичный и хайповый Kotlin, а также Spek, гласящий «Вы называете их тестами, мы называем их спецификациями» (You call them tests, we call them specifications). Возможно, такой подход подойдет и вам, если вы столкнетесь с похожими задачами.

            Почему Kotlin, а не что-то еще? Kotlin был выбран разработкой, поэкспериментировать, так как конкретно этот продукт не был критичным, и можно было вживую потренироваться на нём, не опасаясь, что будут проблемы.

            Официальная документация говорит нам, что «Spek написан на Kotlin, и спецификации, которые вы пишете, будут написаны на Kotlin» – это очень ясно отвечает на вопрос: «Зачем это нужно?».

            Итак…

            Что это и зачем это нужно?

            Читать дальше →
          • QIWI Кухня от 7 июня — видео выступлений наших спикеров

              Привет, Хабр! Время от времени для дизайнеров, исследователей и аналитиков (и граждан, им сочувствующих) мы проводим митапы под кодовым названием “QIWI Кухня”.



              Недавняя встреча прошла 7 июня. Мы успели обсудить создание нашего виртуального журнала, особенности проектирования виртуальных ассистентов, поговорили о семиотике и создании контента для четырёх разных аудиторий (Гедонисты, Независимые, Эстеты, Традиционалисты).

              Темы докладов (как и презентации спикеров) — под катом. Там же и полные видео выступлений.
              Читать дальше →
            • Из фронтенда в бэкенд

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


                image


                При этом некоторые работодатели всячески это приветствуют и считают чем-то вроде предохранителя от выгорания – человек сменит фокус внимания, сменит департамент или отдел, но не сменит саму работу в целом.


                Меня зовут Костя, и я работаю в QIWI почти 4 года. Сегодня расскажу вам, как успешно перешел из frontend-разработки в backend.

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

                  Привет, Хабр! Напоминаем, что осталось всего три дня, чтобы успеть записаться на 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
                          • 6,8k
                          • 2
                        • Нагрузочное тестирование «не-HTTP». Ч.1 JMeter

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


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


                            Читать дальше →
                            • +11
                            • 6,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 пришлось придумать способ межверсионной трансформации как самих таблиц, так и данных в них.
                              Читать дальше →
                            • Как мозг бьет дерево, или как мы сделали рекомендательную систему с помощью нейронной сети

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


                                Читать дальше →
                                • +9
                                • 10,1k
                                • 4
                              • Длинные уши асинхронности


                                  Разработчики 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 Сергеем Солониным.
                                    Читать дальше →
                                    • +11
                                    • 3,1k
                                    • 1
                                  • Помедленнее, мы записываем: 10 новых применений API QIWI Кошелька, которые предложил Хабр

                                      На прошлой неделе мы решили поощрить креатив хабражителей и напомнить про наше новое API QIWI Кошелька, проведя конкурс идей по его применению. Который, в свою очередь, является прологом к конкурсу решений QIWI API Contest, который пройдёт 23 сентября в Москве.



                                      Как и обещали, мы отобрали и публикуем 10 наиболее перспективных, на наш взгляд, предложений, которые можно успешно воплотить в жизнь с использованием открытого API QIWI Кошелька, и призываем разработчиков смело их разбирать и записываться с ними на наш конкурс — приём заявок закрывается уже в пятницу, 15 сентября.
                                      Читать дальше →
                                      • +25
                                      • 5,3k
                                      • 1
                                    • Отчет с митапа для back-end разработчиков

                                        6 сентября на Дизайн-заводе Flacon прошел неформальный митап для back-end разработчиков.


                                        Нас пугали ураганом, грозой и холодом. Не сработало, к нам присоединилось более 150 участников!

                                        Горячий глинтвейн и бургеры, теплая атмосфера. А еще горячие темы выступлений:

                                        — Как с пользой провести время на собеседовании
                                        — Почему Big Data бесполезна
                                        — Как внедрить Kubernetes и не сойти с ума
                                        — Почему архитектуру иногда нужно менять просто так
                                        — Про Docker



                                        Читать дальше →
                                      • По тысяче рублей за идею: платим за предложения по автоматизации кошельков QIWI



                                          Современные онлайн-кошельки — как интернет-клиенты классических банков, так и сервисы электронных денег — стараются максимально кастомизироваться, пытаясь вести учёт ваших трат или автоматизировать оплаты. Но что, если стандартных «создать регулярный платёж» вам недостаточно? Что, если вам нужно «оплачивать телефон каждый раз, когда у меня баланс ниже определённой суммы»? Или «сделать покупку, когда цена/курс упадут ниже порога»? Очевидно, что такие сложные сценарии требуют как доступа к параметрам сторонних сервисов, так и доступ к управлению своими платёжными инструментов.

                                          Такой, как доступ, который даёт API кошелька QIWI. Чтобы как можно больше разработчиков узнал и опробовало возможности автоматизации своих кошельков через наше API, QIWI проводит конкурс приложений для QIWI Кошелька, который завершится в Москве 23 сентября финальным этапом. До 15 сентября будут отобраны 15 команд, которые померятся качеством и оригинальностью своих вариантов автоматизации QIWI-кошелька ради главных призов: поездки на Singapore FinTech Festival и деловой завтрак с генеральным директором QIWI Сергеем Солониным, входящего в список «Форбс» 200 самых богатых бизнесменов России.

                                          Но даже если вы не разработчик, то помочь участникам хакатона и получить за это свой приз можно будет, дочитав этот пост до конца — мы расскажем, как принять участие в конкурсе самых перспективных идей приложений для QIWI-кошелька.
                                          Читать дальше →
                                        • QIWI Server Party: пиво DevOps не помеха

                                            Привет всем! Совсем скоро состоится мероприятие под кодовым названием QIWI Server Party! Встреча для back-end разработчиков, которым важно дело, а не “эффективные рабочие процессы”.

                                            Будут интересные доклады и квалифицированные спикеры! Например, наш коллега Сергей Чеканский расскажет, «Почему BigData бесполезна»! А также своим опытом работы с Kubernetes поделится Антон Дубенчук. Плюс будет еще пара интересных тем.



                                            Ну и, разумеется, неформальное общение, пиво и BBQ. За подробностями добро пожаловать под кат!
                                            Читать дальше →

                                          Самое читаемое