
Некоторое время назад наш поиск стал работать быстрее. Особенно это заметно на сложных для движка запросах, в которых используется минимум фильтров и высокочастотные слова, что требует построить фасеты по результатам и отсортировать максимальные объёмы документов. Но и запросы средней сложности, где в выдаче немного документов, стали обрабатываться заметно быстрее. Почему возникла необходимость что-то ускорять и как мы это делали?
Читать полностью »
Рубрика «java» - 253
Как мы ускорили поиск на hh.ru
2013-11-28 в 9:22, admin, рубрики: java, lucene, Блог компании HeadHunter, параллельное программирование, поиск, Поисковые машины и технологии, метки: java, lucene, поискJavaFX и Spring. Вместе веселей
2013-11-28 в 7:11, admin, рубрики: Derby, java, javafx, maven, spring, метки: Derby, java, javafx, maven, spring 
В данной статье я хочу рассказать о своем опыте интеграции таких вещей как JavaFX и Spring. И заодно использовать базу данных Derby и Maven для сборки приложения.
Введение
JavaFX выглядит довольно удобной и привлекательной технологией для реализации десктопных решений на платформе Java. Начиная с версии Java SE 7 Update 6, JavaFX является частью реализации Oracle Java SE, т.е. никаких дополнительных установок на стороне пользователя не требуется.
Spring со своей стороны, дает удобные фишечки в виде IoC, управление транзакциями и т.д., которые не хочется реализовывать самому.
Путь к Java Junior Developer
2013-11-26 в 21:16, admin, рубрики: java, junior, junior developer, курсы, курсы программирования, образование, обучение, обучение программированию, собеседование вопросы, собеседования, метки: java, junior, junior developer, курсы, курсы программирования, образование, обучение, обучение программированию, собеседование вопросы, собеседования 
Здравствуйте.
Меня зовут Кислин Григорий. В начале ноября в Санкт-Петербурге закончился первый обучающий семинар «Java. Базовый курс», сейчас переименнованый в «Java. Junior Developer. Интенсив». Хочу поделиться с Вами полученным при его проведении опытом на тему обучения Java а также своим опытом трудоустройства на позицию Java разработчика.
Java Junior за 30 часов. Интенсив
2013-11-24 в 20:17, admin, рубрики: java, образование, обучение, обучение программированию, Программирование, разработка, метки: java, образование, обучение, обучение программированию 
Здравствуйте. Меня зовут Кислин Григорий, в начале ноября в Санкт-Петербурге был первый выпуск разработанного мной обучающего семинара Java. Базовый курс который сейчас планируется переименовать в «Java Junior. Интенсив» для более точного позиционирования. Хочу поделиться с вами полученным опытом на тему обучения Java и трудоустройства на позицию Java разработчика.
WebSphere Application Server Liberty Profile
2013-11-24 в 19:05, admin, рубрики: IBM, j2ee, java, jms, mongodb, WAS, WebSphere, websphere application server, метки: IBM, j2ee, java, jms, mongodb, WAS, web-services, WebSphere, websphere application serverВведение
Если раньше Вам приходилось сталкиваться с разработкой приложений для WebSphere Application Server (далее WAS), то Вы конечно же знаете, что это процесс небыстрый. Для этого требовалось разворачивать свой собственный, «тяжелый», сервер приложений, одна перезагрузка которого занимала длительное время. В команде разработки WebSphere долго думали над тем, как предоставить разработчикам самую простую, лучшую и доступную среду для создания новых веб-приложений для WAS. В результате в версии WAS 8.5 появился новый Liberty Profile, который значительно упрощает процесс разработки приложений для WAS.
Итак, что такое Liberty Profile и что он делает?
По сути Liberty Profile – это динамический профиль WAS, который позволяет WAS-серверу предоставлять только те функции, которые требуются приложению (или нескольким приложениям), развернутому на этом сервере. Если приложению нужны сервлеты, то запускается лишь ядро WAS, HTTP-транспорт и веб-контейнер. Все это происходит очень быстро (за несколько секунд) и требует весьма скромного объема ресурсов. Вам нужен JPA-провайдер для доступа к реляционным данным? Вам не придется долго искать, достаточно добавить опцию JPA и конфигурацию хранения данных и Liberty Profile включит все необходимое. Все это делается в динамическом режиме. Даже несмотря на то, что сервер перезапускается за несколько секунд, Вам не придется этого делать. Это очень важно для разработки, так как Вы постоянно добавляете в приложение новые возможности, меняете код и исправляете ошибки. Разработчикам необходимо, чтобы внесение изменений в программный код и в конфигурацию было простым, и чтобы эти изменения немедленно отражались в среде тестирования. Все это становится таким простым с Liberty Profile и новыми инструментами WAS Developer Tools.
Читать полностью »
Как это сделано — доступ к контенту iFrame с другого домена
2013-11-24 в 8:53, admin, рубрики: java, javascript, Блог компании Mail.Ru Group, Веб-разработка, вебразработка, метки: java, javascript, вебразработка Сегодня я хочу рассказать о том, как мы в своем проекте indexisto.com сделали дешевую китайскую подделку аналог инструмента Google Webmaster Marker. Напомню, что Marker это инструмент в кабинете Google Webmaster, который позволяет аннотировать ваши страницы Open Graph тегами не вставляли их в код страницы. Для этого вы просто размечаете контент вашей страницы в админке Google Webmaster. Страница грузиться в Iframe, Далее вы просто выбираете мышкой текст на странице и в контекстном меню помечаете, что это title, а это published_time.

