December 27, 2011
Следвайки утвърдената схема за писане на качествени технологични книги с отворен код от големи, но добре организирани авторски екипи (вж. проектите за безплатните книги Intro C#, Intro Java и .NET Framework), започна работата по нов проект: безплатна книга за шаблони за софтуерен дизайн (design patterns) на български език. Проектът има за цел да бъде написана оригинална българска книга за най-често използваните шаблони за софтуерен дизайн (GoF patterns), а след това да бъде продължена инициативата като се включат и архитектурни шаблони.
Екипът на проекта се ръководи от Николай Василев, Цветан Василев и Николай Томитов.
Търсят се автори и редактори!
За момента се работи върху първата част на книгата, която включва класическите GoF шаблони. Търсят се автори и редактори, които да се включат в проекта. Ако имате желание да се включите, моля присъединете се към дискусионната група на книгата и чрез нея се свържете с организационния комитет на проекта. Може да се свържете и директно с екипа на проекта: design.patterns.book.team [кльомба] gmail.com.
Съдържание на безплатната книга за шаблони за дизайн
Безплатната книга за спофтуерни шаблони за дизайн се състои от няколко части. Първите две части включват класическите GoF patterns (по Ерик Гама и бандата на четиримата) – шаблони за създаване на обекти, структурни шаблони и поведенчески шаблони. Тези шаблони са в обхвата на проекта за първия му етап. Книгата ще следва до някъде класическите концепции от GoF, но няма да е превод на тяхната книга, а ще дава съвременно виждане за шаблоните с имплементация на Java и примери от практическия опит на авторите.
За следващия етап на проекта са планирани архитектурни и други шаблони, които на практика също се ползват ежедневно при разработката на софтуер в различни библиотеки, платформи, технологии и frameworks.
Следва планираното съдържание на книгата по глави:
Част 1. Софтуерен дизайн – общи положения
- Глава 1. Основни етапи от разработката на софтуер
- Глава 2. Обектно-ориентиран дизайн
- Глава 3. Кратко въведение в UML
- Глава 4. Основни принципи на дизайна на софтуер
Част 2. Класически шаблони за дизайн
- Глава 5. Шаблони за дизайн – въведение
Шаблони за създаване на обекти (Creational Patterns)
- Глава 6. Абстрактна фабрика (Abstract Factory)
- Глава 7. Строител (Builder)
- Глава 8. Метод фабрика (Factory Method)
- Глава 9. Прототип (Prototype)
- Глава 10. Сингълтон (Singleton)
Структурни шаблони (Structural Patterns)
- Глава 11. Адаптер (Adapter)
- Глава 12. Мост (Bridge)
- Глава 13. Композиция (Composite)
- Глава 14. Декоратор / обвивка (Decorator / Wrapper)
- Глава 15. Фасада (Façade)
- Глава 16. Миниобект (Flyweight)
- Глава 17. Прокси (Proxy)
Поведенчески шаблони (Behavioral Patterns)
- Глава 18. Верига от отговорности (Chain of Responsibility)
- Глава 19. Команда (Command)
- Глава 20. Интерпретатор (Interpreter)
- Глава 21. Итератор (Iterator)
- Глава 22. Посредник (Mediator)
- Глава 23. Спомен/Мементо (Memento)
- Глава 24. Наблюдател (Observer)
- Глава 25. Състояние (State)
- Глава 26. Стратегия (Strategy)
- Глава 27. Шаблонен метод (Template Method)
- Глава 28. Посетител (Visitor)
Част 3. Допълнителни шаблони за дизайн*
- Глава 29. Многослойна архитектура (Multilayer Architecture)
Шаблони от слоя с бизнес логиката на модела (Domain Logic Layer Patterns)
- Глава 30. Модел на домейна (Domain Model)
- Глава 31. Слой от услуги (Service Layer)
- Глава 32. Спецификация (Specification)
Инфраструктурни шаблони (Infrastructure Layer Patterns)
- Глава 33. Късно зареждане (Lazy Load)
- Глава 34. Обект-заявка (Object Query)
- Глава 35. Хранилище (Repository)
Шаблони при разпределени системи (Distribution Patterns)
- Глава 36. Отдалечена фасада (Remote Façade)
- Глава 37. Обект за пренос на данни (Data Transfer Object)
Шаблони от презентационния слой (Presentation Layer Patterns)
- Глава 38. Модел-презентация-контролер и неговите разновидности (MVC, MVP, MVVM)
- Глава 39. Контролер за страница (Page Controller)
- Глава 40. Входен контролер (Front Controller)
- Глава 41. Презентация чрез шаблон (Template View)
- Глава 42. Презентация чрез трансформиране (Transform View)
Базови шаблони (Base Patterns)
- Глава 43. Съответствие (Mapper)
- Глава 44. Регистър (Registry)
- Глава 45. Обект-стойност (Value Object)
- Глава 46. Специален случай (Special Case)
- Глава 47. Множество от записи (Record Set)
- Глава 48. Делегиране (Delegation)
- Глава 49. Обектен пул (Object Pool)
Част 4. Приложения*
* в процес на изясняване
Сайт на проекта – безплатна книга за шаблони за софтуерен дизайн
Официалният сайт на безплатната книга за шаблони за софтуерен дизайн за момента е в Google Code: http://code.google.com/p/design-patterns-book/.
Публичната дискусионна група на проекта е: http://groups.google.com/group/design-patterns-book.
Всички активи по проекта са публично достъпни от неговото SVN хранилище: http://design-patterns-book.googlecode.com/svn/trunk/.
Проектът официално започва на 09.01.2012 г. така че не е късно да се включите.
Tags: gof patterns, безплатна книга, безплатна книга шаблони за дизайн, класически GoF шаблони, книга, книга шаблони за дизайн, книга шаблони за проектиране, поведенчески шаблони, структурни шаблони, шаблони за софтуерен дизайн, шаблони за създаване на обекти
November 19, 2011
На 22, 23 и 24 ноември 2011 г. в центъра за симулация, бизнес процеси и 3D визуализация във ФМИ на СУ ще се проведе безплатно тридневно обучение по разработка на софтуерни системи и решения за електрoнно управление (e-government).
Безплатният курс по електронно управление ще се води от корейски специалисти, разработили концепцията “eGovernment Standard Framework”. Курсът представя съвременни архитектурни и технологични решения и концепции за изграждане на сложни многослойни софтуерни системи и конкретна реализация с Java технологиите в областта на електронното управление.
Учебна програма на курса eGovFrame
Tags: eGovFrame, безплатен курс, безплатно, безплатно обучение, електронно правителство, електронно управление, семинар
October 1, 2011
За трета поредна година в София ще се проведе сериозна Java конференция с водещи световни лектори – Java2Days. Събитието ще обхваща Java технологиите, мобилните приложения и облачните платформи (cloud platforms) и ще се проведе на 3-4 ноември 2011 в международния изложбен център на Цариградско шосе.
Конференцията обещава да представи новостите от Java света в следните направления:
- Java SE & Desktop development
- Java EE platform
- Java Mobile development
- RIA & Web 2.0 development
- SOA & Cloud computing
Някои от по-интересните теми, които хващат окото, са например: Android, езикът Scala, Spring Integration Framework 2.0, cloud & Sping integration, JavaFX 2.0, JAnnocessor, JavaScript for iOS applications, HTML5, Apache Wicket, Gradle, Java EE 7, JSR-321 (cloud security), CloudFoundry, Spring Roo, Context and Dependency Injection for Java EE (CDI), Domain-Driven Design, Resin (Light-Footed Java EE), JBoss Seam 3, JBoss AS7, Arquillian и други. Темите са предварителни, така че чакаме окончателната програма.
Лошата новина е, че входът за конференцията е неразумно скъп (особено за студенти и неработещи). Не мисля, че ще дам 400 лв. за 2 лекции за mobile development (примерно ако само 2 лекции ме интересуват). Може би малко повече гъвкавост като на WebIT би била полезна – да може да посетиш единична лекция.
Всички новости за Java2Days 2011 може да се намерят на нейния сайт: http://2011.java2days.com.
Tags: Java, Java конференция, Java2Days, джава, конференция
September 16, 2011
За феновете на Java технологиите прилагам покана за семинар, посветен на порталните технологии, порталния сървър Liferay и интеграцията му с JavaServer Faces (JSF), организиран от Българската Java потребителска група (BGJUG).
Кога и къде?
Семинарът ще се проведе на 29.09.2011 г. от 19 часа в зала 353 на ФМИ на СУ ”Св. Климент Охридски”.
Анотация
Портлетите представляват видимия и полезен за крайния потребител резултат от внедряването на Service Oriented Architecture (SOA). Те са технология, която дава възможност на бизнес организациите да осигурят повече функционалност, гъвкавост и възможност за персонализация за своите клиенти. С помощта на Web Services for Remote Portlets (WSRP) стандарта на OASIS за отдалечено публикуване на портлети става възможно бизнес услугите лесно да бъдат интегрирани в партньорски портали. Стандартът се ползва с подкрепата на големите доставчици на портални решения като Oracle, IBM и Microsoft.
В последните години Java портлетите станаха популярна технология, която позволява лесно споделяне и комбиниране на приложения от различни организации и индивиди в персонализиран уеб портал. Новият портлетно-базиран стил на разработка на уеб приложения дава възможност за създаване на по-разпределени, гъвкави и лесни за повторно използване компоненти, в сравнение с традиционните монолитни решения. Портлетните приложения типично се състоят от множество различни портлети, които могат да бъдат гъвкаво позиционирани върху уеб страницата и комуникират помежду си с използване на споделени параметри (shared parameters), събития (publish/subscribe events), съгласно Portlet Specification 2.0, или чрез JavaScript и AJAX (без презареждане на страницата).
Презентацията демонстрира разработката на портлети с Portlet 2.0 Specification (JSR-286) и портален сървър Liferay (http://www.liferay.com/). Liferay е едно от водещите портални решения с отворен код, лидер в Gartner’s Magic Quadrant for Horizontal Portals.
Включени са демонстрации на JSP, JSF и Spring портлети, Mashups с използване на Google Maps, както и новости при разработката на портлети с JSF 2.0 и JSF 2 –> Portlet 2 Bridge (http://www.portletfaces.org/) и IceFaces (http://www.icefaces.org). Ще бъдат разгледани също допълнителни примери за JavaScript портлети и използване на новата JS библиотека Alloy UI базирана върху YUI3 (http://yuilibrary.com/projects/yui3), която замени jQuery при Liferay 6.
Лектор
Траян Илиев е магистър по Информатика от Софийски университет „Св. Климент Охридски“. От 2003 той е управител на IPT – Intellectual Products & Technologies (http://www.iproduct.org/). Компанията е специализирана в провеждането на обучения по Java технологии.
Сред неговите технически и изследователски интереси са Service Oriented Architecture, business systems and process modeling using UML and BPMN, Java portlets and portal frameworks (Liferay, GateIn, etc.), AJAX and JavaScript libraries, Java EE technologies (EJB 3.1, JSF 2.0, JPA 2.0, EJB™ 3.1, JSF 2.0, REST-ful web services, WSRP), Java multithreading, multi-agent technologies (http://www.h2j.org/).
Tags: Java, JSF, Liferay, portlets, семинар
July 21, 2011
Имам прекрасна новина за всички Java фенове. След като Java 7 официално излезе, дойде ред и на Българскота общност от Java разработчици да се присъедини към поредицата “Java 7 Launch” събития. Благодарение на BGJUG, колегата Найден Гочев, Oracle Corp. и Академията на Телерик ще си направим семинарче и парти по случай Java 7 и новостите от Java света, които идват заедно с нея.
Програма на семинара
- Kакво ново в Java 7?
- Kакво ново в Java EE 6?
- Kакво ново в JavaFX 2.0?
- Kакво ново в JavaME?
Лекциите са част от официалния “Oracle Java 7 Launch Kit”, който е предоставен от Oracle за Българската Java потребителска група (BGJUG) заедно с тениски и други рекламни материали.
Кога и къде?
Семинарът “Новости от Java платформата” ще се проведе на 27 юли (сряда) от 19:00 часа в учебната зала на Академията на Телерик за софтуерни инженери. Адресът е: София, Младост-1, бул. Александър Малинов 33, партер.
Лектор
Лектор на семинара ще бъде небезизвестният в Java средите колега Найден Гочев, дългогодишен Java разработчик.
Благодарности
Благодарностите за организирането на семинара са за:
- Найден Гочев, който ще бъде лектор
- BGJUG – организатор на събитието
- Oracle Corp. които предоставиха Java 7 Launch Kit, тениски и рекламни материали за BGJUG
- Академия на Телерик – домакин на събитието
Tags: Java, Java 7, Java EE 6, Java ME, JavaFX, семинар
December 1, 2010
Безплатният курс по Java и Java EE, организиран от Студентски съвет към ТУ-София съвместно с Българска асоциация на разработчиците на софтуер (БАРС), който започна в ТУ-София, беше безсрамно прекратен от ръководството на университета. Причината за прекратяването е, че курсът учи студентите на практическа разработка на софтуер с Java EE платформата, а това е в противоречие с принципите на управляващите ТУ-София и Факултета по компютърни системи и управление (ФКСУ) и неговия Декан, тъй като учи студентите как да си изкарват прехраната като Java разработчици – нещо, за което ТУ-София и ФКСУ се оказаха извън класацията на водещите университети в България. Да обучаваш студентите на практическа разработка на софтуер безплатно и безкористно и за своя сметка се оказа толкова проблемно за ТУ, че в началото на ноември 2010 г. ръководството на ТУ-София взе решение да бъдат прекратени безплатните курсове по Java EE и ASP.NET.
Доколко студентите от ТУ-София искат да посещават безплатните курсове по практическа разработка на софтуер и дали ги смятат за полезни свидетелстват както стотиците редовни участници в тези безплатни обучения, така и мненията на студентски съвет, който представлява интересите на студентите в ТУ-София. Следва цитат от официална декларация на Студентски съвет към ТУ-София по въпроса:
“Както знаете, в петък, след разговор с ректорското ръководство с цел изясняване на ситуацията около организираните от Студентски съвет курсове, стана ясно, че същото не се интересува от правата, интересите и получаваните от студентите на Технически Университет – София образование и способности, като забрани провеждането на въпросните курсове.” (3.11.2010 г, П. Хрисков, председател на Студентски съвет на ТУ)
Курсът по Java EE продължава във ВУЗФ!
След близо месец неразбории и не съсвем успешен диалог с ръководството на ТУ-София организаторите на курса потърсиха алтернативно място за провеждането на безплатния курс по Java и Java EE. За щастие за повечето частни университети в България провеждането на такъв безплатен курс и то от изтъкнати професионалисти от индустрията с многогодишен опит е на само въпрос на подпомагане на студентие да се реализират по-успешно на пазара на труда, но и въпрос на престиж.
Ръководството на Висшето училище по застраховане и финанси (ВУЗФ) подкрепи официално инициативата и предостави учебна зала за провеждането на безплатните обучения по Java EE. С този си жест ВУЗФ даде пример как престижните университети трябва да поставят интересите на студентите на първо място.
Курсът продължава във ВУЗФ считано от 4.12.2010 г. и ще се провежда всяка събота от 9:00 часа в аулата на ВУЗФ (съобразено с празниците). Следващата лекция ще бъде последната от първия модул “Въведение в Java – масиви, цикли и ООП”. Оставащите модули до края на курса са:
- Бази данни – SQL, ORACLE, JPA 2.0 (Hibernate), XML
- HTTP, HTML, CSS, JavaScript, Web site building, AJAX
- Web development – Servlets, JSP, Tomcat, JSF + RichFaces
- Spring Framework (интеграция с Hibernate и JSF)
- Java EE – EJB, JMS, Web services, etc.
Курсът може да бъде посещаван от студентите на ТУ-София, които бяха записани за него преди ръководството да прецени, че такива курсове не трябва да се провеждат в ТУ-София, вероятно защото предизвикват прекалено голям интерес от страна на студентите и могат да им дадат професия и работа по изучаваните от тях специалности, свързани с компютърните и софтуерните технологии.
Курсът е отворен и за студенти от други ВУЗ-ове, с интерес към практическата разработка на софтуер с Java EE платформата.
Курсът по ASP.NET продължава във ФМИ на СУ
Заедно с безплатния курс по Java EE беше отменен и другият безплатен курс, организиран този семестър от Студенстки съвет на ТУ-София – курсът по практическа разработка на уеб приложения с .NET Framework и ASP.NET. За щастие този курс се провежда паралелно и във ФМИ на СУ, където учебните занятия продължиха и заинтересованите студенти имат възможност да го посещават.
Tags: ASP, CSS, HTTP, Java, Java EE, Java EE course, java java, NET, SQL, TU-Sofia, БАРС, безплатно обучение, джава, курс
November 19, 2010
It is late evening (… or let’s say it correctly, 4:30 early in the morning, 19 November 2010). I finally finished preparing my presentation for my upcoming talks at the next morning at the Autumn Conference of the Bulgarian Oracle User Group (BGOUG) in Pravetz. I will talk about creating high-quality programming code in Java:
- What is High-Quality Programming Code?
- Naming Identifiers
- Code Formatting
- High-Quality Classes
- High-Quality Methods
- Using Variables, Expressions, Constants, Loops and Conditional Statements Correctly
- Defensive Programming
- Comments and Documentation
If you are interested, download my presentation: High-Quality-Code-for-Java-Devs.pptx.
Tags: Autumn, autumn conference, code, defensive programming, morning, oracle user group, quality classes, quality methods, Talk, User
Older Posts »