понедельник, 14 марта 2011 г.

Выбор директории в java c помощью JFileChooser

Чтобы в Java в диалоге выбора файлов JFileChooser вместо файлов можно было выбрать только папки следует задать следующие параметры JFileChooser'а
fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
fileChooser.setAcceptAllFileFilterUsed(false);

четверг, 10 марта 2011 г.

Как увеличить скорость скачки с торрентов

Одной из главных причин относительно невысокой скорости работы торрентов в Windows XP чаше всего является наличие ограничения на количество одновременных полуоткрытых исходящих TCP соединений (half-open connections или connection attempts).
По умолчанию их число равно 10, и для хорошей работы торрентов этого явно недостаточно. Исправить это недоразумение возможно так называемым патчем Half-open limit fix. Скачать последнюю версию и почитать подробное описание патча можно на сайте автора.

Здесь на всякий случай выкладываю версию 4.2

вторник, 8 марта 2011 г.

Автоматическое резервное копирование домашнего каталога на ftp на хостинге с CPanel

Полное резервное копирование домашнего каталога сайта на ftp можно осуществить с использованием следующего php-скрипта

<?php

// PHP script to allow periodic cPanel backups automatically, optionally to a remote FTP server.
// This script contains passwords.  KEEP ACCESS TO THIS FILE SECURE! (place it in your home dir, not /www/)

// ********* THE FOLLOWING ITEMS NEED TO BE CONFIGURED *********

// Info required for cPanel access
$cpuser = "username"; // Username used to login to CPanel
$cppass = "password"; // Password used to login to CPanel
$domain = "example.com"; // Domain name where CPanel is run
$skin = "x"; // Set to cPanel skin you use (script won't work if it doesn't match). Most people run the default x theme

// Info required for FTP host
$ftpuser = "ftpusername"; // Username for FTP account
$ftppass = "ftppassword"; // Password for FTP account
$ftphost = "ftp.example.com"; // Full hostname or IP address for FTP host
$ftpmode = "ftp"; // FTP mode ("ftp" for active, "passiveftp" for passive)

// Notification information
$notifyemail = "you@example.com"; // Email address to send results

// Secure or non-secure mode
$secure = 0; // Set to 1 for SSL (requires SSL support), otherwise will use standard HTTP

// Set to 1 to have web page result appear in your cron log
$debug = 0;

// *********** NO CONFIGURATION ITEMS BELOW THIS LINE *********

if ($secure) {
   $url = "ssl://".$domain;
   $port = 2083;
} else {
   $url = $domain;
   $port = 2082;
}

$socket = fsockopen($url,$port);
if (!$socket) { echo "Failed to open socket connection... Bailing out!\n"; exit; }

// Encode authentication string
$authstr = $cpuser.":".$cppass;
$pass = base64_encode($authstr);

$params = "dest=$ftpmode&email=$notifyemail&server=$ftphost&user=$ftpuser&pass=$ftppass&submit=Generate Backup";

// Make POST to cPanel
fputs($socket,"POST /frontend/".$skin."/backup/dofullbackup.html?".$params." HTTP/1.0\r\n");
fputs($socket,"Host: $domain\r\n");
fputs($socket,"Authorization: Basic $pass\r\n");
fputs($socket,"Connection: Close\r\n");
fputs($socket,"\r\n");

// Grab response even if we don't do anything with it.
while (!feof($socket)) {
  $response = fgets($socket,4096);
  if ($debug) echo $response;
}

fclose($socket);

?>



Этот скрипт нужно поместить в файл в кодировке UTF-8(без BOM) и загрузить на сервер в не публичный каталог(в файле содержатся пароли, поэтому нежелательно чтобы кто-то мог его посмотреть). Затем добавить в cron в качестве задания.

Статья (на английском языке) из которой взят скрипт, находится здесь

понедельник, 7 марта 2011 г.

Связываем Redmine с репозиторием svn на хостинге с CPanel

На самом деле ничего сложного, все делается точно также как и на любом другом типе хостинга.
 
Кратко: из под аккаунта администратора заходим  в настройки проекта -> репозитории (administration -> projects -> projectname -> Repository). Там выбираем тип subversion, указываем адрес, логин, пароль и жмем применить. 

 Все остальное можно почитать здесь.

Возможная причина появления ошибки 0xc0000022

Недавно столкнулся с проблемой запуска программы dropbox. При попытке запуска появлялось сообщение следующего содержания: "Dropbox.exe - Ошибка при инициализации приложения (0xc0000022). Для выхода из приложения нажмите кнопку "ОК"."

 Долгое время (дня 2) не мог понять в чем проблема, однако все оказалась на удивление просто - причина была в файрволе (Agnitum Security Suite 7.1). После добавления файла Dropbox.exe в исключения файрвола - проблема исчезла.

UPD: Мной было обнаружено, что подобная ошибка при работе приложений также часто может возникать из-за некорректно нестроенных параметров безопасности. Наиболее простым решением такой проблемы будет установка исправления от майкрософт для восстановления параметров безопасности по умолчанию со страницы http://support.microsoft.com/kb/313222/ru

