HTTP / 1.1 против HTTP / 2: в чем разница

Протокол передачи гипертекста, или HTTP, является протоколом приложения, который является стандартом де-факто для связи во всемирной сети с момента его изобретения в 1989 году. Начиная с выпуска HTTP / 1.1 в 1997 году и до недавнего времени в протокол было внесено несколько изменений. Но в 2015 году появилась новая версия HTTP / 2, в которой предлагалось несколько способов уменьшения задержки, особенно при работе с мобильными платформами, а также с графикой и видео, интенсивно использующими сервер. С тех пор HTTP / 2 становится все более популярным, по некоторым оценкам, около трети всех веб-сайтов в мире поддерживают его. В этом меняющемся ландшафте веб-разработчики могут извлечь выгоду из понимания технических различий между HTTP / 1.1 и HTTP / 2, что позволяет им принимать обоснованные и эффективные решения в отношении развития передового опыта.

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

(more…)

Continue Reading HTTP / 1.1 против HTTP / 2: в чем разница

Основы DevOps. Вхождение в проект с нуля

В ноябре 2018 года в ЛитРес создали отдел информационного обеспечения и пригласили руководить Андрея Юмашева. Последний год отдел помогает компании работать и развиваться и держит под контролем всю инфраструктуру. Но так было не всегда. Перед тем, как наладить работу, Андрей столкнулся с руинами: полуживой Nagios, условно живой Cacti и коматозный Puppet, мертвая Вики на 120 страниц, несвязные таблицы с задачами и списком железа, устаревшая архитектура, 340 бездействующих ядер, 2 Тбайта оперативной памяти и 17 Тбайт дискового пространства, которые почему-то не были записаны в инвентарных таблицах. Планы, которые не работают, сроки, которые срываются, рабочее окружение и инструменты, которых нет — все это ждало Андрея в новом проекте.

На DevOpsConf 2019 Андрей выступил с докладом, в котором на живых примерах показал, что стоит, а что не стоит делать, когда входишь в проект, которого еще не видел или плохо знаешь. Под катом дополненная версия рассказа — как правильно анализировать спектр проблем и выстроить план деятельности, как правильно рассчитать KPI и когда следует вовремя остановиться.

(more…)

Continue Reading Основы DevOps. Вхождение в проект с нуля

Лучшие прокси сервисы и сервера в 2020 году

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

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

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

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

(more…)

Continue Reading Лучшие прокси сервисы и сервера в 2020 году

Исследование скорости загрузки как фактора ранжирования

Скорость загрузки и инструмент PageSpeed Insights от Google уже давно входят в работу SEO специалиста. После того как Google в июле 2018 объявил что скорость загрузки страницы становится фактором ранжирования, улучшением этой самой скорости занялись даже те кто раньше не верил в её значимость и отказывался с этим возиться.

Но действительно ли скорость загрузки настолько важный фактор ранжирования что необходимо тратить десятки часов работы разработчика на достижение результата? Показателей скорости загрузки целое множество, но какие из них наиболее важны? Во всех ли тематиках важна скорость загрузки?

Для ответа на эти и некоторые другие вопросы я провел небольшое исследование зависимости показателей скорости загрузки и позиции сайта. Оно охватило многие сайты различных тематик: начиная с туризма и заканчивая беттингом. Для репрезентативности выборки запросы брались с совершенно различными результатами поиска и с большим разбросом частот (от микро низкочастотных до высокочастотных). Исследовались первые 20 результатов поиска Google и Яндекс как для мобильных устройств, так и для компьютеров (на самом деле 21, так как именно за топ-20 видны изменения показателей). В общей сложности оценивалась скорость загрузки более десятка тысяч страниц.

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

(more…)

Continue Reading Исследование скорости загрузки как фактора ранжирования

Как скоро хуки вытеснят классы React?

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

“Мы стремимся к тому, чтобы хуки смогли охватить все существующие случаи применения классов, но при этом продолжим поддерживать компоненты классов на протяжении обозримого будущего. В Facebook у нас есть десятки тысяч компонентов, написанных в классах, и мы не планируем их переписывать. Наоборот, мы начинаем использовать хуки в новом коде наравне с классами”,— документация React.

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

Continue Reading Как скоро хуки вытеснят классы React?

Паттерны проектирования в php

Шаблоны проектирования были представлены общественности в книге Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson и John Vlissides (известные как «банда четырёх»)). Основная концепция, представленная во введении, была простой. За годы разработки программного обеспечения Gamma и сотоварищи открыли определённые шаблоны («паттерны») проектирования, как и архитекторы, строящие дома и здания, могут разработать шаблоны расположения уборных или обустройства кухни. Используя эти шаблоны, или паттерны проектирования, можно проектировать качественные здания быстрее. То же применимо и к разработке программного обеспечения.

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

Сложно продемонстрировать значение паттернов на небольших примерах. Они при этом часто выглядят как излишнее усложнение кода, потому что проявляют себя обычно в крупных системах с большим количеством исходного кода. В этой статье не будут рассматриваться большие приложения, так что нужно использовать воображение, чтобы применить принципы примера (и далеко не обязательно точный его код) в своих больших приложениях. Это не означает, что не нужно использовать паттерны в маленьких приложениях. Многие приложения начинаются как небольшие и развиваются в крупные, так что нет причин не придерживаться этих правил сразу. (more…)

Continue Reading Паттерны проектирования в php

Как я клею топовые дроп домены на продвигаемый сайт

Дроп-домен (от английского, drop – брошенный) – домен, который когда-то существовал, но по какой-то причине его забросили (случайно, просто купили новый домен и не перевезли сайт с помощью 301 редиректа. Кто-то просто не видит смысла держать и оплачивать оба домена). Если уметь правильно работать с такими брошенными доменами – можно очень эффективно их использовать для буста своего сайта в поисковых системах (повышение позиций и как следствие – трафика на сайт). (more…)

Continue Reading Как я клею топовые дроп домены на продвигаемый сайт