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

Смедли, Р. Языки скриптов

Смедли, Р. Языки скриптов [Текст] : [сравнит. обзор] / Ричард Смедли [Richard Smedley]  //  Linux Format. — 2015. — № 4 (195), апр.. — С. 22-27. — (Сравнение) (Языки скриптов). — Содерж.: Наша подборка : [перечень тестируемых языков — Bash, Perl 5, Python, Ruby, newLISP] ; Про наш тест : [особенности сравнения языков программирования и суть пользы языка скриптов для сисадмина]. — С. 22 ; Процесс изучения. Онлайн-ресурсы, книги и добрые люди : [рекомендуются лучшие источники: по Bash — сайт www.shellcheck.net и книга Advanced Bash Scripting Guide (www.tldp.org/LDP/abs/ml) от Linux Document Project; по Perl — встроенная документация, книги "Running Linux" ("Запускаем Linux"), "Perl One­Liners" ("Скрипты-­однострочники на Perl" Петериса Круминьша), сайт http://perlmonks.org; Python — сайт www.python.org/about/gettingstarted, где можно найти солидный список бесплатных руководств и ресурсов; Ruby — книга David B. Copeland "Build Awesome Command Line Applications in Ruby" (Дэвид Б. Коупленд "Создание чудных приложений командной строки в Ruby"; newLISP — сайт http://newlisp.org)] ; Вердикт : [Python и Ruby проще изучать благодаря хорошей документации и доброму сообществу] ; Версии и совместимость. Как одолеть проблему неправильной версии : [основные изменения в Bash произошли в Bash 4 (ассоциативные массивы, сопроцессы, рекурсивные соответствия через globbing) и Bash 4.2 и 4.3 мало что добавили; Perl — версии 5.18, 5.20, 5.22 (скоро выйдет) отличаются только улучшениями; совет не переходить с Python 2 на 3; Ruby — изменения версий принесли проблемы, но они решены при помощи средств rvm и bundle; newLISP — стабилен и не имеет сторонних скриптов, но не гарантирована работа всех скриптов на самых последних версиях] ; Вердикт : [работа с версиями Ruby очень неплоха, но лучше отсутствие проблем в Bash]. — С. 23 ; Поддержка сообщества. Хватает ли сообщества для реальной поддержки в работе? : [кто поможет поладить со скриптом в случае необходимости] ; Вердикт : [лидирует Ruby благодаря программам DevOps] ; Скрипты специально для Web. Заставьте свои скрипты администрирования работать с HTTP. Bash ; newLISP. — С. 24 ; Perl 5 ; Ruby ; Python ; Программируемость. Большие скрипты требуют иной парадигмы программирования : [у всех здесь проблемы и только Python хорош] ; Вердикт : [чем в этом плане хорош Python]. — С. 25 ; Расширения языка. Библиотеки, модули… и как заставить их работать ; Вердикт : [чем выделяется Perl 5] ; Сетевая безопасность. Тестирование и защита сети — или исправление проблем потом : [предлагаемые инструменты, библиотеки, функции] ; Вердикт : [Python опережает Ruby и Perl, но все они друзья тестировщиков]. — С. 26 ; Языки скриптов. Вердикт : [кратко о достоинствах каждого языка скриптов; резюме — администраторы обязаны хорошо знать Bash и кроме него Perl, Python и Ruby, но нужно еще и глубокое понимание того языка, который они предпочитают] ; I. Ruby : [Ruby 2.2.0 (www.ruby-lang.org), лицензия GPLv2 или 2-clause: общая оценка в баллах и резюме] ; II. Python : [Python 3.4.2 (www.python.org), лицензия PSFL: общая оценка в баллах и резюме] ; III. Perl 5 : [Perl 5.20 (perl.org), лицензия GPL or Artistic License: общая оценка в баллах и резюме] ; IV. newLISP : [newLISP 10.6.1 (www.newlisp.org), лицензия GPL: общая оценка в баллах и резюме] ; V. Bash : [Bash 4.3.30 (www.gnu.org/software/bash), лицензия GPLv3+: общая оценка в баллах и резюме] ; Рассмотрите также : [Zsh, PHP, Rebol (Relative Expression Based Object Language)]. — С. 27. 
     Аннотация         
     Попытка помочь ответить на вопрос, какой же язык скриптов стоит изучить, чтобы, будучи сисадмином, легче жить в Linux и упростить себе жизнь? 

Гондаренков, А. Аналитика от HP. Язык Distributed R поддерживает и Vertica, и другие СУБД и платформы

