Liferay, HttpServletResponse и переносы строк

В процессе работы над портлетом столкнулся с небольшой проблемой, решение которой в итоге потребовало определённого количества шаманства. Мой портлет, в ответ на заполнение пользователем текстового поля, должен был возвращать ему некоторый динамически сгенерированный файл.

Дедупликация

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

Оптимизация процесса перехода из workgroup в AD

Во многих предприятиях штат Windows машин живет в workgroup (изредка, в лушем случае, разбросаны по Workgroup' ам). В уже работающей инфраструктуре не исключен вариант внедрения домена и, соответственно возникающий процесс перевода клиентских машин из Workgroup в ActiveDirectory.

Как я писал ядро ОС. Часть 2.

Часть 1. Платформа Часть 2. Архитектура и библиотека ядра Часть 3. Ключевые подсистемы ядра Архитектура L4Xpresso Теперь настало время перейти собственно к разработке ядра. Разберемся сначала с его архитектурой, Архитектурной основой моей ОС выступило микроядро 2-го поколения L4.

Поддержка 802.11n для адаптеров Atheros (ath) во FreeBSD

Для включения поддержки стандарта 802.11n необходимо добавить в конфиг ядра опцию ATH_ENABLE_11N (options ATH_ENABLE_11N) и затем пересобрать ядро: make buildkernel KERNCONF=MYCONF make installkernel KERNCONF=MYCONF Для отладки так же могут потребоваться опции AH_DEBUG, ATH_DEBUG, ATH_DIAGAPI.

Создание текстовых полей неограниченной длины в Liferay Service Builder

Service Builder - это мощный инструмент в составе Liferay Portal, позволяющий разработчикам хранить в базе портала произвольные данные, описывать новые сущности и создавать сервисы для доступа (в том числе, и удалённого) к этим данным.

Как я писал ядро ОС. Платформа

    Лучший способ объяснить — это самому сделать!     Л. Кэролл. Часть 1. Платформа Часть 2. Архитектура и библиотека ядра Часть 3. Ключевые подсистемы ядра    Надо сказать, что разработка ОС - идея фикс любого программиста-системщика, потому на просторах интернета мы часто наблюдаем сообщения как о новых интересных разработках ОС, таких как Phantom OS, так и пшики типа BolgenOS :) Также есть куча информации по этому вопросу: http://wiki.

Расширение корневого пула на Solaris

Среди огромного набора вопросов, которые могут решаться администратором, периодически возникает такая необходимость задача, как расширение корневой файловой системы. Если у Вас используется Solaris на платфоре x86/amd64 и корневая файловая система расположена на ZFS, то это не просто, а очень просто.

Делаем свой виджет с помощью PyGTK и Cairo

В последнее время медленно и неторопливо разрабатываю одну тулзу и соответственно графический фронт-енд к ней. Тулза это слегка рисовательного характера, поэтому и компонент для рисования пришлось писать самому.

Автоматическая принудительная блокировка экрана

Не секрет, что пользователи персональных компьютеров ежеминутно подвергают своё здоровье страшным опасностям. Для сокращения вредного влияния, рекомендуется обязательно делать перерывы в работе. Продолжительность таких перерывов, среди прочего, регламентируется санитарно-эпидемиологическими правилами и нормативами СанПиН 2.

Приводим в порядок внешний вид NetBeans 7.X в Ubuntu 12.04

После обновления ОС Ubuntu до версии 12.04, пользователи IDE NetBeans столкнулись с рядом проблем - помимо так и не заработавшей интеграции с глобальным меню дефолтной убунтовой оболочки Unity, теперь меню IDE использует новую, "особо контрастную" палитру "чёрные буквы на тёмно-сером фоне", в силу чего пользоваться им стало почти невозможно.

Преобразование RGB888 <-> RGB565 и защита грибов от выцветания

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

FreeBSD: swap на zvol

Существует большое количество различных how-to по использованию в качестве области страничного обмена на FreeBSD томов на ZFS. В большинстве из них рекомендуют отключать контрольные суммы. Но далеко не везде вспоминают про другие свойства тома, такие как размер блока и настройка кэширования.

Liferay - добавляем кнопки социальных сетей в блог

В продолжение модной темы про тотальную социализацию сайтов, в этой заметке я расскажу о том, как добавить кнопки социальных сетей в блоговый портлет Liferay Portal. Делать мы это будем с помошью хука (Liferay Hook Plugin); об основных принципах их создания я уже рассказывал в одной из своих заметок в прошлом году.

Установка компонентов Windows 2008

По-умолчанию значительная часть компонентов (они называются Features) Windows не активирована - и системному администратору при установке и первоначальной настройке системы требуется эти самые компоненты установить.

Установка Windows 2003 на Sun Fire x4600

