• HTTP-коды в комиксах ко Дню Святого Валентина

    • Перевод
    День Святого Валентина уже завтра. Для некоторых это время романтических надежд, время, чтобы спросить «даму сердца» и получить ответ. Это может быть просто «да», грустное «нет» или загадочное «Я не думала о нас, как о паре, но, может быть, завтра мы сможем поужинать вместе?»

    Это, хотя и косвенно, приводит нас к кодам статуса HTTP (Hypertext Transfer Protocol). Когда URL-адрес вводится в браузере, запрос отправляется на сервер. Как и в нашем сценарии, браузер ожидает ответа. Эти ответы поступают в виде HTTP-кода, который представляет собой трехзначное число, которое сопоставляется с определенным смыслом.

    Вот несколько вероятных сценариев в виде комиксов ко Дню Святого Валентина.

    200s: Успех


    Коды 200-го класса обычно означают, что все в порядке. Запрос был получен, понят, и на сервере не было ошибок. Например, этот URL-адрес вернет код 200 OK — успешный запрос.

    Идеальное завершение для пар «браузер + сервер» и «разработчик + его проект»
    Читать дальше →
  • Современный CSS для динозавров

    • Перевод

    — Двигать пиксели в CSS и так было трудно! А теперь мне говорят, насколько круто использовать несемантические названия классов, встроенные стили в HTML и даже писать стили CSS на JavaScript!
    [Вставь тут гифку из «Гриффинов»] — Ха!
    Иллюстрации из Dinosaur Comics Райана Норта


    Как ни странно, CSS считается одновременно одним из самых простых и одним из самых сложных языков для веб-разработчика. Определённо он достаточно прост в начале — вы определяете свойства стиля, значения для конкретных элементов и… это практически всё, что нужно знать! Однако в больших проектах ситуация становится довольно запутанной и сложной, чтобы организовать CSS каким-то осмысленным образом. Изменение любой строчки CSS для стилизации элемента на одной странице часто ведёт к непредвиденным последствиям для элементов на других страницах.

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

    Цель этой статьи — показать исторический контекст, как развивались техники и инструменты CSS до их нынешнего состояния в 2018 году. Поняв эту историю будет легче понять каждый подход и как с выгодой его использовать. Итак, начнём!
    Читать дальше →
  • Внимание, обновите Firefox до версии 58.0.1 для закрытия критической уязвимости

      image

      Mozilla выпустила важное обновление веб-браузера Firefox для исправления критической уязвимости, которая позволяет злоумышленникам удаленно выполнять вредоносный код на компьютерах, на которых установлена ​​уязвимая версия браузера.

      Критическая уязвимость (CVE-2018-5124) может привести к выполнению кода в системе при открытии определённым образом подготовленных HTML-фрагментов, в которых используются дополнительные атрибуты управления интерфейсом. Суть уязвимости в возможности inline-подстановки JavaScript-кода через данные элементы, который будет выполнены на привилегированном уровне, отвечающем за формирование интерфейса браузера (chrome-privileged).
      «Успешное использование уязвимости может позволить злоумышленнику выполнить произвольный код с привилегиями пользователя. Если пользователь имеет повышенные привилегии, злоумышленник может полностью скомпрометировать систему», — говорится в рекомендациях по безопасности от компании Cisco.
      Злоумышленник может получить возможность устанавливать программы, создавать новые учетные записи с полными правами пользователя, просматривать, изменять или удалять данные.
      Читать дальше →
    • Vivaldi 1.14 — продольно-поперечная версия

        image

        Всем привет!

        Вот и наступил новый год, в течении которого мы будем радовать вас новыми версиями браузера с новыми функциями. И сегодня мы готовы порадовать очередной стабильной сборкой -  Vivaldi 1.14. Процесс подготовки этой версии сопровождался довольно напряжёнными неделями, потраченными на ликвидацию регрессий, произошедших в результате смены версии ядра Chromium. В итоге мы решили проскочить версию 63 и сразу сосредоточиться на версии 64, чтобы не терять зря время. Помимо этого мы приготовили несколько интересных новинок, вот об этом — чуть подробнее под катом.
        Читать дальше →
      • Абсурдно быстрое кодирование и декодирование base64

        • Перевод
        Об авторе: Дэниель Лемер — профессор компьютерных наук в Университете Квебека (Канада). Его исследования затрагивают производительность программного обеспечения и инженерию данных

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

        Однако мы часто используем текстовые форматы; например, веб-страницы и электронные письма должны быть в текстовом формате. Как же мы отправляем изображения по электронной почте? Как внедряем картинки на веб-страницы? Один из вариантов — поставить ссылку на реальный бинарный файл. Другой типичный подход — встроить бинарный файл непосредственно в тело письма или веб-страницы с помощью base64. Base64 — это просто стандартный текстовый формат, который можно использовать для кодирования любых бинарных данных. Если быть точным, то код base64 — всегда валидный текст ASCII (и поэтому также валидный UTF-8). Каждый байт кода base64 содержит 6 бит данных. То есть мы «теряем» примерно 2 бита на байт. Поэтому эквивалент base64 бинарного файла будет примерно на 33% больше. На практике такое увеличение размера редко становится проблемой. Насколько я знаю, приложения к электронным письмам почти всегда кодируются в base64.

        При написании HTML я нашёл удобным внедрять изображения напрямую в HTML-код с помощью схемы data URI. Например, в недавней статье я таким образом закодировал файл PNG. Крупнейшие веб-сайты вроде Google постоянно используют эту схему. Небольшим недостатком становится то, что веб-страницы чуть увеличиваются в размере (что очевидно) и нельзя воспользоваться преимуществами кэширования изображений. Но зато браузер экономит один сетевой запрос.
        Читать дальше →
        • +18
        • 7,6k
        • 8
      • Немного про накрутку счетчиков посещений сайтов

        image


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

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

        Подробнее
        Реклама
      • С днём рождения, Vivaldi!.

          image

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

          Итак, что же изменилось с тех пор? Очень многое. И команда наша подросла, да и сообщество пользователей тоже не остаётся неизменным — число зарегистрированных пользователей портала vivaldi.net уже превысило 200 тысяч. Это очень воодушевляет и заставляет ещё больше сил прилагать к улучшению нашего с вами браузера, который за эти три года также изменился очень сильно.
          Читать дальше →
        • Ещё большее ускорение WebAssembly: новый потоковый и многоуровневый компилятор в Firefox

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

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

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

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

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



          На десктопе мы компилируем 30-60 МБ кода WebAssembly в секунду. Это быстрее, чем сеть доставляет пакеты.
          Читать дальше →
        • Как внедрить Secure Development Lifecycle и не поседеть. Рассказ Яндекса на ZeroNights 2017

            С 16 по 17 ноября в Москве проходила международная конференция по информационной безопасности ZeroNights 2017. В этом году Яндекс, как обычно, выступил её соорганизатором и представил ряд докладов в ходе Defensive Track'а – секции, посвященной защите сервисов и инфраструктуры. В частности, мы поделились нашим опытом внедрения Secure Development Lifecycle (SDL) для такого крупного и комплексного проекта, как Яндекс.Браузер.


            image


            Если кратко, то SDL – это набор различных контролей безопасности на всех этапах жизненного цикла продукта. Сама по себе данная методология существует уже довольно давно, изначально её анонсировала компания Microsoft, и про канонический подход вы можете почитать на их сайте, на Хабре, а также на просторах интернета. SDL позволяет снизить вероятность возникновения уязвимостей, максимально усложнить их эксплуатацию и ускорить исправление. Всё это позволяет сделать продукт более безопасным.


            Однако в настоящее время в индустрии до сих пор существует весьма распространенное мнение, что для проектов, которые разрабатываются в рамках процессов на базе Agile’a, внедрение SDL – очень сложная и почти нерешаемая задача, т.к. множество проверок создают бутылочное горлышко и мешают разработчикам укладываться в сроки. С первым тезисом мы спорить точно не будем, а второму готовы бросить вызов и поделиться историей о том, какие контроли мы встроили в процесс разработки Браузера и какие трудности встретились на этом пути. Если вы пропустили наш доклад или хотите узнать дополнительные подробности – просим заглянуть под кат.

            Читать дальше
            • +39
            • 7,1k
            • 4
          • Мошенническое расширение в Google Chrome. Расследование

            Эта статья обошлась мне в 3343 рубля, именно столько Я потерял при переводе Litecoin на Qiwi RUB и хочу описать мою историю подробно, чтобы Вы дорогие Хабровчане не наступили на те же грабли что и Я.

            Мне нужно было вывести средства с биржи Poloniex в фиат. Для этого Я воспользовался популярным сервисом bestchange, на котором нашел сервис 4exchange.cash, он предложил мне перевести средства по указанному адресу

            image
            Читать дальше →
          Самое читаемое