PHP

Ельчук, К. PHP: выцарапаем данные с сайта

Ельчук, К. PHP: выцарапаем данные с сайта [Текст] : [програмирование на PHP] : [извлечение данных с сайтов (scraping websites) при помощи PHP и регулярных выражений] : [практическое руководство] / Кент Ельчук [Kent Elchuk]  //  Linux Format. — 2014. — № 4 (182), апр.. — С. 76-79. — (Академия кодинга) (PHP). — Прил.: "Получаем удаленный контент и фильтруем вывод" : [способы получения содержимого страниц — потоки RSS, API, поиск и замена шаблона] : [краткая информация]. — С. 76 ; "Мониторинг ветра перемен" : [как следует изменить программу, чтобы она получала необходимые данные в случае изменения кода сайта] ; "Скорая помощь. Функции file_get_contents() и curl умеют загружать web-страницы и превращать их в строки!" : [краткая информация]. — С. 77 ; "Юридический аспект извлечения данных" : [публикация извлеченных данных в Сети повлечет за собой судебное преследование за нарушение авторского права и нанесение материального ущерба; Amazon принял жесткие меры в отношении сторонних провайдеров, использовавших средства извлечения данных с сайта компании без официального разрешения (Ecommercebytes, http://bit.ly/1bjmDCX); использование программ извлечения данных из сайтов как спорная тема] ; "Скорая помощь. Функция preg_match() может найти в строке одно совпадение, а preg_match_all() — все повторяющиеся совпадения!" : [краткая информация]. — С. 79. 
     Аннотация

     Извлечение данных с сайтов (scraping websites) на примере поиска стоимости товаров в www.amazon.com с помощью функций PHP и регулярных выражений (Regex). Рассмотрено извлечение информация об одном продукте на примере электронной книги Кента Ельчука "MYSQL. Fundamentals and Snippets", получение информации об одном и том же продукте у разных продавцов. Написание и код программы для поиска и извлечения данных из сайтов, которая находит интересующие продукты и проверяет их на заданные критерии. 

Ельчук, К. PHP: создаем агрегатор лент