Гондаренков, А. Аналитика от HP. Язык Distributed R поддерживает и Vertica, и другие СУБД и платформы [Текст] : [новая версия языка статистического моделирования Distributed R от HP, выпущенная в виде пакета с открытым кодом] / рубрику готовил Андрей Гондаренков  //  Linux Format. — 2015. — № 4 (195), апр.. — С. 6. — (Новости) (Осмысляем большие данные).
     Аннотация
     Язык статистического моделирования Distributed R от HP как основа платформ для крупномасштабного интеллектуального анализа в реальном времени, позволяющих работать с объёмами данных на уровне терабайт и петабайт (HP Haven Predictive Analytics, Hadoop, аналитическая СУБД Vertica).
 

Толстой, А. GNU Hello 2.10

Толстой, А. GNU Hello. Версия: 2.10. Сайт: http://ftpmirror.gnu.org/hello  [Текст] : программа приветствия GNU : [общий обзор и обзор улучшений релиза] / Александр Толстой  //  Linux Format. — 2015. — № 3 (194), март. — С. 101. — (LXFHotPicks). 
     Аннотация
     GNU Hello — использование, истоки названия и история знакового примера "Hello, world!" (впервые было использовано во внутреннем документе Bell Laboratories, написанном Брайаном Керниганом по программированию на С), команда вызова, компиляция из исходного кода/
     GNU Hello 2.10 — обзор улучшений релиза.

 

Цукалос, М. Erlang: учимся на практике

Цукалос, М. Erlang: учимся на практике [Текст] : учебник / Михалис Цукалос [Mihalis Tsoukalos]  //  Linux Format. — 2015. — № 3 (194), март. — С. 92-95. — (Академия кодинга) (Erlang). — Прил.: "Что такое OTP" : [фреймворк  OTP (OTP — аббревиатура от Open Telecom Platform — открытая телекоммуникационная платформа)] : [краткая справка]. — С. 92 ; "Скорая помощь" : [стоит ли всегда использовать Erlang]. — С. 93 ; "Скорая помощь" : [модули как предпочтительный способ написания программ на Erlang]. — С. 94 ; "Шесть правил" : [правила архитектуры Erlang] ; "Скорая помощь. Чтобы ваш код был устойчивым к ошибкам, пишите его с использованием изолированных компонентов. Такие компоненты могут работать параллельно. Соединив эти две идеи вместе, можно прийти к выводу: то, что изолировано и выполняется параллельно, поддается масштабированию.". — С. 95. 
     Аннотация
     Функциональное программирование на примере программирования на языке Erlang (Ericsson Computer Science Laboratory, Joe Armstrong, 1986) — принципы проектирования и программирования, числа и переменные (атомы, модель однократного присваивания, требование освоения рекурсии и передачи сообщений, встроенный редактор erl, код программы “Hello World” и разбор кода, функции, функциональные объекты, типы структур данных, управляющие конструкции), код и разбор программы для поиска чисел Фибоначчи, модули Erlang, чтение и запись файлов, профилирование (утилиты профилирования cprof, fprof и eprof) и тестирование, работа с распределенной СУБД Mnesia, генерация документации (команда генерации HTML-­файла и помещения его в каталог documentation). 
     Erlang и поддержка процессоров с несколькими ядрами. В этой связи упомянут Стив Джобс, который однажды сказал, что процессорная индустрия добавляет в процессоры новые и новые ядра, но как программировать для них, никто не знает.
     Рекомендуется книга "Programming Erlang" by Joe Armstrong, 2nd Edition (Джо Армстронг "Программирование на Erlang" 2­-е издание).
 

Браммит, Л. Matter.js: пишем HTML5­-игры

Браммит, Л. Matter.js: пишем HTML5­-игры [Текст] : учебник : [игровой физический 2D­-движок Matter.js] : [использование] / Лайам Браммит [Liam Brummit]  //  Linux Format. — 2015. — № 3 (194), март. — С. 88-91. — (Академия кодинга) (Matter.js). — Прил.: "Скорая помощь" : [страница проекта Matter.js (http://brm.io/matter­js)]. — С. 88 ; "Зачем писать на HTML5 игры с физикой?" : [причины — развитие веб-технологий, улучшение технологий HTML5]. — С. 89 ; "Демонстрационные сцены" : [некоторые примеры демо-сцен на сайте Matter.js (http://brm.io/matter­js­demo) — классическая колыбель Ньютона, полноценное онлайн-демо, где можно поупражняться в настройке рендеринга]. — С. 90 ; "О ткани" : [пример эмуляции мягкой поверхности в динамике падения и столкновения с поверхностями окружности и квадрата]. — С. 91. 
     Аннотация
     Matter.js 0.8.0 — общая характеристика, состав, назначение, состав библиотеки. 
     Использование Matter.js на примере создания игры с пращей для разрушения пирамиды: сцена, загрузка движка, создание чистой HTML-страницы, добавление объектов сцены, создание физических объектов (камень, веревка, пирамида из блоков), задание игровой логики.

 

