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

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


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


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




      Кстати, всё это можно было бы сделать скринкастом — но нельзя, потому что время компиляции 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 и так далее.


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

      Читать дальше →
      • +64
      • 10,1k
      • 7
    • Своя СУБД за 3 недели. Нужно всего лишь каждый день немного времени…

      Своя СУБД за 3 недели. Нужно всего-лишь каждый день немного времени уделять архитектуре; и всё остальное время вкалывать на результат, печатая и перепечатывая сотни строк кода.

      По закону Мерфи, если есть более одного проекта на выбор — я возьмусь за самый сложный из предложенных. Так случилось и с последним заданием курса о системах управления базами данных (СУБД).

      обложка /dropSQL

      Дропнуть студентов
    • Многозадачность или марихуана?

      • Перевод


      Взгляните на эту картинку. Персонаж справа — медведь. Так случилось, что он курит марихуану (не спрашивайте, где он её взял. Знать не хочу). Женщину слева я назвал Салли. За исключением того, что у неё пять рук, Салли совершенно обыкновенная, непримечательная деловая женщина. Салли, как и многие другие обыкновенные деловые женщины, ещё и завзятая многозадачница. На картинке она держит свой ноутбук, готовит какой-то десерт, да ещё и балансирует миской с какой-то обжигающе горячей похлёбкой, наверное, из морепродуктов. А теперь главный вопрос. Допустим, у Салли и медведя одинаковый уровень интеллекта (это очень умный медведь), тогда кто из них покажет лучший результат при тестировании когнитивной деятельности? Иными словами, если бы меня интересовала умственная деятельность, что для меня хуже: быть многозадачным или забивать косяк?
      Читать дальше →
    • Где найти и как выбрать тимлида



        Предыстория


        Привет! Меня зовут Виталий Шароватов, я уже 16 лет работаю в IT. Сейчас я руковожу направлением фронтенд в Badoo. В него входят две команды, которые занимаются разработкой и поддержкой десктопной версии сайта badoo.com, мобильной версии m.badoo.com и многими другими проектами. Да, десктопную и мобильную версии у нас делают отдельные команды. :)

        Два с половиной года назад я пришел в Badoo разработчиком, со временем вырос до тимлида, а потом, когда было решено перевозить команду Desktop Web в Лондон, стал руководителем направления.

        Прошлой осенью на Codemotion Milan я делал доклад о росте из разработчика в тимлида (и писал на Хабр статью об этом) и о том, с какими неожиданными моментами мне пришлось столкнуться, а теперь расскажу, как при переходе из лида в руководителя направления я справился с подбором и «выращиванием» тимлида в одной из команд (Mobile Web).
        Читать дальше →
      • Может ли в JavaScript конструкция (a==1 && a==2 && a==3) оказаться равной true?

        • Перевод
        Недавно по Твиттеру и Реддиту гулял интересный кусок кода на JavaScript. Вопрос, связанный с ним, заключался в следующем: «Может ли выражение (a==1 && a==2 && a==3) вернуть true?». Ответ на вопрос, как ни странно, был положительным.

        image

        Сегодня мы разберём этот код и постараемся его понять.
        Читать дальше →
      • Четыре способа обмануть нейросеть глубокого обучения

        • Перевод
        • Tutorial

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

        Читать дальше →
      • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

        Подробнее
        Реклама
      • Главные достижения в области обработки естественного языка в 2017 году

        • Перевод

        Всем привет. Сразу поделим аудиторию на две части — тех, кто любит смотреть видео, и тех, кто, как я, лучше воспринимает тексты. Чтобы не томить первых, запись моего выступления на Дата-Ёлке:



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

        Читать дальше →
        • +61
        • 9,9k
        • 3
      • Slack — это противоположность организационной памяти

        • Перевод
        С 2014 по 2016 годы у меня на работе произошло много всего, но главным кошмаром стал Slack. Менеджерам он понравился, потому что «всё излагается в письменном виде», «повышается доступность сотрудников» и «быстро публикуются ответы на вопросы». Я считаю, что он разрушает способность команды думать, планировать и выполнять сложную работу.

        Прерывания работы


        Slack помогает вашим худшим сотрудникам подавить лучших. В этом его сходство с офисом открытого типа.

        Он превращает в норму постоянные прерывания, многозадачность и отвлечения, косвенно допуская всё это в офлайне и онлайне. Он делает нормой безумно быстро отвечать на вопросы. В мире Slack люди переходят от прямого вопроса к person до обращения here за несколько минут. И правильно: ведь тут если на вопрос не ответили в течение 5 минут, то о нём вообще забывают.

        Как-то по ходу дела мы забыли, что отвлекаться вообще-то вредно для реальной работы. Раньше было по-другому. В первый день своей первой работы трейдером единственной инструкцией, которую я получил, было «Когда рынок откроется, отключи телефон». С подтекстом «иначе ты понимаешь, что будет». Если кто-то скажет мне такое сегодня, я обниму этого человека, хотя я не фанат обнимашек.
        Читать дальше →
      • Теневой бан и с чем его едят

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

        Я создал свой аккаунт на reddit.com порядка 2-х лет тому назад, постил периодически но потом длительно время им не пользовался. Некоторое время назад я написал несколько тем, после чего периодически отвечал на всяко-разные вопросы в субреддитах /r/gamedev /r/unity3d.

        В последние дни у меня начало зарождаться подозрение: ни один из моих постов не получал никаких ответов. Ни темы, ни ответы на форумах ничего не вызывало внимания у других пользователей reddit. Я понял что происходит, когда, после моего детального ответа про преимущества Unity над Unreal 4 другой человек написал «Искренне хотелось бы знать почему некоторые предпочитают Unity Unreal Engine-у?». Вот как я вижу эту тему на реддит:

        image

        А вот ссылка на эту статью в самом reddit.
        Читать дальше →
      • 10-гигабитный Ethernet: советы новичку



          Вдохновившись интернет-запросами в стиле «как сделать спиннер из картонки», я решил рассказать о том, что близко мне: как самому построить 10-гигабитную сеть. Гигабитный Ethernet вопросов уже не вызывает – справится даже школьник: потребуется коммутатор, медная витая пара и привычные RJ-45 разъемы.

          А если хочется больше? Например, 10-гигабитное соединение для небольшого офиса или серверной. Какое оборудование понадобится и как его подключать – просто и по шагам в моей сегодняшней статье.
          Читать дальше →
        Самое читаемое