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

Whale, D. Adventures in Minecraft

Whale, D. Adventures in Minecraft [Text] / David Whale, Martin O'Hanlon. — Wiley, 2014. — 320 p. — ISBN 978-1-118-94691-6.
     Рец.: Бидвелл, Д. Приключения в MC [Текст] / Джонни Бидвелл [Jonni Bidwell]  //  Linux Format. — 2015. — №2 (193), февр.. — С. 22. — (Обзоры) (Игры и книги). — Прил.: "Вкратце" : [краткая характеристика книги как коллекции проектов применения API Python для Minecraft, приготовленных специально для детей, и как неплохого введения в программирование для остальных] ; "Вердикт Linux Format. Adventures in Minecraft" : [(www.wiley.com/go/adventuresinminecraft), цена, рейтинг, резюме — увлекательнейшая книжка].
     Аннотация
     Книга! Да еще какая! Вниманию мальчишек и девчонок, а также их родителей, библиотекарей, учителей и воспитателей Джонни Бидвелл, пришедший в мир Minecraft ради удовольствия от программирования, представляет "Adventures in Minecraft"!
     Создатель сайта об игре Minecraft (http://stuffaboutcode.com) Мартин О’Хэнлон и Дэвид Уэйл написали на основе сайта книгу"Приключения в Minecraft" (Martin O’Hanlon and David Whale "Adventures in Minecraft"), поставив целью объяснение API Python для Minecraft детям на примере девяти проектов. В рецензии отмечено, что сложность проектов возрастает от традиционного Hello World, которое в книге трансформировано в Hello Minecraft World, до применения Raspberry Pi или Arduino и GPIO-компонентов для создания игры. 
     Джонни Бидвелл обращает внимание на ряд значимых достоинств книги, а именно: текст не зависит от аппаратной платформы и объясняет, как настроить Minecraft на Raspberry Pi, PC или Mac с помощью сервера Bukkit и плагина RaspberryJuice; книгу поразительно легко читать, что  делает ее хорошим учебным пособием; разные подробности, объяснения, предупреждения, наблюдения авторов помещены в разнообразные врезки, которые обозначаются аватарами; код по возможности придерживается чистоты и минимализма, сопровождается понятными объяснениями, даже в объяснении сложной темы потоков код разбит на простые для усвоения фрагменты.
     Значение книги Джонни Бидвелл видит в немаловажной работе по объяснению фундаментальных основ программирования и в том, что  книга намекает на возможность дальнейших приключений, которые воодушевят юных фантазеров.
     "Adventures in Minecraft" by Martin O’Hanlon and David Whale — это чудесно, но у меня есть скромное желание увидеть обложку книги на украинском (Мартін О'Хенлон та Девід Уейл "Пригоди в Minecraft") или на русском (Мартин О’Хэнлон и Дэвид Уэйл "Приключения в Minecraft").

«В Chrome, IE11, Safari 8 и beta-­версии Firefox хостинг YouTube теперь по умолчанию отображает видеоконтент…»

"В Chrome, IE11, Safari 8 и beta-­версии Firefox хостинг YouTube теперь по умолчанию отображает видеоконтент проигрывателем HTML5 с тэгом <video>." [Текст] : [инф. сообщение на основе публикации youtube­eng.blogspot.ru] / рубрику готовил Андрей Гондаренков  //  Linux Format. — 2015. — № 2 (193), февр.. — С. 10. — (Новости) (Новости короткой строкой).
     Аннотация
     YouTube по умолчанию отображает видеоконтент проигрывателем HTML5.
 

Херрон, Ф. Flask: создать монитор процесса

Херрон, Ф. Flask: создать монитор процесса [Текст] : [создание монитора сервера с помощью Python Flask и psUtil на сервере и Angular.js на стороне клиента] : учебник / Филип Херрон [Philip Herron]  //  Linux Format. — 2015. — № 1 (191-192), янв.. — С. 92-95. — (Академия кодинга) (Flask). — Прил.: "Здесь показана общая архитектура встраивания Angular.js в web-страницу" [Изображение] : [схема]. — С. 93 ; "Bootstrap и Angular" : [обеспечение бесконфликтной совместной работы Bootstrap.js и Angular.js]. — С. 94 ; "Скорая помощь. Для использования приложений Flask я предпочитаю использовать обратный прокси-­сервер nginx и запускать несколько экземпляров сервера Flask, настраивая app.run(port=1234) так, чтобы каждый из них мог использовать уникальный порт. Пока ваше приложение обеспечивает сохранность данных в движке, это очень хорошо работает. Другие методы использования Flask см. на http://flask.pocoo.org/snippets/category/deployment.". — С. 95.
     Аннотация
     Веб-разработка на Python. Подробно рассмотрено создание кода монитора сервера с помощью Python Flask и psUtil на сервере и Angular.js на стороне клиента для привязки данных, которая применяется при создании по-настоящему динамичных сайтов, например, Gmail.

 

Бидвелл, Д. Mathematica Pi: распознаём лицо

Бидвелл, Д. Mathematica Pi: распознаём лицо [Текст] : учебник / Джонни Бидвелл [Jonni Bidwell]  //  Linux Format. — 2015. — № 1 (191-192), янв.. — С. 88-91. — (Академия кодинга) (Mathematica). — Прил.: "Скорая помощь. Камера Pi NoIR нашла применение в изучении здоровья растений. При фотосинтезе растения испускают лучи, близкие по спектру к инфракрасным, что можно визуализировать, вычислив изображение различий нормализованного индекса вегетации (NDVI). Все об этом см. на сайте http://infragram.org.". — С. 89 ; "Что такое "собственное лицо"?" : [метод собственных лиц в распознавании образов]. — С. 91. 
     Аннотация
     Поддержка модуля камеры в Raspberry Pi, работа с модулем варианта Pi NoIR (активация, фотографирование), взаимодействие с Mathematica Pi. 
     Простейшее определение и распознавание лиц ограничивается рассмотрением матриц ковариации, собственными пространствами.
     Начальная база данных лиц, алгоритм распознавания лиц (eigenface), создание массива различий лиц, матрица ковариации, собственные векторы, реализация распознавания лиц.
 

Херрон, Ф. Cython: Python среди исходников

Херрон, Ф. Cython: Python среди исходников [Текст] : учебник / Филип Херрон [Philip Herron]  //  Linux Format. — 2015. — № 1 (191-192), янв.. — С. 84-87. — (Академия кодинга) (Cython). — Прил.: "Скорая помощь. Cython не поддерживает традиционный импорт кода, так как один файл Cython представляет собой целый модуль на Python. Но в главный файл с кодом можно добавлять include в стиле C/C++, например, include morecode.pxi.". — С. 84 ; "Всё — модуль, всё круто" : [проектирование собственного модуля Cython]. — С. 85 ; "Альтернативы Cython" : [Swig, Parakeet, Nuitka]. — С. 87. 
     Аннотация
     Cython — язык программирования, упрощающий написание модулей С/С++ кода для Python — установка в системе под Ubuntu и Fedora; сравнение скорости кода на примере выполнения функции Python и функции Cython для чисел Фибоначчи, которое демонстрирует ещё одно свойство Cython — возможность обращения к коду на C/C++ напрямую, а из кода на С снова обращаться напрямую к коду на Python; демонстрация возможности Cython переходить с языка на язык в коде на примере решения задачи встраивания веб­приложения Flask в приложение на C и передача нескольких внутренних структур данных к JSON.     
     Рекомендуется для чтения шедевр Филипа Херрона "Изучая Cython" (Learning Cython by Philip Herron), который доступен в Amazon и онлайн (http://bit.ly/LearningCython и https://github.com/redbrain/cython­book).

 

Браун, Д. Docker: Jenkins и Dockerfiles

Браун, Д. Docker: Jenkins и Dockerfiles [Текст] : [развертывание контейнеров Docker в рабочей среде] : учебник / Джолион Браун [Jolyon Brown]  //  Linux Format. — 2015. — № 1 (191-192), янв.. — С. 74-77. — (Учебник) (Docker). — Прил.: "Непрерывный рост Docker" : [применение программы компаниями и расширение областей использования]. — С. 75 ; "Микросервисы" : [критика монолитной программной архитектуры приложения, микросервисная программная архитектура приложений как концепция]. — С. 76. 
     Аннотация
     Рассмотрены некоторые шаги по внедрению Docker в технологическую среду разработки, разобравшись с возможностями распределённого доступа к контейнерам Docker и применением Docker в рабочем процессе непрерывной интеграции [continuous integration] (CI) с использованием инструмента Jenkins.
 

Ельчук, К. Строим ВМ для разработки PHP

Ельчук, К. Строим ВМ для разработки PHP [Текст] :  [создание среды разработки на PHP при помощи виртуальной машины] / Кент Ельчук [Kent Elchuk]  //  Linux Format. — 2015. — № 1 (191-192), янв.. — С. 52-55. — (Начала работы с PHP). — Прил.: "Безопасность PHP" : [меры обеспечение безопасности домашнего сервера PHP]. — С. 53 ; "Скрипты PHP и командная строка" : [различие запуска скриптов PHP из командной строки и из браузера]. — С. 54 ; "Сервер электронной почты" : [установка и настройка почтового сервера Postfix, простейший способ проверки исходящей почты (приводятся команды проверки)]. — С. 55. 
     Аннотация
     Создание среды разработки на PHP и изучения PHP. Показано, как применение полной виртуальной машины ВМ (VM) поможет в создании веб-страниц, запуске скриптов PHP и доставке электронной почты. Кроме этого показано, как клонировать виртуальную машину и перенести её на другую машину, независимо от того, будет ли хост или гость 32- или 64-битным. Рассмотрен весь процесс сборки — скачивание самой свежей версии Ubuntu, установка Virtualbox на Ubuntu, установка пакетов и модификация пакетов. 
     Установка Virtualbox на Ubuntu для новичков — работа с файлом /etc/apt/sources.list, создание виртуальной машины с Ubuntu, расширение её функциональности при помощи гостевых дополнений Virtualbox (http://download.virtualbox.org/virtualbox) и её настройка.
     Клонирование виртуальной машины и запуск функционального сервера с Apache, MySQL, PHP и Postfix. Создание тестового файла PHP (test.php) в текстовом редакторе.
     Настройка DNS и переадресация портов. Настройка собственного IP-адреса виртуальной машины.
     Основы PHP на примере создания скриптов на PHP — как создавать комментарии, переменные, массивы, циклы (foreach, for и while), функции (sprintf()), классы и объекты, CRUD, запросы MySQL и включать файлы.
 

Паундер, Л. Raspberry Pi: роботы

Паундер, Л. Raspberry Pi: роботы [Текст] : [сборка на базе Raspberry Pi и программирование на Python робота для поиска выхода из лабиринта] : [руководство] / Лес Паундер [Les Pounder]  //  Linux Format. — 2015. — № 1 (191-192), янв.. — С. 44-47: цвет. фото. — (Робототехника на Pi). — Прил.: "В  Raspberry Pi есть две схемы контактов: логическая, под названием "Board", и "BCM". Мы описываем вторую" [Изображение] : [схема расположения контактов BCM]. — С. 45. 
     Аннотация
     Raspberry Pi, несколько экономичных компонентов (плата Ryanteck для управления двигателем, ультразвуковой датчик расстояния, аккумулятор, блок питания USB) и всего 80 строк кода Python, подробное практическое руководство Леса Паундера и несколько часов времени — это все, что потребуется для создания простого робота, который будет пытаться найти выход из лабиринта. 

 

Шарма, М. Хакинг Raspberry Pi

Шарма, М. Хакинг Raspberry Pi [Текст] : [программирование с Raspberry Pi на примере практичных повседневных проектов] : [практическое руководство] / Маянк Шарма [Mayank Sharma]  //  Linux Format. — 2015. — № 1 (191-192), янв.. — С. 30-37. — (Применяем Raspberry Pi). — Содерж.: Навыки: безопасность, API Twitter. Задача №1: настроим камеру слежения : [установка модуля камеры, настройка Raspberry Pi на поддержку камеры, установка библиотеки для анализа и обработки изображений Python Imaging Library, скрипт на Python для обнаружения движения — настройка запуска и выключения вместе с Raspberry Pi, подготовка к отправке данных камеры, настройка отправки изображений камеры слежения в Twitter]. — С. 31 ; Разгоните Pi : [разгон процессора Pi BCM2835]. — С. 32 ; Навыки: работа в сети, взаимодействие, управление данными. Задача №2: сервер доступа к файлам : [используем Raspberry Pi как сетевое хранилище (Network Attached Storage, NAS) при помощи USB-диска и Samba] ; Задача №3: Pi как тонкий клиент : [понятие «тонкий клиент», оборудование (удалённый компьютер-сервер), настройка сервера (Ubuntu Server), настройка тонкого клиента Pi (Remmina)] ; Задача №4: разместите свой ownCloud : [создаём личный и защищённый облачный сервис, используя Pi, ёмкий USB­-диск, программу ownCloud, сервер базы данных SQLite и PHP]. — С. 32-33 ; Навыки: вещание, эмуляция и GPIO. Задача №5: вещаем потоками из сети : [дистрибутив PiMusicBox (www.pimusicbox.com) — установка на SD-карту, настройка вещания в беспроводной сети, настройка PiMusicBox]. — С . 34 ; Задача №6: трансляция аудио : [создание радиостанции на Raspberry Pi — что такое General Purpose Input/Output (GPIO), задействование контактов GPIO при помощи программы от Code Club, ограничения на транслирование файлов радиостанцией на Raspberry Pi (16-­битные 22,050 кГц моно и только в формате WAV), конвертирование файлов MP3 в формат WAV и их трансляция с помощью аудиоредактора SoX sound exchange]. — С. 34-35 ; Эмуляция винтажных игр : [простейший способ — установка дистрибутива RetroPie, в котором есть эмуляторы, поиск старых игр] ; Пожертвуйте излишки ресурсов : [добровольный компьютерный сервис BOINC — настройка Raspberry Pi на уменьшение собственного потребления ресурсов, установка, выбор проектов для пожертвования ресурсов]. — С. 35 ; Навыки: Python, eSpeak. Задача №8: пусть ваш Pi заговорит : [установка, настройка и использование библиотеки eSpeak, использование библиотеки eSpeak внутри скрипта Python для распечатки и прочтения вслух сообщений читателей пользователя в Twitter (код скрипта и комментарий к нему)]. — С. 36 ; Задача №9: управление Pi голосом : [аппаратные требования — колонки, USB-микрофон, подключаемый к Pi, или веб-камера с микрофоном; Jasper — установка, настройка, создание профиля пользователя]. — С. 36-37 ; Задача №10. Minecraft Pi Edition : [использование API Python для управления Minecraft Pi Edition — установка Minecraft Pi Edition, примерный демо-скрипт взаимодействия со средой Minecraft и комментарий к нему, параметры API Python с примерами и краткими описаниями — в PDF-документе на http://bit.ly/MinecraftPyCheatSheet, для более подробного изучения возможностей API Python рекомендуется учебник Джонни Бидвелла "Python: освоим Minecraft Pi" (Linux Format, 2014, № 7 (185), июль, С. 86-87) рубрики "Академия кодинга"]. — С. 37.
     Аннотация
     Возьмите Raspberry Pi, Raspbian и SD-­карту, скачайте NOOBS (или найдите на диске номера), распакуйте и скопируйте полученное содержимое на отформатированную SD­-карту, и вот у вас будет уже все готово для работы по освоению навыков программирования с Raspberry PI на примере практических повседневных проектов. 

 

Ботвик, Н. Чтение. Книжная полка

Ботвик, Н. Чтение. Книжная полка [Текст] : [аннотированный список книг диска для пользователей и профессионалов Linux] / Нейл Ботвик (Neil Bothwick)  //  Linux Format. — 2014. — № 12 (190), дек.. — С. 107. — (На диске) (И еще!). — Содерж.: : [Eric Steven Raymond "The Cathedral and the Bazaar" (Эрик Стивен Реймонд "Собор и Базар") — классический текст, объясняющий преимущества открытой разработки; Greg Kroah-­Hartman "Linux Kernel in a Nutshell" (Грег Кроа­-Хартман "Ядро Linux в двух словах") — введение в ядро Linux от одного из выдающихся разработчиков Linux; "The Debian Administrator’s Handbook" ("Справочник администратора Debian") — руководство для системных администраторов, написанное разработчиками Debian; "Linux Dictionary" — словарь Linux-терминологии от А до Z; "Dive Into Python" — учебник по программированию на Python; "Bourne Shell Scripting" ("Руководство по созданию скриптов Bourne Shell") — начинающим осваивать скрипты оболочки; "Bash Scripting" ("Расширенное руководство по созданию скриптов Bash") — для опытных пользователей; "Intro to Linux" — руководство для новичков; "System Administrators Guide" ("Руководство сисадмина") — руководство по базовому администрированию Linux; "GNU Tools Summary" — руководство по работе в командной строке и обзор основных утилит GNU]. 
     Аннотация
     Книжная полка линуксоида. 

Смедли, Р. CMake 3.0.1

Смедли, Р. CMake. Версия: 3.0.1. Сайт: www.cmake.org  [Текст] : менеджер процесса компоновки программы : [обзор] / Ричард Смедли (Richard Smedley)  //  Linux Format. — 2014. — № 12 (190), дек.. — С. 103. — (LXFHotPicks). 
     Аннотация
     CMake (от английского cross platform make) — кроссплатформенная система автоматизации сборки программного обеспечения из исходного кода, которая не занимается непосредственно сборкой, a лишь генерирует файлы управления сборкой из файлов CMakeLists.txt. Общая характеристика программы. 
     CMake 3.0.1 как релиз исправления ошибок.
 

Смедли, Р. SWI-Prolog 7.1.18

Смедли, Р. SWI-Prolog. Версия: 7.1.18. Сайт: www.swi­-prolog.org [Текст] : среда логического программирования : [обзор ] / Ричард Смедли (Richard Smedley)  //  Linux Format. — 2014. — № 12 (190), дек.. — С. 102. — (LXFHotPicks). 
     Аннотация
     SWI-Prolog — свободная (открытая) реализация декларативного языка логического программирования Prolog. Prolog, как отмечает Ричард Смедли, не очень часто встречается сегодня, но подойдет тем, кого интересуют доказательства теорем, искусственный интеллект или обработка естественных языков.
     SWI-Prolog 7.1.18 — интерфейсы (интерпретатор командной строки, платформо-независимый GUI тулкит XPCE, двусторонний интерфейс между Java и Prolog, плагин Eclipse), источники пакетов для дистрибутивов, функции. 
 

Бидвелл, Д. Python: в GIMP идет снегопад

Бидвелл, Д. Python [Текст] : Python: в GIMP идет снегопад : [учебник] / Джонни Бидвелл (Jonni Bidwell)  //  Linux Format. — 2014. — № 12 (190), дек.. — С. 88-90. — (Академия кодинга) (Python/GIMP). — Веблиогр.: "Скорая помощь": с. 88 (1 назв.). — Прил.: "Черепашки и последовательность Туэ-Морса" : [программирование кривой фон Коха (von Koch)]. — С. 89 ; "Создаем снежинку-совершенство" : [пошаговое руководство]. — С. 90. 
     Аннотация 
     Разбор кода плагина FractalFlake GIMP Python­-Fu для построение снежинки и генерирования фрактального снежного шоу, а также знакомство с одной из парадигм программирования, которая называется рекурсия.
 

Моллетт, Э. Nginx : MySQL: ссылки на базу данных

Моллетт, Э. Nginx [Текст] : MySQL: ссылки на базу данных : учебник / Эндрю Моллетт (Andrew Mallett)  //  Linux Format. — 2014. — № 12 (190), дек.. — С. 74-77. — (Учебник) (Nginx). — Веблиогр. "Web-сервисы в Pi": с. 75 (2 назв.). — Прил.: "Скорая помощь" : [основные типы операторов MySQL]. — С. 74 ; "Скорая помощь. Такие файлы PHP, как config.php, включены из include_path, по умолчанию это будет включать текущую директорию; можно добавить дополнительные пути с помощью функции PHP set_include_path. Если вы управляете сервером, вы также можете настроить пути на постоянной основе в PHP.ini и директиве include_path…". — С. 75 ; "Условия Primary, Unique и Foreign Key". — С. 77. 
     Аннотация
     Завершает учебник о создании динамических сайтов на Raspberry Pi работа с сервером базы данных MySQL и мы создаем простую базу данных контактной информации (contact). 
     После создания (подробности создания таблиц, добавление данных в таблицу), запуска базы данных и знакомства с основами технологии создания запросов SQL мы создадим страницу на PHP для поиска и отображения его результатов, а потом сможем выполнять удаленный поиск по базе данных с помощью форм HTML на веб-­сервере Nginx.
     Промышленность устами маркетологов внушает, что встраиваемые устройства — это нечто особенное и дорогостоящее, а учебник продемонстрировал нечто необычное и мощное на надежном маленьком Raspberry Pi. 
 

 

Моллетт, Э. Nginx. PHP: серверные формы

Моллетт, Э. Nginx [Текст] : PHP: серверные формы : учебник / Эндрю Моллетт (Andrew Mallett)  //  Linux Format. — 2014. — № 12 (190), дек.. — С. 70-73. — (Учебник) (Nginx). — Прил.: "Скорая помощь. Если ваша PHP-­страница никак не работает, создайте простую страницу с функцией phpinfo(), которая напоминает то, что мы делали в LXF188. Эта страница подтвердит, что PHP на самом деле работает." ; "Анатомия формы должна позволить нам отображать данные, вводить данные и отправлять данные. Такую функциональность предоставляет элемент input" [Изображение] : [цвет. схема]. —  С. 70 ;  "Массивы и переменные" : [объяснение термина]. — С. 71 ; "Элемент формы может иметь атрибуты, включающие действие [Action], метод отправки данных [Method], а также (необязательно) тип кодировки [Enctype]» [Изображение] : [цвет. схема]. — С. 72 ; "$_SERVER" : [интересные переменные массива $_SERVER(‘HTTP_USER_AGENT’) и $_SERVER(‘REMOTE_ADDR’)]. — С. 73. 
     Аннотация 
     Следуя предыдущим частям учебника, мы готовы добавить на наш сайт несколько форм и немного PHP, чтобы создать динамические страницы. Мы разработаем веб-страницу для размещения на Pi или на другом сервере, которая будет принимать температуру в градусах Цельсия и преобразовывать ее в градусы Фаренгейта, обойдясь без длинной таблицы с градусами по Цельсию и по Фаренгейту, потому что температуру для нас преобразует простая HTML-форма с одним полем для ввода и кнопкой Submit (Отправить). 
     Применительно к нашему проекту рассмотрены: основы HTML-форм (определение, элементы <input> и “submit”, атрибут “value”, код HTML-страницы); оживление HTML-формы с помощью XHTML (придание атрибутов элементам, задание типов); атрибуты формы (action, method и enctype), которые говорят форме, что она должна делать с полученными данными; особенности методов GET и POST; применение метода GET, которое означает, что на страницу нужно добавить  PHP­скрипты, чтобы она могла обрабатывать информацию; PHP-код — тэги, анализ кода примера, поиск ошибок в лог-файле ошибок веб-сервера Nginx и лог-файле доступа.