Программирование

Боровский А. 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 во второй части учебника, достаточно для писания простейших случаев, однако для сборки более сложных проектов требуются более глубокие знания. Поэтому мы научимся писать скрипты, сканирующие целевую систему и выуживающие из нее все, что нужно для безупречной сборки проекта.

Боровский А. 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.