Pull to refresh
3
0
Send message

Google Annotations Gallery

Reading time4 min
Views1.7K
The Google Annotations Gallery — новая open-source библиотека, которая предоставляет широкие возможности программистам для самовыражения. Вы не находите, что стандартные Java аннотации суховаты и безжизненны? Вам не хотелось поставить аннотацию LOL или Facepalm (?) Тогда, эта галерея для вас.

Исходный код: code.google.com/p/gag

Описание аннотаций


@AnimalsHarmedDuringTheMaking

Аннотация @AnimalsHarmedDuringTheMaking позволяет раскрыть факты о жестоком обращении с животными.
Copy Source | Copy HTML
  1. @AnimalsHarmedDuringTheMaking(
  2.     number = 1,
  3.     animal = "хомяк",
  4.     disclosure = "не кормил Fermie 2 дня чтобы закончить вовремя")
  5. public class ConstantTimePrimalityTest {

Читать дальше →
Total votes 76: ↑70 and ↓6+64
Comments6

Подсчёт времени выполнения метода через аннотацию

Reading time8 min
Views20K
Во многих проектах требуется посчитать время, которое затратил тот или иной метод. Для этого можно вручную сохранять значение System.currentTimeMillis() и после метода вычислять затраченное время. Когда методов много это становится не очень удобным.
Поэтому я решил написать простенькую аннотацию, которая бы считала время выполнения метода. Попытавшись найти информацию в интернете, понял, что её по данной теме очень мало. Придётся как-то выкручиваться, собирая информацию по крупицам.
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments30

Java EE 6. Обзор JPA 2.0, часть 2: Коллекции

Reading time3 min
Views24K


image

Продолжение серии. Ранее: Java EE 6. Обзор JPA 2.0, часть 1: Введение. В данной статье я продолжаю рассматривать изменения в JPA.

Встроенные коллекции

Введенный в JPA 2.0 компонент ElementCollection позволяет задавать политики отображения для необычных в JPA 1.0 видов коллекций: коллекций embeddable объектов, либо коллекций «простых» типов (Integer, String и т.д.). Также это компонент используется при в определениях отношений с Map, в роли ключа которого выступают любого рода объекты, а в роли значения — embeddable или «простые» объекты.

Значения ElementCollection всегда хранятся в отдельных таблицах, которые задаются аннотацией @CollectionTable. CollectionTable отпределяет имя таблицы и @JoinColumn или @JoinColumns в случае составного первичного ключа.
Читать дальше →
Total votes 35: ↑27 and ↓8+19
Comments2

Java по-русски. Часть вторая: интернет-ресурсы

Reading time3 min
Views205K
В продолжение первой части. Сегодня будем рассматривать ресурсы о Java в интернете, которые подразделим на 4 части: вендоры, JUG, форумы, новости. А заодно подведём итоги.

Вендоры


Sun Microsystems

image
Основной сайт компании Sun содержит чисто рекламную информацию, поэтому рассматривать мы будем Сеть Разработчиков. Итак, что же здесь есть:
  • JavaFX — хит сезона. В рамках продвижения Sun проводит конкурсы по этой технологии, ещё вы можете найти документацию на русском языке и даже Wiki.
  • Академические программы — информация об образовательных программах. В основном это курсы для преподавателей и учебные материалы — лекции, написанные в рамках грантов.
  • Java SE, Java EE, Java ME, JavaCard за 2009 год не содержат практически никаких обновлений, а за предыдущие года есть разве что переводы некоторых статей.
  • Форум довольно мёртвый, за исключением раздела о JavaFX.
  • Ещё есть переводы англоязычных блогов The Aquarium и The Planetarium, посвящённых новостям о Java EE и Java для всех других платформ(SE, ME, FX, etc...) соответственно.

Читать дальше →
Total votes 31: ↑22 and ↓9+13
Comments12

Обзор литературы по Data Mining

Reading time7 min
Views66K
Добрый день!

Публикация нескольких статей о Data Mining показала высокий интерес сообщества к данной теме. Много вопросов было задано по типу «где почитать» и «с чего начать». Предлагаю вашему вниманию подборку литературы, ресурсов для уверенного старта в данной области.

Читать дальше →
Total votes 54: ↑50 and ↓4+46
Comments22

Анализ рыночной корзины и ассоциативные правила

Reading time3 min
Views29K
В продолжении темы о Data Mining поговорим о том, с чего все начиналось. А начиналось все с анализа рыночной корзины (market basket analysis).

Из глоссария BaseGroup:

Анализ рыночной корзины — процесс поиска наиболее типичных шаблонов покупок в супермаркетах. Он производится путем анализа баз данных транзакций с целью определения комбинаций товаров, связанных между собой. Иными словами, выполняется обнаружение товаров, наличие которых в транзакции влияет на вероятность появления других товаров или их комбинаций.

Результаты, полученные с помощью анализа рыночной корзины, позволяют оптимизировать ассортимент товаров и запасы, размещение их в торговых залах, увеличивать объемы продаж за счет предложения клиентам сопутствующих товаров. Например, если в результате анализа будет установлено, что совместная покупка макарон и кетчупа является типичным шаблоном, то разместив эти товары на одной и той же витрине можно «спровоцировать» покупателя на их совместное приобретение.

Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments11

Извлечение данных или знаний?

Reading time3 min
Views11K
Приветствую!

Стало любопытно, насколько представлена тема Data Mining на хабре. Увидел лишь одну статью, посвященную данной тематике. Хочу сделать свой небольшой вклад в развитие данной темы.

Исторически сложилось, что у термина Data Mining есть несколько вариантов перевода:
  • извлечение данных
  • извлечение знаний, интеллектуальный анализ данных

Если говорить о способах реализации, то первый вариант относиться к прикладной области, второй — к математике и науке, и, как правило, они мало пересекаются. Если говорить о возможности применения — тут вариантов очень много. Так получилось, что я работал как с первым вариантом (в университете — научная работа), так и с другим (работа, фриланс). Рассмотрим подробнее.

Извлечение данных


Извлечение данных — это процесс нахождения, сбора информации, а также сохранения (конвертация) их в разных форматах. По простому, программы для извлечения данных называют парсерами (parser), граберами (grabber), спайдерами (spider), кроулерами (crawler) и т.д. Фактически, такие программы существенно облегчают всем жизнь, так как позволяют систематизировать данные (именно данные, а не знания!). Такие программы могут собирать адреса компаний в вашей отрасли, ссылки из нужных форумов, парсить целые каталоги, также могут служить отличным средством для составления баз данных.

Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments30

Средневзвешенная система голосования

Reading time3 min
Views3.4K
Вступление. Эту статью написал мой друг — Семён Шторкин, владелец нижегородского сайта-коммьюнити для фотографов (фотогорький). Пока его, к сожалению, нет на Хабре, но попробую этим топиком заработать для него инвайт :)

