» Последние публикации на сайте » Страница 9

 

Как я чинил интерактивный логин, или Что там в кишках у //chrome/test/ChromeDriver?

Автор: admin от 22-01-2018, 11:50, посмотрело: 10

Эта статья возникла из-за одной моей ошибки и двух багов — по одному в Chromium Headless и ChromeDriver. В результате пришлось собрать всё это из исходников (в статье есть подробнейшая инструкция), отладить цепочку взаимодействия Selenium<ChromeDriver<Chromium в отладчике IntelliJ IDEA и Microsoft Visual Studio, покопаться в Java, C++ и JS.



Статья будет интересна тем, кто хочет понять, чем им грозит переход на Selenium + Headless Chrome и как с этим жить. А также всем, кто просто хочет немного поглумиться над несчастным быдлокодером.



Под катом есть пачка скриншотов (трафик!).



Как я чинил интерактивный логин, или Что там в кишках у //chrome/test/ChromeDriver?



Кстати, всё это можно было бы сделать скринкастом — но нельзя, потому что время компиляции C++ необычайно долгое. Вместо этого тут будут скриншоты для привлечения внимания.



Вначале напомню названия участвующих продуктов. Их три штуки:




  • Chromium — это браузер. Небрендированная версия Google Chrome, без автообновлений, анальных следящих зондов, но и без несвободных компонентов типа кодеков.

  • Chromium ChromeDriver — это часть Chromium, которая отвечает за управление им с помощью внешних инструментов. Это standalone фронт-сервер (отдельный exe-файл), реализует стандарт W3C WebDriver и использует в качестве бэкенда Chrome DevTools.

  • Selenium и его Selenium Chrome Driver — эта штука предоставляет Java API для управления Хромиумом. Джава тут не принципиальна, на javascript и jWebDriver было бы то же самое (а на Puppeteer — возможно, нет, ибо он использует DevTools напрямую).



Всё вместе даёт нам в руки браузер, управляемый с помощью API на Java, javascript и так далее.



Вспомнили? Поехали дальше.

Категория: Программирование » Веб-разработка

 

Дайджест свежих материалов из мира фронтенда за последнюю неделю №298 (15 — 21 января 2018)

Автор: admin от 22-01-2018, 11:50, посмотрело: 8

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.



Дайджест свежих материалов из мира фронтенда за последнюю неделю №298 (15 — 21 января 2018)

Категория: Программирование » Веб-разработка

 

Соглашения по именованию CSS-сущностей и экономия времени

Автор: admin от 22-01-2018, 11:50, посмотрело: 7

Я слышал, как многие разработчики говорят, что ненавидят CSS. Опыт подсказывает мне, что причина здесь в том, что они не уделяют достаточно времени для того, чтобы изучить CSS. Да, речь идёт о не самом дружелюбном «языке», но он успешно используется для стилизации веб-страниц уже более 20-ти лет. Это впечатляет, и с технологиями такого уровня распространённости приходится считаться. Однако, по мере роста объема стилей, задействованных в некоем проекте, проявляется один большой минус CSS: его очень сложно поддерживать. А плохо написанные стили быстро превращаются в кошмар.



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



Соглашения по именованию CSS-сущностей и экономия времени


Вы уже бывали в подобной ситуации, правда?

Категория: Программирование » Веб-разработка

 

Да будет рок: на PHDays 8 пройдет музыкальный фестиваль

Автор: admin от 22-01-2018, 09:05, посмотрело: 10

Да будет рок: на PHDays 8 пройдет музыкальный фестиваль



PHDays всегда привлекал творческих людей — художников, изобретателей, ретрофутуристов. В этом году мы пошли дальше и решили устроить двухдневный музыкальный фестиваль Positive Hard Days. Приглашаем к участию музыкальные коллективы технологических компаний России и стран СНГ.

Категория: Админитстрирование » Системное администрирование

 

Грузите апельсины бочках. Релизы в Golang проектах

Автор: admin от 22-01-2018, 09:05, посмотрело: 11

