• REST Assured: что мы узнали за пять лет использования инструмента

      REST Assured — DSL для тестирования REST-сервисов, который встраивается в тесты на Java. Это решение появилось более девяти лет назад и стало популярным из-за своей простоты и удобного функционала.


      В DINS мы написали с ним более 17 тысяч тестов и за пять лет использования столкнулись со множеством «подводных камней», о которых нельзя узнать сразу после импорта библиотеки в проект: статическим контекстом, путаницей в порядке применения фильтров к запросу, трудностями в структурировании теста.


      Эта статья — о таких неявных особенностях REST Assured. Их нужно учитывать, если есть шанс, что количество тестов в проекте будет быстро увеличиваться — чтобы потом не пришлось переписывать.


      image

      Читать дальше →
    • Представляем 3CX 16 Update 3 Alpha – расширенная работа с DNS и переподключение мобильных клиентов

        Хоть на дворе и август, мы не расслабляемся и продолжаем готовится к новому деловому сезону. Встречайте 3CX v16 Update 3 Alpha! В этом релизе добавлена автоматическая настройка SIP-транков, основанная на получении информации из DNS, автоматическое переподключение мобильных клиентов для Android и iOS, распознавание аудио и перетягивание вложений в окно чата веб-клиента.



        В новом релизе представлены следующие возможности:
        Читать дальше →
      • 24-25 августа в Санкт-Петербурге в КВЦ «Экспофорум» пройдет ежегодный IT-фестиваль TechTrain. Фестиваль собирает людей создающих ландшафт IT-индустрии: от представителей свободного ПО до кровавого энтерпрайза, от DevOps и паттернов управления до embedded-разработки — общайтесь, участвуйте в баттлах и розыгрышах, находите старых знакомых и заводите новых. Специально к фестивалю мы создали комикс, визуализирующий путешествие сообществ и ключевых спикеров на это событие.
        Сесть на поезд
      • Активное обучение ранжированию

          Этим постом я открываю серию, где мы с коллегами расскажем, как используется ML у нас в Поиске Mail.ru. Сегодня я объясню, как устроено ранжирование и как мы используем информацию о взаимодействии пользователей с нашей поисковой системой, чтобы сделать поисковик лучше.

          Задача ранжирования


          Что подразумевается под задачей ранжирования? Представим, что в обучающей выборке есть какое-то множество запросов, для которых известен порядок документов по релевантности. Например, вы знаете, какой документ самый релевантный, какой второй по релевантности и т.д. И вам нужно восстановить такой порядок для всей генеральной совокупности. То есть для всех запросов из генеральной совокупности на первое место поставить самый релевантный документ, а на последнее — самый нерелевантный.

          Давайте посмотрим, как такие задачи решаются в больших поисковых системах.

          Читать дальше →
          • +43
          • 5.2k
          • 7
        • Вся правда об ОСРВ. Статья #30. Инициализация и процедуры запуска Nucleus SE

          • Translation


          У любой операционной системы есть определенный механизм запуска. Принцип работы этого механизма у каждой системы свой. Обычно говорят, что система загружается (англ. boot), это сокращение от «bootstrap», которое отсылает к выражению «pull oneself over a fence by one’s bootstraps» (перебраться через ограду, потянув себя за ремешки на обуви), что примерно описывает, как система самостоятельно переходит из состояния, в котором память заполнена пустотой (прим. переводчика: если совсем точно, то мусором) к стабильному выполнению программ. Традиционно в память загружается небольшая часть программы, она может храниться в ПЗУ. В прошлом она могла вводиться при помощи переключателей на передней панели компьютера. Этот начальный загрузчик считывал более сложную программу загрузки, которая уже загружала операционную систему. Сегодня настольный компьютер загружается следующим образом: код в BIOS ищет устройства (жесткие диски, CD-ROM, USB-флешки), с которых можно загрузиться, после чего загружается операционная система.

          ОС для встраиваемых систем также может инициализироваться подобным образом. И в самом деле, встраиваемые операционные системы, разработанные на основе настольных операционных систем, так и загружаются. Но в большинстве «классических» ОСРВ используется гораздо более простой (а, следовательно, более быстрый) способ.
          Читать дальше →
        • Текстурирование, или что нужно знать, чтобы стать Художником по поверхностям. Часть 3. PBR и материалы

          • Tutorial
          В прошлой части тутора мы разобрали принцип работы масок, что такое «текстура», и что абсолютно для всего используются каналы — параметры пикселя. Теперь рассмотрим всеми любимый PBR И соберем текстуры для создания мокрого грязного асфальта.

          В этом уроке я буду очень много ссылаться на другие туторы и источники информации, чтобы максимально сократить объем самого тутора. Большая часть ссылок будет предоставлена в начале тутора, поэтому, если вы не понимаете чего-то из этого тутора — перейдите по ссылкам и почитайте информацию там. Когда будете готовы — возвращайтесь к тутору и продолжайте познавать азы художника по поверхностям. Если какие-то ссылки будут не доступны, пжлста, сообщите мне об этом в личку или в комментариях. Я обязательно поправлю это недоразумение.

          Также, если что-то совсем будет не понятно — очень прошу сообщить об этом, чтобы я мог раскрыть эту тему более подробно.

          Часть 1. Пиксель здесь
          Часть 2. Маски и текстуры здесь
          Часть 3. PBR и Материалы — вы ее читаете.
          Часть 4. Модели, нормали и развертка здесь.
          Часть 5. Система материалов здесь.

          Читать дальше →
        • Дуров не имеет никакого отношения к TON



            Недавно TechCrunch анонсировало начало продаж «грамов» 10 июля на японской бирже Liquid. Удивительно, но мир поверил в полностью выдуманную историю о финансовом инструменте Telegram.

            Эпиграф


            Крупные издания зачастую публикуют слухи (информацию от проверенных источников), но такого многосерийного сюжета, как с TON, построенного исключительно на сливах без какой-либо официальной информации, вы больше не найдете.

            Да, могла промелькнуть новость про автомобиль Apple. Но никто не писал, что компания представит его весной, уже разработан шильдик для руля, релиз переносится на осень, в новый тип двигателя по секрету вложились немецкие и французские автоконцерны, предзаказы начнутся на выставке в Японии и прочее.

            Эта история не для того, чтобы уберечь каждого от мошенников. Я оптимист, но не настолько. Поэтому эта история про постправду и журналистику, про маркетинг и манипуляцию, про РБК, «Коммерсантъ», «Ведомости», The Bell, TechCrunch и всех остальных.
            Читать дальше →
          • Квантовая информация в квантовом сознании

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


            Credit: dailygalaxy.com
            Читать дальше →
          • Что делать при сбое оперативной памяти. Анамнез и методы лечения

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


              Читать дальше →
            • Использование дискретной математики в тестировании

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


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


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

              Читать дальше →
            • Где в ZX Spectrum системный монитор? Загадка ПЭВМ Дуэт

                ПЭВМ Дуэт — это российский клон ZX Spectrum 48k, производился Лианозовским электромеханическим заводом (ЛЭМЗ). Это мой самый первый компьютер и он со мной до сих пор. С юного возраста я начал постигать на нем азы программирования, микропроцессорных архитектур и проектирования цифровых схем. Но с тех пор мне не давал покоя вопрос: где системный монитор? Ведь он упоминается в документации. В стандартном ZX Spectrum я не припомню наличия какого-либо системного монитора. И в документации про системный монитор больше ни слова. Существует Монитор для 48к в ПЗУ версии от 1990г. Однако, после включения, ПЭВМ Дуэт выводит на экран вместо стандартного приветствия — "(с) 1982 sinclair research ltd" другое приветствие: "(с) DUET". А это значит, что ПЗУ там всё же изменено. А может быть есть аппаратные возможности мониторинга? К примеру, клон Орель БК-08 имеет целый ряд доработок: теневое ОЗУ, кнопка NMI и монитор MZ80. Было бы очень интересно, спустя столько лет, найти какие-то скрытые возможности своей железки.

                Наконец-то я нашел ответ на вопрос, который меня периодически волновал все эти годы.

                image
                Заняться цифровой археологией
              • О простых вещах-сложно. «Cпящая сталь». Чем смазать заржавевшие болты или Не WD-40 единым…

                • Tutorial
                Посвящается всем отчаявшимся и потерявшим надежду… открутить заржавевшую гайку!

                На улицы наших городов определенно пришла весна. Потеплело и люди с радостью начали отдавать предпочтение своим настоящим железным друзьям, хоть на время забывая про планшеты и смартфоны. Велосипедисты, мотоциклисты и еще множество любителей сезонных средств передвижения достали свое добро и вдруг обнаружили, что что-то заржавело, что-то невозможно открутить и т.д. и т.п. Признаюсь, я один из этих, обнаруживших :) И чтобы не пропал даром труд по борьбе с коррозией, решил накопленный материал оформить в хабра-статью.

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

                Ну и, традиционно — не забудь закинуть в закладки, %USERNAME%, пригодится! :)


                Читать дальше →
              • Mikrotik. IPSEC vpn за NAT как клиент

                Доброго всем дня!

                Так уж сложилось, что в нашей компании в течении последних двух лет мы потихоньку переходим на микротики. Основные узлы построены на CCR1072, а локальные точки подключения компов на устройствах попроще. Само собой существует и объединение сетей по IPSEC tunnel, в данном случае настройка достаточно проста и не вызывает никаких трудностей, благо есть множество материалов в сети. А вот с мобильным подключением клиентов есть определенные трудности, вики производителя подсказывает, как использовать Shrew soft VPN client (по этой настройке все вроде понятно) и именно этот клиент использует 99% пользователей удаленного доступа, а 1% это я, мне стало просто лень каждый раз вводить логин и пароль в клиент и захотелось ленивого расположения на диване и удобного подключения к рабочим сетям. Инструкций по настройки Микротика для ситуаций, когда он находится даже не за серым адресом, а совсем за черным и может быть даже несколькими NAT в сети я не нашел. Потому пришлось импровизировать, а потому предлагаю посмотреть на результат.

                Имеется:

                1. CCR1072 как основное устройство. версия 6.44.1
                2. CAP ac как домашняя точка подключения. версия 6.44.1

                Главная особенность настройки в том, что ПК и микротик должны находиться в одной сети с одной адресацией, что и выдается основым 1072.
                Читать дальше →
                • +13
                • 9.7k
                • 5
              • В разработке — каждый сам за себя. Но иногда это приводит в тупик



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

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

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

                  В понедельник утром я отправил пулл реквест. Его приняли с восторгом. Но способ, на который я пошел… вот уж никогда не думал, что отважусь на такое.
                  Читать дальше →
                • Почему строить базу знаний компании на основе mediawiki — недурная затея



                    В последнее время Confluence и sharepoint стали почти безраздельно править на рынке баз знаний. Системы отличные, не спорю, но лично мне не хватает их гибкости да и в целом как-то не срослось: вики-возможности sharepoint остались где-то на уровне 2005 года (про работу с офисными документами молчу, с ними все гуд), а Confluence в силу своих особенностей с ростом числа статей неумолимо превращался в свалку, в которой невозможно найти что-либо нужное (но, может, проблема была во мне).

                    Не умаляя достоинства этих систем, хотелось бы рассказать о том, какие возможности есть у Mediawiki в роли корпоративной базы знаний. Само собой, mediawiki подойдет не всем — в ней нет модной интеграции с jira/tfs/etc, перенос документов с картинками из пакета Microsoft Office доставляет кучу неудобств, да и сама она написана на PHP, что в последнее время служит отпугивающим фактором для некоторых айтишников. Тем не менее, платформа живее всех живых и над ее развитием работает изрядное количество людей, коль скоро на ней базируется семейство проектов фонда Викимедиа.
                    Читать дальше →
                  • Bing заблокировали в Китае

                      Bing оставался последней западной поисковой системой (из крупных), доступной с территории Китая. Она выполняла все требования властей и удаляла из поисковой выдачи запрещённую информацию. Но это не помогло. Вчера её тоже заблокировали по распоряжению правительства, сообщает FT: «Такой тип нарушения записей DNS [направление на 127.0.0.1] обычно является очень буквальным способом, которым китайское правительство указывает иностранным технологическим компаниям „идти домой”», — написала Юань Ян, местный корреспондент FT.


                      Microsoft подтвердила, что поисковая система недоступна на территории страны. Сейчас компания определяет дальнейшие действия в сложившейся ситуации.
                      Читать дальше →
                    • Низкоуровневая оптимизация кода на платформе Эльбрус: векторное сложение uint16_t с помощью интринсиков



                        В этой статье мы расскажем про более низкоуровневые оптимизации, которые можно делать на процессорах Эльбрус.

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

                        Однако в текущей версии EML мы не нашли некоторых интересных нам функций, поэтому приняли решение написать их сами.
                        Читать дальше →