Source
Programmers use the Standard Widget Toolkit (SWT) and JFace libraries to develop graphical user interfaces (GUIs) for the Eclipse environment, and to develop stand-alone GUI native applications.
In the first installment of this series, "How to create a simple SWT application," I introduced you to Eclipse, the Eclipse SWT, and the JFace GUI tool kits to construct Eclipse and stand-alone rich GUIs. I also introduced the basic label, text, and button GUI controls, and the composite, group, and shell container types. Finally, I showed you how to combine these controls into a simple working application.
Here, you will learn how to add menus to your application, use some list input controls, and use the more advanced table and tree container controls. I also will demonstrate some best practices by employing service methods to easily build GUIs. Finally, I will show you how to extract reusable function into a base application class.
Except where noted, all the widgets and controls discussed are in the org.eclipse.swt.widgets package.
Read more...
Development, Eclipse, Java, jFace, Programming, SWT
Источник
Программируя мы часто сталкиваемся с необходимостью ограничить множество допустимых значений для некоторого типа данных. Так, например, день недели может иметь 7 разных значений, месяц в году - 12, а время года - 4. Для решения подобных задач во многих языках программирования со статической типизацией предусмотрен специальный тип данных - перечисление (enum). В Java перечисление появилось не сразу. Специализированная языковая конструкция enum была введена начиная с версии 1.5. До этого момента программисты использовали другие методы для реализации перечислений.
Read more...
Enum, Java, Перечисления, Программирование, разработка
Источник
Концепция Jini была впервые представлена фирмой Sun Microsystems в начале 1999 года. С тех пор она претерпела некоторые изменения, сделанные сообществом Jini (Jini Community), которое сейчас включает такие компании, как 3Com, Canon, Epson, Kodak, Motorolla, Nokia, Novell, Quantum, Segate, Sharp, Siemens, Sony, Xerox.
Jini - это набор API и сетевых протоколов, которые призваны помочь построить и развернуть распределенную систему, организованную как федерация сервисов. Сервисы могут быть всем, что выполняется в сети и готово выполнить какое-либо действие, - аппаратными устройствами, программами и т.д. Например, Jini-совместимые принтеры могут предлагать сервис печати, Jini-совместимые видеокамеры - сервис съемки и просмотра изображения. Таким образом, федерация служб является набором сервисов, доступных в сети в данный момент, которыми могут воспользоваться клиенты для достижения некоторой цели.
Read more...
Java, JINI, Программирование, разработка
Источник
В сфинксе (sphinx-search) существует очень хорошее решение для оптимизации процесса индексации.
Суть решения рассмотрена в статье “Дельта индекс в Sphinx“. Дельта индексы существенно снижают ресурсоемкость постоянной переиндексации, позволяя делать ее чаще и иметь более актуальные данные в результатах поиска.
Использование дельта индексов тем не менее требует периодичного обновления основного индекса, чтобы обновить изменившиеся и выбросить удаленные сущности. Да и сам по себе дельта индекс растет со временем, требуя все больше ресурсов для переиндексации (что делает его неэффективным).
Самое простое решение этой задачи - полная переиндексация в непиковые часы (или дни). Это не самый оптимальный подход, т.к. полная переиндексация может занимать часы, а иногда и дни. Существует другое решение для обновления основного индекса, которое может сэкономить множество ресурсов - объединение индексов (index merging).
Read more...
Delta, Index, main, merging, Search, Sphinx, web, Дельта, Индекс, объединение индексов, поиск, Программирование, разработка, Сфинкс
Источник
Sphinx отлично зарекомендовал себя, как движок полнотекстового поиска. Он обладает отличными показателями производительности и вместе с этим является функционально мощным инструментом. Sphinx прекрасно справляется с большими объемами данных при поиске.
Но есть и другая, более медленная операция, с которой приходится сталкиваться - построение индекса. На малых объемах обычно используют перестройку всего индекса, которая занимает не много времени. В случае же большого количества данных индексирование может стать очень медленным процессом (время полной переиндексации в некторых системах достигает дней и недель). В этом случае результаты поиска будут обладать малой временной актуальностью.
Одним из решений подобной проблемы является использование дельта индекса, о чем мы поговорим в этой статье.
Read more...
Delta, Index, main, Search, Sphinx, Дельта, Индекс, поиск, Программирование, разработка, Сфинкс