Архив рубрики: Публикации

Улучшенный алгоритм поиска мобильного контента от Google

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

Не так давно компания Google представила инструменты для тестирования сайтов на предмет удобства использования на мобильных устройствах, где просто указав url вашего сайта можно узнать насколько он адаптирован и как его видит googlebot, а так же настроить его отображение в инструментах для веб-разработчика.

Сегодня же компания Google изменила алгоритм индексации сайтов оптимизированных для мобильного использования, а так же опубликованных приложений, который базируется на двух главных принципах :

  1. Начиная с 21-го апреля вступают в силу новые правила ранжирования сайтов в поисковой выдаче в зависимости от их адаптированности для мобильных устройств. Эти изменения коснутся всех языков по всему миру и значительно изменят позиции при поиске с мобильного устройства. Следовательно пользователи будут получать более релевантную и оптимизированную информацию для их конкретных устройств. 
  • Для тестирования сайта на пригодность использования при отображении на смартфонах можно воспользоваться вот этим тестом.
  • Если вы являетесь администратором сайта, вы можете узнать все недочёты для мобильного юзабилити в инструментах для веб-мастеров Google.
  1. Начиная с сегодняшнего дня, данные из установленных мобильных приложений начинают использоваться как фактор ранжирования в поисковой выдаче, но скорей всего используются данные только из тех приложений, в которых пользователи залогинились под своим Google аккаунтом. Для того чтобы узнать, используется ли данные приложения для его индексирования, а так же сделать так, чтоб пользователи могли переходить к данным установленного у них приложения прямо из поисковой выдачи, необходимо ознакомится с руководством индексирования приложений в поисковой выдаче.

Автор: Taras Neduiev

Google представила новую программу "Android for Work"

Более миллиарда людей во всем мире используют смартфоны, которые стали для нас неотъемлемой частью жизни.

К сожалению для множества людей смартфоны еще не открыли весь свой потенциал для полноценного использования в работе. Потому сегодня Google анонсировал свою новую программу «Android for work» для раскрытия всего потенциала карманных гаджетов. Данный проект позволяет привлечь больше устройств в своем бизнесе и обеспечивает возможность управления бизнесом и увеличения его инновационного потенциала используя платформу Android.

Android for work включает в себя 4 базовых компонента:

  • Рабочие профили — построены на базе принципа шифрования по умолчанию, более жестких мер безопасности  SELinux, а так же поддержку нескольких пользователей при использовании Android 5.0 Lollipop. Теперь возможно создавать рабочий профиль и хранить рабочие данные на одном устройстве с личными данными и быть уверенным в их сохранности, а так же в сохранности личных данных, так как владелец/управляющий/работодатель не сможет просмотреть или очистить ваши данные.
  • Приложение Android for work — для устройств работающих на базе Ice cream sandwich и KitKat или устройств которые не поддерживают работу с профилями. Это приложение предоставляет безопасную работу с почтой, календарём, контактами, документами, а так же приложениями которые были отмечены как рабочие.
  • Google Play для работы — позволяет владельцам бизнеса безопасно управлять приложениями для всех пользователей использующих Android for work, а так же распределения (удалённую установку) приложений своим сотрудникам.
  • Встроенные инструменты повышения производительности — набор приложений для повседневных бизнес задач включающий в себя приложения для почты, контактов, календаря и обеспечивает обмен заметками между рабочими устройствами, а так же совместное редактирование документов и таблиц.
Более подробно узнать о данной программе можно на её официальном сайте.

Автор: Taras Neduiev

Как использовать RecyclerView в Android

С выходом новой версии Android и привнесением в мир нового течения Material Design-а, появились и обновлённые, более современные версии старых вьюшек. Одно из таких обновлений затронуло и привычны вид отображения списка — ListView, на замену которого пришёл более быстрый и многофункциональный RecyclerView.

Главным отличием RecyclerView является создания всех элементов списка единожды, в отличии от ListView, где каждая View в списке создавалась отдельно для каждого из элементов списка, что в свою очередь приводило к огромному использованию памяти при создании достаточно больших списков.

