20080905

Новый биллинг на платформе Eclipse RCP

Наконец появилось время заняться новой версией биллинга (Subscribers management System (SMS)) в составе системы работы с клиентами (Customers Management System (CRM)). Отработаны основные модули ядра системы, авторизации и контроля прав. Сделаны модули по управлению пользователями предварительной обкатной интерфейса пользователя в стиле аля Web. Прототип внешнего вида: Первые формы:
Список пользователей
Редактирование информации о пользователе
Валидация вводимой информации
Просмотр информации о пользователе
В ходе работы над новым проектом пришлось решать как ее защищать. Так как для коммерческого приложения без этого просто никуда не деться. Пока прикрутил только обфускацию кода о чем подробно расписал в статье «Защита приложений на платформе Eclipse RCP». Надеюсь статья будет полезна. Описывается как вашу программу можно элементарно взломать (декомпилировать) при помощи декомпилятора Jad, а потом как ее защитить при помощи обфускатора ProGuard и плагина obfuscate4e.

20080825

Решаем проблемы с размещением SWT компонент

Все бы хорошо при разработке приложений на базе Eclipse RCP, да иногда происходит затык с размещением компонент на формах и приходится убивать кучу времени чтобы найти причину. Если при использовании визуального редактора еще можно увидеть что к чему, то при расширении диалогов и т.д. все делается ручками. Недавно наткнулся на проект Picassa который помогает решить эту проблему. Идея простая, он просто раскрашивает компоненты разными цветами и в результате можно вычислить источник проблемы. Подробности по ее использованию читаем в статье Визуализация размещения SWT компонент

20080522

Мой младший сын хочет стать президентом :) Так что не исключено, что это будет в его мемуарах. В продолжение забавных историй: Звонит девочка из класса Данила и спрашивает в котором часу будет родительское собрание. - в шесть тридцать - Ой, а у меня записано 18:30

20080318

Немного не в тему

Обнаружил у себя забавные логи переписки с женой из аски в период работы на Украине: vita: данилу купила туфли модные впереди и взади эффект потертости он говорит надо почистить а то они уже сносились vita: Данил пошел гулять под зонтиком (со свистком). Ходит и свистит. Мужик ехал и остановился, подумал милиция. (напротив нашего дома опорный пункт милиции) vita: данилу сделали манту я его спрашивала ты плакал нет я закрыл глаза и думал о приятном vita: воспитательница сегодня рассказала: данил сидит на занятии и говорит Лариса Евгеньевна мне по сотовому звонят нужно срочно ответить я думала может и правда дали телефон вдруг отец звонит ну говорит иди в раздевалку поговори я выхожу а он стоит и разговаривает по телефону потом я уже додумала что он неподключен vita: сегодня он сообщил что женится на владе и берет ее в виницу и они поедут в кругосветное путешествие по миру я говорю ты где денег возмеш а у влады много vita: у данила спрашиваю кто у свиньи сыночек - свиненок vita: доброе утра страна у нас сломался холодильник угадай с трех раз кто сломал bs_elbis: Данил Угадал? vita: перед этим разобрал машинку что ты ему купил синию bs_elbis: На то она и машинка vita: а потом ему стало скушно и он крутил колесико у холодильника холодильник сдох vita: а еще у нас нет света в ванной а в остальном все нормально vita: маленькой отверточкой данил раскрутил все что можно у нас одни запчасти это ты виноват купил отвертку bs_elbis: Я как всегда крайний vita: неподлизывайся без отвертки мы жили спокойно vita: а у нас вторая отвертка сломалась :) vita: учили опять животных хоть тресни у свиньи свиненок bvita (1:27 PM) : уже у репетитора отвечал но запомнить что у овечки ягненок это выше его сил vita прикол про лену пришли с бти проверять на перепланировку перед продажей bs_elbis: И что vita начали мерять кухню у лены она 3.20 оказалась а на плане 3.06 м баба кричит перепланировли лена говорит конечно стенку на улицу выдвинули vita: баба кричит ничего не знаю так это ошибка бти как померяли так и написали vita: это же не Лена vita: дальше прикол про шкаф в каридоре bs_elbis: Хоть в суд на БТИ подавай vita: вот еслибы двери в спальню глядели то это мебель а т. к. в коридор то это перепланировка хотя с планом все сходится vita: вобщем мужик из агенства поехал в бти улаживать это дело так прикол еще т. к. техпаспорт выписан на дос еще он тоже недействителен надо тоже переделывать понял сколько раз поменяют название улицы столько будешь техпаспорт по 100000 платить bs_elbis: Выясняй, чего им купить vita: Ване наушники bs_elbis: в пределах разумного bvita: Данилу молоток vita: красную машинку с пультом тоже разбрал я ее выкинула отвертку спрятала vita: так он приходит и говорит раскрути мне здесь вчера принес вертолетик зеленый почти раскрутил правда незнаю чем раскручивал но до конца неуспел издеваешься напиши хоть три предложения vita: балдеешь да, жучков фотографируешь а мы долбем слоги Вчера я достала старый картридж и мы печатали слоги режем эти слоги данил говорит: "когда все выучу мы их продадим ну и деньжат у нас будет" потом ходил ходил говорит: "а я их поштучно продам Ваня, Ваня мы богатые будем" потом ходил ходил и говорит: а мы их напрокат будем сдавать а уже сегодня говорю: "давай учи и мы продадим в школу" он говорит: "не я лучше на прокат буду сдавать деньги назад отдавать ненадо и карточки заберем". vita: я вчера смотрю в пуске программы данил сидит рядом говорю что за программа незнаю мама мама это же шпионов ловить это тебе не слоги читать vita: данил читает слово: как мама это когда в туалете нет говорю это когда вопрос задаешь vita: я б. Лиде говорю Сереже предложили книгу писать б. Лида говорит сколько заплатят я говорю незнаю какой будет гонорар Данил рисует и говорит 500 или немножко больше vita: мама мы кога полетим на самолете в америку нам будут подавать обед а орешки можно заказать vita: дед с данилом читает муха дед говорит муха животное нет дедушка это нахомое vita: данил идет чтото говорит про луну я говорю незнаю а он мне говорит : ты что шекспира нечитала vita: ладно надо идти колобка читать vita: сынок научился читать и говорит а что это он ну ну написал vita: при слове читать у данила заболела голова потомучто он стукнулся и надо полежать vita: мы купили три хурмы данил говорит маме ване и мне а продавщица говорит а папе vita: а папа работает менеджером он командует человеками vita: он приезжал и все время звонил и отдавал команды чтобы они хорошо работали vita: Данил приходит и говорит (на хурму) слишком молодая косточек нет vita: мама мама меня невзяли играть наф-нафом почему выбирали только толстеньких bvita (1:05 PM) : вчера платила за плитку и профили нехватало 10000 ваня говорю дай мне 10000 я тебе 5$ дам bvita (1:05 PM) : данил говорит а где мои доллары bvita (1:05 PM) : я говорю на костюм новогодний потратила bvita (1:05 PM) : если бы ты видел его выражение лица bvita (1:06 PM) : как ты могла мои деньги потратить отдавай bs_elbis (1:06 PM) : bvita (1:06 PM) : куркуль bvita (11:45 AM) : высылаю фото агента ЦРУ bvita (11:46 AM) : думал ли дедушка коля замполит что его внук будет играть в агента ЦРУ если нет ребенка, значит в этот день они поженились.