Столкнулся с проблемой при установки Windows Server 2003 на сервер Sun Fire X4600. Для RAID контроллера естественно требовались специализированные драйверы, чтобы установщик Windows подгрузив их, смог увидеть предоставляемые ему диски.

Импорт RSS-ленты сайта в группу ВКонтакте

Социальные сети - штука сейчас модная, практически все сервисы в Сети сегодня с ними интегрируются. Вот и мне, чтобы "оживить" нашу группу ВКонтакте, необходимо было сделать сабж для нашего сайта, в результате чего возник этот краткий howto.

AD устроил АД. Восстановление недореплицированного SYSVOL.

Неажиданно любвиабильное выдалось воскресенье - AD устроил восьмичасовой АД (надеюсь, кто-нибудь из знакомых оценит эту школьную аббревиатуру, ибо праведная рассшифровка довольно точно описывает саму ситуацию и атмосферу, создаваемую начальством при перспективе простоя производства).

Настройка автоответа в Exim с LDAP

Не смотря на существование официального how-to по настройке автоматического ответа в самом exim и наличие различных обсуждений по этой же проблеме, но уже в связке с LDAP, собранной в одном месте всей необходимой информации мне не попалось, что и стало причиной написания данного how-to.

Первое знакомство с ICEmobile

Наличие интерфейса для мобильных устройств - одно из наиболее часто возникающих требований к современным информационным системам. Платформа Java EE пока что не включает в себя специфицированных инструментов для создания мобильных интерфейсов, так что перед разработчиком возникает проблема выбора технологии, на которой создать такой интерфейс получится наиболее быстро и удобно.

jQuery Layout integration (интеграция jQuery layout в Liferay)

Моя очередная статья касается интеграции jQuery layout в Liferay. Недавно передо мной появилась задача интеграции layout в Liferay. Причем решение должно было быть довольно гибким. Поразмышлев и порыскав по интернету, я пришел к выводу, что данную задачу можно решить, если совместно использовать тему и лайаут Liferay.

Некоторые особенности разработки ядра Linux на SMP-системах

Начиная с версии 2.0 ядро Linux поддерживает многопроцессорные системы. В этой статье я расскажу о некоторых интерфейсах ядра, связанных с SMP-системами. Речь пойдет о процессорных масках (cpu mask) и переменных, индивидуальных для процессора (per-cpu variables).

Scala: настройка и начало работы

Scala - объектно-функциональный язык программирования, в котором были во многом развиты и переосмыслены концепции Java. Давайте разберемся, как настроить Scala в Ubuntu и Linux-like OS. Для работы со Scala у вас должна быть установлена Java версии 1.

Добавляем поддержку cp1251 в AIX

К сожалению местами AIX - операционная система безнадежно отставшая от жизни. Не стала исключением и поддержка кириллицы и русских локалей в этой системе - единственная присутствующая в LPP-пакетах - это ru_RU.

JSP exception: Attribute value is quoted with " which must be escaped ...

Относительно недавно при работе с одним проектом, основанном на JSP, я столкнулся с ошибкой в экранировании кавычек на строке, которая на первый взгляд не предвещала ничего плохого: <aui:a href="<%= "/someValue" + userId %>" label="<%= someTitle %>"/>.

ace:dialog closeListener

После моего предыдущего поста про переход от ice:panelPopup к ace:dialog мне задавали вопросы, как в случае необходимости можно отследить закрытие всплывающего окна. Действительно, раньше отображение высплывающего окна управлялось атрибутами visible и endered, задаваемыми в переменной управляемого бина, поэтому его закрытие можно было  обработать и вызвать метод, выполняющий необходимые для этого действия (например, очистить все поля или освободить какие-либо ресурсы) очевидным образом - например, в сеттере.

OpenAM + GlassFish 3 + FreeBSD = 0_o

Удивительные задачи иногда приходится решать в процессе модернизации корпоративных информационных систем. В продолжение темы про увлекательный процесс развёртывания нашего нового окружения на базе Glassfish 3, в этой заметке я расскажу о внезапных проблемах, которые возникли при развёртывании на нём OpenAM (ex-OpenSSO) и о безумном шаманстве, с помощью которого нам удалось их преодолеть.

glassfish3 + jail = ?

Некоторое время назад я уже имел удовольствие по запуску glassfish2 в jail на FreeBSD. В связи с выходом glassfish3 возникло закономерное желание проверить, изменилось ли что-то во взаимоотношениях glassfish и jail.

Liferay - интеграция портлета в тему портала

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

Vaadin Liferay portlet: загрузка файлов на сервер

Пост самому себе на заметку. Недавно мне нужно было добавить в Vaadin портлет (Liferay 6.0.6 на Glassfish 3.1.1) возможность загрузки файлов на сервер. С точки зрения программирования это тривиальная задача, однако, без небольшого шаманства портлет не заработал.

Icefaces: использование ace:dialog

