Recent Posts

Recent Posts

Pages: [1] 2 3
1
Президент США Дональд Трамп обвинил бывшего директора ФБР Джеймса Коми в лжесвидетельстве в комитете Сената относительно содержания частных встреч между ними и заявил, что готов под присягой дать собственные показания, передает РИА Новости.
 
"Я готов на сто процентов", − отметил Трамп на пресс-конференции в Вашингтоне.
 
Напомним, 8 июня Коми выступил в комитете Сената по разведке, где рассказал о своих беседах с президентом по поводу расследования вмешательства России в выборы США.
 
Также Трамп опроверг ряд высказываний Коми. На вопрос, есть ли у него аудиозапись этих бесед, президент ответил: "Возможно, вы в скором времени об этом узнаете".
 
Он заявил, что не просил прекратить расследование против своего бывшего советника Майкла Флинна, опроверг слова Коми о том, что просил директора ФБР о лояльности и добавил, что "с радостью" готов побеседовать об этом со спецпрокурором Робертом Мюллером, который проводит независимое расследование вмешательства РФ в выборы в США и связей окружения Трампа с Москвой.
 
Глава Белого дома заявил, что показания экс-главы ФБР подтвердили, что никакого "сговора с Россией" и воспрепятствования правосудию не было.
 
Ранее, перед выступлением в комитете Сената по разведке, Коми опубликовал протокол своих разговоров с президентом США.
 
Как соообщал Корреспондент.net, Трамп уволил Коми в начале мая, заявив, что тот не способен эффективно выполнять свои обязанности.
2
Силы специального назначения США предоставляют техническую поддержку филиппинским военным.
Американские силы специального назначения помогают филиппинским вооруженным силам освобождать захваченный боевиками город Марави. Об этом сообщает агентство Reuters со ссылкой на посольство США в Маниле.
ПО ТЕМЕ
 ИГИЛ взяло ответственность за стрельбу в отеле Манилы
ИГИЛ взяло ответственность за стрельбу в отеле Манилы
2 июня 2017, 10:43
 
