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

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

Собственная база данных на Android с возможностью обновления

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

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

Почему не работает обычный способ.

В примерах которые можно найти в интернете в большем обилии, при обращении к вашей БД, приходится вызывать её с помощью метода createDatabase(), которая копирует вашу заранее созданную базу в папку приложения. Но при вызове данного метода Android не обращается к методу onUpdate() , потому даже если вы измените версию базы, ничего не произойдёт, так как не произойдёт сравнение её версий. 
Метод onUpdate() вызывается только в случае обращения к базе данных с помощью методов getWritableDatabase() или getReadableDatabase(), в этом случае база создается и копируется если не существовала ранее и вызывается метод onUpdate(),если база уже существовала. Но если вы попробуете в методе onUpdate() удалить прошлую версию БД — приложение закроется с крешем, так как метод обновления будет вызван (а значит и база будет удалена) раньше чем будет создана новая, а потому получить доступ к несуществующей в этот момент базе не удастся.

Как обновить собственную базу данных.

Для того, чтобы удалить старую и обновить БД  придется вручную контролировать её версию и сделать это до вызова метода onUpdate(), чтобы избежать попытки её открытия до её фактического создания. Для этого будем использовать собственный метод обновления, а версии хранить и контролировать с помощью SharedPreferences.
Для использования собственной базы данных в Android создайте новый класс ExternalDbOpenHelper и поместите в него приведённый ниже код.



import android.content.Context;
import android.content.SharedPreferences;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.preference.PreferenceManager;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
* Created by AwesomeDevelop on 24.12.2014.
*/
public class ExternalDbOpenHelper extends SQLiteOpenHelper
{
private static final String DATABASE_NAME = "db.sqlite3"; // Название файла с БД
private static final int DATABASE_VERSION = 1; //Версия БД
private static final String SP_KEY_DB_VER = "db_ver";
private final Context mContext;

public ExternalDbOpenHelper(Context context, String DB_NAME) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
mContext = context;
initialize();
}

/**
* Инициализация БД. Создание новой если ранее не существовала.
*/
private void initialize() {
if (databaseExists()) {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(mContext);
int dbVersion = prefs.getInt(SP_KEY_DB_VER, 1);
if (DATABASE_VERSION != dbVersion) {
File dbFile = mContext.getDatabasePath(DATABASE_NAME);
if (!dbFile.delete()) {
// Log.w(TAG, "Невозможно обновить БД");
}
}
}
if (!databaseExists()) {
createDatabase();
}
}

/**
* Проверка существования файла БД. Если существует - возвращает true.
* @return
*/
private boolean databaseExists() {
File dbFile = mContext.getDatabasePath(DATABASE_NAME);
return dbFile.exists();
}

/**
* Создание БД, копирование файла из Assets.
*/
private void createDatabase() {
String parentPath = mContext.getDatabasePath(DATABASE_NAME).getParent();
String path = mContext.getDatabasePath(DATABASE_NAME).getPath();

File file = new File(parentPath);
if (!file.exists()) {
if (!file.mkdir()) {
// Log.w(TAG, "Невозможно создать папку БД");
return;
}
}

InputStream is = null;
OutputStream os = null;
try {
is = mContext.getAssets().open(DATABASE_NAME);
os = new FileOutputStream(path);

byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) > 0) {
os.write(buffer, 0, length);
}
os.flush();
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(mContext);
SharedPreferences.Editor editor = prefs.edit();
editor .putInt(SP_KEY_DB_VER, DATABASE_VERSION);
editor.commit();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (os != null) {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

@Override
public void onCreate(SQLiteDatabase db) {
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion,
int newVersion) {
}
}


Для работы данного класса, вам необходимо только указать название файла с созданной вами базой данных и её версию. Как только версия БД будет увеличена — старая её версия будет удалена, а новый файл БД скопирован. Но не пробуйте понизить версию, как и при обычном использовании будет получена ошибка о невозможности выполнить DownGrade и приложение будет закрыто. 
Работа с БД осуществляется стандартными для Android способами, потому вы можете работать с ней, как с стандартной Sqlite базой.
Открытие БД.

ExternalDbOpenHelper dbOpenHelper = new ExternalDbOpenHelper(this, DB_NAME);

