Боровский А. Qt4 [Текст] : Часть 6. Обмен сообщениями / Андрей Боровский // Linux Format. — 2008. — № 7 (107), июль. — С. 76-79. — (Qt 4. Учебник). — Прил.: "Минуточку внимания!" : [Пробелы в документации QtDBus]". — С. 76.
Аннотация
D-Bus стал стандартом де-факто для межпроцессного взаимодействия (Interprocess Communication или IPC) на рабочем столе Linux. Что здесь может предложить Qt, собственно, модуль QtDBus, появившийся в Qt 4.2?
В учебнике "D-Bus" (Боровский А. D-Bus: шины для вашего Linux [Текст] / Андрей Боровский // Linux Format. — 2007. — № 12 (99), дек.. — С. 86-89) рассматривается архитектура шины D-Bus и там была высказана мысль, что программу-клиент D-Bus, которая только обращается к сервисам другого приложения, нетрудно написать даже на "голом" C. С сервером дела обстоят сложнее: он должен уметь обрабатывать сообщения D-Bus, поступающие асинхронно. QtDBus упрощает решение этой задачи настолько, насколько это вообще возможно. В качестве демонстрации возможностей QtDBus мы напишем программу-сервер, которая будет предоставлять доступ к буферу обмена X-Window консольным приложениям.
Программирование
Вейч Н. Рython : Управляемся: Python и музон
Вейч Н. Рython [Текст] : Управляемся: Python и музон / Ник Вейч // Linux Format. — 2007. — № 10 (97), окт.. — С. 60-63. — (Рython. Учебник). — Внутритекст. библиогр. — Веблиогр. "Скорая помощь": с. 63 (1 назв.). — Прил.: "Что такое «кортеж»?" : [Понимание термина в Рython]. — С. 60 ; "Будем резать!" : [Индексы для «нарезания на кусочки» (иногда говорят «слайсинг», от англ. slicing) строк, списков и других типов переменных] ; "Скорая помощь. [Тэги ID3v2 могут содержать массу избыточных данных и…]". — С. 61 ; "Скорая помощь. [Тэги ID3v1 могут вызывать в динамиках очень короткие щелчки между дорожками на старых MP3-плейерах" ; "Журналирование [встроенный в Python модуль ведения журнала]" ; "Форматирование [кода в Рython — отступы строк]". — С. 62.
Аннотация
Ник Вейч отмечает, что Python — превосходный язык для выполнения стандартных операций с файлами — позволяет обрабатывать файлы и использовать функциональные возможности ОС с помощью ряда встроенных функций, всегда готов при необходимости вызвать внешние утилиты, имеет огромную коллекцию готовых модулей, способных выполнить практически любые действия, и к тому же очень прост для понимания. Также Python подходит для создания самостоятельных приложений — или как минимум удобных небольших сценариев для выполнения частных задач.
Но лучше будет увидеть реализацию этих возможностей в действии и статья показывает как при помощи модулей Python под названиями os и eyeD3 навести порядок в коллекции музыкальных файлов.
Кузьменко А. Дырки в паутине
Кузьменко А. Дырки в паутине [Текст] / Андрей Кузьменко // Linux Format. — 2008. — № 8 (108), авг. — С. 88-91. — (Pthreads и C++. Учебник). — Прил.: "Сводная таблица результатов тестирования" [Таблица] ; "Скорая помощь. Узнать параметры своей системы можно, набрав в консоли следующие команды: Версия ядра: uname -a; Компилятор GCC: gcc —version; Библиотека glibc: getconf GNU_LIBC_VERSION; Библиотека libstdc++: ls -l usr/lib/libstdc++.so.*". — С. 91.
Аннотация
Рассмотрены некоторые проблемы, возникающие при написании программ на C++ с использованием библиотеки Pthreads (POSIX Threads). Наряду со встроенными базовыми типами (int, char, double) в функциях работы с потоками могут использоваться объекты классов. Здесь программиста подстерегают проблемы и неожиданности, которые обсуждает Андрей Кузьменко и дает советы как свести к минимуму издержки, связанные с особенностями взаимодействия библиотеки Pthreads с объектами классов.
Боровский А. KDE 4 : Часть 5. Солидная аппаратура
Боровский А. KDE 4 [Текст] : Часть 5. Солидная аппаратура / Андрей Боровский // Linux Format. — 2008. — № 12 (112), дек. — С. 70-73. — (KDE 4. Учебник).
Аннотация
Solid в KDE 4 — кросс-платформенная система взаимодействия с оборудованием.
Практическое знакомство с Solid на примере создания плазмоида, который будет информировать пользователя о состоянии сетевых интерфейсов системы.
Боровский А. KDE 4 : Часть 4. На всех языках мира
Боровский А. 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 во второй части учебника, достаточно для писания простейших случаев, однако для сборки более сложных проектов требуются более глубокие знания. Поэтому мы научимся писать скрипты, сканирующие целевую систему и выуживающие из нее все, что нужно для безупречной сборки проекта.