"По запросу правительства Филиппин силы специального назначения США помогают AFP в текущих операциях в Марави и поддерживают командиров AFP на земле", заявил представитель посольства.
Данную информацию подтвердили филиппинские военные.
"Они не участвуют в боях. Они только предоставляют техническую поддержку", сказал подполковник Джо-Ар Эррера.
Как сообщал Корреспондент.net, бои на юге Филиппин вспыхнули после того, как военные попытались захватить Иснилона Хапилона одного из лидеров местного террористического подполья. Администрация США, в частности, назначила за его голову награду в $5 млн.
Президент Филиппин Родриго Дутерте ввел военное положение на острове Минданао. Он также заявил, что в случае распространения террористической угрозы военное положение может быть введено на территории всей страны.
3
General Discussion / Веб-сервер Apache
« Last post by admin on June 09, 2017, 08:28:17 AM »
В дополнение к PHP, MySQL, JavaScript, CSS и HTML5 в динамической веб-тех-
нологии фигурирует и шестой герой веб-сервер. В нашей книге предполагается,
что это веб-сервер Apache. Мы уже немного касались того, что делает веб-сервер
в процессе обмена информацией между клиентом и сервером по протоколу HTTP,
но на самом деле негласно он выполняет куда более масштабную работу.
Например, Apache обслуживает не только HTML-файлы он работает с ши-
роким спектром файлов, начиная с файлов изображений и Flash-роликов и за-
канчивая аудиофайлами формата MP3, файлами RSS-потоков (Really Simple
Syndication простое распространение по подписке) и т. д. Для этого каждый
элемент, найденный на HTML-странице веб-клиентом, также запрашивается у сер-
вера, который затем и осуществляет обслуживание.
Но эти объекты не должны быть статическими файлами, такими как изобра-
жения GIF-формата. Все они могут быть сгенерированы программами, такими как
сценарии PHP. И это действительно возможно: PHP способен даже создавать для
вас изображения и другие файлы либо на лету, либо заранее, в расчете на после-
дующее обслуживание. Для этого обычно имеются модули, либо предварительно
скомпилированные в Apache или PHP, либо вызываемые во время выполнения
программы. Одним из таких модулей является библиотека GD (Graphics Draw
рисование графики), которую PHP использует для создания и обработки графи-
ческих элементов.
Apache поддерживает также обширный арсенал собственных модулей. В допол-
нение к модулям PHP наиболее важными для вас, как для веб-программиста, будут
модули, занимающиеся обеспечением безопасности. В качестве других примеров
могут послужить модуль Rewrite, позволяющий веб-серверу обрабатывать широкий
Глава 1. Введение в динамическое содержимое веб-страницы
41
диапазон типов URL-адресов и перезаписывать их в соответствии с его внутрен-
ними требованиями, и модуль Proxy, который можно использовать для обслужи-
вания часто запрашиваемых страниц из кэша, для того чтобы снизить нагрузку на
сервер.
Далее в книге будет показано практическое применение этих модулей для улуч-
шения свойств, предоставляемых тремя основными технологиями.
4
General Discussion / А теперь HTML5
« Last post by admin on June 09, 2017, 08:26:30 AM »
Какими бы ни были полезными все эти дополнения к веб-стандартам, самым амби-
циозным разработчикам и их было мало. К примеру, так и не был придуман простой
способ работы с графикой в браузере, не требующий обращения к таким дополни-
тельным модулям, как Flash. То же самое происходило и в отношении аудио- и ви-
деовставок в веб-страницы. Кроме того, можно отметить множество досадных не-
соответствий, вкравшихся в HTML в процессе его развития.
Итак, чтобы подчистить все эти шероховатости, перенести Интернет за пределы
технологии Web 2.0 в его следующую фазу развития, был создан новый стандарт
HTML, устраняющий перечисленные недостатки. Он был назван HTML5 и начал
разрабатываться с далеком 2004 году, когда Mozilla Foundation и Opera Software
(разработчики двух популярных браузеров) составили его первый проект. Но его
окончательный проект был представлен World Wide Web Consortium (W3C), меж-
дународной организацией, руководящей веб-стандартами, лишь в начале 2013 года.
Учитывая, что разработка велась девять лет, можно было бы подумать, что речь
идет об окончательной спецификации, но в Интернете так не бывает. Хотя сайты
появляются и исчезают с большой скоростью, базовое программное обеспечение
разрабатывается довольно медленно и тщательно, поэтому появление твердых
рекомендаций в отношении HTML5 вплоть до публикации данного издания этой
книги, то есть в конце 2014 года, не ожидалось. Догадайтесь почему. Начиная
с 2015 года работа уже пойдет над версиями от 5.1 и выше. Таким образом нас
ожидает бесконечный цикл разработки.
Но, хотя в HTML5.1 планируется привнесение в язык множества удобных усо-
вершенствований (в основном это касается холстов), основной HTML5 является
именно тем новым стандартом веб-разработок, с которым сейчас уже нужно рабо-
тать, и он никуда не денется в течение многих грядущих лет. Поэтому сейчас о нем
нужно знать все, что возможно, и это станет для вас очень весомым подспорьем.
Это стандарт действительно внес в HTML много нового (при весьма скромном
объеме измененных или удаленных прежних свойств), но, если говорить вкратце,
с его появлением вы получаете следующее:
? разметку. Включены такие новые элементы, как <nav> и <footer>, а в разряде
нерекомендуемых теперь числятся такие элементы, как <font> и <center>;
? новые API. Например, элемент <canvas> (холст) для записи и рисования на гра-
фических холстах, элементы <audio> и <video>, автономные веб-приложения,
микроданные и локальное хранилище;
А теперь HTML5
40
? приложения. Включены две новые технологии отображения: MathML (Math
Markup Language язык математической разметки) для вывода на экран мате-
матических формул) и SVG (Scalable Vector Graphics масштабируемая век-
торная графика) для создания графических элементов за пределами нового
элемента <canvas>. Но MathML и SVG носят специализированный характер
и содержат столько особенностей, что для их описания потребуется отдельная
книга, поэтому здесь они рассматриваться не будут.
Все это (и не только) будет рассмотрено в главе 22.
5
General Discussion / CSS
« Last post by admin on June 09, 2017, 08:25:54 AM »
После появления третьего стандарта (CSS3) CSS предлагает уровень динамической
интерактивности, которая прежде поддерживалась только с помощью JavaScript. На-
пример, вы можете не только придать стиль любому элементу HTML, чтобы изменить
его размеры, цвета, границы, интервалы, но и, используя всего лишь несколько строк
CSS, добавить своим веб-страницам анимированные переходы и преобразования.
Применение CSS может просто заключаться во вставке правил между тегами
<style> и </style>, расположенными в заголовке веб-страницы:
<style>
 p
 {
 text-align:justify;
 font-family:Helvetica;
 }