Как начать работать с RecyclerView.

Для начала необходимо подключить библиотеку RecyclerView. Сделать это можно либо прописав зависимости в Gradle файл, либо же нажав кнопку F4 на нашем проекте и перейдя в вкладку «Dependencies». Так же подключим библиотеку CardView, так как элементы списка будем отображать в виде карточек и библиотеку Picasso, с помощью которой подгрузим изображения.

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:cardview-v7:21.0.3'
compile 'com.android.support:recyclerview-v7:21.0.3'
compile 'com.squareup.picasso:picasso:2.3.2'
}

Теперь создадим отображение нашего списка, поместив в layout  активности наш RecyclerView.
activity_main.xml

    public String getUniverse(){return universe;}
public String getImage() {return image;}

}

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

package com.awesomedevelop.recyclerview;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.squareup.picasso.Picasso;

import java.util.ArrayList;

/**
* Created by Taras on 30.01.2015.
*/
public class HeroAdapter extends RecyclerView.Adapter {

private ArrayList heroDataSet;
public Context mContext;
private int lastPosition = -1;
public static class MyViewHolder extends RecyclerView.ViewHolder {
TextView textName;
TextView textUniverse;
ImageView imageHero;

public MyViewHolder(View itemView){
super (itemView);
this.imageHero = (ImageView)itemView.findViewById(R.id.image);
this.textName = (TextView)itemView.findViewById(R.id.hero_name);
this.textUniverse = (TextView)itemView.findViewById(R.id.hero_universe);
}
}



public HeroAdapter(Context context, ArrayList heroes){
this.heroDataSet= heroes;
mContext=context;
}


@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.hero_card, parent, false);
MyViewHolder myViewHolder = new MyViewHolder(view);

return myViewHolder;
}




@Override
public void onBindViewHolder(final MyViewHolder holder, final int listPosition) {

final TextView textViewName = holder.textName;
final TextView textViewUniverse = holder.textUniverse;
ImageView imageViewHero = holder.imageHero;
textViewName.setText(heroDataSet.get(listPosition).getName());
textViewUniverse.setText(heroDataSet.get(listPosition).getUniverse());

String src = heroDataSet.get(listPosition).getImage();
Picasso.with(mContext)
.load("file:///android_asset/images/"+src+".jpg")
.resize(300, 300)
.into(imageViewHero);
}

@Override
public int getItemCount() {
return heroDataSet.size();
}

}

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

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

package com.awesomedevelop.recyclerview;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Menu;
import android.view.MenuItem;

import java.util.ArrayList;


public class MainActivity extends ActionBarActivity {
private static ArrayList heroes;
private static RecyclerView recyclerView;
private RecyclerView.LayoutManager layoutManager;
private static RecyclerView.Adapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = (RecyclerView)findViewById(R.id.my_recycler_view);
recyclerView.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);

fetchHeroes(); //Заполняем массив
adapter = new HeroAdapter(MainActivity.this,heroes); //Инициализируем наш адаптер
recyclerView.setAdapter(adapter); // Устанавливаем адаптер

}

//Заполняем массив
public void fetchHeroes(){
heroes = new ArrayList();

heroes.add(new HeroData("Зелёный Фонарь","DC comics","greenlantern"));
heroes.add(new HeroData("Джокер","DC comics","joker"));
heroes.add(new HeroData("Джона Хекс","DC comics","jonah-hex"));
heroes.add(new HeroData("Папа Миднайт","DC comics","glav"));
heroes.add(new HeroData("Ворона","DC comics","raven"));
heroes.add(new HeroData("Чёрная Вдова","Marvel","glavnaya"));
heroes.add(new HeroData("Капитан Америка","Marvel","cap_america"));
heroes.add(new HeroData("Космический Халк","Marvel","cosmic_hulk"));
heroes.add(new HeroData("Призрачный Гонщик","Marvel","ghost_rider"));


}





@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
}

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

Проект на github.

Автор: Taras Neduiev

