Monthly Archives: Май 2013

Установка Virtual Box (для Windows)

Virtual Box (Oracle VM VirtualBox) - программный продукт виртуализации для операционных систем. Скачаем бесплатно Virtual Box с официального сайта https://www.virtualbox.org/wiki/Downloads Запустите файл VirtualBox-4.2.12-84980-Win.exe 01 В окне приветствия нажмите Next 02 Выберите директорию установки. Нажмите Next 03 Здесь можно выбрать в каких местах установить ярлыки на программу. Можно оставить все по умолчанию и нажать Next 04 Далее идет предупреждение, что сеть временно будет отключена, поэтому нужно закрыть все программы, работающие по сети и с интернетом. После этого можно нажать кнопку Yes. 05 Для установки все готово, нажимаем Install 05-2 Дождитесь окончания процесса установки, это займет несколько минут. 06 В процессе установки будет запрошена установка дополнительно ПО от Oracle. Отметьте флажок Always trust software from "Oracle Corporation" и нажмите Install. 07 Установка завершена! Нажмите Finish 08 Потребуется перезагрузка операционной системы. Нажмите Yes для незамедлительной перезагрузки. 09 Virtual Box запускается следующим ярлыком.

Настройка Eclipse для разработки под Android

В данной статье будет описано как настроить Eclipse для разработки Android приложений. Перечислю все необходимое ПО: 1) JDK 6 (Java Development Kit - Набор для разработки на Java) 2) Eclipse Classic 3) Android SDK (Software Development Kit - Набор средств разработки ПО) 4) ADT (Android Development Tools - Инструменты для Android разработки) - плагин для Eclipse JDK Процесс установки JDK описан в статье: Установка JDK (Windows) Eclipse После установки JDK переходим к установке Eclipse. Скачаем свежую версию Eclipse с официального сайта eclipse.org. Кликните на закладке Downloads, вам будут представлены различные сборки Eclipse. Для наших целей нужен классический Eclipse - Eclipse Classic (на момент написания статьи последняя версия была 4.2.2). Распакуйте скачанный архив в директорию c:\eclipse (или куда вам удобнее) Для удобства создайте ярлык на исполняемый файл eclipse.exe. Запустите eclipse. При первом запуске будет предложено выбрать директорию вашего рабочего пространства. Рабочие пространства группируют проекты. Если вам достаточно одного рабочего пространства, то можно установить флаг "Use this as the default and do not ask again". Установив этот флаг, eclipse не будет выводить это окно в следующий раз, и сразу откроет ваше рабочее пространство, заданное по умолчанию. Выбор рабочего пространства Android SDK Перейдите на страницу загрузки http://d.android.com/sdk На данной странице предлагается сказать сборку, в которой есть все необходимое для android-разработки. Но мы пойдем другим путем. Скачаем только Android SDK. Выберите пункт "DOWNLOAD FOR OTHER PLATFORMS" (скачать для других платформ), в таблице под названием "SDK Tools Only" (только SDK) скачайте установщик SDK для Windows (*.exe). Прочитав и согласивших с лицензионным соглашением, скачайте этот установщик. Перед установкой Android SDK нужно убедиться, что настроена переменная среды JAVA_HOME (Как прописать системную переменную JAVA_HOME), иначе установщик ругнется, не найдя JDK. Запустите установщик installer_r21.1-windows.exe. В окне приветствия нажмите Next welcome На следующем шаге установщик определяет расположение JDK по системной переменной JAVA_HOME. Если JDK найдено, нажимаем кнопку "Next". jdk-found В окне выбора пользователей укажите опцию "Install for anyone this computer" (установить для всех пользователей компьютера). Если же хотите установить только для себя, то выберите вторую опцию "Install just for me". Нажмите "Next". choose-users В окне выбора места установки оставьте все по умолчанию и нажмите "Next". choose-install-location В окне создания ярлыка в меню можно также оставить все без изменения и нажать "Install". install После успешного завершения установки нажмите "Next". installation-complete В финальном окне установщика оставьте галочку "Start SDK Manager", чтобы запустить SDK Manager, после нажатия кнопки "Finish". start-sdk-manager После запуска SDK Manager предложит установить последную версию API. Если вам нужны предудыщие версии укажите их и нажмите кнопку "Install packages..." sdk-manager Согласитесь с лицензией "Accept License" и нажмите "Install" sdk-accept-license Начнется скачивание выбранных вами пакетов из интернета. ADT Установка плагина ADT для Eclipse. Запускаем Eclipse. В меню Help выберите пункт "Install New Software...". Нажмите кнопку "Add..." (Добавить) Появиться окно добавления хранилища: add-repository В нем укажите название "Android Development Tools" и адрес расположения "https://dl-ssl.google.com/android/eclipse/". Нажмите "OK" После нескольких секунд ожидания в списке должна появиться запись "Development Tools", отметьте ее галочкой и нажмите "Next". В следующем окне также нажмите "Next". В обзоре лицензионного соглашения согласитесь с ней и нажмите "Finish". В процессе установки выйдет окно Security Warning, просто нажмите в нем OK. По завершению установки плагина ADT будет предложено перезагрузить Eclipse, согласитесь с этим. При запуске Eclipse может выйти следующая ошибка: 1 Eclipse не может найти SDK, потому что мы установили SDK по умолчанию в директорию: C:\Program Files (x86)\Android\android-sdk. Чтобы переназначить путь к SDK откройте меню Windows -> Preferences. В окне Preferences в поле SDK Location укажите путь к Android SDK и нажмите OK. 2 Всё Eclipse готов для разработки Android-приложений.

