Html теги для создания дополнительных элементов на сайте

Для продвижения в ТОП выдачи поисковых систем необходимо правильно оформлять страницы сайта. Поисковые системы отдают предпочтение страницам, контент которых уникален и оформлен с использованием различных изображений, Html списков и других атрибутов.

Экспорт базы данных в PDF

Для удобства работы, как правило, информацию хранят в нескольких видах – электронном, бумажном. А тем более оформленная документация или созданная база данных, скорее всего, потребуют бумажной копии информации.

Самые глупые вещи, которые я сделал будучи программистом

Самые глупые вещи, которые я сделал будучи программистом

Оригинальное название статьи: «The * stupidest things I’ve done in my programming job», поэтому перевод названия статьи не очень точен, однако то, что автор имел ввиду под «*» мы опустим — мы ведь не знаем наверняка 🙂

Я больше не стыжусь своих грешков, так что — вперед:

1. ORM

Глупость

Создал собственную ORM (Object Relational Mapping) библиотеку

Следствие

Неразбериха в проекте после двух лет поддержки, в следствие хаков-обходов моей ORM библиотеки для запуска прямых SQL запросов

Что я должен был сделать

Технологии корпоративных приложений

Технологии корпоративных приложений

Под категорию корпоративных приложений подпадают многие технологии, которые не претерпели никаких изменений с выходом версии Java EE 5 или являются слишком прикладными для того, чтобы рассматривать их в этой статье. Здесь мы сосредоточим внимание на двух основных усовершенствованиях: простоте разработки EJB и новых возможностях хранения данных.

EJB 3.0

Спецификация EJB — это основа платформы Java EE. Она определяет способ инкапсуляции бизнес-логики приложений и позволяет распределить ее способом, учитывающим масштабируемость, безопасность и поддержку транзакций так, что одновременный доступ к данным не приводит к нарушению целостности данных.

EJB делятся на 3 основных типа:
Session Beans (сеансовые компоненты) — эти компоненты бывают двух видов: не запоминающие свое состояние (stateless) и запоминающие свое состояние (stateful). Stateless EJB-компоненты используются для решения задач бизнес-логики и обслуживают одиночные запросы из клиентского кода. Stateful EJB-компоненты помнят о состоянии «диалога» с клиентом и удобны для решения наборов взаимосвязанных задач, которые охватывают множество клиентских запросов. Сеансовые EJB-компоненты не могут использоваться клиентами совместно. Они, как правило, управляют одним или несколькими Entity-компонентами.

Путеводитель по db4о для Java-разработчика: Транзакции, распределенный доступ и безопасность

Путеводитель по db4о для Java-разработчика: Транзакции, распределенный доступ и безопасность

В предыдущих статьях серии я освещал основы объектно-ориентированной работы с данными в db4o. Одним из вопросов, которые я обошел вниманием, является использование ООСУБД в Web-приложениях и чем оно отличается от использования в приложениях Swing или SWT. Кто-то может сказать, что я проигнорировал целый круг вопросов, которые обязан знать любой .NET- или Java-разработчик.

Дело в том, что я хотел сосредоточиться на наиболее привлекательных возможностях ООСУБД: объектно-ориентированном хранении, манипулировании и выборке данных. К тому же поставщики ООСУБД как правило реализуют базовые функции, такие как управление транзакциями и обеспечение безопасности, аналогично РСУБД, предоставляя столь же широкий набор опций.

Эффективный перенос данных с помощью zero copy

Эффективный перенос данных с помощью zero copy

Многие Web-приложения выдают значительный объём статического контента, что означает чтение данных с диска и их последующую запись в отвечающий сокет. Возможно, эта деятельность требует относительно маленькой загрузки процессора, но и эффективность её невелика: ядро считывает данные с диска, отправляет их через границу ядро-пользователь в приложение, а затем приложение возвращает эти же данные через границу ядро-пользователь, чтобы записать в сокет. На деле приложение работает как неэффективное промежуточное звено, передающее данные с диска в сокет.

Каждый раз, когда данные пересекают границу пользователь-ядро, их необходимо копировать; при этом затрачиваются ресурсы процессора и памяти. К счастью, этого копирования можно избежать с помощью технологии с соответствующим названием— zero copy. Приложения, использующие zero copy, запрашивают ядро о копировании данных прямо с диска в сокет, не затрагивая приложения. Zero copy значительно улучшает производительность приложений и уменьшает число контекстных переключений между режимами пользователя и ядра.

Мониторинг работы Java-приложений: Часть 1. Мониторинг производительности и степени готовности Java-систем

Мониторинг работы Java-приложений: Часть 1. Мониторинг производительности и степени готовности Java-систем

Многих современные Java-приложения включают сложный набор распределенных и зависящих друг от друга компонентов, а также обладают динамической структурой. Поэтому производительность и степень готовности приложения потенциально зависят от множества внешних факторов. Подобные зависимости практически невозможно свести на нет, либо точно смоделировать в тестовом окружении перед вводом в эксплуатацию. А значит, при работе приложения могут происходить всякие неожиданности. Тем не менее можно облегчить последствия и сократить длительность нежелательных событий путем создания и сопровождения системы для всеобъемлющего мониторинга среды, в которой выполняется ваше приложение.

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

Путеводитель по Scala для Java-разработчиков: Не зацикливайтесь!

Путеводитель по Scala для Java-разработчиков: Не зацикливайтесь!

До сих пор в публикациях этой серии я уделял основное внимание тесной связи Scala с экосистемой Java, демонстрируя вам то, как Scala включает в себя преобладающую часть объектной функциональности Java. Однако если бы Scala просто являлся другим способом написания объектов, он бы не представлял собой ничего интересного, а тем более выдающегося, как это есть на самом деле. Объединение в Scala функциональных и объектных концепций, усиленное акцентом на эффективность процесса программирования, ощутимо усложняет и замедляет изучение языка, что может быть неочевидно для начинающего Java/Scala-программиста.
Об этой серии

Тед Ньюорд погружается в язык программирования Scala и берет вас с собой. В этой новой серии от developerWorks вы узнаете, вокруг чего поднят такой шум, и увидите некоторые лингвистические возможности Scala в действии. Код Scala и код Java будут показаны бок о бок, если таковое сравнение будет важно. Правда, как скоро выяснится, многие вещи в Scala не могут быть напрямую соотнесены с чем-либо таким, что вам знакомо из Java-программирования, — но в этом и заключается основное очарование Scala! В конце концов, если что-то можно сделать на Java — зачем утруждать себя изучением Scala?

Что нового в Java Portlet Specification V2.0 (JSR 286)?

Что нового в Java Portlet Specification V2.0 (JSR 286)?

Портлеты – это компоненты приложений с пользовательским интерфейсом, формирующие содержимое в одном из стандартных форматов разметки (к примеру, HTML). Эта разметка предназначена для агрегирования портлетов с другими фрагментами в единое большое приложение, например, страницу порталa

Портлеты могут рассматриваться как сервисы пользовательского графического интерфейса, который распространяют сервис-ориентированную архитектуру (SOA) на интерфейс для конечных пользователей.

Портлеты Java стали популярны после выхода первой версии Java Portlet Specification, JSR-168, выпущенной в 2003 сообществом Java Community Processes. С этого момента почти все вендоры, разрабатывающие порталы Java, как коммерческие, так и с открытым исходным кодом, реализовали этот стандарт, и разработчики стали писать портлеты, использующие Java Portlet API.