20080301

Проект EclipseLink на практике

Подготовительная работа Перед началом создания основы проекта следует скачать или обновить среду java разработки eclipse. Нам потребуется: К сожалению проект EclipseLink пока еще находится в инкубационном состоянии, но на странице закачки уже доступны пакеты промежуточных сборок. Для начала работы следует скачать сборку, например eclipselink-incubation-1.0M4.zip. Создаем папку для библиотек и распаковываем туда файлы:
  • eclipselink.jar
  • eclipselink-src.zip
  • persistence.jar
Исходный код пакета persistence.jar не включен в рабочую сборку, что не позволяет воспользоваться автоматической помощью. Но к счастью это легко исправить скачав его из репозитория исходного кода проекта «/svnroot/technology/org.eclipse.persistence/trunk/foundation/eclipselink.core.lib/persistence-src.zip». Исходный код проекта доступен в Subversion репозитории по адресу svn://dev.eclipse.org/svnroot/technology (пакет org.eclipse.persistence).

20080221

Помогите в раскрутке программы

Программа для учета в строительстве специально была разработана для решения проблем студий кабельного телевидения, она ориентирована на специфику постепенного строительства. В контексте строительства кабельных сетей это особенно актуально, так как программа позволяет смоделировать сеть и поэтапно вести ее строительство. ... Строительство складов и прочих помещений производственного назначения из быстровозводимых конструкций в последнее время все чаще выполняется посредством использования сэндвич панелей и легких металлических конструкций... Спасибо :)

20080220

Бинарный формат Microsoft Office

Компания Microsoft открыла Бинарный формат office. Надеюсь теперь будут устранены проблемы совместимости в Open Office :)

20071125

Фрилансинг

В блоге Владимира Жилинского наткнулся на интересные мысли по работе с заказчиками НЕТ для фрилансера В общем все довольно правильно подмечено. От себя замечу, что многое зависит от типа выполняемых работ. В частности я занимаюсь разработкой проектов на java и к вопросу предоплаты можно подходить по разному. А конкретно - имеет смысл любую работу оформлять договорами включая проработку техзадания и уточнение требований (не говоря уж о создании прототипа), так как это требует также немалых временных затрат. По ходу разработки видно что за заказчик и стоит ли с ним продолжать сотрудничество. Как говорится "Без бумажки ты ...".

20070928

JSF компоненты RichFaces 3.1


Вышла новая версия библиотеки JSF компонент RichFaces 3.1, котороая построена на opensource библиотеке Ajax4jsf. Хочется отметить высокое качество визуального рендеринга с возможностью применения скинов.
Доступна онлайн демонстрация компонент RichFaces.
Лицензия LGPL

20070823