</style>
Эти правила будут изменять исходное выравнивание текста тега <p>, чтобы
содержащиеся в нем абзацы были полностью выровнены и для них использовался
шрифт Helvetica.
Глава 1. Введение в динамическое содержимое веб-страницы
39
В главе 19 вы увидите, что существует множество различных способов задания
правил CSS и их также можно включать непосредственно в теги или сохранять во
внешнем файле, предназначенном для отдельной загрузки. Такая гибкость позво-
ляет проводить точную настройку стиля HTML. Вы также увидите, как с помощью
CSS можно, например, создать встроенную функцию hover для анимирования
объектов при проходе над ними указателя мыши. Кроме того, вы научитесь получать
доступ ко всем свойствам CSS-элемента из JavaScript и из HTML.
6
General Discussion / JavaScript
« Last post by admin on June 09, 2017, 08:24:52 AM »
Самая старая из трех основных технологий, рассматриваемых в данной книге,
JavaScript была создана для получения доступа из сценариев ко всем элементам
HTML-документа. Иными словами, она предоставляет средства для динамическо-
го взаимодействия с пользователем, например для проверки приемлемости адресов
электронной почты в формах ввода данных, отображения подсказок наподобие Вы
действительно подразумевали именно это? и т. д. (хотя с точки зрения безопас-
ности, которая всегда должна реализовываться на веб-сервере, на эту технологию
положиться нельзя).
В сочетании с CSS JavaScript закладывает основу мощности динамических веб-
страниц, которые изменяются буквально на глазах, в отличие от новой страницы,
возвращаемой сервером.
Тем не менее с использованием JavaScript могут возникнуть осложнения, обу-
словленные некоторыми существенными различиями в способах реализации это-
го языка, выбранных разными разработчиками браузеров. В основном эти различия
возникают, когда некоторые производители пытаются придать своим браузерам
дополнительные функциональные возможности, не обращая внимания на совме-
стимость с продуктами своих конкурентов.
К счастью, разработчики в большинстве своем уже взялись за ум и осознали
необходимость полной совместимости своих продуктов, чтобы не приходилось
создавать код с множеством исключений. Но остаются миллионы экземпляров
устаревших браузеров, которыми будут пользоваться на протяжении еще многих
лет. Тем не менее и для них существуют решения проблем несовместимости, и поз-
же в этой книге будут рассмотрены библиотеки и технологии, позволяющие без
каких-либо опасений игнорировать существующие различия.
А сейчас взглянем на то, как можно воспользоваться обычным JavaScript-кодом,
воспринимаемым всеми браузерами:
<script type="text/javascript">
 document.write("Today is " + Date() );