Барнс, Р. Micro Python: а ну, приступим

Барнс, Р. Micro Python: а ну, приступим [Текст] : учебник : [основы микроконтроллера Pyboard и языка Micro Python на примере создания встраиваемой системы реального времени] / Рассел Барнс [Russell Barnes]  //  Linux Format. — 2015. — № 3 (194), март. — С. 80-83. — (Учебник) (Micro Python). — Прил.: "С «голым железом» быстро и удобно общаться через последовательное соединение. В Screen открыть командную строку Python можно командой screen /dev/ttyAMC0.". — С. 80 ; "Pyboard мало чего не умеет, к тому же на нем масса смачных интерфейсов. Можно даже управлять четырьмя сервоприводами «прямо из коробки»" [Изображение] ; "Скорая помощь. Лучший итог совместимости Pyboard с картами MicroSD не в том, что между ними можно быстро и легко переключаться для запуска скриптов Micro Python, а в том, что их можно использовать для журналирования данных.". — С. 81 ; "Квадрокоптер" : [проект по созданию квадрокоптера на базе Pyboard и Micro Python] : [краткая информация]. — С. 82 ; "Спецификации Pyboard" [Таблица] : [процессор, ПЗУ и ОЗУ, разъем для подключения карты MicroSD, акселерометр, часы реального времени, GPIO] ; "Уменьшенный Python" : [библиотеки Micro Python в стандартной поставке, дополнительные библиотеки в micropython­lib на http://github.com/micropython]. — С. 83. 
     Аннотация
     Удобства языка Micro Python и микроконтроллера Pyboard для встраиваемых систем реального времени. 
     Основы языка Micro Python и контроллера Pyboard — особенности подключения к компьютеру, написание кода (традиционное "Hello, World"; разбор скрипта для переключения одного из четырех светодиодов Pyboard между минимальной и максимальной яркостью), загрузка кода в контроллер, подключение к интерактивной среде Pyboard и ее интерактивной командной строке при помощи программы Screen для последовательного подключения, возможности взаимодействия с Pyboard при помощи библиотек Micro Python. 
     Реализация превращения Pyboard в псевдо-мышь, курсор которой можно перемещать, наклоняя плату и используя параметры акселерометра, а также кликать на нем. 

 

Бидвелл, Д. Pi3D

Бидвелл, Д. Pi3D [Текст] : [API OpenGL ES и его использование для создания 3D-графики на Raspberry Pi] / Джонни Бидвелл [Jonni Bidwell]  //  Linux Format. — 2015. — № 3 (194), март. — С. 48-51. — (3D-графика на Pi). — Внутритекст. веблиогр.. — Прил.: "Установка Pi3D на Raspbian" : [советы]. — С. 49 ; "Что такое OpenGL" : [OpenGL (Open Graphics Library) и OpenGL ES (OpenGL for Embedded Systems — OpenGL для встраиваемых систем)] : [справка]. — С. 50. 
     Аннотация
     3D-графика OpenGL на Raspberry Pi: рисуем 3D-систему из трёх небесных тел, в ходе которой приобретем умения работы со сферами, текстурами, вводом с клавиатуры и небесной геометрией для постановки красивого балета нашей системы тел в космосе. 
 

Цукалос, М. R: приступим

