Боровский А. KDE 4 [Текст] : Часть 4. На всех языках мира / Андрей Боровский // Linux Format. — 2008. — № 11 (111), нояб. — С. 85-87. — (KDE 4. Учебник). — Прил.: "О терминах" : [Понимание терминов «интернационализация», «локализация»]. — С. 85 ; "Вредные советы" : [Примеры того, чего не следует делать при подготовке программы к переводу на другие языки] ; "Особенности национальной грамматики" : [Сочетание существительных и числительных в русском языке — правила]. — С. 86.
Аннотация
Локализация приложений KDE 4 – тема, которую невозможно обойти вниманием в русскоязычном Linux Format.
Как научить программу разговаривать на языке пользователя.
Специфика интернационализации и локализации программ в KDE 4.
Следует учесть, что система интернационализации KDE 4 основана на стандартном для Linux пакете GNU gettext (www.gnu.org/software/gettext) и его документацию рекомендуется изучить. Также в KDE 4.x среда сборки программ основана на CMake, в архитектуру библиотек Qt/KDE внесены изменения, в системе интернационализации появились новые функции, например, i18np() — для обработки строк, написание которых должно меняться в зависимости от значения целочисленного аргумента.
В качестве упражнения показано выполнение интернационализации и русской локализации программы, которую создает по умолчанию генератор kapptemplate.
Программирование
Боровский А. KDE 4 : Часть 3. Поставщики данных
Боровский А. KDE 4 [Текст] : Часть 3. Поставщики данных / Андрей Боровский // Linux Format. — 2008. — № 10 (110), окт. — С. 84-87. — (KDE 4. Учебник). — Прил.: "Скорая помощь. Файл /proc/meminfo, как и все в директории /proc, является виртуальным. Он не хранится на диске, а формируется системой в ответ на наши запросы. Когда мы читаем этот файл, мы получаем данные о состоянии памяти на момент чтения.". — С. 84 ; "Рис. 2. Взаимодействие плазмоида с поставщиком данных" : [Схема]. — С. 87.
Аннотация
Как получить данные для отображения на плазмоиде в режиме реального времени.
В качестве примера рассмотрен поставщик данных (data engines), предоставляющий заинтересованным расширениям Plasma информацию о состоянии оперативной памяти системы (из файла /proc/meminfo). Данные о нагрузке на память – это как раз тот тип динамически меняющейся информации, для представления которой удобно использовать плазмоиды. В частности, этот поставщик данных позволит апплетам получать информацию об объеме свободной оперативной памяти и количестве выделенных буферов.
Боровский А. KDE 4 : Часть 2. Сияющая Plasma
Боровский А. KDE 4 [Текст] : Часть 2. Сияющая Plasma / Андрей Боровский // Linux Format. — 2008. — № 9 (109), сент. — С. 80-83. — (KDE 4. Учебник).
Аннотация
Самая наглядная из технологий KDE 4 – Plasma, которая призвана существенно расширить возможности рабочего стола KDE и улучшить его внешний вид. Функциональность Plasma, в свою очередь, основана на новых возможностях библиотеки Qt 4, прежде всего – на системе Graphics View Framework. Помимо нее, Plasma использует новые средства для работы с OpenGL, появившиеся в Qt 4. С точки зрения программиста, Plasma представляет собой API, основная часть которого реализована в библиотеке libplasma.
Плазмоиды и разработка простейших плазмоидов, первый из которых распечатывает содержимое файла /proc/cpuinfo в своем окне, а второй plasmoidviewer будет снабжен элементом управления (строка ввода) и будет выполнять набранные в строке ввода команды Linux.
Боровский А. KDE 4 : Часть 1. KDE 4 под микроскопом
Боровский А. KDE 4 [Текст] : Часть 1. KDE 4 под микроскопом / Андрей Боровский // Linux Format. — 2008. — № 8 (108), авг. — С. 74-77. — (KDE 4. Учебник). — Прил.: "Проект CMake: что внутри?" : [Как создать Make-файлы для стандартного проекта с помощью CMake]. — С. 75.
Аннотация
Программирование приложений для KDE 4 — базовый минимум разработчика.
Элементы KDE с точки зрения программиста: система Plasma — развитие Qt Graphics View Framework; система Corona — расширяет возможности QGraphicsScene, добавляя концепцию апплетов и в результате с элементами графической сцены (рабочего стола) можно связывать мини-приложения; Solid – кросс-платформенная подсистема, предназначенная для работы с устройствами; Phonon — переносимая мультимедиа-подсистема, поставляемая с Qt начиная с версии 4.4, ее API состоит из классов высокого уровня, которые унифицируют доступ к различным библиотекам, связанным с мультимедиа; Decibel — должна упростить жизнь разработчикам IP-телефонов, видеофонов, чатов и прочего.
Инструменты разработчика: KDE 4.04, входящим в состав OpenSUSE 11.0, пакеты разработчика Qt 4.x и KDE 4.x, консольные утилиты cmake и kapptemplate – мастер, с вызова которого и начинается процесс разработки.
Базовая структура и система настройки стандартного проекта приложения KDE 4.
Коротченко А. Getopt : учебник : Правильные аргументы
Коротченко А. Getopt [Текст] : учебник : Правильные аргументы / Артём Коротченко // Linux Format. — 2008. — № 12 (112), дек. — С. 82-84. — (Getopt. Учебник). — Прил.: "О терминологии" : [Аргумент, операнд, опция]. — С. 82 ; "Не только для C" : [Функции getopt() и getopt_long() в C реализована для оболочки в утилите getopt]. — С. 84.
Аннотация
Анализ командной строки Unix и Linux — аргументы. Обработка аргументов программы по всем правилам с getopt().
Шультайс Н. Django : учебник : Часть 4. Финальные штрихи
Шультайс Н. Django [Текст] : учебник : Часть 4. Финальные штрихи / Никита Шультайс // Linux Format. — 2008. — № 8 (108), авг. — С. 84-87. — (Django. Учебник). — Прил.: "И прочая, прочая, прочая…" : [За четыре урока рассмотрены почти все возможности Django, но осталось неохваченным функции для электронной почты, CSV и PDF, постраничного вывода, построения карты сайта, управления несколькими схожими по тематике сайтами из одной инсталляции, помощи дизайнерам]. — С. 87.
Аннотация
Тестирование сайта на сервере с помощью скриптов Python и системы doctest, создание собственных фильтров для шаблонов, работа контекстных процессоров и подпрограмм.
Шультайс Н. Django : учебник : Часть 3. В гостях хорошо, а дома лучше
Шультайс Н. Django [Текст] : учебник : Часть 3. В гостях хорошо, а дома лучше / Никита Шультайс // Linux Format. — 2008. — № 7 (107), июль. — С. 88-91. — (Django. Учебник). — Прил.: "Вниманию полиглотов" : [Сессии в Django полностью основаны на cookie, и если они отключены на клиенте, то могут возникнуть проблемы с переключением языков, чтобы этого избежать используйте Accept-Language]. — С. 88 ; "Уровнем ниже" : [Низкоуровневое кэширование]. — С. 91.
Аннотация
Как снизить нагрузку на веб-сервер при помощи кэширования и, попутно, сделать свое приложение доступным на нескольких языках.
Шультайс Н. Django : учебник : Часть 2. Личная блогосфера
Шультайс Н. Django [Текст] : учебник : Часть 2. Личная блогосфера / Никита Шультайс // Linux Format. — 2008. — № 6 (106), июнь. — С. 78-81. — (Django. Учебник). — Прил.: "Скорая помощь. Если вы взглянете на наши модели, то увидите, что поля первичного ключа – id – в них нет, однако в примере с тегом url мы используем news.id, как ни в чем не бывало. Все верно – Django сам создает первичные ключи для каждой модели.". — С. 78 ; "Все еще сомневаетесь?" : [Два преимущества отделения URL-карт уровня приложений от главной карты сайта]. — С. 79.
Аннотация
Формы и права доступа — эффективное использование против флуда и спама.
Шультайс Н. Django : учебник : Часть 1. Django: новостной портал
Шультайс Н. Django [Текст] : учебник : Часть 1. Django: новостной портал / Никита Шультайс // Linux Format. — 2008. — № 5 (105), май. — С. 86-89. — (Django. Учебник).
Аннотация
Веб-каркас (framework) на Python Django 0.96 (www.djangoproject.com), предназначенный для создания динамических веб-приложений: установка (также для связи с сервером MySQL понадобится MySQLdb версии 1.2.1p2 или выше), настройка, предустановленные приложения общего назначения (django.contrib.auth – система аутентификации, django.contrib.contenttypes – каркас типов содержимого, django.contrib.sessions – работа с сессиями, django.contrib.sites – каркас, позволяющий управлять несколькими сайтами из одной установки Django), создание приложения — новостного портала — при помощи Django.
Боровский А. CMake : Часть 3. Раздвигая горизонты
Боровский А. CMake [Текст] : Часть 3. Раздвигая горизонты / Андрей Боровский // Linux Format. — 2008. — № 11 (111), нояб. — С. 82-84. — (CMake. Учебник). — Прил.: "Подключение библиотеки" ; "Скорая помощь" : [Как в мета-проекте CMake получить значение переменной окружения, для которой нет встроенного «двойника»]. — С. 83.
Аннотация
Как писать собственные сценарии расширения CMake, подключать к проекту библиотеки, устанавливать ПО и создавать дистрибутивы исходных текстов с помощью утилиты CPack из пакета CMake (нет, не Linux, но тоже полезные).
Боровский А. CMake : Часть 2. Интроспекция и логика
Боровский А. CMake [Текст] : Часть 2. Интроспекция и логика / Андрей Боровский // Linux Format. — 2008. — № 10 (110), окт. — С. 92-95. — (CMake. Учебник). — Прил.: "Ловкость рук и никакого мошенничества" : [Как CMake определяет местоположение файлов библиотек, экспортируемые ими функции, выясняет параметры заголовочных файлов, размеры базовых типов и многое другое]. — С. 93 ; "Ключи программы cmake" : [Справка]. — С. 95.
Аннотация
Того, что мы узнали о CMake во второй части учебника, достаточно для писания простейших случаев, однако для сборки более сложных проектов требуются более глубокие знания. Поэтому мы научимся писать скрипты, сканирующие целевую систему и выуживающие из нее все, что нужно для безупречной сборки проекта.
Боровский А. CMake : Часть 1. Собираясь в путь
Боровский А. CMake [Текст] : Часть 1. Собираясь в путь / Андрей Боровский // Linux Format. — 2008. — № 9 (109), сент. — С. 92-95. — (CMake. Учебник). — Прил.: "Где найти документацию" : [справка] ; "С большой буквы или с маленькой?" : [частичная регистронезависимость Cmake и как писать имена команд CMake]. — С. 94.
Аннотация
Платформонезависимая система сборки программного обеспечения из исходных кодов — открытый генератор сборочных файлов CMake (Cross-platform Make; www.cmake.org) от компании Kitware: схема работы, модули, структура языка сценариев, анализ файла CMakeLists.txt (команды) на примере простейшего файла мета-проекта, CMake GUI для Windows.
Лихота В. Perl и C++ : Как работать с классами С++ из Perl
Лихота В. Perl и C++ [Текст] : Как работать с классами С++ из Perl / Вадим Лихота // Linux Format. — 2007. — № 11 (98), нояб.. — С. 88-92. — (Perl и C++. Учебник). — Веблиогр.: с. 92 (7 назв.).
Аннотация
Основные варианты использования C++ и Perl XS, иллюстрированные примерами.
Боровский А. D-Bus: шины для вашего Linux
Боровский А. D-Bus: шины для вашего Linux [Текст] / Андрей Боровский // Linux Format. — 2007. — № 12 (99), дек.. — С. 86-89. — (D-Bus. Учебник). — Прил.: "Рис. 1. Схема взаимодействия двух приложений с помощью D-Bus". — С. 87 ; "D-Bus интерфейс клиента Skype" : [Клиент Skype демонстрирует все основные возможности D-Bus]". — С. 88.
Аннотация
Что такое D-Bus? Самый простой ответ – еще одна система межпроцессного взаимодействия (Interprocess Communication или IPC). Ключевые слова здесь "еще одна". Высокоуровневых систем IPC для Unix/Linux существует много. Помимо систем высокого уровня Unix обладает развитыми средствами IPC низкого уровня (сокеты, каналы), каковые успешно используются многими приложениями напрямую.
Зачем тогда нам может понадобиться D-Bus? Эта система замышлялась группой FreeDesktop.org как средство IPC, не зависящее от типа рабочего стола. В процессе разработки D-Bus обрела несколько уникальных и полезных особенностей. Важными отличительными чертами D-Bus являются система сигналов и асинхронных вызовов методов, а также система управления выполнением приложений. Таким образом, ответ на вопрос, зачем может понадобиться программирование D-Bus, состоит из двух частей. Во-первых, многие важные приложения и системные компоненты (например, Linux HAL и NetworkManager) используют D-Bus как средство общения с внешним миром. Во вторых, D-Bus – это платформенно-независимая система IPC, которая присутствует практически в каждом дистрибутиве Linux и устанавливается по умолчанию во многих из них. Поэтому, если вы пишете приложение, которое должно предоставлять сервисы IPC, не являясь частью какого-либо рабочего стола, вам, безусловно, имеет смысл обратить внимание на D-Bus.
Плюсы и минусы D-Bus.
Архиектура D-Bus и низкоуровневой D-Bus API. Привязки D-Bus API к различным языкам программирования и библиотекам. В настоящее время D-Bus поддерживается в GTK+/GLib (следует отметить, что это – наиболее проработанные привязки), Qt 3/Qt 4, Python, Java, Perl.
Проберт Р. XSLT: Создадим таблицу стилей
Проберт Р. XSLT: Создадим таблицу стилей [Текст] / Рейчел Проберт // Linux Format. — 2007. — № 4 (91), апр. — С. 60-63. — (Изучаем XSLT. Учебник). — Веблиогр. "Образцы таблиц": с. 60 (3 назв.). — Прил.: "Браузеры и RSS" [Таблица]. — С. 62 ; "Выражения XPath" [Таблица]. — С. 63.
Аннотация
eXtensible Stylesheet Language Transformation или XSLT – это язык преобразования одних XML-документов в другие XML-документы. Он является подмножеством XSL, языка таблиц стилей XML.
Показано как составить на XSLT таблицу стилей, "подгоняющую" существующую RSS-ленту (ленту новостей о Linux/Unix сайта www.digg.com) к дизайну своего сайта и как применить эту таблицу к исходному XML, чтобы пользователи могли просмотреть новости в человеко-читаемом виде.
Изучив XSLT можно превратить в веб-страницы не только RSS, а и фотоальбомы, и многое другое, хранящееся в XML.