Pull to refresh
4
0.1
Сергей @HSerg

Разработчик

Send message

Главные отличия SEO продвижения в поисковых системах Google и Yandex

Reading time3 min
Views33K
Обратили внимание, что доля поискового трафика Яндекса на Кабанчике значительно меньше, нежели доля Google. Т.е. значительно меньше, чем среднее соотношение трафика Yandex/Google по рынку.

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

image

Общие отличия Google от Yandex


  • Возраст сайта больше важен для Yandex.
  • Продвигаться по НЧ намного легче в Яндексе. Для этого достаточно писать качественный уникальный контент. В Google без ссылок на страницу продвигать НЧ тяжко. Для СЧ и НЧ Яндексу нужны трастовые доноры.
  • Скорость индексации сайта в Яндекса в разы медленнее, нежели у Google: 8-10 дней против 1-2.
  • Частое обновления контента влияет на траст в Google. Яндекс любит старые уникальные тексты.
  • По ВЧ запросам в ТОПе Яндекса можно видеть в основном главные страницы сайтов. В Google — чаще внутренние страницы.
  • На одной странице поиска Google может находится 5 ссылок с одного сайта. в Яндексе — только одна страница.
  • На Яндекс легче влиять с помощью поведенческих факторов, нежели на Google.
  • Google далеко не всегда обращает внимание на запрет к индексации в robots.txt.
  • Скорость загрузки страниц более важна для Google. Он не пускает в ТОП медленные сайты. Для Яндекса скорость загрузки сайта не так важна.
  • Яндекс больше любит поддомены для региональных запросов. Т.е. для продвижения в другом городе лучше использовать домен gorod.site.com/…
  • Для Яндекса имеет большое значение нахождение сайта в Яндекс.Каталоге.

Внутренняя оптимизация


  • Яндекс больше не любит переоптимизацию текстов. Google к этому относится попроще.
  • Яндекс лучше понимает морфологию, поэтому ценит хорошее качество текстов. Простой рерайт для Яндекса не подходит.
  • Google любит большие тексты, Яндекс — лаконичные и хорошо структурированные.
Читать дальше →

Начало работы с Intel Energy Profiler для Android

Reading time10 min
Views16K
Если некое приложение потребляет больше энергии, чем конкурирующее, пользователи очень скоро это заметят и сделают соответствующий выбор. Поэтому каждому разработчику жизненно необходимо заботиться о том, чтобы его программы бережно относились к батареям планшетных ПК и смартфонов. Инструменты, входящие в состав Intel System Studio, способны помочь в этом важном деле.


Читать дальше →

Долгострой в разработке ПО: о проблемах управления требованиями

Reading time9 min
Views17K
Чем грозит долгострой в разработке и с какими трудностями предстоит столкнуться на этом пути? Как бизнес-аналитик компании, которая 15 лет занимается разработкой и поддержкой одного продукта (СЭД), я решила поделиться своими мыслями и примерами из практики. Проблематика управления требованиями в любых программных продуктах с длительным периодом реализации – актуальный вопрос для аналитиков, руководителей проектов и владельцев продуктов. И, возможно, для непосредственных партнёров и заказчиков Docsvision, ожидающих выхода новых версий и заинтересованных в появлении новой функциональности.


Читать дальше →

Однопоточность в Android WebView

Reading time2 min
Views10K

Предыстория


При разработке мобильного приложения для крупной международной компании возникла необходимость отобразить Web страничку в WebView. Страница на Java Script и содержит DOM контент порядка 10-15 Мб. В связи с большим размером страница загружается порядка 30 — 50 секунд, в зависимости от интернет соединения. Такие результаты не радовали, поэтому возникла необходимость тщательного исследования данной проблемы.

Кэширование в WebView


Единственным найденным решением было использование кэширования для загружаемого контента:
webview.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);

Скорость загрузки увеличилась вдвое. Однако, для поддержания актуальности контента, WebView проверяет каждый файл в отдельности на его валидность. Хоть скорость и выросла, время загрузки данной страницы внутри WebView по сравнению с мобильным браузером Chrome уступало в несколько раз.

Однопоточность WebView


После тщательного исследования пришел к выводу, что WebView использует всего один поток для загрузки данных. Это верно как для WebView построенном на собственном WebKit (SDK < 19) так и для WebView с Chromium движком (SDK>=19). Chrome в отличии от WebView использует много потоков (число зависит от процессора) и не использует в себе WebView. Поэтому сравнивать WebView с Chrome тоже самое, что сравнивать запорожец с Lamborghini, нет смысла. Разработчики нативного компонента Cromium для WebView не предполагают внедрение многопоточности и считают, что один поток гарантирует стабильную работу.
Читать дальше →

15 тривиальных фактов о правильной работе с протоколом HTTP

Reading time7 min
Views241K
Внимание! Реклама! Пост оплачен Капитаном Очевидность!

Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
Читать дальше →

Система сборки для больших модульных проектов

