• Два года успешного использования 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
      • 1,8k
      • 4
    • Как мозг бьет дерево, или как мы сделали рекомендательную систему с помощью нейронной сети

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

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



              Как и обещали, мы отобрали и публикуем 10 наиболее перспективных, на наш взгляд, предложений, которые можно успешно воплотить в жизнь с использованием открытого API QIWI Кошелька, и призываем разработчиков смело их разбирать и записываться с ними на наш конкурс — приём заявок закрывается уже в пятницу, 15 сентября.
              Читать дальше →
              • +25
              • 4,9k
              • 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. За подробностями добро пожаловать под кат!
                    Читать дальше →
                  • 6 сентября QIWI соберёт back-end разрабочиков на QIWI SERVER PARTY

                      image

                      QIWI SERVER PARTY для back-end разрабочиков — 6 сентября, дизайн-завод FLACON


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

                      Ты узнаешь:

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

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

                      17.00–18.00 — cбор гостей и регистрация
                      18.00–19.00 — выступления спикеров
                      19.00–19.20 — перекур
                      19.20–20.00 — выступления спикеров
                      20.00–22.00 — свободное общение и специальный приглашенный гость

                      Ближе к дате программа может незначительно поменяться.

                      Где: дизайн-завод FLACON / ул. Б. Новодмитровская, 36 / Крыша кафе-бара «Искра»
                      Когда: 6 сентября в 17.00

                      Вход свободный по регистрации на таймпад

                      Если back-end твоя тема, ждем!
                      Читать дальше →
                    • Как легально «вскрыть» QIWI Кошелек и прокачать его по полной программе

                        С недавнего времени пользователям Visa QIWI Кошелька доступны новые методы API. Под катом: что это за API, зачем мы его открыли и почему стоит начать им пользоваться уже сейчас.


                        Читать дальше →
                      Самое читаемое