Цукалос, М. R: приступим [Текст] : [введение в язык программирования R и применение версии R командной строки для обработки и визуализации данных мониторинга системы] : [руководство] / Михалис Цукалос [Mihalis Tsoukalos]  //  Linux Format. — 2015. — №2 (193), февр.. — С. 92-95. — (Академия кодинга) (Программирование на R). — Прил.: "Скорая помощь. Азбука теории вероятности: бросая шестигранную игральную кость, вы угадываете правильное число с вероятностью 1/6. При двух бросаниях вероятность отгадки сократится до (1/6)*(1/6), то есть 1/36.". — С. 92 ; "Определения статистики" : [краткое толкование определений Min, Median, 1stQu, Mean, 3rdQu, Max для понимания результатов команды summery()] ; "Скорая помощь.  В развитие Азбуки теории вероятности…: при одновременном бросании двух костей вероятность угадать оба числа будет другой, поскольку не надо угадывать порядок появления значений". — С. 93 ; "Теплокарта — хороший и визуально эффективный способ представления данных. Теплокарты отлично подходят для анализа данных мониторинга по латентности и загрузке" [Изображение] : [цвет. рис.] ; "Скорая помощь. Статистика способна ввести в заблуждение. Если человека сбила машина, за последние три часа двигавшаяся со средней скоростью 5 км/ч, то какая скорость была у машины в момент столкновения? Ответ: 100 км/ч. Никогда не путайте среднее и максимальное значения.". — С. 94 ; "Попытки взлома WordPress!" [Изображение] : [гистограмма хакерских атак на сайт WordPress, созданная автоматически из лог-файла с помощью R]. — С. 95.
     Аннотация
     R — краткая характеристика языка, установка в системе под Debian 7, примеры вычисления, команда summery() для получения полного обзора набора данных.
     Программирование на R — рассмотрен код для поиска чисел Фибоначчи и кода для поиска факториала целого числа; показано создание собственных пакетов функций R на примере пакета "Linux Format", который содержит функции myFibo() и myFactorial().
     Применение R для анализа набора данных мониторинга системы — команды pairs() и ggpairs() для поиска отношений между переменными, создание столбчатой диаграммы с целью наглядного показа распределения, разброса и медианы набора данных, теплокарта — способ визуализации таблицы с числами путём замены значений цветными клетками — и её использование для визуализации данных мониторинга нескольких компьютеров.
     Автоматизация извлечения данных мониторинга в текстовый файл и его обработки скриптами R при помощи интерфейса Rscript.
     Реализация в R алгоритма сортировки Bubble (приводится код).
     Обработка в R лог-файлов с данными веб-сервера на примере отслеживания запросов, которые могут иметь отношение к взлому.
     Из имеющихся для R GUI рекомендуется RStudio (www.rstudio.com).
 

Бидвелл, Д. Cython: Python разгоняется

Бидвелл, Д. Cython: Python разгоняется [Текст] : учебник : [оптимизация и ускорение кода на примере алгоритма сжатия изображений] / Джонни Бидвелл [Jonni Bidwell]  //  Linux Format. — 2015. — №2 (193), февр.. — С. 88-90. — (Академия кодинга) (Cython). — Прил.: "Скорая помощь. Если вы уже испробовали cdef, и вам все равно не хватает скорости, можете передать директивы компилятору (типа бесславной ­O3). Загляните в официальную документацию — http://bit.ly/CythonDocs.". — С. 88 ; "Сложение и вычитания с замещением рассчитывает спектр Уолша без необходимости умножения на большую матрицу" [Изображение] : [схема]. — С. 88 ; "В декорациях Cython" : [доступ к декораторам Cython]. — С. 89 ; "Сравнительный анализ" : [модуль cProfile иногда лучше заменить модулем timeit]. — С. 90.
     Аннотация
     Применение Cython для ускорения черновой реализации быстрого преобразования Уолша — Адамара (Fast Walsh – Hadamard Transform) на примере сжатия изображений.

 

Бидвелл, Д. Мод Minetest