</script>
Этот фрагмент кода предписывает браузеру интерпретировать все, что нахо-
дится внутри тегов script, в качестве кода JavaScript, что затем браузер и сделает,
Преимущества использования PHP, MySQL, JavaScript и CSS
38
записав в текущий документ текст Today is , а также дату, полученную за счет
использования принадлежащей JavaScript функции Date. В результате получится
нечто подобное следующему:
Today is Sun Jan 01 2017 01:23:45
Если не требуется указывать конкретную версию JavaScript, то, как правило, можно опустить
type="text/javascript" и использовать для начала интерпретации JavaScript тег <script>.
Ранее было упомянуто, что изначально JavaScript разрабатывался для того, чтобы
получить возможность динамического управления различными элементами, нахо-
дящимися внутри HTML-документа, и это его предназначение по-прежнему явля-
ется основным. Но все чаще JavaScript применяется для реализации технологии
AJAX. Это понятие используется для обозначения процессов доступа к веб-серверу
в фоновом режиме. (Сначала оно означало асинхронный JavaScript и XML
Asynchronous JavaScript and XML, но сейчас это определение несколько устарело.)
AJAX процесс, лежащий в основе технологии Web 2.0 (этот термин популя-
ризирован Тимом О'Рейли, основателем и исполнительным директором издатель-
ства, в котором эта книга вышла на английском языке), при использовании которой
веб-страницы стали напоминать автономные программы, поскольку их уже не
нужно загружать целиком. Вместо этого в быстром вызове AJAX может быть за-
действован отдельный элемент веб-страницы, например, может быть изменена ваша
фотография на сайте социальной сети или заменена кнопка, на которой нужно
щелкнуть, отвечая на вопрос. Полностью эта тема будет рассмотрена в главе 18.
7
General Discussion / MySQL
« Last post by admin on June 09, 2017, 08:23:40 AM »
Разумеется, без средств отслеживания тех изменений, которые пользователь вно-
сит во время работы с вашим сайтом, нельзя в полной мере говорить о возможно-
стях динамического изменения выходного кода HTML. На заре создания Всемир-
ной паутины многие сайты использовали неструктурированные текстовые файлы
для хранения таких данных, как имена пользователей и пароли. Но такой подход
мог вызвать ряд проблем, если файл не был надежно заблокирован от повреждений,
возникающих при одновременном доступе к нему множества пользователей. К то-
му же неструктурированный файл мог разрастаться до таких размеров, что с ним
непросто было работать, не говоря уже о трудностях, связанных с попытками объ-
единения файлов и осуществления в них сложных поисковых операций за какое-
нибудь мало-мальски приемлемое время.
Именно в таких случаях большое значение приобретает использование реляци-
онных баз данных со структурированной системой запросов. И MySQL, будучи
совершенно бесплатной и установленной на огромном количестве веб-серверов
системой, оказывается как нельзя кстати. Она представляет собой надежную и ис-
ключительно быстродействующую систему управления базами данных, исполь-
зующую команды, похожие на простые английские слова.
Высшим уровнем структуры MySQL является база данных, внутри которой
можно иметь одну или несколько таблиц, содержащих ваши данные. Предположим,
вы работаете над таблицей под названием users (пользователи), внутри которой
были созданы графы для фамилий surname, имен firstname и адресов электрон-
ной почты email, и теперь нужно добавить еще одного пользователя. Одна из
команд, которую можно применить для этого, выглядит следующим образом:
INSERT INTO users VALUES('Smith', 'John', 'jsmith@mysite.com');
Разумеется, как упоминалось ранее, для создания базы данных и таблицы,
а также настройки всех нужных полей понадобится выдать и другие команды, но
используемая здесь команда INSERT демонстрирует простоту добавления в базу
данных новой информации. Команда INSERT является примером структурирован-
ного языка запросов (Structured Query Language (SQL)), разработанного в начале
1970-х годов и напоминающего один из старейших языков программирования
COBOL. Тем не менее он хорошо подходит для запросов к базе данных, что и пред-
определило его использование в течение столь длительного времени.
Так же просто выполняется и поиск данных. Предположим, что имеется адрес
электронной почты пользователя и нужно найти имя его владельца. Для этого
можно ввести следующий запрос MySQL:
SELECT surname,firstname FROM users WHERE email='jsmith@mysite.com';
После этого MySQL вернет Smith, John и любые другие пары имен, которые
могут быть связаны в базе данных с адресом электронной почты.
Нетрудно предположить, что возможности MySQL простираются значительно
дальше выполнения простых команд вставки и выбора INSERT и SELECT. Например,
можно объединить несколько таблиц в соответствии с множеством различных
критериев, запросить результаты, выбрав порядок их выдачи из множества вари-
Глава 1. Введение в динамическое содержимое веб-страницы
37
антов, найти частичные совпадения, если известна только часть искомой строки,
вернуть конкретно заданное количество результатов и сделать многое другое.
При использовании PHP все эти вызовы можно направлять непосредственно
к MySQL, без необходимости запуска самой программы MySQL или использования
ее интерфейса командной строки. Это значит, что для того, чтобы докопаться до
нужного вам элемента данных, вы можете сохранять результаты в массивах для их
обработки и осуществления множества поисковых операций, каждая из которых
зависит от результатов, возвращенных предыдущими операциями.
Далее будет показано, что для придания еще большей мощности прямо в MySQL
встроено несколько дополнительных функций, которые можно вызвать для наи-
более часто встречающихся операций и повышения скорости обработки данных.
8
General Discussion / PHP
« Last post by admin on June 09, 2017, 08:22:00 AM »
Использование PHP существенно упрощает встраивание средств, придающих веб-
страницам динамические свойства. Когда страницам присваивается расширение
PHP, у них появляется прямой доступ к языку сценариев. Разработчику нужно
лишь написать код, похожий на этот:
<?php
 echo " Today is " . date("l") . ". ";