Данная статья является продолжением инструментальной темы, затронутой в прошлой публикации. Сегодня мы постараемся разобраться со сборкой релизов Golang приложений в виде единого исполняемого файла, включающего ресурсные зависимости, и вопросом оптимизации размера итоговой сборки. Также рассмотрим процесс построения рабочего окружения отвечающего следующим требованиям:




  • Переносимость. Окружение должно быть легко воспроизводимо на различных машинах.

  • Изолированность. Окружение не должно влиять на версии установленных библиотек и программ на машине разработчика.

  • Гибкость. Окружение должно позволять собирать релизы для различных версий Golang и Linux (разные версии дистрибутивов и glibc).

  • Повторяемость. Не должно быть магии и тайных знаний, то есть все шаги сборки проекта и зависимостей должны быть описаны кодом.
  • Категория: Админитстрирование » Системное администрирование

     

    Новости из мира OpenStreetMap №391 (09.01.2018-15.01.2018)

    Автор: admin от 22-01-2018, 09:05, посмотрело: 11

    Новости из мира OpenStreetMap №391 (09.01.2018-15.01.2018)



    Обновлённая версия сайта OpenStreetBrowser снова онлайн1.

    (© Участники OpenStreetMap CC-BY-SA 2.0)



    Карты




    • [1] Стефан (Stephan Bosch-Plepelits) объявил что сайт Openstreetbrowser снова работает. Он просит помочь в создании дополнительных категорий для POI (точек интересов).

    • Праздничные квартиры (тэг tourism=apartment) становятся все более популярными не только в Европе. В базе данных OSM их более 14000 объектов и этим они заслуживают отображения на основном картостиле osm-carto. Отсутствует подходящий значок. Любые идеи или ваш вклад будет приветствоваться.

    • Исследовательская группа в Оксфорде, Англия, рассчитала время поездок в крупные города по всему миру с использованием данных Google Earth Engine и OpenStreetMap. Галереи карт для разных мест были опубликованы в The Guardian и Spiegel-online.

      Оуэн Босвава (Owen Boswarva) отмечает, что этот набор данных выпущен под CC-BY 4.0. Он спрашивает, нет ли противоречий с лицензией ODbl. Эта тема дополнительно обсуждается в почтовой рассылке legal-talk.

    Категория: Админитстрирование » Системное администрирование

     

    Ещё большее ускорение WebAssembly: новый потоковый и многоуровневый компилятор в Firefox

    Автор: admin от 22-01-2018, 09:05, посмотрело: 11

    Оба авторе: Лин Кларк — разработчик в группе Mozilla Developer Relations. Занимается javascript, WebAssembly, Rust и Servo, а также рисует комиксы о коде.



    Люди называют WebAssembly фактором, меняющим правила игры, потому что эта технология ускоряет выполнение кода в вебе. Некоторые из ускорений уже реализованы, а другие появятся позже.



    Одна из техник — потоковая компиляция, когда браузер компилирует код во время его загрузки. До настоящего времени эта технология рассматривалась лишь как потенциальный вариант ускорения. Но с выпуском Firefox 58 она станет реальностью.



    Firefox 58 также включает в себя двухуровневый компилятор. Новый базовый компилятор компилирует код в 10–15 раз быстрее, чем оптимизирующий компилятор.



    Вместе эти два изменения означают, что мы компилируем код быстрее, чем он поступает из сети.



    Ещё большее ускорение WebAssembly: новый потоковый и многоуровневый компилятор в Firefox


    На десктопе мы компилируем 30-60 МБ кода WebAssembly в секунду. Это быстрее, чем сеть доставляет пакеты.

    Категория: Админитстрирование » Системное администрирование

     

    Rust: качаем ленту и парсим JSON

    Автор: admin от 22-01-2018, 09:05, посмотрело: 9

    Я покажу вам, как написать небольшую

    программу, которая скачивает ленту(feed) в формате JSON,

    парсит и выводит на консоль в форматированном виде.



    У нас все вылилось в очень лаконичный код.

    Как? Смотрите под катом.

    Категория: Программирование, Системное администрирование

     

    Плюсы «правильного» виртуального номера

    Автор: admin от 22-01-2018, 08:25, посмотрело: 16

    Виртуальные номера давно уже стали стандартным инструментом бизнеса. Однако, в некоторых случаях, например, при размещении частных объявлений, требуются так называемые DEF-номера. Это мобильные номера (в коде 958), которые «приземляются» на вашу АТС. Данные о звонках попадают в CRM. Сегодня мы расскажем о том, какие преимущества есть у виртуального DEF-номеров, и рассмотрим несколько бизнес-сценариев их использования.



    Плюсы «правильного» виртуального номера

    Категория: Операционные системы » Linux

     

    Маршрутизация в socks. Еще один способ

    Автор: admin от 22-01-2018, 08:25, посмотрело: 15

    Рассмотрим еще один способ маршрутизации локальной сети через «socks-прокси». В отличии от предыдущего способа с «redsocks», в этом, будет рассмотрена возможность маршрутизации на сетевом уровне (сетевой модели OSI), по средствам пакета «badvpn-tun2socks». Данная статья ориентирована на создание и постоянное использование такого маршрутизатора на базе ОС «Debian stretch».



    Прежде чем перейти к описанию настройки системы, предоставлю ссылку на бинарники badvpn (может кому-то понадобится).



    Итак, после скачивания и распаковки пакета, предлагаю сразу создать сервис systemd со следующим содержанием:



    code_0

    "tun0" это виртуальный интерфейс, который необходимо настроить в системе, на него будут приходить запросы из локальной сетихоста. Сделаем это стандартным для Debian способом:

    Категория: Операционные системы » Linux