четверг, 3 марта 2011 г.

Основные методы jQuery Node


Библиотека jQuery превращает объекты DOM в узлы jQuery (nodes). Эти узлы имеют следующие методы (далее информация на английском языке, почерпнутая из различных туториалов).

  • addClass(), removeClass(), toggleClass() - Applies or removes a CSS class to a jQuery node.
  • css("attribute", "value") - Applies a single CSS rule to the jQuery node.
  • Css(JSONObject) - Applies JSON object list of CSS rules and values to the jQuery node.
  • html() - Reads or changes the HTML contents of the jQuery node.
  • text() - Reads or changes the text contents of a jQuery node.
  • val() - Reads the value of a form element.
  • bind(event, function) - Triggers function to occur when event occurs.
  • Show(), hide(), toggle() - Makes element appear or disappear.
  • animate(parameters, duration) - parameters is a JSON object consisting of CSS rules and values. Values are smoothly changed from current value to target value over duration (measured in milliseconds).

среда, 2 марта 2011 г.

Перенос svn репозитория

Делаем дамп репозитория на старом сервере
svnadmin dump /var/svn/project/ > /tmp/svn.dump
Копируем этот дамп на новый сервер:
scp /tmp/svn.dump user@newserver:/tmp/
Создаем пустой репозиторий на новом сервере:
svnadmin create /var/svn/project/
Загружаем туда дамп:
svnadmin load /var/svn/project/ < /tmp/svn.dump
Возможно придется в рабочих копиях проекта сменить URL репозитория на новый. Для начала проверяем совпадает ли наш URL c uRLом сайта.
svn info url/of/repos/
Если не совпадает, тогда меняем его
cd /var/www/project/
svn switch --relocate OLD_URL NEW_URL

Установка svn (Subversion) на хостинг с CPanel

Подключаемся по ssh к серверу. Создаем папку с репозиториями.
mkdir /home/username/svn
mkdir /home/username/svn/repos

Создаем пустую папку для первого репозитория
mkdir /home/username/svn/repos/repo1

Далее создаем репозиторий в папке repo1
svnadmin create /home/username/svn/repos/repo1/

Настраиваем права пользователей. Для этого в файл /home/username/svn/repos/repo1/conf/svnserve.conf добавляем следующие строки.

[general]
anon-access = none
auth-access = write
realm = Test Repository
password-db = passwd

Информация об авторизации пользователей хранится в файле ‘passwd’ в той же директории что и файл svnserve.conf в формате
Username = password
Теперь необходимо запустить сервис свн
svnserve -d -r /home/username/svn/repos/
Для отладки удобнее запускать svnserve с параметром --foreground, тогда можно в любом момент остановить сервис нажатием ctrl + c.

Теперь на клиентском компьютере импортируем необходимую нам папку в репозиторий
svn import -m ‘Initial Import’ path/to/folder/ svn://domainname/repo1/
Проверяем работает ли свн с помощью команды
svn info svn://domainname/repo1/

Работа с процессами в unix

Для получения информации о процессах используется команда ps.
Чтобы получить список процессов, запущенных определенным пользователем необходимо выполнить
ps -u username

Для завершения процесса используется команда
kill pid
В pid указывается pid процесса, который можно посмотреть командой ps

Ярлыки

java (31) оптимизация (7) CPanel (5) svn (5) windows xp (5) ошибка (5) свой сервер (5) файлы и папки (5) gui (4) регулярные выражения (4) jacoco (3) redmine (3) windows (3) автоматизация (3) защита данных (3) резервное копирование (3) сервер (3) JavaScript (2) Oracle SQL (2) adsl модем (2) apache maven (2) apache tomcat (2) coverage (2) dropbox (2) excel (2) firewall (2) netbeans (2) office 2007 (2) samsung (2) system tray (системный трей) (2) xerox (2) вирусы (2) принтер (2) сериализация (2) удаленный рабочий стол (2) HTML (1) JFileChooser (1) MySQL (1) Nokia (1) Ovi (1) P660R-T1 (1) WakeOnLan (1) blogger.com (1) ctfmon.exe (1) email (1) flash память (1) ftp (1) integration testing (1) ip (1) jQuery (1) jvisualWm (1) log4j (1) look and feel (1) myBatis (1) php (1) serialVersionUID (1) skype (1) smtp (1) ssh (1) swing (1) torrents (1) unit-testing (1) unix (1) vpn (1) windows 7 (1) xStarter (1) zip (1) безопасность (1) вход в систему (1) дизайн (1) документация (1) заправка (1) интернет (1) логирование (1) мышь (1) патч (1) перенос (1) печать (1) плагины (1) почтовые сообщения (1) программирование (1) процессы (1) прошивка (1) сеть (1) сеть. ошибка (1) скрытые файлы (1) списки (1) фильтрация (1) фокус (1) часовые пояса (1) шифрование (1) экран (1)