Как просматривать сайты в Google Chrome без подключения к Сети — Лайфхакер

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

Bastian Weltjen/Shutterstock

Каждый раз, когда вам необходимо просмотреть какую-либо страницу в Сети, ваш браузер посылает запрос на соответствующий сервер, а затем загружает нужное содержимое. Если же подключение к Сети в данный момент отсутствует, то вы увидите сообщение о невозможности отображения этой страницы. Самое обидное, что это происходит даже тогда, когда вы пытаетесь просмотреть страницу, которую уже посещали и всё содержимое которой имеется в кэше на жёстком диске. Однако есть возможность научить браузер Google Chrome извлекать это содержимое и правильно отображать страницы даже без подключения к Сети.
Для активации этой опции вам понадобится открыть страницу с экспериментальными настройками браузера. Для этого введите в адресной строке chrome://flags/ и нажмите ввод. После этого найдите и включите опцию под названием «Показывать кнопку для загрузки локальной неактивной копии».  Перезапустите браузер.
Google Chrome flags
Теперь, когда вы захотите в офлайне просмотреть одну из ранее посещённых страниц, вы увидите стандартное уведомление о невозможности её загрузки, а рядом новую кнопку «Открыть сохранённую копию». При её нажатии будет загружена имеющаяся копия, сохранённая на жёстком диске при предыдущем посещении сайта.
Google Chrome offline
Как правило, локальная копия не слишком будет отличаться от оригинала, так как Google Chrome кэширует HTML, изображения, JavaScript и CSS. Однако, если страница имеет сложную структуру, встроенное видео или другое мультимедийное содержимое, то оно, разумеется, показано не будет.
Данная функция пригодится всем пользователям, которые имеют нестабильное подключение к Сети или вынуждены периодически работать в офлайне. Теперь вы сможете в любой момент загрузить страницу, которую уже открывали ранее, и дочитать статью независимо от наличия подключения к Сети.

Как просматривать сайты в Google Chrome без подключения к Сети — Лайфхакер

Автор: Роман Сталкер
Дата публикации: 2015-01-31T03:48:00.001-08:00

WordPress легко и просто!

Приветствую вас на моем блоге!!! Это моя первая статья, надеюсь, судить не будете. В этой первой статье хочу рассказать о том, почему я выбрал именно движок WordPress или какому CMS для блога я симпатизирую. Конечно, если имеются знания в области программирования, то можно написать свою CMS на свой вкус. Вот этот мой блог на вордпресс, потому что он мне кажется очень простым в использовании.

Наверно многие задавали себе вопрос, перед тем как создавать сайт с чего же начать? Сначала нужно завести домен и хостинг, а следующим этапом будет выбор «двигателя». Это играет одну из ключевых ролей при создании сайта и выбирать его нужно в зависимости, на какую тему будет ориентироваться сайт. Для блоггеров я рекомендую создавать блог на вордпресс.

И так о том, что такое движок сайта. Движок это как вы наверно догадались жаргон профессиональный, а на самом деле это программный комплекс управления сайтом. К примеру, несколько модулей (маленьких программ) объединенных в общую систему. В большинстве случаев используют аббревиатуру или «умную» фразу CMS что это и как это? А это тот самый движок WordPress (в моем случаи). Разъясняю CMS это сокращение от Content Managment System – Система Управления Контентом. Существует множество различных CMS, но выбирать стоит именно тот, что вам подходит. Ведь сайты создают для различных целей. Видно, что движок это и есть CMS только на английском.

CMS для блога

Спешу вам рассказать про основные движки, которые применяются блоггерами всего мира. Существует уйма разных по предназначению «двигателей». Если мне говорить про каждый из них, то у меня крыша поедет, поэтому приведу основные, которые применяют блоггеры всего мира.

Движок WordPress

WordPress — самый популярный движок для блогов. Мой сайт использует так же движок WordPress. Почему же мы выбрали именно его? Да все очень просто! Как и специалисты компании https://kaspor.ru/, которые используют надежную и понятную систему, для блога выбрали именно вордпресс.

