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

Боровский А. GDB : Избавимся от ошибок

Боровский А. GDB [Текст] : Избавимся от ошибок [в программах при помощи отладчика GNU Debugger] / Андрей Боровский  //  Linux Format. — 2009. — № 7 (120), июль. — С. 72-75. — (GDB. Учебник). — Прил.: "Помощь придет" : [Получение справки по работе с GDB в интерактивном режиме, разделы групп команд справочной системы GDB]. — С. 72 ; "Скорая помощь. Собирая программу с отладочной информацией, не забудьте отключить и оптимизацию (-O0). Код оптимизированной программы не совсем похож на ваши исходники, и это может привести к трудноразрешимым проблемам.". — С. 73 ; "Назад, в будущее!" : [В ряде случаев бывает удобным развернуть ход выполнения программы в обратном направлении и поглядеть, что же привело к ошибке и здесь поможет проприетарный отладчик UndoDB (www.undodb.com), который является надстройкой над GDB и просто добавляет новые команды, не изменяя старые, так что под него не придется переучиваться]. — С. 74. 
      Аннотация 
      Андрей Боровский считает: "Выучив несколько простых команд, вы сможете сделать с помощью отладчика GNU все, что вы могли бы сделать в плане отладки в средах Microsoft или Borland. Выучив еще несколько команд, вы сможете делать такое, что пользователям графических IDE и не снилось. И хотя в наше время безалкогольного шампанского и бескофеинового кофе в Linux появились свои графические IDE со встроенными функциями отладки (Eclipse, Qt Creator), изучение возможностей GDB все равно будет вам полезно, поскольку «за кулисами» указанные среды вызывают именно его."
      Демонстрация работы GNU Debugger (GDB) на примере отладки программы Cuneiform, поддержкой собственной ветки которой занимается автор, как сообщается в его статье "Читаем с листа" (Linux Format, 2009, № 5 (118), май, С. 36-39).
      Андрей Боровский обращает наша внимание на графический отладчике DDD, использующий GDB и интегрированный в него (всегда можно обратиться к отладчику GDB напрямую). 
 

 

Иготти Н. VirtualBox: Python управляет

Иготти Н. VirtualBox: Python управляет [Текст] / Николай Иготти  //  Linux Format. — 2009. — № 7 (120), июль. — С. 70-71. — (VirtualBox. Учебник). 
      Аннотация
      Разработчик поддержки Python в VirtualBox показывает как автоматизировать управление жизненным циклом виртуальной машины (на примере гостевой системы Ubuntu) при помощи Python и технологии XPCOM. 
 

 

Вейч Н. Python : Сеть на ваш вкус