Добрый день. Хочу поделиться с уважаемым хабрасообществом весьма объективной системой оценок и рейтингов, основанной на средневзвешенной системе с оценками по пятибалльной шкале.
Читать дальше →
Total votes 111: ↑107 and ↓4+103
Comments61

Мне кажется, я начал понимать, что ты имела в виду!

Reading time7 min
Views33K
Опечататься дело нехитрое; опечататься в поисковом запросе так и вдвойне. Почитай все большие веб-поисковики сегодня умеют корректировать ошибки в ключевых словах во-1х и подсказывать запросы во-2х; вслед за ними того же хочется поискам поменьше. Обе штуки можно ловко реализовать при помощи открытого поисковика по кличке Sphinx; в этом посте расскажу, как конкретно.

Ну, за did you mean («что ты имела в виду») и прочий query completion («уж не Васю ли ты ищешь»).
Читать дальше →
Total votes 84: ↑75 and ↓9+66
Comments24

Про что рассказать?

Reading time1 min
Views2.8K
Смотрю, блог про Сфинкс почти мертвый.
Можно пробовать это исправить, и довести блог до состояния хотя бы полумертвого.

О чем интересно было бы почитать?
Туториалы для совсем начинающих не предлагать, не смогу.

Для затравки, и заодно в порядке спама.
Все уже знают, что свежий Сфинкс умеет прикидываться mysql сервером, и соотв-но никакой API не нужен?
Все уже знают, что запросы теперь можно писать в виде SELECT * FROM index WHERE MATCH('test')?
Все уже знают, как легко и непринуждено делать подсказки и-или автокоррекцию слов?
Все уже знают, что наконец появился открытый репозиторий для самых бесстрашных? :)
Total votes 81: ↑71 and ↓10+61
Comments110

Старые друзья шиворот-навыворот, или как светодиод может быть фотодатчиком