SQLiteDatabase database= dbOpenHelper.getWritableDatabase();

Получить данные можно, к примеру, вот так:

data = new ArrayList();

Cursor dataCursor = database.query(
TABLE_NAME,
new String[] { DATA_NAME,DATA_IMAGE},
null, null, null, null,
DATA_NAME);
dataCursor.moveToFirst();


if(!dataCursor.isAfterLast()){
do {
String image =dataCursor.getString(1);
String name = dataCursor.getString(0);
data.add(new BrandData(name,image));

} while (dataCursor.moveToNext());
}
dataCursor.close();

И так, для использование заранее созданной базы данных необходимо:
  1. Создать файл базы данных Sqlite с любым наполнением, о том как это сделать можно прочитать тут, а для создания использовать Navicat .
  2. Поместить созданный файл в папку Assets.
  3. Создать класс ExternalDbOpenHelper и поместить в него код, приведённый в статье.
  4. Использовать вашу БД стандартными способами, описанными в официальной документации

Автор: Taras Neduiev

Самый быстрый эмулятор Android. Установка и настройка Genymotion.

Если вы только начинаете или собираетесь начать разрабатывать приложения для OS Android, вам следует обратить внимание на этот скоростной эмулятор.

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

К счастью несколько дней назад на свет появился эмулятор Genymotion базирующийся на VirtualBox-е, с которым разработка и тестирование приложений станет сплошным наслаждением.

Установка Genymotion.

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

После регистрации качаем сам Genymotion перейдя на страницу загрузки или выбрав соответствующий пункт меню на сайте. Далее вбираем репозиторий для вашей операционной системы. Если у вас ранее не был установлен VirtulBox – не переживайте, он будет загружен и установлен вместе с эмулятором.

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

После полной установки, запускаем Genymotion и входим под логином и паролем, которые регистрировали на сайте.

Как только вход в систему будет выполнен, появится возможность добавлять новые устройства, этими виртуальными устройствами вы и будете пользоваться в дальнейшем. Для добавления выбираем нужное устройство и нажимаем кнопку “Add”.

Далее везде нажимаем “Next” и дожидаемся загрузки файлов для виртуального устройства.

Настройка Genymotion.

Для корректного взаимодействия эмулятора и в

Стоит ли переходить на Android studio ?

Уже прошел год с дня, когда мир познакомился с новой IDE от Google – Android Studio, но по сей день она так и не вышла из беты. Но если еще год назад её можно было установить только для того, чтоб полюбоваться гугловскими решениями в дизайне, то сегодня уже можно серьезно задумываться – стоит ли переходить на Android Studio?


Очень долго я не мог бросить родной и привычный Eclipse и полностью отдаться Google-религии. В течении года, по мере выхода новых версий студии, я её устанавливал, кликал по кнопочкам, вертел конструктор интерфейса, но всегда что-то находил, что не устраивало, в особенности ужаснейшие тормоза в работе самого интерфейса, серьезно, в сырых версиях невозможно было слово нацарапать чтоб курсор не замер после каждого символа. Но вот, с версии 0.8., я все же поборол свою любовь к привычному и полностью перешёл на новую IDE. Дабы упростить принятие решения таким же сомневающимся как и я — приведу плюсы и минусы перехода к студии, и начну, пожалуй, с минусов.

МИНУСЫ.

1. Багоподобный Gradle.

Если раньше для меня это была всего-лишь забавная фраза, так как в Eclipse работать с ним не приходится, то сейчас я изредка попиваю чай с ромашкой. Большинство времени все работает хорошо, хотя процессы выполняются неоправданно долго, так как постоянна синхронизация с Gradle значительно замедляет компиляцию проектов, по сравнению с еклипсом. Но вот временами можно попытаться скомпилить проект и …. и пойти гулять, а вернувшись обнаружить, что работа остановилась в там же, где вы её и видели в последний раз, так как процесс просто висит.

2. Тормоза.

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

3. Различия в управлении (при переходе с Eclipse).

