• Graal: как использовать новый JIT-компилятор JVM в реальной жизни

      На главной сибирской Java-конференции JBreak-2018, проходившей в Новосибирске, Christian Thalinger из Twitter поделился практическим опытом использования Graal. На конференцию компания («Петер-Сервис») отправила всю нашу рабочую группу, и этот доклад мы пришли слушать полным составом. Вполне объяснимо, если учесть тот факт, что Graal по-прежнему считается смелым и потенциально опасным экспериментом (хотя очень похоже, что он войдёт в JDK 10). Было очень интересно узнать, как эта новинка проявляет себя в бою — да не где-нибудь, а в разработке такого уровня.



      Кристиан Талингер десяток с лишним лет работает с виртуальными машинами Java, причём ключевой навык в его экспертизе — как раз JIT-компиляторы. Именно Кристиан внедрил Graal и стал инициатором его нынешнего (весьма, по словам Криса, активного) использования в продакшн-среде Twitter. И, если верить Талингеру, это нововведение сохраняет компании приличные деньги за счёт экономии железных ресурсов.
      Читать дальше →
      • +22
      • 4,7k
      • 6
    • Как киту съесть Java-приложение и не подавиться

        Здравствуйте, уважаемые хабравчане! Сегодня я хотел бы рассказать о том, как «скормить» Java-приложение докеру, как при этом лучше действовать, а чего делать не стоит. Я занимаюсь разработкой на Java более 10 лет, и последние года три провёл в самом тесном общении с Docker, так что у меня сложилось определённое представление о том, что он может и чего не может. Но ведь гипотезы надо проверять на практике, не так ли?

        Я представил весь процесс как старую добрую компьютерную игру с тёплым ламповым пиксель-артом.

        Начнем мы, как и полагается любой игре, с некоторого брифинга. В качестве вводной возьмем немного рекламы докера.

        На сайте докера можно ознакомиться с рядом рекламных посулов – а именно, с обещанием увеличить скорость разработки и развертывания аж в 13 раз и повысить портативность в разработке (в частности, избавиться о сакраментального «работает на моей машине»). Но соответствует ли это реальности?

        Сейчас мы попробуем доказать/опровергнуть эти утверждения.
        Читать дальше →
      • RoboCon 2018: отчёт о первой конференции по Robot Framework



          В начале года в Хельсинки прошла первая официальная конференция RoboCon 2018, посвящённая инструменту автотестирования Robot Framework. И мы, мейнтейнеры группы автоматизации интеграционного и системного тестирования компании «Петер-Сервис», не могли такое событие пропустить. Потому что этот инструмент у нас в компании используется довольно широко: в частности, в нашей группе с помощью него реализован продукт TORS (Testing of Release Stands).
          Читать дальше →
          • +17
          • 2,1k
          • 1
        • Биллинговые системы будущего, и как они изменяют рынок связи

            Сотовые операторы уже несколько лет находятся на перепутье. Услуги по передаче голоса и смс быстро устаревают. Традиционный бизнес теряет рентабельность. Основной целью стал поиск новых товаров и услуг, которые помогут остаться на острие прогресса и бизнеса. Операторы отказываются от названия «поставщик мобильной связи» и приходят к гордому «поставщик цифровых услуг» или даже «lifestyle enabler». Аналитики пишут, что это одно из проявлений глобальных процессов, которые характерны для многих отраслей экономики. Мы же подойдем к этому с прикладной стороны и объясним, почему это у телекома все так резво получается и что еще получится впереди.


            Читать дальше →
          • От Александра Белла до «большой тройки»: краткая история развития биллинговых систем

              Гигантский рост абонентской базы в 20-е и 30-е годы прошлого века. Появление «межгорода». Распространение повременных соединений. И, наконец, приход сотовой связи как самый значительный рывок в развитии биллинговых систем. Мы расскажем об их эволюции на протяжении истории существования телефонной связи.


              Читать дальше →
            • Задачи планирования и программирование в ограничениях

              • Tutorial
              Когда у тебя в запасе много популярных инструментов вроде JAVA, Python, Ruby, PHP, C#, C++ и других, чувствуешь себя почти всемогущим. Стандартный подход в разработке рулит. Но только до тех пор, пока не столкнешься с определенным типом задач.
              
 
              Подумайте, как правильно написать программу, которая оптимально…

              • решит головоломку типа судоку или задачу о восьми ферзях;
              • распределит задачи между определенным набором ресурсов;
              • рассчитает расписание занятий;
              • определит эффективный маршрут движения транспорта;
              • составит график дежурств и т.п.
               
              Если программирование в ограничениях и решение сложных комбинаторных задач планирования не самая сильная ваша сторона, то эта статья как раз для вас.

              image
              Читать дальше →
              • +19
              • 9,6k
              • 5
            • Машинное обучение: от Ирисов до Телекома



                Мобильные операторы, предоставляя разнообразные сервисы, накапливают огромное количество статистических данных. Я представляю отдел, реализующий систему управления трафиком абонентов, которая в процессе эксплуатации у оператора генерирует сотни гигабайт статистической информации в сутки. Меня заинтересовал вопрос: как в этих Больших Данных (Big Data) выявить максимум полезной информации? Не зря ведь одна из V в определении Big Data — это дополнительный доход.

                Я взялся за эту задачу, не являясь специалистом в исследовании данных. Сразу возникла масса вопросов: какие технические средства использовать для анализа? На каком уровне достаточно знать математику, статистику? Какие методы машинного обучения надо знать и насколько глубоко? А может лучше для начала освоить специализированный язык для исследования данных R или Python?

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

                  В наше время термин “BIG DATA” у всех на слуху. После появления в сети и в прессе многочисленных публикаций, связанных с обработкой «больших данных», интерес к этой теме постоянно растет. Все более широким спросом пользуются системы управления базами данных с
                  использованием технологии NoSQL. Всем понятно, что для построения систем “BIG DATA” необходимо располагать внушительными аппаратными ресурсами. Еще более важно уметь оптимально использовать вычислительные ресурсы системы и эффективно их масштабировать. Это неизбежно меняет подходы к построению систем обработки данных.
                  Читать дальше →
                  • +14
                  • 3,8k
                  • 3
                • Mission critical communication и при чем тут NFV?

                    Ищут пожарные,
                    Ищет милиция...


                    Что такое «Mission critical communication»? Это связь, от надежности которой зависят жизни людей. Примеры служб, для которых такая связь нужна – это система-112, МЧС, силовые структуры (МВД, ФСБ, Министерство обороны). Также mission critical связь необходима в зоне чрезвычайных ситуаций и на объектах, аварии на которых могут принести разрушительные последствия: энергетика, химическая промышленность, общественный транспорт и т.п.
                    Mission critical сети связи строятся на основе стандартов профессиональной мобильной радиосвязи (ПМР). На данный момент есть два основных стандарта: TETRA (Terrestrial Trunked Radio) ETSI EN 300 392 и DMR (Digital Mobile Radio) ETSI 102 361. Не буду вдаваться в подробности (информация по этим стандартам доступна в сети), но у них, помимо достоинств, есть существенный недостаток: они заточены на голос, а скорость передачи данных и видео существенно ограничена. Хотя понятно, что возможность передать видео с места событий может иметь критичное значение. Что же делать?
                    Читать дальше →
                  • Облака как любовь

                      Что такое облака, и когда имеет смысл строить облачные решения? И если строить, то какие платформы использовать? Нужно ли предоставлять клиентам облачные сервисы? А может, лучше использовать виртуализацию? И чем отличается виртуализация от облаков? Эти вопросы задают все IT и «не IT» компании: от крупных операторов связи до небольших стартапов. Давайте попробуем разобраться! В предыдущей статье мы рассмотрели понятия SDN и NFV. Возникает вопрос — если и то и другое связано с виртуализацией и сетями, то это получились облака? Ведь все мы прекрасно знаем, что облака — это виртуализация ресурсов где-то в сети. Я попробовал найти формальное определение облаков, но не нашел. Определения были расплывчаты и нечетки, как настоящие облака. И тогда у меня возникло чувство, что ОБЛАКАМ невозможно дать четкого определения, они как ЛЮБОВЬ, которую можно только описывать и характеризовать с разных сторон. Дальнейшее расследование подтвердило это предположение. Для начала нашел стандарт Cloud Computing, который разрабатывает NIST (National Institute of Standards and Technology). Он выделяет 3 измерения облачных сервисов:
                      Читать дальше →
                    Самое читаемое