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

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

 

Боровский А. Программирование для Unix : Часть 12: С окнами на «ты»

Боровский А. Программирование для Unix [Текст] : Часть 12: С окнами на "ты" / Андрей Боровский  //  Linux Format. — 2007. — № 5 (92), май. — С. 78-81. — (Программирование для Unix. Учебник). 
     Аннотация
     Заключительная статья цикла о низкоуровневом программировании в Linux/Unix. 
     Продолжение знакомства с библиотекой ncurses — в ncurses-II рассматриваются важные возможности ncurses, такие, как управление цветом (на примере программы cursedcolors) и поддержка мыши (на примере программы cursedmouse).

Боровский А. Программирование для Unix : Часть 11: ncurses: привет Окнам!

Боровский А. Программирование для Unix [Текст] : Часть 11: ncurses: привет Окнам! / Андрей Боровский  //  Linux Format. — 2007. — № 4 (91), апр. — С. 80-83. — (Программирование для Unix. Учебник). 
     Аннотация
     Дополнительное средство управления терминалом – открытая библиотека ncurses (new curses), которая создает удобный интерфейс для утилит командной строки и расцвечивает терминал всеми цветами радуги. 

Боровский А. Программирование для Unix : Часть 10: Консольный ввод/вывод

Боровский А. Программирование для Unix [Текст] : Часть 10: Консольный ввод/вывод / Андрей Боровский  //  Linux Format. — 2007. — № 3 (90), март. — С. 74-77. — (Программирование для Unix. Учебник). 
     Аннотация
     Интерфейс терминала (консоли) Unix обладает гораздо большим числом возможностей, чем кажется на первый взгляд. Некоторые дополнительные возможности работы с терминалом при помощи интерфейса termios демонстрирует Андрей Боровский.

Боровский А. Программирование для Unix : Часть 9: Демоны

Боровский А. Программирование для Unix [Текст] : Часть 9: Демоны / Андрей Боровский  //  Linux Format. — 2007. — № 2 (89), февр. — С. 78-81. — (Программирование для Unix. Учебник). 
     Аннотация
     Демоны в мире Unix — процессы, которые не взаимодействуют с пользователем напрямую. У процесса-демона нет управляющего терминала и, соответственно, нет пользовательского интерфейса. Для управления демонами приходится использовать другие программы. Само название "демоны" возникло благодаря тому, что многие процессы (не все) этого типа большую часть времени проводят в ожидании какого-то события. Когда это событие наступает, демон активизируется (выпрыгивает, как чертик из табакерки), выполняет свою работу и снова засыпает в ожидании события. 
     Демоны делают всю "черную работу" – но как они выглядят изнутри? Для этого мы рассмотрим их работу на примере простого (очень простого) сетевого сервера aahzd, способного отвечать на запросы клиентов. Исходный код сервера представляет собой доработанный вариант открытого демонстрационного демона, написанного Давидом Жилье (David Gillies). 

Боровский А. Программирование для Unix : Часть 8: Потоки: синхронизация

Боровский А. Программирование для Unix [Текст] : Часть 8: Потоки: синхронизация / Андрей Боровский  //  Linux Format. — 2007. — № 1 (87-88), янв. — С. 72-75. — (Программирование для Unix. Учебник). 
     Аннотация
     Бесконтрольно размножающиеся потоки очень быстро устраивают соревнование за ресурсы системы. Андрей Боровский знает, как сделать так, чтобы все эти thread_func() не мешали друг другу. 

Боровский А. Программирование для Unix : Часть 7: Потоки: создание и уничтожение

Боровский А. Программирование для Unix [Текст] : Часть 7: Потоки: создание и уничтожение / Андрей Боровский  //  Linux Format. — 2006. — № 12 (86), дек. — С. 71-75. — (Программирование для Unix. Учебник). 
     Аннотация
     Потоки и процессы в Linux – где та тонкая грань, что отличает одно от другого? 
     Жизненный цикл потоков – от создания до принудительного завершения. 
     Некоторые авторы избегают термина "поток" и используют вместо него термин "нить" (от англ. "thread"), вероятно для того, чтобы потоки программ не путались с потоками ввода-вывода. Для обозначения последовательного выполнения цепочки инструкций автору лично больше нравится термин "поток", которым он и пользуется, надеясь, что читатели Linux Format не запутаются в контекстах и, встретив слово поток, всегда поймут, идет ли речь о потоках программы, потоках ввода вывода, или о других потоках. 

Боровский А. Программирование для Unix : Часть 6. Процессы и потоки

