Установка Google Play Services в Eclipse

Эта простая пошаговая инструкция расскажет как установить Google Play Services, необходимое для Google Maps API v2 и прочих сервисов, которые предлагает разработчикам компания Google.

Сначала нужно установить Google Play Services из источников Android SDK. Для этого открываем менеджер пакетов Android в Eclipse:

Window > Android SDK Manager

Или напрямую с диска (в моём случае это /opt/android-sdk-linux/tools/android) и устанавливаем Google Play Services во подменю Extras.

Continue reading

Подключение реальных android-устройств в Android Studio и Eclipse

Подключение реальных android-устройств в UbuntuЭта простая инструкция поможет подключить обычные физические android-устройства в режиме USB debugging mode к среде разработки в Ubuntu. Тестирование приложения на реальном устройстве гораздо продуктивнее и эта инструкция расскажет как сделать это на устройстве, без дополнительных утомительных действий. Достаточно просто запустить приложение в среде разработки Android Studio или Eclipse и оно автоматически стартует на устройстве. С выходом новых карт Google Maps API v2 для ОС Android, это стало весьма актуально, т.к. на данный момент не получится полноценно использовать Google Play Services на эмуляторе.

Прежде чем начать подключать устройство к системе, следует включить режим USB debugging на самом смартфоне или планшете, это включается в меню:

Android 3.2 и более ранние версии:
Settings > Applications > Development

Android 4.0 и выше:
Settings > Developer options

ВАЖНО: В Android 4.2 и выше, Developer options скрыто по умолчанию. Для активации опции нужно зайти в меню Settings > About phone и нажать на Build number семь раз. После этого следует вернуться в предыдущий пункт Developer options.

Теперь начнём, добавим правило работы с нужным нам USB устройством, для этого создадим следующий файл:

sudo touch /etc/udev/rules.d/51-android.rules
Continue reading

Полная замена переносов строк в JavaScript при помощи PHP

Для передачи данных посредствам AJAX или других JavaScript-функций, иногда требуется избавиться от переносов строк. Как показала практика, просто удалить или заменить командные символы возврата и новой строки, \r и \n, недостаточно.

Приведу наиболее полную последовательность «нежелательных» символов для замены, и их обработку через PHP-функцию str_replace():

// массив спецсимволов для замены
$search = array(PHP_EOL, chr(10), chr(13), '\r' , '\n', '\t', '\x0B', '\0');
// на что заменять
$replace = '';
// текст с переносами строк
$sometext = '...';
// функция замены переноса строк
$newtext = str_replace($search , $replace, $sometext);

При желании можно заменять символы не на пустую строку, а на уникальный флаг, например %newline%, или HTML-тег <br />. Тогда процесс станет обратимым и переносы возможно будет восстановить.

Проверка на чётность в JavaScript

В этой небольшой инструкции описано несколько примеров определения чётности / нечётности в JavaScript, а также при помощи библиотеки jQuery.

Способ первый, нативный JS, деление по модулю

var isEven = function(someNumber) {
  return (someNumber % 2 == 0) ? true : false;
};

Оператор % возвращает значение остатка при делении первого операнда на второй. Результат будет иметь тот же знак, что и первый операнд.

Использовать эту функцию очень просто:

isEven(64); // вернёт true
isEven(97); // вернёт false

Способ второй, jQuery

$("tr:even").css("background-color", "#BBBBFF");

В этом случае все чётные тэги tr будут наделены соответствующим стилем CSS.

Проверка на нечётность в jQuery, делается по аналогии с указанным выше способом, только вместо флага even указывается флаг odd.

Continue reading

Как удалить сайт из панели Unity

Эта короткая инструкция расскажет как удалить сайт (веб приложение или web application) из панели Unity в ОС Ubuntu.

Нужно воспользоваться встроенным приложением dconf-editor, для запуска нажимаем Alt + F2 и вводим название приложения dconf-editor, после чего нажимаем Enter.

Откроется окно, на подобии этого:

Как удалить сайт из панели Unity


Continue reading

Установка Apache 2, PHP 5 и MySQL в Ubuntu

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

Установка сервера Apache 2

В терминале запускаем процесс установки apache2 из стандартных репозиториев:

sudo apt-get install apache2

Чтобы сервер заработал следует выполнить стандартную команду перезагрузки процесса:

sudo service apache2 restart

Теперь, если перейти по ссылке http://localhost будет отображаться приветственный текст, вроде такого:

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

Continue reading

Table ‘…’ is marked as crashed and last (automatic?) repair failed

Эта простенькая инструкция расскажет как восстановить MySQL таблицу формата MyISAM, при ошибке:

Table 'crashed-table' is marked as crashed and last (automatic?) repair failed

Причины такой ошибки могут быть разные, рассмотрим простое решение на основе встроенной утилиты myisamchk. Нам потребуется доступ в консоль сервера, локально или по SSH.

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

cd /var/lib/mysql/
Continue reading

Заголовок attachment через .htaccess

Простая инструкция по установке загаловка attachment, для загрузки файлов, с помощью файла .htaccess.

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

touch /path/to/dir/.htaccess

Откроем его на редактирование:

nano /path/to/dir/.htaccess

И добавим в него следующие строки:

<filesMatch "\.(htm|php)$">
<ifModule mod_headers.c>
 ForceType application/octet-stream
 Header set Content-Disposition attachment
</ifModule>
</filesMatch>

Continue reading

Настройка ACL доступа для IMAP, доступ только на чтение

Настройка ACL доступа для IMAP, доступ только на чтениеВсё чаще в работе с почтой используется протокол IMAP, что достаточно удобно, потому что это протокол синхронизации, в отличии от трансферного протокола POP3. Но вот если одним и тем же ящиком пользуются несколько человек, например служба поддержки компании, то могут возникнуть проблемы, как случайные, так и с умыслом. Самая частая — удаление сообщений на одном клиенте влечёт за собой синхронное удаление на всех активных клиентах, в том числе и на сервере.

Эта инструкция объяснит как можно ограничить доступ к ящику по протоколу IMAP. Предполагается что в системе уже есть установленный сервер Dovecot, как описано в статье Серверная почта на основе Postfix, Dovecot и MySQL для Debian.

Мы воспользуемся плагином ACL (Access Control Lists). Чтобы его активировать нужно открыть на редактирование файл конфигурации dovecot:

nano /etc/dovecot/dovecot.conf

Continue reading

Установка PHP 5.4 в Ubuntu

Самая свежая версия PHP 5.4 может понадобиться для перспективного тестирования готовых наработок. Установка довольно проста, если связка Apache, PHP, MySQL уже есть.

Нам нужно добавить репозиторий с самой свежей версией PHP 5.4:

sudo add-apt-repository ppa:ondrej/php5

Далее обновим наши данные и просто установим PHP 5.4, как обычный пакет:

sudo apt-get update
sudo apt-get install php5 libapache2-mod-php5