Еще одно чудо :)


Оказалось, что есть еще и заводские замки для купе, попался такой в Питерском вагоне. Вот только по надежности существенно уступает версии с болтами, Так как рассчитан на ручки несколько другой формы, то подергав ручку элементарно.

20070621

Чудо человеческой мысли

Вернулся из очередной поездки к буржуинам. И в очередной раз поражаюсь человеческой смекалке. По международной конвенции за сохранность багажа заботятся сами пассажиры и чтобы у вас ничего не умыкнули ночью в поезде Москва — Берлин проводники выдают это чудо приспособление (см. фото). Занимательная штучка, особенно когда пытаешься ее открыть утром. Рекомендую болты закручивать только на пару оборотов, кто уже открывал, тот поймет :)

20070410

Spring + Hibernate Java Persistence (JPA)

Продолжаем исследование возможности использования JPA. Теперь в связке: Spring + Hibernate Java Persistence (JPA)

20070322

Brainbench java certified :)

Прислали бумажную версию сертификата по Java 2. Приятно иметь осязаемую бумажку :)

20070315

Бутусов и Каспарян


Сегодня Вячеслав Бутусов - легендарный исполнитель рок-музыки, лидер “Nautilus Pompilius”, группы "Ю-Питер", и Юрий Каспарян, бывший гитарист группы "Кино", посетили наш маленький Брест.



Впечатлений уйма, вспомнилась юность, старые и новые песни.
Жаль, что освещение специфическое и фотографии в темноте с большого расстояния не ахти. Но какие есть, может еще разживусь у друзей.
На нескольких песнях Виктора Цоя народ просто шалел.
Однозначно стоит побывать на таком концерте, заряд энергии трудно описать.


Почаще бы в нашу глухомань заглядывали такие звезды.

20070314

Использование Hibernate Java Persistence

Практика работы с базами данных на java показывает, что порой это не совсем тривиальная задача. И не только у меня одного. Много лет назад я начинал с обычных JDBC конструкций. Тот кто писал, тот меня поймет, так как это куча лишнего однообразного кода, который после первого же проекта хочется автоматизировать. После работы над несколькими проектами нашел для себя Hibernate как вполне приемлимое решение по производительности, единственным минусом были XML файлы маппинга. И хотя я создавал их динамически при помощи XDoclet, но все равно это было утомительно, так как приходится выполнять дополнительный скрипт. Начиная работу над новым проектом решил попробовать нововведения в плане использования аннотаций и новой технологии Java Persistance API (результат работы JSR 220 Expert Group). Первые впечатления просто супер. Мы получаем практически объектную СУБД, но с возможностью тюнинга нативными запросами к реляционной модели для рещения возможных проблем с производительностью и т.д. В статье я привел самый простой пример использования данной технологии применительно к простым SE приложениям. Не исключено, что применено не самое оптимальное решение, но я пытался сделать заготовку проекта, которая минимизирует настройки в целом. Я использовал недокументированные в руководстве возможности, что позволило сделать проект тривиально простым в конфигурировании. Статья Использование Hibernate Java Persistence

20070217

Все модули Eclipse | Eclipse For You

Как говориться "Мастер без сапог". Это я про то, что по роду своей деятельности на данный момент занимаюсь разработкой Content Management System (CMS), а свои сайты делались ручками. Это было еще приемлемо, когда было несколько десятков страниц, но несколько сотен править уже проблематично. Поискав в интернете обзоры различных движков остановил свой взор на Drupal. Общие впечатления двоякие, много интересных решений, но есть и ряд проблем. Тем не менее за две недели удалось более менее освоить и создать отдельный сайт с каталогом ресурсов по технологии Eclipse. На данный момент пока что собираю и систематезирую (каталогизирую) подключаемые модули. Довольно много интересных проектов попалось в ходе данной затеи. Приглашаю на новый сайт: Eclipse для вас

20070123

"Billing 2000". Биллинг услуг

По просьбам интересующихся выложена разработанная еще в 2000 году программа "Billing 2000" (Биллинг услуг) для калькуляции (биллинга) задолженности абонентов кабельного телевидения (КТВ) за предоставленные услуги (Аналоги: "Abonent TV", "Abonents", "TVAbonents"). Сейчас идут работы по созданию новой мультиплатформенной версии на java.

20070109

Rich Ajax Platform (RAP)

Совсем недавно я рассматривал проект eRCP для разработки мобильных. И вот на глаза подвернулся не менее интересный проект Rich AJAX Platform (RAP) который призван расширить технологию Eclipse RCP и для разработки Web приложений. Хотя данный проект еще окончательно не утвержден, уже можно ознакомиться с предварительными наработками. Демонстрационный проект производит впечатление. Rich Ajax Platform (RAP)

20061218

Добавляем заставку к Eclipse RCP приложению

К сожалению, время загрузки программ порой составляет несколько секунд, а при загрузке из сети может быть еще больше. Для того чтобы пользователи видели, что программа запущена и идет процесс ее инициализации, обычно на экране показывается диалог заставки (Splash screen). Статья о том как создать заставку к программе