Вейч Н. Python [Текст] : Сеть на ваш вкус / Ник Вейч  //  Linux Format. — 2009. — № 7 (120), июль. — С. 66-69. — (Python. Учебник). — Прил.: "Регулярные выражения" : [Популярно и кратко о них, о том как их создавать (онлайн-­построитель регулярных выражений http://gskInner.com/RegExr/) и где о них прочитать (документация на http://docs.python.org/library/re.html)] ; "Скорая помощь. Python требователен к синтаксису. Он требует выделять отступами блоки многострочных выражений, функций и условных операторов. Количество пробелов в отступе роли не играет: главное, чтобы оно сохранялось внутри блока.". — С. 67 ; "Почему Python?" : [Причины выбора языка Python]. — С. 68 ; "Форматы web-данных" : [Веб-приложений, способных предоставить данные очень много, также есть немало способов предоставления данных — все это будет рассмотрено в данном учебнике]. — С. 69. 
      Аннотация
      Технология мэшап (mashup – технология построения web­-сайта с объединением возможностей группы сторонних веб­приложений, см. http://ru.wikipedia.org/wiki/Мэшап_(веб)) и Python позволяют подчинить сервисы сети своим целям. 
      Решение этой задачи начинается с простого скрипта на Python, позволяющего изменять фон рабочего стола в зависимости от погоды. TSR подобное делает на сайте одной библиотеки, а после прочтения этой статьи многие смогут оживить рабочий стол сами и приспособить скрипт к работе не только с источником данных о погоде, а и другими. Ник Вейч показывает, как взять данные из сети и совместить их с контекстом рабочего стола, как выглядят RSS­-ленты и как работать с объектами в Python, как применить эти ужасные регулярные выражения к очищению текста от тэгов HTML и для отбора из текста цифр, как из Python совершаются системные вызовы для выполнения внешних команд (в нашем случае — смена обоев рабочего стола в зависимости от данных о погоде). Поскольку Ник Вейч коснулся регулярных выражений, обращаем Ваше внимание на статью Криса Брауна "Обработка текста: регулярные выражения" (Linux Format, 2006, № 6 (80), июнь, С. 74-77), которая целиком посвящена этому вопросу.
 

 

Ботвик Н. Сети : Часть 7: Web-приложения: Рулим контентом

Ботвик Н. Сети [Текст] : Часть 7: Web-приложения: Рулим контентом / Нейл Ботвик  //  Linux Format. — 2009. — № 7 (120), июль. — С. 62-65. — (Сети. Учебник). — Прил.: "PHP" : [Настройки Apache для обработки PHP-страниц]. — С. 63 ; "Скорая помощь. Не пытайтесь импортировать все фотографии сразу: вдруг вам захочется изменить настройки? Сначала добавьте пару штук и посмотрите, как они выглядят." ; "Другие языки" : [Для создания веб-приложений используются и другие языки программирования (Perl, Ruby, Ruby on Rails, Python, Jango)]. — С. 64.
      Аннотация
      Как на платформе LAMP (Linux, Apache, MySQL, PHP) установить, настроить и запустить в Apache веб-приложения Gallery (онлайн-­фотогалерея), SquirrelMail (почтовый веб-клиент), чтобы получить к ним доступ через интернет. Эти навыки пригодятся для установки и настройки других веб-приложений и продолжения экспериментов в перспективном направлении. 
 

 

Крестников Е. GData : Курс молодого бойца

Крестников Е. GData [Текст] : Курс молодого бойца [по управлению документами в Google Docs через Google Data API] / Евгений Крестников  //  Linux Format. — 2009. — № 7 (120), июль. — С. 58-61. — (GData. Учебник). — Внутритекст. веблиогр. 
      Аннотация
      Введение в API данных Google, которое поможет понять основные принципы работы с этим замечательным инструментарием. Предполагается, что читатель – достаточно опытный веб­разработчик, знакомый с Linux и желающий освоить новую технологию. Разобраться в деталях поможет документация, доступная по адресу http://code.google.com/intl/ru/apis/gdata/.
      Google Data API — основные принципы и понятия (веб-­синдикация), клиентские библиотеки, клиентская библиотека для языка PHP5 (http://framework.zend.com/). 
      Доступные стороннему разработчику API данных Google — Google Base, Blogger – сервис Google для создания блогов, Календарz Google, Блокнота Google, Таблиц Google, веб-­альбомов Picasa, YouTube. 
      Работа с онлайн-­сервисами Google при помощи Zend Gdata 1.8.3 на примере Google Docs — создание программы, которая будет получать список документов, имеющихся у некоторого пользователя в службе Google Docs, печатать их имена в стандартный вывод, а затем выгружать на сервер новый файл. 

Моррисон Г. Qt Creator

Моррисон Г. Qt Creator [Текст] : [Среда разработки Qt-приложений — обзор первого релиза] / Грэм Моррисон  //  Linux Format. — 2009. — № 6 (119), июнь. — С. 13. — (Обзоры. Среда разработки). — Прил.: "Вкратце. Среда разработки Qt-приложений, включая дизайнер интерфейса. См. также: KDevelop, Edyuk или Eclipse." ; "Свойства навскидку" : [Автозавершение кода, Отладка] ; "Linux Format. Вердикт. Qt Creator [(www.qtsoftware.com)]".

 

Боровский А. Кодируем : Cоветы бывалых

Боровский А. Кодируем [Текст] : Cоветы бывалых / Андрей Боровский  //  Linux Format. — 2009. — № 4 (117), апр.. — С. 72-75. — (Программирование. Учебник) (Советы программистам. Учебник). — Прил.: "Переменные GNU Readline" : [Комментарии к переменным: set сompletion-ignore-case on, set completion-query-items n, set disable-completion on, set expand-tilde on, set mark-directories on, set match-hidden-files on, set print-completions-horizontally on, set show-all-if-ambiguous on, set visible-stats on]. — С. 73 ; "Скорая помощь. Перехват библиотечных вызовов полезен не только для отладки. Переопределив функции для работы с сокетами, вы можете перенаправить весь сетевой трафик приложения на выделенный SOCKS-сервер.". — С. 75. 
      Аннотация
      На протяжении многих лет Андрей Боровский собирал интересные фрагменты из исходных текстов разных популярных программ и из форумов, посвященных программированию для Unix. Подборкой тонкостей и хитростей программистского мастерства он делится с читателями Linux Format. 
      Мы узнаем: как реализовать в консольном приложении завершение имен команд и файлов по нажатию Tab и обогатить программу историей команд в стиле Bash при помощи библиотеки GNU Readline; как написать процедуру, заменяющую тильду именем домашнего каталога пользователя; как сразу после запуска заставить программу освободить окно консоли, из которого она запущена; как перехватить выполняемые программой вызовы библиотечных функций. 

 

Сондерс М. Программирование : Часть 3. Кодируем: игра с мячом!

Сондерс М. Программирование [Текст] : Часть 3. Кодируем: игра с мячом! / Майк Сондерс  //  Linux Format. — 2008. — № 3 (103), март. — С. 62-65. — (Программирование. Учебник). — Прил.: "Хочу красивые" : [Разработка фона игры и ее нюансы]. — С. 65. 
      Аннотация
      Накодим небольшую игру (55 строк кода), где будет несколько мячей, прыгающих по экрану, а задача игрока – постараться избегать столкновения указателя мыши с мячами. В качестве основы нашего проекта используем Python и PyGame (дополнительный слой, связывающий SDL и Python и позволяющий отображать картинки и использовать звуковые эффекты в программах). 

 

Сондерс М. Программирование : Часть 2. Кодируем: Flash-карточки

Сондерс М. Программирование [Текст] : Часть 2. Кодируем: Flash-карточки / Майк Сондерс  //  Linux Format. — 2008. — № 2 (102), февр.. — С. 68-71. — (Программирование. Учебник) (Flash-карточки. Учебник). — Прил.: "Скорая помощь. Если при ваших экспериментах с кодом Python программа зациклилась, ее можно снять из терминала, нажав Ctrl+C. Вам может понадобиться сделать это пару раз, особенно если ваша программа ждет ввода от пользователя. Если ваша программа все-таки не останавливается, наберите в терминале ps ax, найдите номер процесса Python вашего скрипта и введите kill -9 <number>. Это команда абсолютного останова программы.". — С. 70 ; "PyGame умеет больше [(www.pygame.org)]". — С. 71. 
      Аннотация
      Создание на Python программы всплывающих карточек (flash-карт), которая помогает запоминать иностранные слова. Программа отображает английские слова и просит выбрать их русский эквивалент из списка трех, случайным образом выбранных, слов, начисляя очки по мере прогресса. 
      Программа пригодится для любого языка, или вообще для всего, что нужно изучить! Майк Сондерс помогает написать версию программы, которая использует слова и картинки при помощи библиотеки PyGame, связывающей Python с медиа-слоем SDL. PyGame позволяет создавать окна и отображать соответствующие картинки на экране. При этом, большая часть кода останется той же – надо только заставить отображаться вместо текста картинки.

 

Сондерс М. Программирование: личный IRC-бот

Сондерс М. Программирование: личный IRC-бот [Текст] / Майк Сондерс  //  Linux Format. — 2008. — № 1 (100-101), янв.. — С. 82-85. — (Программирование. Учебник). — Прил.: "Стоп… а что такое IRC?" : [Справка]. — С. 84 ; "Скорая помощь. Масса возможностей модуля Net::IRC осталась за рамками этого обзора — просмотрите файлы .pm в архиве, чтобы узнать о них больше. Также рассмотрите другой пример реализации бота, скрипт в файле irctest.". — С. 85. 
      Аннотация
      Начало цикла статей о программировании полезных мини-программ в системе под Linux. 
      Первая статья цикла показывает, как создать на Perl IRC-бота, который будет сидеть в чате и исправно докладывать о состоянии системы только своему хозяину. 
      Почему на Perl? Язык программирования Perl – это язык скриптов, изначально задуманный для обработки текста. Однако он также снабжен массой модулей расширения, один из которых Net::IRC существенно упрощает взаимодействие с серверами IRC. Майк Сондерс кратко знакомит с основами языка, которые будут использованы в ходе программирования IRC-бота, и предоставляет код с толковыми комментариями.

 

Кузьменко А. C++: Исключение утечек

Кузьменко А. C++: Исключение утечек [Текст] / Андрей Кузьменко  //  Linux Format. — 2009. — № 5 (118), май. — С. 74-77. — (Надежный C++. Учебник).  
      Аннотация
      Обработка исключений в многопоточных Linux-приложениях на C++, а именно – применение этого механизма в программах, использующих Pthreads. 

 

Попов О. Графики в Python : Строим графопостроитель

Попов О. Графики в Python [Текст] : Строим графопостроитель / Олег Попов  //  Linux Format. — 2008. — № 3 (103), март. — С. 70-72. — Веблиогр. "Полезные ссылки": с. 72 (4 назв). — (Графики в Python. Учебник). — Прил.: "Каждый охотник желает знать…" : [Способы задания цвета в Matplotlib]. — С. 71.
      Аннотация
      Matplotlib – мультиплатформенный пакет для создания двумерных диаграмм на языке программирования Python. С его помощью можно отрисовывать самые разнообразные диаграммы, причем объем кода, в большинстве случаев, не превысит несколько десятков строк. Другая замечательная особенность пакета – это способность встраивать диаграммы в различные библиотеки графического интерфейса: Tk, wxWidgets, Qt и GTK+. 
      Как при помощи Python, GTK+, PyGTK и Matplotlib нарисовать график функции, столбцовые и круговые диаграммы. 

 

Механошин С. Встраиваемые шаблоны : Часть 2. Идем на дело

Механошин С. Встраиваемые шаблоны [Текст] : Часть 2. Идем на дело / Станислав Механошин  //  Linux Format. — 2008. — № 7 (107), июль. — С. 84-85. — (Встраиваемые шаблоны. Учебник). 
      Аннотация 
      Использование встраиваемых шаблонов Sun Studio (после покупки Sun корпорацией Oracle среда разработки сменила название на Oracle Solaris Studio) в реальном проекте. 
      В этом проекте изрядную долю времени занимает многократно вызываемая функция memset16, которая ведет себя аналогично стандартной функции memset, за исключением того, что записывает в память не одинаковые байты, а одинаковые слова. Библиотечная memset хорошо известна компилятору и близка к оптимальной, но с memset16 все оказывается не так легко. Требуется не только написать оптимальный код для этой функции, но и добиться ее встраивания по месту вызова, чтобы уменьшить накладные расходы на сам вызов, так как результаты профилировки показывают, что данная функция вызывается часто и обычно с небольшим количеством данных. При подобной постановке задачи выбор определенно падает на встраиваемые шаблоны.

 

Механошин С. Встраиваемые шаблоны : Часть 1. Выгода от ассемблера

Механошин С. Встраиваемые шаблоны [Текст] : Часть 1. Выгода от ассемблера / Станислав Механошин ; [в качестве предисл. интервью нач. отд. разработки ПО в санкт-петерб. офисе Sun Microsystems Сергея Пикалева о Sun Studio]  //  Linux Format. — 2008. — № 6 (106), июнь. — С. 90-93. — (Встраиваемые шаблоны. Учебник). — Прил.: "Имена функций" : [Имя функции, указанное в шаблоне, должно быть таким, каким его ожидает компилятор, то есть со всеми декорациями, присущими языку программирования]". — С. 92. 
      Аннотация       
      Ассемблер может пригодиться и в XXI веке – если использовать его с умом. Например, для повышения производительности приложений с помощью встраиваемых шаблонов (inline templates) Sun Studio 12 (после покупки Sun корпорацией Oracle среда разработки сменила название на Oracle Solaris Studio).  

 

Паскаль А. Ананас : Часть 4. Документы и печатные формы

Паскаль А. Ананас [Текст] : Часть 4. Документы и печатные формы / Андрей Паскаль  //  Linux Format. — 2008. — № 1 (100-101), янв.. — С. 94-97. — (Ананас. Учебник). — Прил.: "В чем сила, брат?" : [Интеграция Ананас в OpenOffice.org]. — С. 96.
      Аннотация
      Проектирование документов Ананас на примере документа Приходная накладная и подготовка печатных форм и вывод их на печать с помощью OpenOffice.org.