Reading time6 min
Views11K
На страницах нашего блога мы уже писали о преимуществах организации репозитория крупного проекта способом, предполагающим возможность извлечения исходников в изменяемую структуру рабочей копии. Использование такого подхода вкупе с потребностями простого конфигурирования, фрагментарной сборки, поддержки несколько десятков ОС под широкий спектр аппаратных платформ стали причиной разработки нами собственной системы сборки. Эта статья рассказывает о найденных нами решениях, которые могут быть интересны разработчикам, сталкивающимися с трудностями поддержки инфраструктуры больших проектов.


Читать дальше →

Пишем документацию API при помощи RAML

Reading time10 min
Views77K
RAML

Удобство работы с любым API во многом зависит от того, как написана и оформлена его документация. Cейчас мы ведём работу по стандартизации и унификации описания всех наших API, и вопросы документирования для нас особенно актуальны.
После долгих поисков мы решили оформлять документацию в формате RAML. Так называется специализированный язык для описания REST API. О его возможностях и преимуществах мы расскажем в этой статье.
Читать дальше →

Грокаем* RxJava, часть первая: основы

Reading time7 min
Views179K
* от переводчика: я долго думал над тем, как перевести на русский язык глагол «to grok». С одной стороны, это слово переводится как «понять» или «осознать», а с другой стороны, при переводе романа Роберта Хайнлайна «Чужак в чужой стране» (в котором это слово впервые и появилось на свет), переводчики сделали из него русское «грокать». Роман я не читал, поэтому счёл, что есть у этого слова какие-то смысловые оттенки, которые русскими аналогами не передавались, а посему в своём переводе использовал ту же самую кальку с английского.

RxJava — это, сейчас, одна из самых горячих тем для обсуждения у Android-программистов. Единственная проблема состоит в том, что понять самые её основы, если вы не сталкивались ни с чем подобным, может быть довольно затруднительно. Функциональное реактивное программирование довольно сложно понять, если вы пришли из императивного мира, но, как только вы разберётесь с ним, вы поймёте, насколько же это круто!
Я постараюсь дать вам некое общее представление об RxJava. Задача этого цикла статей состоит не в том, чтобы объяснить всё вплоть до последней запятой (вряд ли я смог бы это сделать), но, скорее в том, чтобы заинтересовать вас RxJava, и тем, как она работает.
Читать дальше →

12 лучших фреймворков для разработки приложений под Android

Reading time2 min
Views128K
image

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

Смысл фреймворка – увеличить производительность, уменьшив затраты усилий на разработку. В идеале они экономят разработчикам время на то, чтобы заняться реально важными при разработке приложения вопросами.

1) Corona SDK


Богатый инструментарий для создания игр и приложений за рекордно короткое время

image

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

Самый популярный фреймворк, часто используется разработчиками игр, но подходит для любого рода приложений. Уже более миллиона разработчиков пользуются API, поддержкой нативного интерфейса, встроенным движком и рекламной платформой.
Читать дальше →

Мобильный гейм-дизайн: итерация vs. планирование и опасности MVP

Reading time4 min
Views9K


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

Как же делается качественное планирование?
Читать дальше →

Коварный роутер или почему порты надо открывать

Reading time9 min
Views48K

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

Речь об «автоматической» пробросе порта, через технологию UPnP, без использования «стандартной» библиотеки NATUPnPLib.

О том, в силу чего был выбран такой непростой путь и почему он все-таки непростой — читайте ниже.
Подробности эксперимента

Ускорение и оптимизация PHP-сайта. Какие технологии стоит выбирать при настройке сервера под PHP

Reading time7 min
Views55K


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



  • Как оптимизировать сайт и ускорить его работу?
  • С какой скоростью будет и может работать сайт, в соответствии с теми технологиями на которых он будет запущен?
  • Какие технологии следует использовать настраивая сервер или VPS?


Типичная проблема:
В какой-то момент сайт начинает открываться и работать слишком медленно. Бывает, что хостинговая компания блокирует сайт за превышение нагрузки или перерасход ресурсов. Что же делать в такой ситуации?

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

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

В этом обзоре я протестирую только что установленный сайт на одном из самых распространённых движков управления контентом Drupal 7.33.

Для теста выбрана лишь одна составляющая php-хостинга. Мы будем тестировать web-серверы Nginx и Apache2, модули mod_php и php-fpm, версии php php53 и php56, посмотрим, как влияют оптимизаторы apc и opcache на скорость работы сайта.

Читать дальше →

Упрощаем работу с алгоритмами компьютерного зрения при помощи пакета OpenCV Intel INDE

Reading time3 min
Views10K
Не так давно лучшим ресурсом для ознакомления с алгоритмами компьютерного зрения был сайт библиотеки алгоритмов компьютерного зрения с открытым исходным кодом OpenCV. Эти алгоритмы приходилось создавать и настраивать самостоятельно, попутно осваивая CMake и другие межплатформенные инструменты. Итоговый результат мог не подойти нужной платформе. В этом случае необходимо было тщательно изучить алгоритм и настроить его для собственной системы — а это означало освоить OpenCL и его оптимизацию для своей платформы. Не то чтобы это было плохо…



