Ржевский Дмитрий Rzhevskiy Dmitry
hadoop livejournal
Недавно я установил дома распределённую и масштабируемую базу даных hadoop и в качестве эксперемента я написал задачу для анализа livejournal.com
Ходя по ссылкам я находил сайты с поддоменами livejournal.com
всего обнаружилось 796 тыс аккаунтов. (вообще их должно быть больше). Также посчитал сколько у кого находится в друзьях(ссылки из профилей).
в скаченном множестве такая статистика:
больше всего ссылок у
http://cheaptrip.livejournal.com - на него 9929 ссылок это сообщество.
среди обычных пользователей лидирует http://drugoi.livejournal.com/ на него 8967 ссылок
[Read More]
Posted at 01:52AM янв 08, 2012 by Дима in Java | Комментарии[0]
Облачный сервис jelastic
Вчера нашёл прикольное облако PaaS специально заточенное под Java: jelastic.com.
Очень удобное, мне понравилось. Не знаю какая будет ценовая политика (сейчас бесплатно), насколько оно масштабируется (не пробовал), деплоймент довольно удобный, есть как SQL базы данных, так и NoSQL(MongoDB, CouchDB).
В отличии от GAE стандартный Java API.
Одно приложение уже в продакшене.
Posted at 09:56AM дек 29, 2011 by Дима in Java | Комментарии[1]
lucene
Сегодня изучал lucene - это библиотека на основе которой можно сделать текстовой поиск по множеству файлов.
сначала поисковик индексирует файлы, потом ищет по ним - получается такой мини-гугл.
начальную статью для ознакомления я рекомендую
http://www.avajava.com/tutorials/lessons/how-do-i-use-lucene-to-index-and-search-text-files.html
на примере с исходным кодом всё хорошо описано.
Posted at 06:42PM окт 24, 2011 by Дима in Java | Комментарии[0]
java 7
Итак прошло "всего" 5 лет и компания Oracle выпустила новую версию JDK 7.
Всех java программистов поздравляю c обновлением платформы.
Изменился как сам язык (проект Coin) и jvm, так и библиотеки. см полный список изменений
PS у меня на archlinux уже скачалась новая версия через пакетный менеджер pacman. скорость реагирования мантейнеров впечатляет!
Posted at 11:06AM июл 29, 2011 by Дима in Java | Комментарии[0]
scala tutorial
для тех кто интересуется языком Scala представляю перевод статьи A Scala Tutorialfor Java programmers:
Руководство
по Scala для Java программистов http://www.rzhevskiy.info/journal/dima/resource/2010/scala.html
Posted at 01:42AM дек 08, 2010 by Дима in Java | Комментарии[0]
maven: exclusion добавляет dependency
Сегодня на работе мы обнаружили необычную вещь с мавеном:
есть библиотека, у которой были ненужные зависимости, которые мы изключали эксклюдом:
<exclusion>
<groupId>org.jboss.ejb3</groupId>
<artifactId>jboss-ejb3-core</artifactId>
</exclusion>
После добавления эксклюда, джарников в дистрибутиве оказалось больше. Такое странное поведение нас заинтересовало, в результате мы обнаружили что org.jboss.ejb3:jboss-ejb3-core содержит зависимость с эксклюд jboss-metadata а org.jboss.jpa:jboss-jpa-deployers содержит туже зависимость, но без эксклюда.
Добавив
<exclusion>
<groupId>org.jboss.jpa</groupId>
<artifactId>jboss-jpa-deployers</artifactId>
</exclusion>
ненужные зависимости снова исчезли.
Posted at 12:10AM окт 01, 2010 by Дима in Java | Комментарии[0]
scala swing
В последнее время изучаю язык программирования Scala. Программа написанная на Scala компилируется в java байт-код, может использовать библиотеки java которых огромное количество.
В языке много классных вещей, и чтобы их использовать для многих API сделаны обёртки. Вчера смотрел обёртку для Swing: Scala Swing. Впечатлило то что вложенность контейнеров swing наглядно видно.
import swing._
object HelloWorld extends SimpleSwingApplication {
def top = new MainFrame {
title = "Hello, World!"
contents = new Button {
text = "Click Me!"
}
}
}
Конечно до удобства сравнимого с zk далеко, но учитывая что в scala нативная поддержка xml, то я думаю можно сделать удобную вещь на scala.
Жаль что поддержка сред разработки языка Scala пока не такая мощьная как в java...
Posted at 12:46PM авг 18, 2010 by Дима in Java | Комментарии[1]
GWT: компилятор вешает компьюер
У нас на работе для создания приложения используется GWT. Мы установили на сервер для разработчиков subversion, wiki, teamcity+buildagent для автоматической сборки проекта.
К сожалению возникла трудность связанная с компилятором GWT: он не только работает медленно но и вешает всю систему: страницы wiki и teamcity стали грузиться секунд по 20.
У меня возникло предположение что это из-за того что GWT очень интенсивно использует дисковую подсиситему.
Что было сделано: я создал виртуальный диск (ramdisk), и сборку проекта стал проводить на нём. это не только ускорило сборку приложения но сделало что wiki и teamcity сталои грузиться без задержек.
Posted at 05:13PM мар 26, 2010 by Дима in Java | Комментарии[0]
extGWT vs ZK
На работе с которой я уволился мы писали программу на extGWT - это GWT компилятор из java в javascript + библиотека extj.
На работе в пронто-москва я использовал для этих же целей ZK.
В этой таблице я выпишу достоинства и недостатки фреймворков.
[Read More]Posted at 01:50AM дек 07, 2009 by Дима in Java | Комментарии[0]
тестовое задание с собеседования
что выведет на печать программа?
public class Qqq {
public static final Qqq instance=new Qqq();
private static int A=2;
private static final int B=3;
private Integer i;
private Qqq() {
i=A+B;
}
public static void main(String[] args) {
System.out.println(""+instance.i);
}
}
Posted at 11:41PM окт 28, 2009 by Дима in Java | Комментарии[2]
Singlton and AspectJ
Раз уж тут речь зашла о синглтонах и AspectJ а статья в интернете http://www.christianschenk.org/blog/singletons-with-aspectj/ (я её приводил в комментах) показалась мне написанной неразборчиво, то я решил сам написать статью:
http://www.aspectj.ru/articles/SingltonPattern.html
Posted at 07:43PM сен 22, 2009 by Дима in Java | Комментарии[0]
Singleton и AtomicReference
Сегодня в интернете обнаружил прикольную вещь
классический Singleton
public final class Singleton {
private static Singleton _instance = null;
private Singleton() {}
public static synchronized Singleton getInstance() {
if (_instance == null)
_instance = new Singleton();
return _instance;
}
}
[Read More]
Posted at 01:07PM сен 16, 2009 by Дима in Java | Комментарии[5]
Jetty DataSource and MSSQL
Сегодня переводили приложение с glassfish на jetty. При этом нужно было определить Datasource для jetty. Из этого получилась целая история документация с багой
.
В доке описано как подключить datasource.
<New id="DSTest" class="org.mortbay.jetty.plus.naming.Resource">
<Arg></Arg>
<Arg>jdbc/DSTest</Arg>
<Arg>
<New class="net.sourceforge.jtds.jdbcx.JtdsDataSource">
<Set name="User">user</Set>
<Set name="Password">pass</Set>
<Set name="DatabaseName">dbname</Set>
<Set name="ServerName">localhost</Set>
<Set name="PortNumber">1433</Set>
</New>
</Arg>
</New>
После дебага выяснилось что конструктор класса org.mortbay.jetty.plus.naming.Resource
содержит только дава параметра поэтому строчку <Arg></Arg> нужно выкинуть.
Сижу и пишу багрепорт.
UP: Вот что значит использовать старые версии программ (6.1.10, текущая 6.1.19)
Posted at 11:11PM авг 07, 2009 by Дима in Java | Комментарии[0]
О работе
Про работал на работе уже 3 недели. Проект производит довольно странное впечатление.
...
Пока на работе работал с хадупом нашёл первую багу
...
[Read More]Posted at 11:40AM июн 30, 2009 by Дима in Java | Комментарии[1]
j2me: MIDlet-Version
Сейчас пишу приложение для мобильного телефона (Nokia 6110 Navigator).
Пишу и тестирую в эмуляторе. Потом переодически заливаю на телефон. И вдруг с некоторого момента приложение перестало работать, вернее пререснтало даже инсталлироваться. пишет: "отсутствуют обязательные атрибуты" (или "неверный файл jar" при инсталлировании jar) . Долго разбирался почему. Потом подсказали: если номер версии больше 99 то возникает такая ошибка. Причём такое поведение в спецификации не описано. и как я понял такое справедливо не только для нокии то и для телефонов других производителей.
Вот такая заподлянка.
Posted at 10:39PM апр 17, 2009 by Дима in Java | Комментарии[0]