?>
Here's the latest news.
Открывающий тег <?php дает веб-серверу разрешение на интерпретацию всего
последующего кода вплоть до тега ?>. Все, что находится за пределами этой кон-
струкции, отправляется клиенту в виде простого HTML. Поэтому текст Here's the
latest news просто выводится в браузере. А внутри PHP-тегов встроенная функция
date отображает текущий день недели, соответствующий системному времени
сервера.
В итоге на выходе из этих двух частей получается примерно следующее:
Today is Wednesday. Here's the latest news.
PHP довольно гибкий язык, и некоторые разработчики предпочитают помещать
PHP-конструкцию непосредственно рядом с кодом PHP, как в этом примере:
Today is <?php echo date("l"); ?>. Here's the latest news.
Существуют также другие способы форматирования и вывода информации, ко-
торые будут рассмотрены в главах, посвященных PHP. Важно усвоить то, что, исполь-
зуя PHP, веб-разработчики получают язык сценариев, который хотя и не обладает
быстротой кода, скомпилированного на C или ему подобных языках, но все же рабо-
тает невероятно быстро и к тому же очень хорошо вписывается в разметку HTML.
Если вы собираетесь набирать встречающиеся в этой книге примеры на PHP, чтобы работать
параллельно с моим повествованием, не забывайте предварять их тегом <?php, а в конце
ставить тег ?>, для того чтобы обеспечить их обработку интерпретатором PHP. Для упро-
щения этой задачи можно заранее подготовить файл example.php, содержащий эти теги.
Используя PHP, вы получаете средство управления своим веб-сервером с не-
ограниченными возможностями. Если понадобится на лету внести изменения
в HTML, обработать данные кредитной карты, добавить сведения о пользователе
в базу данных или извлечь информацию из стороннего сайта, все это можно будет
сделать из тех же самых PHP-файлов, в которых находится и сам код HTML.
9
В начале этой главы был представлен мир технологии Web 1.0, но рывок к созданию
технологии Web 1.1, вместе с которой были разработаны такие браузерные расши-
рения, как Java, JavaScript, JScript (несколько иной вариант JavaScript от корпорации
Microsoft) и ActiveX, не заставил себя долго ждать. На серверной стороне прогресс
был обеспечен за счет общего шлюзового интерфейса (Common Gateway Interface
(CGI)), использования таких языков сценариев, как Perl (альтернатива языку PHP),
и выполнения сценариев на стороне сервера динамической вставки содержимого
одного файла (или выходных данных системного вызова) в другой файл.
Когда ситуация окончательно прояснилась, на передовых позициях остались
три основные технологии. Несмотря на то что язык сценариев Perl силами своих
стойких приверженцев сохранил популярность, простота PHP и допустимость
использования в нем встроенных ссылок на программу базы данных MySQL обес-
печили этому языку более чем двойное превосходство по количеству пользователей.
Преимущества использования PHP, MySQL, JavaScript и CSS
34
А JavaScript, ставший важнейшей составной частью уравнения, используемого для
динамического манипулирования каскадными таблицами стилей (Cascading Style
Sheets (CSS)) и HTML, в настоящее время берет на себя наиболее трудоемкие
задачи осуществления AJAX-процесса на стороне клиента. Благодаря технологии
AJAX веб-страницы обрабатывают данные и отправляют запросы веб-серверу в фо-
новом режиме, не оповещая пользователя о происходящем.
Несомненно, своеобразный симбиоз PHP и MySQL способствует их продви-
жению, но что привлекает к ним разработчиков в первую очередь? На это следу-
ет дать простой ответ: та легкость, с которой эти технологии можно использовать
для быстрого создания на сайтах динамических элементов. MySQL является
быстродействующей и мощной, но при этом простой в использовании системой
базы данных, предлагающей сайту практически все необходимое для поиска и об-
работки данных, которые предназначены для браузеров. Когда PHP для хранения
и извлечения этих данных выступает в союзе с MySQL, вы получаете основные
Рис. 1.2. Динамическая последовательность процесса запрос ответ,
выполняемого клиентом и сервером
Глава 1. Введение в динамическое содержимое веб-страницы
35
составляющие, необходимые для разработки сайтов социальных сетей и для пе-
рехода к технологии Web 2.0.
И когда вы также соедините вместе JavaScript и CSS, у вас появится рецепт для
создания высокодинамичных и интерактивных сайтов.
10
General Discussion / Процедура запрос ответ
« Last post by admin on June 09, 2017, 07:10:43 AM »
В наиболее общем виде процесс запрос ответ состоит из просьбы браузера
к веб-серверу отправить ему веб-страницу и выполнения браузером данной прось-
бы. После этого браузер занимается отображением страницы (рис. 1.1).
При этом соблюдается такая последовательность действий.
1. Вы вводите в адресную строку браузера http://server.com.
2. Ваш браузер ищет IP-адрес, соответствующий доменному имени server.com.
3. Браузер посылает запрос на главную страницу server.com.
4. Запрос проходит по Интернету и поступает на веб-сервер server.com.
5. Веб-сервер, получивший запрос, ищет веб-страницу на своем жестком диске.
Процедура запрос ответ
32
6. Сервер извлекает веб-страницу и отправляет ее по обратному маршруту в адрес
браузера.
7. Браузер отображает веб-страницу.
Рис. 1.1. Основная последовательность процесса запрос ответ между клиентом и сервером
При передаче типовой веб-страницы этот процесс осуществляется для каждого
имеющегося на ней объекта: элемента графики, встроенного видео- или Flash-ро-
лика и даже шаблона CSS.
Обратите внимание на то, что на шаге 2 браузер ищет IP-адрес, принадлежащий
доменному имени server.com. У каждой машины, подключенной к Интернету, вклю-
чая и ваш компьютер, есть свой IP-адрес. Но, как правило, доступ к веб-серверам
осуществляется по именам, таким как google.com. Вам, должно быть, известно, что
браузер обращается к вспомогательной интернет-службе, так называемой службе
доменных имен (Domain Name Service (DNS)), для того чтобы найти связанный
с сервером IP-адрес, а затем воспользоваться им для связи с компьютером.
При передаче динамических веб-страниц процедура состоит из большего коли-
чества действий, поскольку к ней могут привлекаться как PHP, так и MySQL
(рис. 1.2).
Глава 1. Введение в динамическое содержимое веб-страницы
33
Шаги для динамической последовательности запрос ответ таковы.
1. Вы вводите в адресную строку браузера http://server.com.
2. Ваш браузер ищет IP-адрес, соответствующий доменному имени server.com.
3. Браузер посылает запрос на главную страницу server.com.
4. Запрос проходит по Сети и поступает на веб-сервер server.com.
5. Веб-сервер, получивший запрос, ищет веб-страницу на своем жестком диске.
6. Теперь, когда главная страница размещена в его памяти, веб-сервер замечает,
что она представлена файлом, включающим в себя PHP-сценарии, и передает
страницу интерпретатору PHP.
7. Интерпретатор PHP выполняет PHP-код.
8. Кое-какие фрагменты кода PHP содержат MySQL-инструкции, которые интер-
претатор PHP, в свою очередь, передает процессору базы данных MySQL.
9. База данных MySQL возвращает результаты выполнения инструкции интер-
претатору PHP.
 10. Интерпретатор PHP возвращает веб-серверу результаты выполнения кода PHP,
а также результаты, полученные от базы данных MySQL.
 11. Веб-сервер возвращает страницу выдавшему запрос клиенту, который отобра-
жает эту страницу на экране.
Конечно, ознакомиться с этим процессом и узнать о совместной работе трех
элементов не помешает, но на практике эти подробности не понадобятся, посколь-
ку все происходит в автоматическом режиме.
В каждом из примеров возвращенные браузеру HTML-страницы могут содер-
жать также код JavaScript, интерпретируемый локально на машине клиента. Этот
код может инициировать еще один запрос, точно так же запрос может быть ини-
циирован встроенными объектами, например изображениями.
Pages: [1] 2 3

http://www.oracoll.ru




Рейтинг@Mail.ru
счетчик посещений