Установка и настройка SQuirreL SQL Client

Рассмотрим установку моего любимого sql-клиента SQuirreL SQL Client на Windows 8 Скачиваем свежую версию файла squirrel-sql-<версия>-install.jar с официального сайта http://www.squirrelsql.org/#installation Начнем с того, что SQuirreL SQL Client написан на java. Поэтому на компьютере должна быть установлена Java (см. статью Установка JDK (Windows)). Не удивляйтесь, что установщик представлен jar-файлом, это все благодаря IzPack. Установщик нужно запустить с правами администратора, иначе установщик не сможет создать папку и записать данные в папку C:\Program Files. Можно, конечно, установить в папку, на которую у вас есть доступ, но мы все же установим в папку C:\Program Files. Нажмите кнопку Windows, затем наберите cmd, должна появиться строка запуска командной строки. Вызовите на ней контекстное меню и выберите пункт Запуск от имени администратора. Наберите следующую команду, указав полный путь к jar-файлу.
java -jar c:\temp\squirrel-sql-3.5.0-install.jar
Если в пути есть пробелы, то заключите путь в кавычки:
java -jar "C:\Program Files\Java\jdk1.6.0_43\bin\squirrel-sql-3.5.0-install.jar"
Должно появиться окно приветствия: 1 В окне приветствия просто нажмите Next. 2 В следующием окне также нажмите Next 3 Директорию установки оставим без изменения, нажмем Next. Установщик сообщит, что будет создана новая директория, согласитесь с этим, нажатием кнопки OK. 4 В окне выбора пакетов можно выбрать дополнительные плагины для СУБД, которые планируем использовать. Я выбрал плагины для MySQL, Oracle, Microsoft SQL Server и DB2. Также выбрал плагин русского языка. 5 После копирования и установки файлов нажмите Next. 6 Можно разрешить установку ярлыка на рабочий стол и нажать Next. 7 Установка завершена, нажимаем Done. Установка драйверов "Голый" squirrel содержит только драйвер "JDBC ODBC Bridge". Для подключения драйвера скопируйте файл драйвера в директорию C:\Program Files\squirrel-sql-3.5.0\lib в соответствии со следующей таблицей:
СУБД Файл драйвера
MySQL mysql-connector-java-5.1.5-bin.jar
Oracle ojdbc14.jar
Microsoft SQL Server sqljdbc.jar
DB2 db2java.zip db2jcc.jar db2jcc_license_cu.jar (нужны все три файла)
Для проверки подключения драйверов откройте Squirrel, выберите вкладку Drivers и нажмите кнопку Показывать только загруженные драйверы. Вы увидите список доступных драйверов: 8 Подключение к базе данных 9 Выберите вкладку Aliases и нажмите синий плюс для добавления нового подключения. Выберите произвольное название для подключения, выберите нужны драйвер из списка, укажите строку подключания, пользователя и пароль. Также вы можете установить флаг "Auto logon", чтобы при открытий, созданного подключения, автоматически происходила авторизация. Нажмите OK. Созданный alias появиться в списке: 10 Подключение устанавливается двойных щелчком по alias. При успешном подключении с базой данных можно работать в двух режимах: Objects (работа с объектами базы данных) и SQL (режим sql-запросов). 11 Ниже приведены примеры для создания подключений к некоторым СУБД:
СУБД Драйвер Строка подключения
MySQL MySQL Driver jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8
Oracle Oracle Thin Driver jdbc:oracle:thin:@localhost:1521:TEST
Microsoft SQL Server Microsoft MSSQL Server JDBC Driver jdbc:sqlserver://localhost:1433;characterEncoding=UTF8;databaseName=test
DB2 IBM DB2 Net Driver jdbc:db2://localhost:50000/TEST
Microsoft Access JDBC ODBC Bridge jdbc:odbc:test

Перемешивание букв в словах