В оригинальном наборе компонентов icefaces (ICE components) для создания всплывающих диалоговых окон использовался элемент ice:panelPopup. Как правило, его отображение управлялось атрибутами visible и rendered, задаваемыми в переменной управляемого бина.

Установка OracleVDI на OEL5.6

Недавно у одного нашего заказчика возникли трудности с установкой Oracle VDI (Virtual Desktop Infrastructure) на Oracle Enterprise Linux. Давайте рассмотрим один из вариантов установки ближе, но прежде, думаю, стоит обратить внимание на то, что-же такое VDI и для чего он нужен.

Useless use of cat

Сейчас в интернете размещен ряд интересных статей на тему «Useless use of *» Заинтересовавшись этой темой, я решил написать небольшую статью, которая, как мне кажется, немного подробнее объяснит принципы принятия решения относительно использования утилит, поможет выбрать пользователю наиболее подходящую к данному контексту утилиту.

Развёртывание GlassFish 3.1.1 в кластерной конфигурации

На прошедшей на прошлой неделе конференции JavaDay 2012 я рассказывал о развёртывании Liferay Portal в кластерном окружении на базе сервера приложений GlassFish и СУБД PostgreSQL. В связи с интересом к теме, в этой заметке я привожу пошаговую инструкцию по созданию кластера в GlassFish 3.

Реализация AJAX с использованием JQuery в MVC-портлетах для Liferay

MVC-портлеты - отличный способ быстро написать несложное приложение для Liferay. В отличие от портлетов на базе JSF или Vaadin, такие приложения удобно создавать с помощью стандартных средств Liferay Plugins SDK и они "весят" существенно меньше.

Pexpect, терминалы и more ненависти

CLI - действительно богатый возможностями автоматизации интерфейс. Однако некоторые утилиты (как например ftp) к сожалению имеют интерактивный интерфейс. К счастью, человечество придумало библиотеку expect и в частности, pexpect (для Python), которую можно использовать например так: import pexpect child = pexpect.

Кто съел весь торт или немного о tmpfs

Памяти много не бывает - эта непреложная истина преследует вычислительную технику с самых ее начал. В этой статье я рассмотрю проблемы с исчерпанием виртуальной памяти из-за tmpfs. Ищем причину Также как и память приложений, данные tmpfs размещаются в anonymous memory.

RRPP настройка

  RRPP - Rapid Ring Protection Protocol  Протокол используемый на сетевом оборудовании компаний Huawei и H3C. Это протокол, как и семейство протоколов STP, используется для организации отказоустойчивых топологий в сетях Ethernet.

Не все йогурты одинаково полезны

В ZFS существует такая полезная возможность, как предварительное чтение данных, оно же prefetch. При этом в ZFS реализовано предварительное чтение как на файловом, так и на блочном уровне. На системах под управлением FreeBSD по умолчанию prefetch включается если не используется i386 архитектура и на системе не менее 4Gb памяти.

Использование модуля threading в Python

Как и во многих современных языках программирования (даже C++ в новом стандарте обзавелся их поддержкой), стандартная библиотека Python предоставляет средства для многопоточного программирования, и одно из таких средств - модуль threading.

VirtualBox & AHCI (SATA) и Windows 2003 гостевая ОС

Столкнувшись с необходимостью в VirtualBox отдать гостевой OS Windows 2003 SATA диск выяснилось, что не смотря на установленные "Дополнения гостевой ОС" в Windows отсутствуют драйвера для отдаваемого SATA контроллера.

Кинуть пару pipe-ов

Не удается набрать pipe (вертикальная палка, |) в консоли Solaris? А что указывалось в качестве keyboard-layout при инсталяции?   В случае, если была выбрана раскладка Russian вам с высокой вероятностью не удастся напечатать в консоли символ "|".

Как правильно сватать vdbench? Часть 2. Воспроизведение нагрузки.

Благодаря махинациям, описанным в прошлой части, у нас в распоряжении находится дамп дисковых операций (flatfile.bin.gz), а так же заготовка конфига для тестирования. Самое время натравить vdbench на какое-нибудь блочное устройство.

Как правильно сватать vdbench? Часть 1. Запись нагрузки.

Существует большое количество программных продуктов, нацеленных на тестирование производительности дисковой подсистемы: iozone, bonnie, iometer, vdbench, filebench. И у каждого из них есть свои достоинства.

OBP и Recommended patches

Немного поработаю SunAlert-ом. При установке последних Recommended patches на системы со старым OBP под управлением Solaris 10 следует убедиться в том, что у в используемый Вами пакет обновлений не входит патч 147440-02.

Samba и Recommended patches

После установки на несколько систем под управлением Solaris рекомендованных обновлений из-за одной известной проблемы и не только, я внезапно наступил на аккуратно разложенные авторами обновлений грабли с samba.