Ельчук, К. PHP: создаем агрегатор лент [Текст] : учебник / Кент Ельчук [Kent Elchuk]]  //  Linux Format. — 2015. — № 11 (202), нояб.. — С. 84-87. — (Академия кодинга) (PHP). — Прил.: "Скорая помощь. Вы всегда можете использовать cron, чтобы открыть ленты RSS и сохранить их в виде файлов XML. Затем их можно использовать вместо URL." : [совет]. — С. 84 ; "Придаем стиль лентам и ссылкам" : [плагин Datatables (https://datatables.net/download/download)]. — С. 85 ; "Скрейпинг данных" : [техника анализа исходного кода веб-страницы на наличие интересующих образцов данных] : [краткая справка]. — С. 87. 
     Аннотация
     Сборка и комбинирование своей новостной ленты с помощью скрипта PHP — агрегирование и анализ RSS-­лент (веб—сервер с пакетом PHP, скрипт анализа RSS­-лент, парсер Magpie RSS (http://bit.ly/MagpieRSS) или Simple Pie (http://simplepie.org/downloads), сбор RSS­-лент на примерах и разбор кода агрегатора для отбора самых актуальных новостей, например, по трудоустройству.
 

Бидвелл, Д. Идем в Академию кодинга от Тукса

Бидвелл, Д. Идем в Академию кодинга от Тукса [Текст] / Джонни Бидвелл [Jonni Bidwell]  //  Linux Format. — 2015. — № 11 (202), нояб.. — С. 30-39. — (Академия кодинга). — Содерж.: Устанавливаем Python и Pygame : [команда установка Python 2.7 в дистрибутивах на базе Debian, совет по установке в других дистрибутивах через менеджер пакетов]. — С. 31 ; Знакомимся с программой : [плавное введение в программирование на Python — основы и элементарные конструкции программирования, применяя для тестирования кода интерактивный интерпретатор Python (переменные, типы, конвертирование переменных, операторы, циклы, списки); применение модуля Pygame для создания простой игры Гомоку (код — на http://pastebin.com/FRe7748B) с рассмотрением кода в целом и отдельных фрагментов (конструкции, константы, кортежи, функции, переменные,  основной цикл игры)]. — С. 31-34 ; Как играть в Gomoku : [история, суть и описание игры; решение проблемы победы игрока, который начинает игру первым на практике и в нашей программе]. — С. 32 ; Читая между строк : [школьная программа подразумевает, что школьники должны научиться понимать и программировать простые алгоритмы и поэтому рассмотрен алгоритм определения победного хода на примере кода для случая проверки горизонтальных, вертикальных и диагональных линий]. — С. 34 ; Языки: обзор : [изобилие языков программирования и проблема выбора первого языка или языков для обучения (школьникам рекомендуется начать со Scratch и ни в коем случае не начинать с языков C или Haskell; за и против Python, JavaScript и PHP, Ruby; проблемы безопасности памяти в C и их решение в языках Go, Swift и Rust; плюсы Rust] ; Программные парадигмы и жаргон : [императивное программирование, объектно-ориентированное программирование, функциональное программирование] : [краткая характеристика в целом]. — С. 35 ; Программирование в школе : [оценка включения программирования в государственную образовательную программу Великобритании и критика ее реализации; возможности обучения детей программированию, которые предлагают журнал Linux Format, свободные ресурсы сети; ПК, Raspberry Pi, компьютеры “Micro: bit” как обучающие платформы; образовательная ИТ-программа Великобритании] ; Клубы программирования : [добровольные клубы программирования Code Club Великобритании (www.codeclub.org.uk)] : [краткая справка]. — С. 37 ; PHP: код и вычисления : [расчет числа Фибоначчи и шифрование текста на PHP] : [код и комментарии]  : [руководство]. — С. 38-39 ; "Скорая помощь. Измените значение $shift, чтобы создавать другие, столь же неэффективные шифры — значение 13 даст вам код ROT13, который популярен благодаря своему использованию для сокрытия ключевых фраз и спойлеров на многих форумах." : [совет] ; Более быстрая функция Фибоначчи : [код функции для нахождения 54-го числа Фибоначчи]. — С. 39.
     Аннотация
     Первые шаги к улучшению своих навыков программиста и становлению себя как разработчика свободного программного обеспечения в Академии кодинга — создание забавной игры на Python, выяснение, какие языки программирования подходят именно нам и нашим проектам, как справиться с новой школьной программой и даже веб-­разработкой.

 

Хадсон, П. PHP: поиграем в слова

Хадсон, П. PHP: поиграем в слова [Текст] : [основы языка программирования PHP на примере создания игры в угадывание слов] : [руководство] / Пол Хадсон [Paul Hudson]  //  Linux Format. — 2015. — № 9 (200), сент.. — С. 86-89. — (Академия кодинга) (PHP). — Прил.: "Наш эксперт" : [Пол Хадсон как автор руководств веб-ресурса hackingwithswift.com по программированию]. — С. 86 ; "Цикл бесконечный, поэтому игра продолжается до тех пор…" [Изображение] : [схема]. — С. 87 ; "Сравнение с false"  : [false в PHP]. — С. 88 ; "Переменные в строках" : [применение фигурных скобок { и } в PHP для отделения переменных от текста] ; "Скорая помощь" : [пути усовершенствования игры]. — С. 89. 
     Аннотация
     Создание на PHP игры командной строки в угадывание слов по картинкам. 
     Установка версии PHP для командной строки и пакета для чтения ввода пользователя с командной строки в дистрибутив на базе Debian.
     Создание игры: уровни и их формат в файле уровней; написание функций; создание массивов (коллекций значений) с учетом фундаментальных положений PHP; функции — file(), explode(), array_merge(), str_replace(), trim(), strlen(), shuffle(), loadLevel(); показ текущего состояния игры с помощью функции printStatus(), ввод игры в бесконечный цикл и его код, код проверки правильности ответа пользователя и код удаления использованных загадок.

 

Уэлдон, Г. CakePHP: Важные ресурсы [Текст] : учебник : [обзор источников информации] / Грэм Уэлдон (Graham Weldon)  //  Linux Format. — 2011. — № 3 (142), март. — С. 68-71. — (CakePHP. Учебник) (Linux Format на DVD). — Прил.: "Ценнейший наш ресурс" : [документация CakePHP, созданная сообществом]. — С. 69 ; "Будьте общительны" : [@cakephp — страница CakePHP в Twitter как источник информации о релизах, проектах и событиях]. — С. 70 ; "Автогенерация API" : [источник API CakePHP]. — С. 71. 
     Аннотация
     Рассмотрены источники информации по CakePHP (http://cakephp.org) — Cookbook, она же "Поваренная книга" CakePHP (http://book.cakephp.org)], Bakery (Пекарня; http://bakery.cakephp.org), API CakePHP (http://api.cakephp.org), сайт "Вопросы по CakePHP" (http://ask.cakephp.org), сайт CakePHP TV (http://tv.cakephp.org), ежегодная конференция CakeFest (http://cakefest.org), сайт PHP (http://php.net), блоги разработчиков, в частности, блог одного из ведущих разработчиков CakePHP Марка Стори (Mark Story; http://mark-story.com), сайт CakeDC (http://cakedc.com),. ресурс www.pseudocoder.com, RSS

 

Уэлдон, Г. CakePHP : Часть III. CakePHP: сайт для закладок

Уэлдон, Г. CakePHP [Текст] : Часть III. CakePHP: сайт для закладок : учебник / Грэм Уэлдон (Graham Weldon)  //  Linux Format. — 2011. — № 2 (141), февр.. — С. 72-75. — (CakePHP III) (Учебник). — Прил.: "Скорая помощь" : [сервис миниатюр Thumboo! (www.thumboo.com)]. — С. 73 ; "Скорая помощь" : [книга на http://book.git­scm.com, которая поможет научиться работать с Git или улучшить свои навыки] ; "Применяем модули". — С. 74 ; "Повторно об исходниках" : [коды учебника]. — С. 75. 
     Аннотация
     Демонстрируется применение программного каркаса CakePHP (cakephp.org) для построения сайта с закладками URL, где будут храниться не только адреса с их описанием, но и аватары пользователей, а также будет возможность делиться ссылками в социальных сетях.
     Соглашения PHP — http://book.cakephp.org/view/901/CakePHP­Conventions — пригодится тем, кто захочет самостоятельно разрабатывать веб-приложения с CakePHP.

 

Уэлдон, Г. CakePHP : Часть II. CakePHP: пишем загрузчик файлов

Уэлдон, Г. CakePHP [Текст] : Часть II. CakePHP: пишем загрузчик файлов : учебник / Грэм Уэлдон (Graham Weldon)  //  Linux Format. — 2011. — № 2 (141), февр.. — С. 68-71. — (CakePHP II) (Учебник). — Прил.: "Классовая борьба" : [классы PHP]. — С. 69. 
     Аннотация
     Демонстрируется применение программного каркаса CakePHP (cakephp.org) для создания загрузчика файлов, который пригодится, когда нужно отправить файл или поделиться им, сохранив контроль над доступом к выданному файлу. В итоге мы научимся находить контроллеры, углубляться в модели и создавать представления. 

 

Уэлдон, Г. CakePHP : Часть  I. CakePHP: раз — и web-приложение!

Уэлдон, Г. CakePHP [Текст] : Часть  I. CakePHP: раз — и web-приложение! : учебник / Грэм Уэлдон (Graham Weldon)  //  Linux Format. — 2011. — № 2 (141), февр.. — С. 64-67. — (CakePHP I) (Учебник) (Linux Format на DVD). — Веблиогр. "Здесь и далее": с. 67 (8 назв.). — Прил.: "Завелись личинки" : [«личинка» (slug) в таблице с книгами, то это не мелкие червячки – так называется уникальная строка URL­-адреса, построенная на основе названия книги]. — С. 65 ; "Настройка ссылок" : [метод Inflector::slug использует символ подчеркивания при генерации коротких ссылок, но его можно изменить на любой другой символ или набор символов, отвечающий нуждам пользователя]. — С. 66. 
     Аннотация
     Демонстрируется применение программного каркаса CakePHP (cakephp.org) для создания многопользовательской библиотеки книг разных владельцев. В ходе урока показано: процесс создания базы данных книг, таблиц books и users, работа утилиты bake (генерация кода моделей, представления, контроллера), настройка связи с базой данных, добавление книг в базу данных, введение коротких ссылок, автоматизация ссылок.

 

Ельчук, К. Строим ВМ для разработки 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 и включать файлы.
 

Моллетт, Э. 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 и лог-файле доступа.
 

Бидвелл, Д. Hack : Hip Hop Virtual Machine

Бидвелл, Д. Hack [Текст] : Hip Hop Virtual Machine : [язык программирования Hack от Facebook] / Джонни Бидвелл (Jonni Bidwell)  //  Linux Format. — 2014. — № 11 (189), нояб.. — С. 96-99. — (Академия кодинга) (Hack). — Прил.: "Установка" : [особенности установки HHVM в различных дистрибутивах Linux]. — С. 97 ; "Краткая история хип-хопа" : [Hip Hop Virtual Machine — эволюция от транслятора кода на C++ HipHop для PHP (он же HPHPc) до виртуальной машины Hip Hop Virtual Machine с открытым исходным кодом; история идеи использования виртуальных машин для кода]. — С. 99. 
      Аннотация
      Усилия Facebook по поддержке PHP — в 2014 году анонсирована спецификация формата PHP 5.6, представлен JIT­-компилятор для PHP с тройным увеличением производительности Hip Hop Virtual Machine (HHVM, http://hhvm.com),анонсирован Hack, язык программирования для HHVM, который хорошо интегрируется в PHP, но предоставляет дополнительные функции. 
      Язык программирования Hack для Hip Hop Virtual Machine (HHVM) — установка, пример использования для факторизации больших целых чисел, функции (primeloop), режимы (Strict и Partial), преобразование PHP на Hack, обобщения, обращение с HTML-­формами. 
 

 

Ельчук, К. PHP/SQLite

Ельчук, К. PHP/SQLite [Текст] : PHP/SQLite: Почта чохом : учебник : [инструкции по настройке собственного PHP-скрипта массовой рассылки по электронной почте] / Кент Ельчук (Kent Elchuk)  //  Linux Format. — 2014. — № 10 (188), окт.. — С. 72-75. — (PHP/SQLite. Учебник). — Прил.: "Наш эксперт" : [краткая справка об авторе] ; "Скорая помощь. База данных SQLite имеет расширение по умолчанию .sqlite, которое вы при желании можете переименовать в .db. Также ей нужно будет настроить разрешения на 777, если вы планируете изменять ее из своего приложения. В противном случае вы получите только частичные привилегии.". — С. 72 ; "Соединения SQLite и MySQL" : [пример реализации в скрипте]. — С. 73 ; "Скорая помощь" : [приводится команда скрипта, которая конвертирует базу данных MySQL в SQLite] ; "Предоставьте SMTP данные об электронной почте" : [показано как задать программе отправки SMTP хост электронной почты, порт, имя пользователя и пароль]. — С. 74 ; "Функция SMTP vs Mail()" : [использование встроенной функции PHP mail() в файле index.php для массовой рассылки] ; "Скорая помощь. Когда ваш первый столбец обрабатывается MySQL с автоприращением, обычно он имеет тип Int и первичный ключ. В SQLite вам нужно конвертировать тип Int в INTEGER и сделать его первичным ключом. По умолчанию конвертирование базы данных MySQL с таблицами, которые используют тип int, произойдет в тип Int в SQLite.". — С. 75. 
      Аннотация
      Кент Ельчук помогает реализовать один из способов сеять разумное, доброе, вечное при помощи компьютерных технологий и предлагает скрипт массовой рассылки по электронной почте. Приложение может работать на любом локальном хосте (Raspberry Pi, USB­-брелок, виртуальная машина или учетная запись своего веб­хостинга). 
      Успехов! 

 

Каплан-Мосс Д. Танго Django

Каплан-Мосс Д. Танго Django [Текст] : [рассказывает один из ведущих разработчиков Django Джейкоб Каплан-Мосс (Jacob Kaplan-Moss)]  //  Linux Format. — 2010. — № 2 (128), февр.. — С. 28-29. — (Интервью). 
      Аннотация
      Django-хакер о своей роли в разработке открытого фреймворка Django и своей любимой части проекта — дизайне API. Далее Джейкоб Каплан-Мосс высказал свое мнение по таким вопросам: связь Django и Python, философия программирования Python и ее определяющее влияние на Django ("Django был бы весьма иным, если бы его писали не на Python"), генерация кода, языки программирования PHP и Ruby, движение Open Source — открытость и кода, и сообщества. Упомянуты создатели Django Саймон Виллисон (Simon Willison) и Адриан Головаты (Adrian Holovaty).
 

Лердорф Р. Волшебник web : Интервью LXF

Лердорф Р. Волшебник web [Текст] : Интервью LXF : [рассказывает создатель PHP Расмус Лердорф]  /   //  Linux Format. — 2009. — № 9 (122), сент.. — С. 28-29. — (Интервью). 
      Аннотация
      В 1994 году датский программист (ныне живущий в Канаде) Расмус Лердорф (Rasmus Lerdorf) создал набор скриптов на Perl и CGI под названием Personal Home Page Tools ("Инструменты для создания персональных веб-страниц") для поддержки своего сайта. За истекшее время скриптовый язык программирования PHP (англ. PHP: Hypertext Preprocessor — "PHP: препроцессор гипертекста") обрел мировую славу и им пользуются миллионы для разработки веб-приложений и создания динамических веб-сайтов. 
      Расмус Лердорф кратко осветил вопросы: организация работы команды разработки открытого проекта, особенности управления проектом с открытым кодом, роль и место лидера в процессе разработки, каковой является PHP, проблема разработки PHP 6 как проблема поиска способных людей в области Unicode-ориентированного программирования, языки C и Perl как вдохновители разработки PHP.
      Интересно мнение Р. Лердорфа о языке программирования Ruby on Rails в связи с вопросом генерирования кода в целом и методом программирования скаффолдинг.