пятница, 24 мая 2013 г.

Добавление change функции для select объекта через jQuery


$("#region").on("change", function() {
                 что-то делаем
          });

#region - id объекта select формы

Обычно это прописывается в
document.ready(function(){

});

document.ready срабатывает, после загрузки всех элементов страницы.

Отключение второго элемента формы после проверки первого jQuery


if($('#cityId').attr('disabled')){
    $('#cityAreaId').attr('disabled', true);}

Здесь #cityId и #cityAreaId - это  айди элементов
.attr()  - функция, работающая с аттрибутами объектов
'disabled' - свойство
true - установка значения свойства.

воскресенье, 19 мая 2013 г.

Установка maven на windows7

  1. Скачиваем и устанавливаем jdk
    http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
    два варианта windows x64 и windows x32, выбор варианта зависит от типа вашей операционной системы. Устанавливаем.
    Тип можно посмотреть в система и безопасность->система.
  2. Скачиваем maven 2 или 3 по ссылке http://maven.apache.org/download.cgi , файл (Binary zip)
  3. Распаковываем , к примеру в пространство D:\maven
  4. Заходим в панель управления, заходим в система и безопасность->система, слева на панели есть "Дополнительные параметры",  далее в окне практически в самом низу есть "Переменные среды".
  5. В системных переменных создаем переменную JAVA_HOME, значением которой будет являться путь до установленных нами jdk библиотек.
    Например: C:\Program Files\Java\jdk1.7.0_21
  6. Создаем еще одну системную переменную MAVEN_HOME, значением которой будет являться место распаковки maven'а , в текущем примере это D:\maven
  7. Что бы мы могли общаться с мавеном из консоли добавляем ее в PATH, а именно находим в списке системных переменных переменную path, нажимаем изменить и дописываем строчку  ;%MAVEN_HOME%\bin
    ;  это что бы отделиться от предыдущей переменной, а  %что-то%  выдает нам значение созданной переменной. Везде нажимаем Ok.
  8. В командной строке прописываем mvn -version, если появилась информация о ваших jdk и maven, значит все работает исправно.
    По другому и не могло случится)

суббота, 11 мая 2013 г.

Пример простой транзакции hibernate


Session session = factory.openSession();
Transaction tx = null;
try {
   tx = session.beginTransaction();
   // do some work
   ...
   tx.commit();
}
catch (Exception e) {
   if (tx!=null) tx.rollback();
   e.printStackTrace(); 
}finally {
   session.close();
}

понедельник, 6 мая 2013 г.

Эффективность человеческих часов дня

9 фактов о работоспособности человека в течении дня:

1. С 6 до 7 утра – «окно», когда лучше всего работает долговременная память, вся полученная информация в этот промежуток усваивается легко.
2. С 8 до 9 включается логическое мышление, это наиболее подходящее время для любой деятельности, связанной - одновременно - с запоминанием и аналитикой.
3. С 9 до 10 утра – оптимальные часы для работы с информацией и статистикой.
4. С 11 до 12 дня эффективность интеллектуальных функций снижается, стало быть, можно переключить внимание на что-нибудь отвлеченное. Например, послушать музыку.
5. С 11 до 14.00 – самое подходящее время для обеда. На эти часы приходится пик, как говорят на Востоке, «огня пищеварения», когда принятая еда переваривается и усваивается наилучшим образом.
6. С 12.00 до 18.00 – идеальное время для активного труда. Труд в более поздние часы вынуждает мозг работать на износ. Первые признаки такого перенапряжения – сложности с засыпанием.
7. С 21.00 до 23.00 происходит наиболее полный отдых ума и нервной системы.
8. С 23.00 до 1 часа ночи, во сне, идет активное восстановление тонкой энергии. В китайской медицине ее именуют «ци», индийские йоги называют ее «праной», современная наука величает нервной и мышечной силой.
9. С 1 до 3 часов, во сне, человек восстанавливает эмоциональную энергию.