Отмена перехода на зимнее время в ОС Solaris. Варианты.

  Как известно, с принятием Федерального закона Российской Федерации от 03.06.2011г. № 107-ФЗ «Об исчислении времени» и Постановления Правительства Российской Федерации от 31.08.2011г. № 725 на территории Российской Федерации отменяется сезонный перевод часов и устанавливаются соответствующие часовые зоны и значения времени.
RSS (Opens New Window)(Opens New Window)
thumbnail Danil Khanalainen
Posts: 3
Date: 5/8/24
thumbnail Jonathan F. Keker
Posts: 1
Date: 5/7/24
thumbnail Alexey Weiss
Posts: 17
Date: 5/7/24
thumbnail Тимофей Перцев
Posts: 29
Date: 5/7/24
thumbnail Nikolay Emchenko
Posts: 16
Date: 5/6/24
thumbnail Romo Fedoroff
Posts: 31
Date: 5/5/24
thumbnail Никита Рогаленко
Posts: 1
Date: 5/3/24
thumbnail Алексей Егошин
Posts: 11
Date: 5/1/24
thumbnail Marina Pashnina
Posts: 26
Date: 4/24/24
thumbnail Dmitry Afanasiev
Posts: 59
Date: 12/29/23
thumbnail Денис Серянкин
Posts: 2
Date: 12/18/23
thumbnail Дмитрий Сазонов
Posts: 59
Date: 11/19/23
thumbnail Anna Ershova
Posts: 2
Date: 10/30/23
thumbnail Erik Karapetyan
Posts: 12
Date: 9/9/23
thumbnail Pavel Danilov
Posts: 12
Date: 9/9/23
thumbnail Dmitry Sheshukov
Posts: 13
Date: 8/31/23
thumbnail Maxim Zhukov
Posts: 152
Date: 6/20/23
thumbnail Vladislav Sivirin
Posts: 1
Date: 5/22/23
thumbnail Vadim Kholoshnia
Posts: 1
Date: 4/17/23
thumbnail Andrei Maksimov
Posts: 19
Date: 3/21/23
thumbnail И Горь
Posts: 27
Date: 2/20/23
thumbnail Dmitry Komarov
Posts: 2
Date: 6/2/22
thumbnail Semyon Gruzdev
Posts: 1
Date: 11/17/21
thumbnail Victor Scherbakov
Posts: 3
Date: 9/3/21
thumbnail Ivan Kayukov
Posts: 10
Date: 8/17/21
thumbnail Alexander Zhermal
Posts: 8
Date: 4/16/21
thumbnail Daria Zuban
Posts: 2
Date: 12/29/20
thumbnail Alexander Yarkeev
Posts: 42
Date: 12/23/20
thumbnail Alexey Pismak
Posts: 2
Date: 12/9/20
thumbnail Evgenij Tsopa
Posts: 51
Date: 10/5/20
thumbnail Александр Исаев
Posts: 5
Date: 9/15/20
thumbnail Александр Пашнин
Posts: 25
Date: 9/10/20
thumbnail Danil Sinitskiy
Posts: 3
Date: 9/2/20
thumbnail Александра Пирс
Posts: 27
Date: 4/1/20
thumbnail Valeriy Urrievich Kireev
Posts: 26
Date: 1/15/20
thumbnail Vladimir Nikolaev
Posts: 14
Date: 12/30/19
thumbnail Ivan Uskov
Posts: 23
Date: 12/16/19
thumbnail Андрей Дьяков
Posts: 25
Date: 6/27/19
thumbnail Sergey Zhmylove
Posts: 45
Date: 3/14/18
thumbnail Lev Koznov
Posts: 18
Date: 7/14/17
thumbnail DEADBEEF
Posts: 1
Date: 1/16/17
thumbnail Никита Патрахин
Posts: 2
Date: 8/15/16
thumbnail Vladimir Berlev
Posts: 3
Date: 11/26/15
thumbnail Sergey Klyaus
Posts: 58
Date: 6/21/15
thumbnail Pakhom Golynga
Posts: 20
Date: 3/3/14
thumbnail Vladislav Sovinskiy
Posts: 11
Date: 1/10/14
thumbnail Konstantin Borzov
Posts: 7
Date: 6/20/13
thumbnail Anthony Dmitriev
Posts: 4
Date: 2/19/13
thumbnail Nicolay Smirnov
Posts: 6
Date: 5/2/12
thumbnail Alexander Deiter
Posts: 16
Date: 9/8/11
thumbnail Serge Klimenkov
Posts: 8
Date: 7/26/11
thumbnail Roman Ambrosenko
Posts: 3
Date: 1/18/11
thumbnail Sergey Shilin
Posts: 9
Date: 11/5/10
thumbnail Ruslan F. Isbarov
Posts: 1
Date: 3/31/10