Теперь приступить к работе с алгоритмами компьютерного зрения можно при помощи программного пакета Intel INDE, последнее обновление которого включает в себя готовую версию OpenCV, подходящую для устройств Windows и Android с процессорами Intel с графическим ядром Intel.
Читать дальше →

Внедрение веб консолей в jvm процесс на примере SonarQube

Reading time5 min
Views12K
По аналогии с примером из этой статьи, вы сможете внедрить консоль hawtio в свое jvm приложение без его пересборки и перекомпиляции. А также в случае с DEV/QA хостами внедрить в java процесс SQL веб консоль из проекта H2


Скринкасты, описание процесса и краткий обзор компонент...

Повышение удобства работы с Android-приложениями: распознавание жестов и не только

Reading time9 min
Views21K
Пользователь перевернул телефон, когда поступил входящий вызов? Уберём звук. Устройство подняли так, будто хотят сделать фото? Включим, если за нас это ещё не сделали по старинке, камеру. Как? Сенсоры нам в помощь.

image
Читать дальше →

Взаимодейтсвие Java и Shell-скриптов в Android

Reading time4 min
Views19K
Так сложилось, что в моём текущем проекте необходимо было реализовать выполнение shell-скриптов прямиком из кода.

Для того, чтобы войти в курс дела, советую вам прочитать эту статью: Shell-скриптинг в среде Android

В ней очень хорошо описаны возможности языка Shell, однако мне помимо самих скриптов нужно было выполнять методы Java.
Читать дальше →

Диагностика почтовых протоколов

Reading time16 min
Views127K
Эта статья о методах диагностики почтовых протоколов. Она предназначена для начинающих администраторов, желающих больше узнать об инструментах для быстрого тестирования авторизации/отправки/приема почтовых сообщений как сервером, так и клиентом. Но также может служить хорошей памяткой соответствующих команд и для более опытных администраторов.

Материал разбит следующим образом:

1. Введение
2. Примеры сессий
3. Проверка авторизации на сервере (LOGIN, PLAIN, CRAM-MD5), Base64
4. Проверка шифрования SSL/TLS
5. Анализ почтового трафика при помощи tshark. Расшифровка SSL/TLS
6. Ссылки на материалы



Читать дальше →

Проверьте Ваши сайты на уязвимость TLS Logjam

Reading time2 min
Views13K
Пару месяцев назад в протоколе TLS обнаружили уязвимость, которая получила название Logjam. Проведенные исследования показали, что большое число серверов подвержено этой уязвимости, так как, применяя защищенные соединения, используют типичные и наиболее распространенные простые ключи шифрования размером 512 бит. Ранее, такой длины вполне могло хватить для защиты соединения клиента с сервером. На сегодняшний же день, проведены исследования по вычислению наиболее распространенные ключей. Host-tracker предлагает функционал, который позволяет моментально проверить данную уязвимость.


Читать дальше →

Основы успешной реализации push-уведомлений для мобильных приложений

Reading time5 min
Views91K
Наши разработчики в Techmas часто сталкиваются с задачами создания уведомлений (push notifications). Несмотря на простоту и популярность технологии, в её реализации есть ряд особенностей, о которых и пойдёт речь в этой статье.




Читать дальше →

Как внедрить баннеры в Android приложение не перекрыв другие элементы

Reading time6 min
Views17K
Баннеры – один из наиболее популярных видов рекламы в мобильных приложениях. Они не занимают много места, как, например, полноэкранная (interstitial) реклама. И позволяют совместить их с элементами пользовательского интерфейса приложения. Их можно добавить на разные экраны в приложении.

Прочитав данную статью, вы узнаете, как лучше вставить баннеры таким образом, чтобы они не мешали пользователю и не портили вид приложения. При этом вам не придётся изменять layout xml и вносить много изменений в код приложения. Вы можете внедрить баннеры в своё готовое приложение, добавив всего несколько строк кода. Подход, описанный в статье, универсальный, вы можете использовать его для API любых рекламных сервисов. Статья будет интересна как для новичков, так и для опытных разработчиков. Если вы — новичок в разработке, то для того, чтобы понять предмет статьи, от вас не потребуется каких-либо глубоких знаний. Достаточно понимания базовых концепций разработки под Android. А опытные разработчики могут найти в ней готовое решение, которое они могут внедрить у себя. Но инициализация рекламного сервиса, работа с конкретными рекламными API и кеширование находятся за пределами данной статьи. Для решения таких вопросов, пожалуйста, обратитесь к руководству для вашего конкретного рекламного сервиса.
Читать дальше →

Information

Rating
5,743-rd
Registered
Activity

Specialization

Specialist
Lead