company_banner
  • Кеширование. Часть 2: 60 дней до релиза

      Привет! Я уже писал вам о том, как продвигать инициативы в корпорации. Точнее, как (иногда) это удается, и какие сложности могут возникнуть: Ретроспектива граблей. Как самописное решение оказалось круче платного и Как мы выбирали систему кеширования. Часть 1.

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

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

      • именно проблемные места – это точки роста
      • наибольшие проблемы «прилетают» именно оттуда, откуда не ждешь

      Сочетание этих пунктов – просто обязывает поделиться прекрасным опытом «как заработать переплет на ровном месте». Но, надо отметить, подобная ситуация – является исключительной в компании Спортмастер. То есть, исключено, что такая ситуация повторится – планирование и определение ответственности сейчас – совершенно на другом уровне.

      Итак, кажется, достаточно вступления, если готовы – добро пожаловать под кат.


      Читать дальше →
      • +14
      • 1,4k
      • 2
    • Денормализация баз данных ERP-систем и ее влияние на развитие ПО: открываем таверну на Тортуге

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

        Как сделать так, чтобы все были довольны? Как не сойти с ума, проектируя и поддерживая такую систему? Что делать, если в таверну начинают приходить не только привычные пираты и моряки?



        Всё под катом. Но пойдем по порядку.
        Читать дальше →
        • +12
        • 2,6k
        • 1
      • Как мы в Спортмастере выбирали систему кеширования. Часть 1

          Привет! Меня зовут Алексей Пьянков, я разработчик в компании Спортмастер. В этом посте я рассказал, как начиналась работа над сайтом Спортмастер в 2012 году, какие инициативы удалось «протолкнуть» и наоборот, какие грабли мы собрали.

          Сегодня я хочу поделиться мыслями, которые следуют за другим сюжетом – выбор системы кеширования для java-бэкенда в админке сайта. Этот сюжет имеет особое значение для меня – хотя история разворачивалась всего 2 месяца, но эти 60 дней мы работали по 12-16 часов и без единого выходного. Никогда раньше не думал и не представлял, что можно так много работать.

          Поэтому текст разбиваю на 2 части, чтоб не загрузить по полной. Наоборот, первая часть будет очень легкой — подготовкой, введением, некоторыми соображениями, что такое кеширование. Если вы уже опытный разработчик или работали с кешами — с технической стороны ничего нового в этой статье, скорее всего, не будет. А вот для джуниора небольшой такой обзор может подсказать, в какую сторону смотреть, окажись он на таком распутье.


          Читать дальше →
        • Ретроспектива граблей. Как самописное решение оказалось круче платного

            Привет! Меня зовут Алексей Пьянков, я главный программист в компании Спортмастер. Скажу сразу, что «главный» не значит «самый главный из всех программистов», нет, это только название, такой очаровательный перевод для «Senior+"».


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


            В этой статье не будет конкретных технических решений (да и вообще чего-то технического), которые следует хватать и применять у себя в проекте. Скорее — это рефлексия по проделанной работе. Были такие особые моменты, которые повлияли на нас как на команду — сплотили, закалили и проверили на прочность. Об этих моментах, об атмосфере работы в команде, о наших граблях и ряде психологических ловушек, в которые мы сами себя иногда загоняем, я и попробую сегодня рассказать.


            image


            И начну именно с 2012 года.

            Читать дальше →
          • Edition-Based Redefinition. Часть 2

              Привет! Как и обещала в предыдущем посте про Edition-Based Redefinition — вот вторая часть.



              Итак, с чем мы работаем? Наш основной production сервер — это Oracle 12С, Enterprise Edition. И, что важно отметить, на нем работает несколько десятков приложений одновременно. Почему мы заостряем на этом внимание? Технология относительно новая, она не совсем хорошо обкатана. И было бы нелогичным переводить на нее сразу какие-то критичные системы. Поэтому для себя решили, что будем потихоньку идти от менее критичных систем к более критичным. Соответственно, следующая проблема, которую нам необходимо было понять: как работать c технологией EBR и как организовать интеграцию в той ситуации, когда у нас одна схема версионирована, а другая — нет. В 12 версии Oracle, как оказалось, можно создавать неверсионные объекты, неверсионированные пакеты, неверсионированные представления в версионированной схеме для организации той самой интеграции.
              Читать дальше →
            • Edition-Based Redefinition: можно ли в production?

                Привет! Меня зовут Антонина, я Oracle-разработчик IT-подразделения «Sportmaster Lab». Работаю тут всего два года, но благодаря дружной команде, сплоченному коллективу, системе наставничества, корпоративному обучению, накопилась та самая критическая масса, когда хочется не просто потреблять знания, но и поделиться своим опытом.



                Итак, Edition-Based Redefinition. Почему у нас вообще возникла такая необходимость в изучении данной технологии, причем здесь термин «высокая доступность» и как Edition-Based Redefinition поможет нам как Oracle-разработчикам экономить время?

                Что предложено в качестве решения корпорацией Oracle? Что же творится на задворках при применении данной технологии, с какими проблемами мы столкнулись… В общем, вопросов много. Ответить на них я постараюсь в двух постах по теме, и первый из них — уже под катом.
                Читать дальше →
                • +20
                • 1,9k
                • 6
              • Unit-тесты в СУБД — как мы делаем это в Спортмастере, часть вторая

                  Первая часть — здесь.



                  Представьте ситуацию. Перед вами стоит задача разработки нового функционала. У вас есть наработки от ваших предшественников. Если предположить, что вы никаких моральных обязательств не имеете, то как бы вы поступили?

                  Чаще всего все старые наработки подвергаются забвению и всё начинается сначала. В чужом коде копаться никто не любит, а при наличии времени почему бы не заняться созданием собственной системы? Это типичный подход, и он во многом правильный. Но в своём проекте мы поступили не так. В основу будущей системы автоматического тестирования мы заложили наработки по unit-тестам на utPLSQL от предшественников, а затем пошли работать в нескольких параллельных направлениях.
                  Читать дальше →
                  • +20
                  • 3,5k
                  • 5
                • Unit-тесты в СУБД — как мы делаем это в Спортмастере, часть первая

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

                    Меня зовут Максим Пономаренко и я — разработчик в Спортмастере. Имею 10-летний опыт работы в IT-сфере. Начинал карьеру в в области ручного тестирования, затем переключился на разработку баз данных. Последние 4 года, аккумулируя знания, полученные в тестировании и разработке, занимаюсь автоматизацией тестирования на уровне СУБД.

                    В команде Спортмастера я состою чуть более года и на одном из крупных проектов занимаюсь разработкой автоматизированного тестирования. В апреле мы с ребятами из Sportmaster Lab выступали на конференции в Краснодаре, мой доклад назывался «Unit-тесты в СУБД», и сейчас хочу поделиться им с вами. Текста будет много, поэтому я решил разбить доклад на два поста. В первом мы поговорим об автотестах и тестировании в общем, а во втором я подробнее остановлюсь на нашей системе unit-тестирования и результатах ее применения.



                    Вначале немного скучной теории. Что такое автоматическое тестирование? Это тестирование, которое проводится программными средствами, и в современном IT оно все чаще и чаще используется при разработке ПО. Связано это с тем, что компании растут, растут их информационные системы и соответственно растет и количество функционала, которое надо тестировать. Проводить ручное тестирование становится всё накладнее и накладнее.
                    Читать дальше →
                  • По следам Highload++ Siberia 2019 — 8 задач по Oracle

                      Привет!

                      24-25 июня в Новосибирске прошла конференция Highload++ Siberia 2019. Наши ребята тоже там были докладом «Контейнерные базы Oracle (CDB/PDB) и их практическое использование для разработки ПО», мы выложим текстовую версию немного позже. Было круто, спасибо olegbunin за организацию, а также всем, кто пришёл.


                      В этом посте мы хотели бы поделиться с вами задачами, которые были на нашем стенде, чтобы вы могли проверить свои знания в Oracle. Под катом — 8 задач, варианты ответов и объяснение.
                      Читать дальше →
                      • +25
                      • 4,8k
                      • 3
                    • Как мы делаем Спортмастер

                        Всем привет! Уверен, многие из вас когда-нибудь покупали майку, мяч, кроссовки, ну или какой-нибудь другой спортивный инвентарь в наших магазинах, но мало кто знает, что из себя представляет Спортмастер с технической точки зрения.


                        Немного Спортмастера образца 2003 года с сайта web.archive.org

                        Меня зовут Дмитрий, я старший java-разработчик в компании Спортмастер, и сегодня я хотел бы рассказать о нашем интернет-магазине, о том, какой путь он проделал, чтобы стать тем, каким вы его знаете сейчас: с чего мы начинали, как развивались, что получилось, а что нет, о проблемах сегодня, и о планах на будущее. Интересно? Добро пожаловать под кат!
                        Читать дальше →
                      • Как мы делали клубную программу Спортмастера

                          Если вы чаще раза в год ходите в наши магазины за спорттоварами или одеждой, скорее всего, у вас есть наша клубная карта (синяя, серебряная или золотая). Меня зовут Максим, я заместитель директора департамента разработки, внедрения и сопровождения ПО, и в этом посте мы с коллегами расскажем про становление клубной программы Спортмастера, про коллекцию собранных нами в процессе граблей и про то, чем наша клубная программа отличается от привычных скидочных карт других торговых сетей.



                          Тогда


                          На дворе стоял 2004-й год. Что было — клубная программа у Спортмастера и доллар по 27 рублей. Чего не было — нормального интернета на местах и стабильных каналов связи у магазинов.

                          В те годы мы сами написали систему лояльности, которая могла нормально вести учёт бонусных баллов каждого пользователя. Но так как магазинов у нас уже тогда было много, в отличие от мощностей для обработки данных, вся наша база данных бонусов умещалась в одном файле, который просто рассылался по магазинам и обслуживался локально, а изменения за день возвращались обратно. Кстати, именно это стало первопричиной того, что бонусы можно тратить только на следующий день после покупки, а не требования бизнеса и обеспечение возврата клиентов — в течение суток всё это просто не успевало обновиться и пересчитаться как следует.
                          Читать дальше →

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