Подключение реальных 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

Установка Eclipse и Android SDK в Ubuntu

Установка Eclipse и Android SDK в UbuntuАктуальная на сегодняшний день задача — установка комплекта разработчика мобильных приложений Android в операционной системе Ubuntu Linux. Процесс абсолютно не сложный, нужно просто понимать последовательность действий, и иногда требуется разрешение некоторых мелких проблем.

Я опишу проверенную последовательность действий для Ubuntu 14.04 и свежей, на момент написания инструкции, версии Eclipse 4.3.2 Kepler.

Шаг 1. Установка Eclipse IDE

Сразу оговорюсь, что на данный момент Eclipse IDE лучший выбор для разработки андроид приложений, да и для других он тоже подойдёт. Итак, скачаем свежую версию Eclipse с официального сайта, нам подойдёт редакция Eclipse Standard 4.3.2 (версия может отличаться), 32 или 64 бита, в зависимости от разрядности операционки.

Скачаный файл eclipse-standard-kepler-SR2-linux-gtk-x86_64.tar.gz нужно просто распаковать в директорию, из которой он будет запускаться. Я выбрал диреторию /opt/eclipse:

sudo tar -zxvf ./eclipse-standard-kepler-SR2-linux-gtk-x86_64.tar.gz -C /opt

Сделаем файл запускаемым:

sudo chmod +x /opt/eclipse/eclipse

Для удобства создадим символическую ссылку в нашей домашней директории, чтобы потом запускать по ней Eclipse IDE:

sudo ln -s /opt/eclipse/eclipse /home/username/eclipse

Теперь среду разработки можно запускать из папки /opt/eclipse или по символической ссылке.

Чтобы Eclipse заработал, системе потребуется Java, подойдёт «OpenJDK Java 7 Runtime» из центра приложений Ubuntu, иначе при запуске Eclipse появится сообщение об ошибке.
Continue reading