среда, 21 октября 2009 г.

More тег в blogger

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

среда, 19 августа 2009 г.

Google Insights for Search 2

Google Insights for Search 2

Интересно, что в Европах и США, Канаде, немного другим нынче интересуются:

Haskel

Clojure

Интересно, хоть и поздновато, но Ruby набрал у нас популярность.



Google Insights for Search

Google Insights for Search

Совершенно случайно наткнулся на Google Insights for Search решил пособирать интересную статистику по наболевшим вопросам. А мучает меня давний вопрос java vs c# :)
Так вот, статистика запросов в динамике по java и c#:

Популярность запросов java как-то падает. c# держится стабильно. Возможно из за расхожего мнения, с которым я не согласен, что msdn крут :)
Более интересна вот эта диаграмма:

Это распределение популярности запросов по регионам. Интересно что наша добрая аутсортинговая Белорусская программная среда так сильно интересуется java и c# что попала в top 10 :) (java - 6, c# - 9 места). Но индусов нам все равно не сделать =D
Вообщем проторчал я от ещё одного сервиса "Корпорации Добра", пойду дальше с ним баловаться :)

вторник, 4 августа 2009 г.

Blogger notes

Думаю не открою Америку, но всё же парочка интересных вещей в Blogger (Вообще я новичок в блогах, поэтому для меня всегда много чего интересного в Web 2.0 находиться).
1. Оказываеться в Google Docs теперь не только можно публиковать как html документы, но появилась функция добавить в блог :)
2. Подсветка синтаксиса кода. Ну на эту тему постов завались, но мне больше понравился:
Source Code highlighting in Blogger
Я решил поюзать новую 2.0 версию: SyntaxHighlighter 2.0
Для этого в хедер стоит добавить такой код:

<link href='http://alexgorbatchev.com/pub/sh/2.0.320/styles/shCore.css' rel='stylesheet' type='text/css'/>
<link href='http://alexgorbatchev.com/pub/sh/2.0.320/styles/shThemeDefault.css' rel='stylesheet' type='text/css'/>
<script src='http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shCore.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shLegacy.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushJScript.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushJava.js' type='text/javascript'/>
<script src='http://alexgorbatchev.com/pub/sh/2.0.320/scripts/shBrushXml.js' type='text/javascript'/>
......


Языковые предпочтения по вкусу :)
А в конец боди специально для Блоггера:


<script type='text/javascript'>
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all();
dp.SyntaxHighlighter.HighlightAll('code');
</script>

И будет как в этом посте :)

пятница, 24 июля 2009 г.

Ofbiz overview

Apache Open For Business (Apache OFBiz) – компонетно-ориентированный для построение J2EE приложений.

Framework

Базовая архитектура выглядит следующим образом:



Фактический OfBiz framework предоставляет разработчику набор нескольких приложений которые организуют всю эту инфраструктуру для разработки компонент и их взаимодействию между собой. Компонента на абстрактном уровне состоит из трёх частей как на рисунке: Data Layer (Model), Logic (Service) layer (Controler) и User Interface Layer (View), т.е. спроектирована с использованием MVC паттерна.
Все базовые компоненты организующие эту инфраструктуру расположены в папке framework. Кратко пробежимся по ним:
base - главная компонента, которая загружает все остальные компоненты, содержит конфигурационные файлы отображенные на рисунке в разделе Configuration&Deployment.
appserver - базовая абстрактная компонента предоставляющие связь base компоненты с вебсервером на которые должны деплоиться компоненты. По умолчанию используеться компонента catalina, которая представляет собой сервер Jakarta Tomcat 6.
geronimo - компонента предоставляющие возможность организации транзакций в работе компонент.
entity, entityext и datafile - предоставляю собой компоненты управления Data Layer в платформе, вся работа с базами данных идёт через эти компоненты.
service - компонента организующая Logic layer. Она позволяет остальным компонентам создавать сервисы и организовывать взаимодействие между ними.
webapp, webslinger - компоненты организующие базовый User Interface для компонент. Предоставляющие способы доступа из web части к service и engine частям компоненты.
widget - реализация базовых виджетов (элементов графического интерфейса страниц) для компонент.
security - компонента обеспечивающая модель аутентификации и авторизации для всех трёх слоёв каждой компоненты.
minilang - компонента обеспечивающая поддержку интернационализации в компонентах.
webtools - вспомогательная компонента, которая предоставляет веб интерфейс для отслеживания работы платформы, к примеру для непосредственного доступа к entity находящимся в engine, просмотра запросов к компонентам, статистике работы сервисов и т.п.


среда, 17 июня 2009 г.

Dolphins Integration Platform

Dolphins Integration Platform
В своё время для курсовой работы написал приложение для интеграции данных. Вернее промежуточный framework для создания таких приложений. На базе концепции ETL (Extract Transform Load). Очень простая концепция. Мне больше всего понравилось как реализовано у CloverETL. У нас есть набор компонент, пользователь должен описать связи между ними. У них используется xml, я разработал свой язык, который компилируется в java byte-code (об этом я потом ещё напишу). Так же есть компонента Engine, которая компилирует и запускает эти правила (можно через консоль или JMX). Также есть компонента Scheduler, которая взаимодействует с metadata'ой (описана как обычные property файлы). Он сначала запускает все CheckRule - правила, они имеют специальную компоненту Checker, которое проверяет некоторое условие. Для тех правил, для которых оно выполнилось успешно, выполняется основное Rule. Компанента Server - отображает статистику выполнения правил. Вот такое простое приложение. Вот схемка на будущее:

Тоже только на английском на wiki (правда английский у меня хромает :)).
А о прошлом можно почитать в моём отчёте о курсовой:
Отчёт

Решил продолжить разработку по двум причинам:
  1. По изучать новые технологии
  2. Поговнокодить, потому что на работе нельзя :)
В дневнике планирую описывать успехи.

На Google code выложен проект. Самая первая ревизия соответствует тому, что описано в доке. Теперь активно переделываю Engine. Делаю его на базе OSGi с помощью Apache Felix. Об этом напишу в следующем посте.