­­Бидвелл, Д. Мод Minetest [Текст] : [создание мода открытой игры Minetest на скриптовом языке Lua] : [базовые основы] / Джонни Бидвелл [Jonni Bidwell]  //  Linux Format. — 2015. — №2 (193), февр.. — С. 54-57. — (Minetest). — Прил.: "API Minetest" : [основные классы объектов, регистрация объектов, создание рецептов ремесел]. — С. 55 ; "Хаос мультиплея" : [сервер в игре]. — С. 57.
     Аннотация
     Minetest (http://minetest.net) — открытый вариант игры-песочницы Minecraft — и ее чудеса с точки зрения программиста на скриптовом языке Lua: особенности API и моды.

 

Антоссон, Т. Полет фантазии

Антоссон, Т. Полет фантазии [Текст] : интервью Linux Format : [члены шведской команды Bitcraze Тобиас Антоссон (Tobias Antosson), Маркус Элиассон (Marcus Eliasson) и Арно Таффанель (Arnaud Taffanel) беседуют с журналистом LXF об открытой платформе для разработки квадрокоптера Crazyflie /записал Рассел Барнс [Russell Barnes]  //  Linux Format. — 2015. — №2 (193), февр.. — С. 40-43 : цвет. фото. — (Crazyflie).
     Аннотация
     Крошечный дрон команды Bitcraze (www.bitcraze.se) из Швеции — квадрокоптер Crazyflie 2.0 (размерами 92х92х92 миллиметра и грузоподъемностью 15 грамм), ориентированный на применение внутри помещений, как аппаратная платформа для разных способов применения: порт расширения для подключения новых устройств, платы расширения (плата протоипирования, макетная плата, шаблон для  создания собственных платформ расширений с использованием возможностей KiCad), Bluetooth LE для управения Crazyflie 2.0 с устройств Android или iPhone, Crazyradio PA — USB­-модем для управления квадрокоптером из ПК при помощи контроллера Xbox или PlayStation), беспроводное заряжающее устройство, спящий режим, возможности адаптаци и под конкретные нужды. Изготовление комплектующих (в сотрудничестве с китайской компанией Seeed Technology (www.seeedstudio.com)).
     Crazyflie как открытая платформа для разработки — виртуальная машина Ubuntu, ПО Crazyflie и доступ к настраиваемым программам управления полетами и многим API для разработки (API для Python, C, C++, Java, JavaScript, Ruby и другим), протоколы Crazyradio PA — способ получить низкоуровневый доступ с низкими задержками к летающему устройству, поддержка открытых библиотек.
     Потенциальный рынок сбыта Crazyflie (игрушка, платформа разработки, инструмент исследования).
     Использование — исследовательская лаборатория Болонского университета использовала квадрокоптер команды Bitcraze для розыска и спасения пропавших в горных районах Италянских Альп.

 

Вейч, Н. Arcadia 0.9.0

Вейч, Н. Arcadia. Версия 0.9.0. Сайт http://arcadia.rubyforge.org [Текст] : Ruby IDE : [среда разработки для языка программирования Ruby IDE — обзор] / Ник Вейч (Nick Veitch)  //  Linux Format. — 2011. — № 1 (139-140), янв.. — С. 95. — (LXFHotPicks). 
     Аннотация
     Философия и интерфейс среды разработки Arcadia. 
 

Моррисон, Г. Программируем: регекспы

Моррисон, Г. Программируем: регекспы [Текст] : учебник / Грэм Моррисон (Graham Morrison)  //  Linux Format. — 2011. — № 1 (139-140), янв.. — С. 84-87. — (Hardcore Linux. Учебник). — Прил.: "Пришлите нам свои" : [обращение редакции к читателям журнала присылать свои регулярные выражения]. — С. 84 ; "Актеры и роли" : [комментарии к наиболее распространенным символам — . (точка), * (звездочка, звездочка Клини), ^ (карат, клин, шляпа, домик),  $  (песо, доллар, () (содержимое внутри скобок), | (вертикальная черта, канал), [] (содержимое внутри квадратных скобок),  [^]]. — С. 85 ; "Построение регулярных выражений через GUI" : [визуальный редактор регулярных выражений Kodos]. — С. 86. 
     Аннотация
     Регулярные выражения (регекспы) — основы и примеры применения.
 

Григорьев, В. Caanoo! Да ну?!

Григорьев, В. Caanoo! Да ну?! [Текст] : игровая консоль : [обзор] / Владимир Григорьев aka Hahahoj  //  Linux Format. — 2011. — № 1 (139-140), янв.. — С. 16-17. — (Обзоры). — Прил.: "Вкратце" : [краткая характеристика и целевое назначение] ; "Технические характеристики" ; "К сведению самоделкиных" : [наиболее ожидаемые Caanoo порты игр]. — С. 16 ; "Вердикт. Консоль Caanoo" : [игровая платформа, дающая простор для личного творчества]. — С. 17. 
     Аннотация
     Открытая игровая консоль Caanoo (http://fungp.com) от GamePark Holdings позволяет не только играть, но и программировать игры и продавать их. 
 

Моррисон, Г. Nokia Qt 4.7

Моррисон, Г. Nokia Qt 4.7 [Текст] : среда разработки приложений : [обзор версии] / Грэм Моррисон (Graham Morrison)  //  Linux Format. — 2011. — № 1 (139-140), янв.. — С. 13. — (Обзоры). — Прил.: "Вкратце" : [перечень проектов, основанных на среде Qt, названы аналоги GTK и Java] ; "Свойства навскидку. Qt Quick ; WebKit" ; "Вердикт. Nokia Qt 4.7" : [дополнение Qt Quick]. 
     Аннотация
     Крупное новшество Nokia Qt 4.7 (http://qt.nokia.com) Qt Quick — попытка сделать мощь Qt доступной без владения C++. Обращается внимание на виджет WebKit, ставший эффективнее.