• Есть работа в RnD, или как уйти от монотонных и мелких задач

      Недавно мы решили выделить RnD-активности Nexign (ранее «Петер-Сервис») в отдельное подразделение, распределенное по трем городам России — Москве, Санкт-Петербургу и Новосибирску. С тех пор мы активно ищем для него новых профессионалов, которые будут определять облик наших основных решений в будущем. В этом посте мы подробно расскажем о том, как работает RnD Nexign и кого мы очень ждем в нашей команде.


      Читать дальше →
      • +22
      • 6,5k
      • 7
    • Стажировка для атипичных программистов

        Стажировки для студентов есть во многих IT-компаниях (Nexign — ранее «Петер-Сервис» — не исключение). Само собой очевидно, что большинство стажёров рассчитывает на дальнейшее трудоустройство в штат. Но как представляют себе дальнейшую работу будущие IT-профи и насколько эти представления совпадают с ожиданиями компании — и современной действительностью?

        Дело в том, что представления многих вчерашних выпускников с небольшим опытом работы (либо вовсе без оного) о том, каким должен быть «настоящий» программист, зачастую отстают от реальности на порядочное количество лет. На практике же портрет IT-специалиста, востребованного сегодня, уже слабо соотносится с традиционным образом угрюмого интроверта в драном свитере.

        Так как же выглядит айтишник, который нужен нам здесь и сейчас?

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

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



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

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

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

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

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

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



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

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


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

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


                  Читать дальше →
                  • +16
                  • 5,4k
                  • 4
                • Задачи планирования и программирование в ограничениях

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

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

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



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

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

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

                      В наше время термин “BIG DATA” у всех на слуху. После появления в сети и в прессе многочисленных публикаций, связанных с обработкой «больших данных», интерес к этой теме постоянно растет. Все более широким спросом пользуются системы управления базами данных с
                      использованием технологии NoSQL. Всем понятно, что для построения систем “BIG DATA” необходимо располагать внушительными аппаратными ресурсами. Еще более важно уметь оптимально использовать вычислительные ресурсы системы и эффективно их масштабировать. Это неизбежно меняет подходы к построению систем обработки данных.
                      Читать дальше →
                      • +14
                      • 4,7k
                      • 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 измерения облачных сервисов:
                          Читать дальше →
                        • SDN & NFV и при чем тут Облака

                            Аббревиатуры SDN и NFV в последнее время звучат все чаще и звучат вместе. В тендерах операторы связи требуют от производителей обязательной поддержки SDN и NFV, т.к. уверены, что эти технологии оказывают положительное влияние на OPEX, CAPEX и TTM. Быстрый серфинг интернета показывает, что SDN — это Software-Defined Networking, а NFV — это Network Functions Virtualization. Обе технологии связаны с виртуализацией и с сетями, т.е. на первый взгляд складывается впечатление, что они очень похожие, если не одно и то же. Давайте разбираться, так ли это на самом деле! Проверка по Google Trend сначала подтверждает гипотезу: тренд запроса «SDN and NFV» начинается в 2013 году:


                            Читать дальше →
                          • Кузница кадров: как учились тестировщики и закалялись кузнецы

                              Мы ищем тестировщиков. Каждая IT-компания рано или поздно сталкивается с необходимостью найма таких специалистов. Поиски идут долго и часто заканчиваются неудачно. Ничего не поделаешь: рынок сильно перегрет, хороших тестировщиков мгновенно разбирают. Наши ВУЗы пока не готовят инженеров по качеству. Получается, что тестировщик – это не диплом, а призвание, и прогнозировать рост числа кадров невозможно. А у нас «горят» проекты, нам срочно нужны люди. В таких условиях мы решились на крайнюю меру: воспитать этих людей с нуля. Так возникла идея школы тестировщиков в «Петер-Сервис».

                              В этой статье мы поделимся опытом обучения тестированию непрофильных специалистов.
                              Читать дальше →
                            • Все врут, а ты не ври, или Развенчание мифа о запоминании

                                Сколько человек запоминает после пройденного им обучения? Обучаемый в среднем запоминает 10% прочитанного, 20% услышанного, 30% увиденного … 90% того, что сделал сам. Многие сталкивались c этими цифрами. Они приводятся отдельно или часто совмещаются с так называемой пирамидой обучения или конусом опыта. И все было бы хорошо и замечательно, если бы этими цифрами не был заполнен весь интернет, а сами они не являлись обманом и мистификацией.


                                Читать дальше →
                              • Автоматизация Jira на Groovy

                                  image

                                  В крупных организациях часто возникает необходимость прикрутить к JIRA какой-либо дополнительный функционал, которого нет в стандартной поставке: автоматизацию, интеграцию с другими системами и прочие кастомизации. Зачастую это решается сторонними плагинами, в Atlassian Market их огромное количество. Но что делать, если подходящего плагина нет? Очевидно, написать свой. Ещё один вариант для расширения — плагины, добавляющие возможность использовать свои скрипты в JIRA: ScriptRunner (Groovy), Jira Scripting Suite (SIL), JJupin (Jython).

                                  В этой статье я расскажу о самом популярном и функциональном из них — ScriptRunner от Adaptavist.
                                  Читать дальше →
                                  • +6
                                  • 13,6k
                                  • 6
                                • OneNote 2013, или Как привести дела в порядок



                                    «Возьми себя в руки, тряпка!» — сказал я себе, когда понял, что работа скоро доконает. Или она тебя, или ты её.

                                    Дорога в тысячу ли начинается с первого шага.
                                    Первым шагом стала книга Дэвида Аллена «Как привести дела в порядок: искусство продуктивности без стресса». Точки над i расставил курс Максима Дорофеева «Джедайская техника пустого инбокса, или Как доводить дела до конца».
                                     
                                    Нельзя питать иллюзий, ступив на тропу войны. Проблемы не заставили себя долго ждать. Работа на компьютере требовала автоматизации. Дело стало за малым, поиск подходящего программного обеспечения для Getting Things Done (GTD).

                                    Бесконечные пробы GTD-программ не принесли счастья. Комфортной работе мешало большое количество данных.
                                    Не получалось связать задачи и данные внутри одной GTD-программы. Поток писем складировался в Outlook, документы и другие файлы на диске, часть информации на web ресурсах и так далее. Решая дела, приходилось тратить время на поиск связанных с ними данных. Возникали проблемы с синхронизацией информации на разных устройствах и многое другое.
                                     
                                    Но кто ищет, тот всегда найдёт! Выходом из патовой ситуации оказался Microsoft OneNote 2013, который простыми настройками легко превратился в полноценный GTD-инструмент. Только такой подход позволил преодолеть все проблемы и ощутить комфорт от использования GTD.
                                    Читать дальше →
                                  • Анализ SSL/TLS трафика в Wireshark

                                    • Tutorial


                                    Как скрыть от посторонних конфиденциальную информацию?
                                    Самое простое – зашифровать.
                                    В Интернет и Интранет-сетях шифрацией данных управляет протокол SSL/TLS.
                                    Солдат спит, служба идет.
                                    Однако иногда возникает необходимость выполнить обратное – расшифровать перехваченный трафик.
                                    Это может потребоваться как для отладки работы приложений, так и для проверки подозрительной сетевой активности.
                                    Или в целях изучения работы SSL/TLS (очевидные, вредоносные цели не обсуждаются).

                                    Как и при каких условиях можно расшифровать дамп SSL/TLS трафика в Wireshark?
                                    Попробуем разобраться.

                                    Читать дальше →
                                  • Сказ о том, как мы отечественного производителя поддерживали



                                      Если долго мучиться — что-нибудь получится!
                                      (с) народная мудрость

                                      Настало время увлекательных историй, %username%!

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

                                      В силу своей профессиональной деятельности, нам приходится работать с разными операторами связи. Практически все они — федерального уровня, либо их «дочки» в странах СНГ. Одной из таких компаний является… Пусть он будет Z.
                                      История взаимоотношений с ним давняя и коллеги, наверное, расскажут много интересного. Но это как-нибудь потом, а пока расскажу свою историю я.
                                      Требования к безопасности в этой компании серьезные — положение обязывает (А еще 152-ФЗ «О защите персональных данных»). Причем если раньше требования были драконовские (в духе «Миссия невыполнима»: изолированное помещение, сканер сетчатки, автоматчики...), то сейчас свелись к просто строгим: индивидуальные учетки и шифрованные каналы связи между нами и заказчиком. Шифрование — ГОСТовское, никакого вам буржуйского заграничного IPSec. Рынок таких решений мал, поставщиков — раз-два и кончились. Реализация… ну не Checkpoint и не Cisco, но терпимо.

                                      Но это была присказка, а за сказкой прошу под кат!
                                      Читать дальше →
                                    • Настойка можжевельника: готовим Juniper SRX. Часть 3: Virtual Routers

                                      • Tutorial
                                      juniper — можжевельник (англ.)

                                      Продолжаем готовить настойку из можжевельника. О том, как мы начинали, можно почитать здесь и здесь. Сегодня же немного потрогаем такую удобную штуку, как Virtual Routers, и подумаем, как ее применить с наибольшей пользой.

                                      image

                                      Содержание:

                                      Часть 1: Знакомство
                                      Часть 2: IPSec
                                      Часть 3: Virtual Routers

                                      В Juniper есть тип сущностей Routing Instance, предназначенный для манипуляций с трафиком (маршрутизации и инкапсуляции). RI позволяют «разделить» один роутер на несколько поменьше, при этом каждый instance будет обрабатывать трафик «по-своему», независимо от других и с разными возможностями. Это полезно для организации всевозможных VPN, когда нужно изолировать друг от друга нескольких клиентов и разрулить их по разным правилам. При этом информацией о VPN можно обмениваться с другими роутерами (например, при организации MPLS VPN).
                                      Читать дальше →

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