Теперь Google, встретив подобную страницу на вашем сайте, уже знает, что за контент на ней опубликован и как его красиво распарсить в сущность (статью, товар, видео..)
Нам был нужен подобный функционал. Задача казалась несложной и исключительно клиентсайд. Однако на практике решение лежит на стыке клиентсайда и серверсайда. При этом «чистые» JS программисты могу ничего не знать про различные прокси серверы и очень долго подходить к снаряду.
Читать полностью »
Почти во всех реализациях двоичного поиска и сортировки слиянием есть ошибка
2013-11-23 в 18:54, admin, рубрики: c++, java, Алгоритмы, двоичный поиск, Джон Бентли, Джошуа Блох, Жемчужины программирования, отладка, Си, сортиовка слияниемЭто перевод статьи Джошуа Блоха «Extra, Extra — Read All About It: Nearly All Binary Searches and Mergesorts are Broken» 2006 года.
Я живо помню первую лекцию Джона Бентли в университете Карнеги-Меллон, на которой он попросил нас, свежеиспечённых аспирантов, написать функцию двоичного поиска. Потом он взял одно из решений и разобрал его на доске, и разумеется, в нём оказалась ошибка, как и во многих других наших попытках. Этот случай стал для меня наглядной демонстрацией к его книге «Жемчужины программирования». Мораль в том, чтобы внимательно расставлять инварианты в программе.
И вот, теперь 2006 год. Я был потрясён, узнав, что программа двоичного поиска, корректность которой Бентли доказывал формально и тестами, содержит ошибку. Не подумайте, что я придираюсь; по правде сказать, эта такая ошибка, что вполне может ускользать от тестеров десятилетиями. Более того, двоичный поиск, который я написал для JDK, тоже был багнутым лет эдак девять. И только сейчас, когда она сломала кому-то программу, о ней сообщили в Sun.
Читать полностью »
Краткий обзор Spring Security
2013-11-23 в 8:54, admin, рубрики: java, spring framework, Spring MVC, Spring Security, метки: spring framework, Spring MVC, Spring SecurityИтак, дорогой читатель, предлагаю тебе рассмотреть такие аспекты Spring Security как:
- Ключевые объекты контекста Spring Security.
- Процесс аутентификации в Spring Security.
- Подключение собственно самого Spring Security к проекту.
Книга «Java. Новое поколение разработки»
2013-11-22 в 7:52, admin, рубрики: java, Блог компании Издательский дом «Питер», издательский дом, Программирование, Читальный зал, метки: java, издательский дом, Программирование Всем привет.
Вот и вышла из типографии книга «Java. Новое поколение разработки». Прошлый пост можно почитать здесь. Книга доступна в печатном и электронном виде. До 28-го ноября действует акция со скидкой 20%, при покупке книг из раздела JavaScript, JScript, DHTML. Чтобы получить скидку, при оформлении заказа введите код купона: 68db5a.

Аннотация:
Что Java 8 нам готовит
2013-11-21 в 16:15, admin, рубрики: java, java8, новинки, Программирование, языки программирования, метки: java, java8, новинки, языки программированияПройдемся по новинкам и покодируем по-новому.
Итак, начнем по списку.
Допустим имеерся список.
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
Теперь вспомним как мы итерировали в старые времена:
for (int i = 0; i < numbers.size(); i++){
System.out.println(numbers.get(i));
}
Все здорово, но уж очень легко оступиться и поставить <= место < или начать с 1 вместо 0. В вышеприведенном коде мы полностью контролируем механику, мы держим в голове все движущие части. Это хорошо во многих случаях, и никто у нас этого не отобрал в Java 7, только добавили сахарку.
Читать полностью »