Не имеет значения в каком порядке расположены буквы в слове ...
По рзелульаттам илссеовадний одонго анлигйсокго унвиертисета, не иеемт занчнеия, в кокам пряокде рсапожолены бкувы в солве. Галвоне, чотбы преавя и пслоендяя бквуы блыи на мсете. Осатьлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все рвано ткест чтаитсея без побрелм. Пичрионй эгото ялвятеся то, что мы не чиатем кдаужю бкуву по отдльенотси, а все солво цликеом:))
Сегодня я приведу примеры реализации таких перемешиваний букв в словах. Первая реализация будет на языке Java, а вторая реализаций будет на JavaScript. Реализация на Java Цель: создать метод turn, который принимает строку, а возвращает строку со словами, в которых перемешаны все буквы, кроме первой и последней. Например, turn("По результатам исследований") вернет следующий текст: "По рзлуаьаттем иаслсеодинвй" Необходимо подключить следующие пакеты для работы с регулярными выражениями:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
Самое главное - регулярное выражение. \p{L} - означает unicode символ {4,} - задает количество от 4 до бесконечности
//регулярное выражение поиска unicode-последовательности из более 3-х символов
static final Pattern p = Pattern.compile("\\p{L}{4,}");
Реализация функции turn:
//функция принимает строку в обычном виде,
//а возвращает в перемешанном
static String turn(String str){
	//разбор строки
	Matcher m = p.matcher(str);
	//обработанные данные будем добавлять в переменную sb
	StringBuilder sb = new StringBuilder();
	//перебираем все фрагменты, которые нужно перемешать
	while(m.find()){
		//создаем массив из номеров позиций букв в массиве,
		//которые нужно перемешать
		int size = m.end() - m.start() - 2;
		int[] a = new int[size];
		int ndx = 0;
		for(int j = m.start() + 1;j < m.end() - 1;j++){
			a[ndx++] = j;
		}		
		//просто копируем все символы, которые не нужно перемешивать
		for(int i=sb.length();i<=m.start();i++){
			sb.append(str.substring(i, i+1));
		}
		//перемешиванием массив
		mix(a);
		
		//добавляем в переменную sb перемешанные буквы
		for(int el : a){
			sb.append(str.substring(el, el + 1));
		}
	}	
	//добавляем последние символы, которые перемешивать не нужно
	for(int i=sb.length();i

Ниже приведена функция перемешивания массива:
//функция перемешивания массива
static void mix(int[] arr){
	for(int i=0;i

Реализация на JavaScript
Из-за особенностей JavaScript реализация будет немного отличаться.
JavaScript поддерживает регулярные выражения, но не поддерживаются класс unicode-символов, а нам нужен класс символов \p{L}.
Для решения этой проблемы будем использовать плагин XRegExp.
Скачаем плагин с официального сайта http://xregexp.com/plugins/ или отсюда

Подключаем плагин к странице:

Регулярное выражение создается с помощью функции XRegExp, в которую первым параметром передаем шаблон регулярного выражения(описание шаблона см.выше), а вторым параметром флаг g, означающий поиск всех совпадений.
var exp = XRegExp('\\p{L}{4,}','g');
В реализации функции turn есть несколько ньюансов: 1) Вместо ресурсозатратной операции конкатенации(склеивания) строк мы будет добавлять символы в массив с помощью метода push. В конце мы сольем все элементы массива с помощью функции join, которая параметром принимает разделитель между элементами, а в нашем случае это пустая строка. 2) В JavaScript при использовании такого синтаксиса: for(el in arr), в переменную el кладется не элемент массива, а ключ. Чтобы получить элемент нужно получить его из массива по ключу: arr[el].
//функция принимает строку в обычном виде,
//а возвращает в перемешанном
function turn(text){
	//обработанные данные будем добавлять в массив res
	var res = [];	
	//перебираем все фрагменты, которые нужно перемешать
	while(match = exp.exec(text)){	
		//создаем массив из номеров позиций букв в массиве,
		//которые нужно перемешать
		var first = match.index + 1;
		var last = match.index + match.toString().length - 2;
		var arr = [];
		for(i=first;i<=last;i++){
			arr.push(i);
		}
		
		fix(arr);//перемешиванием массив
		
		//просто копируем все символы, которые не нужно перемешивать
		for(i=res.length;i<=match.index;i++){
			res.push(text.substring(i,i+1));
		}
		
		//добавляем перемешанные символы
		for(el in arr){
			var ndx = arr[el];
			res.push(text.substring(ndx,ndx+1));
		}	
	}
	//добавляем последние символы, которые не нужно перемешивать
	for(i=res.length;i

Код перемешивания элементов массива:
//функция перемешивания массива
function fix(arr){
	for(i=0;i

Готовую реализацию можно увидеть на странице: Перемешивание букв в словах (Пример)