Плюсы очевидны:

  1. Бесплатность
  2. Простой в установке
  3. Множество бесплатных плагинов (что это я расскажу позже в своих статьях)
  4. Возможность менять дизайн просто скачивая тысячами новых и различных тем оформления. (Возможно, создавать самому дизайн без особых усилий)
  5. Регулярные обновление движка
  6. Множество форумов по поддержке, где можно найти ответ на любой вопрос
  7. Понятный интерфейс админки в WordPress, что дает возможность думать только о наполнении блога а не задумываться как мне что настроить.

Movable Type — один из старейших движков для блогов. Тоже достаточно прост в установке и имеет кучу возможностей по расширению. Но есть один минус. На официальном сайте нет русскоязычной версии. Это не является большим недостатком, потому что не сложно найти русифицированную версию на сайтах посвященных Movable Type.

Drupal — популярный среди российских пользователей для создания блога. Но он не специализированный для создания блогов, а полноценный для создания сайтов для любого предназначения.

Joomla — одна из популярнейших бесплатных CMS, которая позволяет делать сайты различной сложности. Также создавать блоги. Тем для оформления в интернете куча. Но что б разобраться новичкам придется не сладко. Я бы не советовал начинать делать блог на нем, если вы не имели дела с этой CMS.

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



2015-01-25T15:43:50
Витрина

Настройка WordPress

Продолжая публикацию стаей рубрики «Сайт с нуля»,   мы с вами переходим к  настройке нашей CMS WordPress.

Что входит в настройку вордпресс.

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

Шаблон (  или «тема» ) нужен для того, чтобы управлять внешним видом вашего сайта, меню, виджетами, настраивать цвета, шапку сайта, подвал, сайдбары ( боковые колонки )

Плагины — дополнительно подключаемые модули, которые помогают вам реализовать необходимые функции без знания языков программирования, просто устанавливая и активируя их.  Многие плагины  имеют свои настройки и максимально «заточены» под удобство пользователей.

Tемы WordPress

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

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

  • Итак, мы имеем по умолчанию шаблон Twenty Ten
  • Довольно таки не очень симпатичное зрелище. Но этот шаблон довольно гибкий и его можно подогнать под ваш вкус. изменив его настройки
  • В результате. после всех манипуляций, вы можете получить вполне приличное детище своих трудов.

Далее, нам нужно установить плагины и настроить виджеты

Установка плагинов

Как уже писалось выше, плагины для WordPress — это дополнения, расширения, которые позволяют реализовать на сайте тот функционал, который невозможно реализовать стандартными средствами WordPress

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

Для этого переходим в админ-панели в раздел  Плагины => Добавить новый

Вводим в окно поиска название нужного плагина и жмем «поиск», после чего, в зависимости от того, нужен ли он вам сейчас или нет, активируем его.    Многие плагины добавляют виджеты для сайдбара, футера, например, топ комментаторов

Настройка виджетов   wordpress

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

Сперва удаляем все лишние виджеты. Это виджеты «Мета», «Ссылки», «Архивы», Календарь», в общем всё лишнее. Активируем плагин бэкапа и делаем бэкап базы данных  ( перед тем, как сделать любое изменение на сайте, не забудьте сделать бэкап базы данных, а также настройте еженедельную отправку бэкапа на ваш почтовый ящик )  ( Как сделать бэкап см. в статье «Безопасность блога на вордпресс» ссылка на которую приведена выше ). Вместо виджета «Мета» ставим виджет Simple Login, который выводится плагином Simple Login Widget

Далее, перетаскивая мышью, располагаем нужные вам виджеты в необходимых местах

В результате получаем тот вид, который нам нужен.

Итак, для настройки WordPress необходимо установить нужный вам шаблон, установить и настроить плагин безопасности, настроить бэкап базы данных  ( плагин WordPress Database Backup при установленном  Better WP Security  можно не ставить, так как Better WP Security делает и бэкап в том числе) , настроить работу виджетов и можно приступать к написанию статей



2015-01-25T15:41:33
Настройки WordPress