Вывод, если спать, то с 21 до 3, если работать то с 12 до 18, если учиться то с 6ти до 12ти.
Хм, так вот почему большинство времени своих школьных лет я ходил учиться в школу к 8 и оставался в ней максимум до 13.
Вторая смена это уже смена работяг, в классах постарше "дети" якобы работают уже в школе, а не учатся.
И все же надо потестить и остается вопрос, что же делать с временем между 3 - 6 утра ?
Спорт, скорей всего именно уделить внимание спорту.

среда, 10 апреля 2013 г.

Экспорт данных в Excel(библиотека jxl)


Задача по экспорту данных в Excel достаточно востребована.
В быту офисных работников зачастую документы представленные в табличном виде хранят именно в формате xls. А потому всю экспортируемую информацию, каких-то статистических данных отчетности необходимо сохранять в виде электронной таблицы.
Опишу пару главных объектов библиотеки jxl, а так же основных методов.

1)Создание файла, объекта книги и листа в данной книги
File myExcelFile = new File("myExcelFile.xls");
WritableWorkbook workbook = Workbook.createWorkbook(myExcelFile);
WritableSheet sheet = workbook.createSheet("export", 0);

2)Форматирование ячейки таблицы
WritableFont fontBig = new WritableFont(WritableFont.ARIAL, 16);
WritableCellFormat cellFormat = new WritableCellFormat(fontBig);
try {
//установка бордера
cellFormat.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK);
//выравнивание текста внутри ячейки по горизонтали
cellFormat.setAlignment(Alignment.CENTRE);
//выравнивание текста внутри ячейки по вертикали
cellFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
//перенос текста по словам, когда достигнута максимальная длина ячейки.
cellFormat.setWrap(true);

} catch (WriteException e) {
e.printStackTrace();
}

/*отсчет строк и колонок начинается с нуля, как принято в программировании, т.е. координатой ячейки A1 является точка(0,0); */
Label cell = new Label(column, row, "text", cellFormat);
sheet.addCell(cell);

3) Форматирование ЦЕЛИКОМ колонки 
Установка размера колонки, 17ть - это количество символов, а 256 это средняя длина одного символа, в результате чего получается нужная нам длина ячейки(колонки в нашем случае).
CellView thisView = new CellView();
thisView.setSize(17*256);
sheet.setColumnView(column, thisView);

4)Слияние ячеек. 
sheet.mergeCells(0, 9, 4, 12);
Что бы заполнить текстом ячейку после слияния, координата должна соответствовать координате первой ячейке в слиянии. т.е. в данном случае (0,9).

5)Для переноса текста внутри ячейки можно использовать последовательность "/012".
Label lb = new Label(0, 1, "asdasd" + \012);
sheet.addCell(lb);




понедельник, 8 апреля 2013 г.

Временные файлы java

В процессе разработки часто сталкиваюсь с необходимостью создания временного файла. И я вовремя узнал, что в JDK есть стандартный метод для создания временных файлов.
File tempFile = File.createTempFile("abc", "");
Этот метод создаёт временный файл в папке, специально предназначенной для временных файлов в данной операционной системе. Эта папка в разных ОС может называться по-разному, но для временного файла не очень важно, где он будет создан и как он будет называться. Важнее факт наличия специального каталога. После создания вы сразу получаете указатель на этот файл для дальнейшего манипулирования с ним.

Метод принимает два строковых параметра: префикс и суффикс. Префикс должен обязательно содержать не менее трёх символов. Префикс определяет начало имени временного файла. Суффикс определяет его конец, но он не обязателен. Если в качестве суффикса передать null, то временный файл получит расширение .tmp. Но ведь расширение ни на что не влияет, так что можно передать в качестве суффикса пустую строку, чтобы в конец имени временного файла ничего не добавлялось. Серединой же имени временного файла будет набор цифр.

Итак, для значений параметров, приведённых выше, метод создаст, например, такой файл:

/tmp/abc8859980780322653785
А вот этот файл может получиться, если в качестве суффикса передать null:
/tmp/abc7890857977307054209.tmp
Ну а если хотим заменить расширение tmp на что-нибудь другое, достаточно в качестве суффикса передать, например, ".temporary":
/tmp/abc7751462332148781358.temporary