Боровский А. Программирование для Unix [Текст] : Часть 6. Процессы и потоки / Андрей Боровский  //  Linux Format. — 2006. — № 11 (85), нояб. — С. 100-103. — (Программирование для Unix. Учебник). 
     Аннотация
     Понятие процесса и понимание управления процессами, программирование управления процессами в Linux. 

Боровский А. Программирование для Unix : Часть 4. Сигналы

Боровский А. Программирование для Unix [Текст] : Часть 4. Сигналы / Андрей Боровский  //  Linux Format. — 2006. — № 10 (84), окт. — С. 90-93. — (Программирование для Unix. Учебник). — Библиогр.: с. 93 (2 назв.). — Прил.: "Поля структуры sigaction". — С. 92.
     Аннотация
     Сигналы традиционно считаются трудными в использовании, но при всем этом они незаменимы, когда речь заходит о настоящих приложениях Unix. 
     Рассматриваются только классические сигналы Unix, каковых в Linux насчитывается 31. Этим сигналам назначены номера с 1 до 31 (номер 0, так называемый null-сигнал, имеет особый смысл). Полный список сигналов можно получить из заголовочного файла signal.h. Рассмотрено несколько наиболее интересных сигналов.

Боровский А. Программирование для Unix : Часть 3. Сокеты

Боровский А. Программирование для Unix [Текст] : Часть 3. Сокеты / Андрей Боровский  //  Linux Format. — 2006. — № 9 (83), сент. — С. 96-99. — (Учебник. Программирование для Unix). — Библиогр.: с. 99 (2 назв.). — Прил.: "Остроконечники и тупоконечники" : [Термины «little-endian» и «big-endian» (в компьютерной литературе обозначают порядок байтов, используемый процессором для представления простых многобайтовых типов): порядок байтов как проблема в компьютерном мире]". — С. 98.
     Аннотация
     При всем богатстве выбора средств взаимодействия между процессами в Unix/Linux, самыми популярными средствами были и остаются сокеты. Мы окунемся в мир сетевого программирования и познакомимся с сокетами – базовыми "кирпичиками", из которых строятся и мощные сервера, и легкие клиентские приложения.
     На этом наше знакомство с увлекательным миром межпроцессного взаимодействия Linux заканчивается. 

Боровский А. Программирование для Unix : Часть 3. Очереди сообщений и семафоры

Боровский А. Программирование для Unix [Текст] : Часть 3. Очереди сообщений и семафоры / Андрей Боровский  //  Linux Format. — 2006. — № 8 (82), авг. — С. 102-105. — (Программирование для Unix. Учебник). — Библиогр.: с. 105 (3 назв.). — Прил.: "Неатомарность спин-блокировок" : [Операция «проверить значение – изменить значение» неатомарна, то есть ее выполнение может быть прервано другим процессом и алгоритм простых спин-блокировок (spin locks) не гарантирует надежного разграничения доступа и решение этой проблемы]". — С. 104.
     Аннотация
     Каналы – отнюдь не единственное средство IPC Unix/Linux. В этом выпуске Андрей Боровский рассказывает еще о нескольких механизмах межпроцессного взаимодействия, которые появились в Unix System V и были описаны в System V Interface Definition (SVID) — это сообщения и очереди сообщений, разделяемая память и семафоры (семафоры System V, семафоры POSIX и семафоры в разделяемой памяти).

Боровский А. Программирование для Unix : Часть 2. Межпроцессное взаимодействие

Боровский А. Программирование для Unix [Текст] : Часть 2. Межпроцессное взаимодействие / Андрей Боровский  //  Linux Format. — 2006. — № 7 (81), июль. — С. 97-99. — (Программирование для Unix. Учебник). — Библиогр.: с. 99 (3 назв.). — Прил.: "Закон Брукса [критика]". — С. 97 ; "Как канал передает данные". — С. 98.
     Аннотация
     Возможность разграничения доступа к ресурсам очень полезна, но Linux не была бы настоящей многозадачной системой, если бы в ней не существовало простых и эффективных методов взаимодействия между процессами. Статья посвящена рассмотрению межпроцессного взаимодействия.
     Благодаря межпроцессному взаимодействию (Inter-Process Communication, IPC) разработчик (и пользователь) может разбить решение сложной задачи на несколько простых операций, каждая из которых доверяется отдельной небольшой программе. Последовательная обработка одной задачи несколькими простыми программами очень похожа на конвейерное производство (среди многих значений английского pipeline есть и "конвейер", но статье для перевода слова pipe используется принятый в отечественной литературе термин "канал".