Тем, кто ранее работал в IntelliJ IDEA переход будет более безболезненным, добавление библиотек осуществляется так же, компиляция и её настройки тоже на месте, да и практически все остальное. А вот уроженцев еклипса я спешу расстроить… ВСЕ НЕ ТАК! По крайней мере для меня это именно так и показалось. Добавить библиотеку? Правой кнопкой мыши? – Не, не слышал, вписываем градлу dependencies. Хотя есть способ это сделать и через интерфейс, в свойствах проекта, но как-то не атмосферненько, при живом то градле. Весь код красный? Ошибки? Всё — одна сплошная ошибка? А вот и нет, вы просто открыли проект, но не синхронизировали его с Gradle, знаем что в клипсе такого не было, усаживайтесь поудобнее и начинайте хорошенько разбираться с этим самым градлом.

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

Плюсы.

1. Google inc.

Самой огромным плюсом является конечно же то, что разработчиком данной IDE является та же корпорация, которая выпускает платформу, под которую будем писать. Это означает более удобную интеграцию всех необходимых функций для новых версий Android. Уже сейчас, находясь в бете, студия получила все плюшки работы с Material Desig-ом , вернее они были добавлены сразу же, при выходе еще сырой версии Android L developers preview. Да и в будущем, кто как не сами создатели, будут делать все, для ускорения создания приложений, которые будут нести им денюжку прямо в их швейцарский карман.

2. Встроенный SDK.

Да, я знаю что существуют версии и других IDE с уже встроенным android SDK , но добавлены они туда не так тесно как в студии. К примеру вам нужно запустить старый проект, с низким API level, который по ненадобности вы просто не качали, половина классов заливаются краской, количество ошибок в проекте неумолимо растёт и вы понимаете, что чего-то тут не хватает, но чего? Какой версии api нет? нужно разбираться. Подобной ситуации при использовании студии не возникает. При использовании любого элемента, которого у вас нет, она сама определить где и чего не хватает и выкинет окошко с уведомлением. Более того, все будет выбрано за в

Фоторедакторы Android.


Набор редакторов фотографий для Android, которыми я пользуюсь.


Instagram.
Бесплатное и супер известное приложение/соц.сеть которое я использую исключительно в целях публикации моих кото-шедевров для дальнейшего сбора лайков. Не смотря на присутствие некоторого набора фильтров и функционала, использовать его в качестве редактирования фотографий просто невозможно. Фильтров крайне мало и к тому же практически все они обладают уникальной способностью придать фотографиям убогий вид. Единственный более-менее вменяемый фильтр это X-PRO II, правда и он обрисовывает какие-то рваные края, что должно выглядеть как некое подобие рамочки, которые вышли из моды еще с завершением сериала «Бригада» в 90-х. Но если кому-то необходимо СРОЧНО поделиться фоткой бутерброда, который заботливая мама положила в школьный рюкзак, тогда другие редакторы лучше и не трогать. Ведь ничто не может испортить отличный бутер 😉


PicsArt.
Screenshot_2014-06-24-17-51-51
Условно-бесплатный фоторедактор но уже обладающий более расширенным функционалом и более пригоден именно для редактирования. Тут вам и фильтриков целый вагон и коррекция фото. Ваш друг Вася развернул вас лицом к лампе и сделал ваш портрет, от чего у вас вышли настолько красные глаза, которым позавидовали бы вампиры из к/ф «Сумерки» ? Не беда, PicsArt в два касания исправит это и сделает их цветом вашего любимого мороженого. А так же отбелит зубы, уберёт прыщи, разгладит кожу,как в глянцевых журналах, и сделает пластическую операцию исправит все недочёты, которые допустил фотограф. 
Фильтров же тут достаточно для любых целей, будут вам и привычные, придающие некий стиль, и совсем хардкорные превращающие ваше творение в рисунок карандашом или что-то похожее на комикс. Действительно, данный редактор обладает очень большим количеством именно креативных фильтров, которые больше нигде не найти. 
Несмотря на такое разнообразие функционала, данное приложение я использую лишь для сотворение коллажей, так как тут имеется всевозможные заготовки для их приготовления,а так же возможность удобной и гибкой ручной настройки шаблона.
 
   
PIXLR EXPRESS.
Screenshot_2014-05-20-09-54-14
На этот раз абсолютно бесплатный редактор. В отличии от всех остальных существующих на этой планете редакторов — обладает самым полным набором коррекционного функционала. Тут действительно есть все, начиная от исправления недостатков фотографии и заканчи