Reading time2 min
Views27K
Действительно, на основе любого светодиода можно соорудить весьма недурственный датчик освещенности вроде того, который меряет освещенность на улице, чтобы автоматически включать лампу возле подъезда вечером.
Пост можно было озаглавить «удивительное рядом» — несмотря на то, что при внимательном рассмотрении принцип действия становится понятен довольно быстро, о подобном применении светодиодов знает, наверное, не каждый.
Читать дальше →
Total votes 62: ↑61 and ↓1+60
Comments65

Кузявые ли бутявки, т.е. пишем морфологический анализатор на Python

Reading time8 min
Views54K
Морфологический анализатор для русского языка — это что-то заумное? Программа, которая приводит слово к начальной форме, определяет падеж, находит словоформы — непонятно, как и подступиться? А на самом деле все не так и сложно. В статье — как я писал аналог mystem, lemmatizer и phpmorphy на Python, и что из этого получилось.
Читать дальше →
Total votes 115: ↑109 and ↓6+103
Comments44

iWeekend Eastern Europe в Киеве

Reading time1 min
Views406
19-22 ноября 2009 года в Киеве пройдет iWeekend — мероприятие, которое призвано катализировать содание стартапов и финасирование их ранних стадий. На прошлой неделе мы договорились о всем. В Киев обещали приехать инвесторы и эксперты из Европы. Вероятнее всего участие будет бесплатное и к участию будут приглашаться молодые предприниматели из Восточной Европы, ну понят, что в первую очередь, кроме украинцев — россияне и белорусы.
К сожалению, Seedcamp в этом году в Восточной Европе будет проходить только в Варшаве, что далеко. А 19-22 ноября приходится как раз на даты проведения СВОДа.

Для киевских предпринимателей, ищущих знания и инвестиции, на весну практически нет крупных мероприятий специализированных, за исключением, возможно, нескольких спикеров на Интернет-мероприятиях внизу списка.

Зато осень будет горячей

Seedcamp (London, UK) — конец сентября — начало октября
TechCrunch50 (San Francisco, CA, US) — сентябрь
Microsoft VC Summit (Mountain View, CA, US) — сентябрь
Investor Day @ Blogcamp CEE (Kiev, Ukraine) — октябрь
СВОД (Mountain View, CA, US) — ноябрь 9-10 декабря
Примечание: из-за кризиса, что-то может отмениться, даты еще не определены
Это я еще не знаю планов российских коллег.

PS. Ну и еще мы в Киеве проводим Startup Crash Test раз в месяц
PPS. Про весну в Киеве дали еще две три ссылки, но ИМХО они к предпринимательству в интернете имеют отношение постольку посколько + перенес сюда Интернет-Украина 2009:
Интернет-Украина 2009
CodeCamp's InnovationDay
Украинский форум интернет деятелей
Интернет-маркетинг в Украине
Total votes 21: ↑18 and ↓3+15
Comments19

Эксперименты с ферромагнитной жидкостью (видео)

Reading time1 min
Views2.3K
image

Ферромагнитные жидкости представляют собой коллоидный раствор магнитных частиц в жидкой среде. В итоге получается жидкость, на которую можно влиять с помощью магнитного поля. При использовании сложных магнитных структур можно получить по-настоящему потрясающие процессы!

Читать дальше →
Total votes 115: ↑110 and ↓5+105
Comments79

Программирование multi-touch в Mac OS X

Reading time2 min
Views1.9K
На новых MacBook, MacBookPro и MacBookAir есть такие виды жестов (gestures):

двумя пальцами — скролл
двумя пальцами — увеличение (magnify)
двумя пальцами — поворот (rotate)

тремя пальцами — swipe вертикальный
тремя пальцами — swipe горизонтальный

четырьмя пальцами — swipe вертикальный
четырьмя пальцами — swipe горизонтальный

Как пользоваться этими жестами, подробно показано в System Preferences->TrackPad.
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments15

Как быстро начать и эффективно продолжить писать расширение для лисы

Reading time1 min
Views1.1K

Обычно цикл разработки таков:


1) вносим изменение в исходники,
2) перепаковываем исходники в *.xpi (скриптами),
3) переключаемся на лису,
4) Ctrl+O, выбираем полученный выше *.xpi,
5) появляется диалог установки, ждём 4 секунды,
6) жмём «Install»,
7) потом «Restart Firefox» и смотрим что изменилось.

Стало страшно? Тогда…
дальше про то как userChrome.js позволяет обойтись без перезагрузки и сократить количество шагов до двух
Total votes 48: ↑43 and ↓5+38
Comments17
2

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity