В электронной книге американского автора на различных примерах из практики программирования показано, как хорошее понимание особенностей поставленной задачи позволяет найти оптимальое по быстродействию, объему требуемой памяти, легкости модификации решения. Наряду с конкретными примерами даны общие рекомендации по составлению оптимальных алгоритмов и программ.
Эта книга написана для программистов. Хороший программист должен знать все, что написано до него, только тогда он будет писать хорошие программы. Главы этой книги посвящены наиболее привлекательному аспекту профессии программиста: жемчужинам программирования, рождающимся за пределами работы, в области фантазии и творчества. В них рассматриваются: постановка задач, теория алгоритмов, структуры данных, вопросы повышения эффективности кода, а также верификация и тестирование программ.
В этой электронной книге подробно рассмотрены структуры данных и алгоритмы, которые являются фундаментом современной методологии разработки программ. Показаны разнообразные реализации абстрактных типов данных, начиная от стандартных списков, стеков, очередей и заканчивая множествами и отображениями, которые используются для неформального описания и реализации алгоритмов.
Macromedia Flash 5 поможет реализовать все ваши идеи и профессиональное мастерство в интерактивных фильмах. Изучив возможности этой программы, вы сможете создавать уникальные Web-сайты, анимированные логотипы, используя практически весь существующий на сегодняшний день инструментарий в рабочей среде Flash 5. Внимательно прочитав эту книгу, вы будете приятно удивлены богатыми возможностями программы и усвоите основные навыки работы в ней.
Мы предполагаем, что вы на базовом уровне знакомы с HTML, Java и web-серверами и у вас имеется доступ к компьютеру, на котором можно установить небольшой web-сервер, стандартный компилятор Java и другие служебные программы. Редактировать данные XML можно с помощью любого текстового редактора, либо вы можете использовать один из многочисленных коммерческих или находящихся в свободном доступе специализированных редакторов XML. Если эти требования выполнены, то практически любой человек, который работает с данными в той или иной форме, потенциально является пользователем XML. Трудно представить себе такую область человеческой деятельности, для которой в Интернете не нашлось бы ни одного относящегося к ней проекта, использующего язык XML.
В нашей книге мы будем использовать сервлеты [Так, по-видимому, по аналогии с апплетами авторы называют программы, написанные на языке Java и выполняющиеся на сервере — Примеч ред. ] Java и JSP-страницы (JavaServer Pages) для создания web-приложений, работающих с данными XML. Сервлеты выполняются на web-сервере, осуществляя те функции, которые ранее возлагались на сценарии CGI. JSP-страницы позволяют объединять элементы разметки HTML и фрагменты кода Java. Технология сервлетов и JSP-страниц развивается примерно так же быстро, как язык XML.
Для операционной системы Linux долгое время не было достаточно простой среды быстрой разработки приложений. Многие программисты, которые успешно создают программы для Windows, используют среду Borland Delphi. В нашей стране Delphi пользуется особой популярностью как среди начинающих разработчиков, так и среди профессионалов. Многие из них готовы создавать программы для среды Linux, но не было среды, похожей на Delphi. Наконец, летом 2001 года фирма Borland выпустила среду для быстрой разработки приложений в среде Linux и назвала ее Kylix (Kylix — это античная винная чаша, расписанная с внешней и внутренней стороны). На первый взгляд, эта среда — практически копия Delphi, но есть некоторые отличия. Причем эти отличия являются довольно опасными, т. к. одна и та же команда в Delphi и Kylix может привести к совершенно разным последствиям. Данная книга представляет собой краткий обзор среды Kylix версии Kylix Server Developer. С помощью нее вы узнаете особенности среды Kylix и ее отличия от Delphi. Кроме того, заключительная часть книги расскажет вам о методах переноса приложений из Delphi в Kylix и создании межплатформенных приложений.
Книга предназначена для всех желающих изучить среду Kylix и научиться создавать работоспособные программы под Linux. Стиль изложения материала — от простого к сложному, приведены многочисленные примеры. Конечно, желательно, чтобы читатель был знаком (хотя бы поверхностно) с операционной системой Linux и программированием. Данная книга будет читаться еще легче, если вы знакомы с программированием в Delphi.
В данном объеме невозможно охватить все аспекты программирования в Kylix, поэтому в конце книги приводится список литературы и ссылки на сайты в Интернете, из которых читатель сможет почерпнуть отсутствующую в книге информацию.
В книге описывается использование современных Web-технологий - динамического HTML(DHTML) и каскадных таблиц стилей (CSS), используемых в Web-программировании для создания интерактивных динамических Web-узлов. С помощью этой книги Вы научитесь создавать динамические Web-страницы, включающие интерактивные элементы, различные текстовые, графические и анимационные эффекты. Изложение материала сопровождается наглядными примерами, даются советы по планированию и созданию Web-сайтов. Книга адресована Web-программистам и Web-дизайнерам, а также всем, кто интересуется языком DHTML и прикладными Web-технологиями.
Вашему вниманию предлагается один из мировых бестселлеров, посвященных программированию на РНР. В рамках одной книги автору удалось, начав с основ языка РНР, охватить весьма широкий круг вопросов - от объектно-ориентированного программирования до сложной обработки web-форм, от сохранения данных сеанса работы до формирования e-mail. Теоретический материал излагается в компактной и сжатой форме, и основное место отдано практическим примерам использования богатых возможностей РНР.
Книга предназначена в основном для начинающих разработчиков на РНР, но и профессионал может найти в ней немало интересных моментов.
Этот документ создан на основе компиляции нескольких документов, а также на основе перевода с английского страниц-учебников, которые в обилии можна встретить на многочисленных Web-узлах в Интернете, посвященных программированию на PHP и связи его с MySQL.
Данный труд не ставит целью заменить собой мануалы по PHP и MySQL. Дело в том, что большинство материалов, в том числе и руководства к данным программным продуктам пока распространяются на английском языке. Качественные пособия на русском языке встречаются редко.
Данный букварь просто поможет Вам сделать первые шаги в изучении PHP и способах взаимодействия его с БД MySQL. В этой книге Вы найдете ответы на свои основные вопросы.
Язык гипертекстовой разметки HTML (HyperText Markup Language) был предложен Тимом Бернерсом-Ли в 1989 году в качестве одного из компонентов технологии разработки распределенной гипертекстовой системы World Wide Web.
Когда Т. Бернерс-Ли предложил свою систему, в мире информационных технологий наблюдался повышенный интерес к новому и модному в то время направлению-гипертекстовым системам. Сама идея, но не термин, была введена В. Бушем в 1945 году в предложениях по созданию электромеханической информационной системы Меmех. Несмотря на то, что Буш был советником по науке президента Рузвельта, идея не была реализована. В 1965 году Т. Нельсон ввел в обращение сам термин "гипертекст", развил и даже реализовал некоторые идеи, связанные с работой с "нелинейными" текстами. В 1968 году изобретатель манипулятора "мышь" Д.Енжильбард продемонстрировал работу с системой, имеющей типичный гипертекстовый интерфейс, и, что интересно, проведена эта демонстрация была с использованием системы телекоммуникаций. Однако внятно описать свою систему он не смог. В 1975 году идея гипертекста нашла воплощение в информационной системе внутреннего распорядка атомного авианосца "Карл Винстон". Работы в этом направлении продолжались, и время от времени появлялись реализации типа НуреrСаrd фирмы Аррlе или НуреrNоdе фирмы Хеrох. В 1987 была проведена первая специализированная конференция Нуреrtехt'87, материалам которой был посвящен специальный выпуск журнала "Соmmunication АСМ".
JavaScript это разработанный фирмой Netscape межплатформенный объектно-ориентированный язык скриптов (сценариев). В этой книге содержится всё, что Вам нужно знать об использовании ядра языка JavaScript.
Предполагается, что Вы уже имеете базовые знания:
Общее понятие об Internet и World Wide Web (WWW).
Хорошее владение HyperText Markup Language (HTML).
Некоторый опыт программирования в таких языках как C или Visual Basic (не обязательно).
Цель этой книги — познакомить разработчиков с технологиями использования XML в программах на Java. Вместо того чтобы рассказывать о теоретической стороне дела, авторы сразу переходят к практическому применению этих технологий на примере построения коммерческого web-сайта.
Глава 1. В этой главе вы найдете введение в XML с объяснениями всех каверзных моментов этого языка и типичных способов его использования. Также в этой главе приводится обзор двух моделей обработки данных XML с помощью Java — DOM и SAX.
Глава 2. Эта глава посвящена решению вопросов, возникающих при разработке каталога товаров на XML. Этот язык является настолько гибким, что иногда бывает непросто выбрать один из многих способов представления данных. Выбранная структура каталога иллюстрирует многие важные задачи, которые вам придется решать при разработке собственного проекта подобного рода. Построенный нами каталог, который дорабатывается в следующих главах, включает описания более сотни наименований товаров.
Глава 3. Эта глава начинается с обзора интерфейсов API для сервлетов Java и JSP-страниц, используемых для создания динамических web-страниц Затем мы рассматриваем стандартные интерфейсы API Java для извлечения данных из документов XML, после чего мы объединяем все эти функции в сервлете Java, предназначенном для получения информации из каталога и отображения ее в формате HTML. В числе прочих этот сервлет реализует возможность поиска товаров по ключевым словам.
Глава 4. В этой главе мы расширяем классы для представления каталога из главы 3 и создаем действующую корзину покупателя, которая позволяет покупателю заказывать товары через Интернет. В процессе создания этого приложения мы рассказываем о том, как концепция мониторинга сеанса реализована в сервлетах Java.
Глава 5. Теперь, когда у нас имеется корзина покупателя, нам нужно обеспечить возможность получения денег от клиента и оформления заказа (разумеется, с использованием XML). В нашем примере для представления соответствующей информации клиенту используется технология JavaServer Pages.
Глава 6. В этой главе мы исследуем задачу обновления каталога, отформатированного средствами XML, через специальный интерфейс в режиме подключения к сети.
Глава 7. Насущной потребностью для любого коммерческого сайта является способность собирать информацию о своих клиентах. В этой главе приводится основанная на XML система опроса, в которой предусмотрена возможность ветвления (возможность задавать различные вопросы различным пользователям в зависимости от их ответов на определенные специальные вопросы). Возникающая задача анализа собранных результатов дает нам возможность продемонстрировать, как с помощью интерфейса SAX обрабатывать большие документы XML.
Глава 8. Каждому коммерческому сайту необходимо как-то информировать клиентов о новостях компании. В этой главе на основе XML разрабатываются гибкая система для отображения новостей компании, а также сервлеты и JSP-страницы для ее поддержки.
Глава 9. В наши дни многие коммерческие сайты включают в свои домашние страницы заголовки новостей, пытаясь тем самым заинтересовать пользователей и стимулировать их к частому посещению сайта. Как показано в этой главе, вы можете обеспечить присутствие на вашем сайте текущих новостей буквально по сотням тематических категорий, и для этого не нужен целый штат репортеров — всего лишь XML и Java.
Глава 10. В предыдущих главах рассказывается о деталях организации ресурсов для web-приложения на Java. В этой главе мы приводим обзор спецификации Sun для версии API 2.2 сервлетов Java и обсуждаем интерфейсы для Java и XML следующего поколения.
В этой книге описан новый подход к созданию Web-приложений, известный как Ajax. Авторы рассматривают составные части Ajax: JavaScript, CSS, DOM и объект XMLHttpRequest. Кроме того, в книге нашли отражение вопросы управления кодом, взаимодействия клиента и сервера и применения архитектуры "модель-представление-контроллер" на разных уровнях приложения. Читатель также найдет сведения о защите и производительности - важных характеристиках, существенно влияющих на популярность любого продукта. Рассматриваемые вопросы иллюстрируются примерами практического использования Ajax. В приложениях содержится дополнительная информация об инструментальных средствах, о языке JavaScript и библиотеках. Материал книги изложен на высоком уровне и будет полезен специалистам высокой и средней квалификации.
В рамках Ajax объединено несколько дисциплин, поэтому читатели могут прийти к пониманию данной инфраструктуры различными путями.Часть предполагаемой аудитории - это профессиональные разработчики корпоративных систем, имеющие ученые степени в области компьютерных наук, за плечами которых годы продуктивной работы над большими программными продуктами. Их кругозор позволяет выйти за рамки уровня представления классического Web-приложения. Другую группу читателей составляют Web-дизайнеры, которые освоили "новую среду", изучив такие языки, как PHP, VisualBasic, JavaScript и ActionScript. Нельзя также забывать разработчиков приложений, перешедших от настольных систем к Web, и системных администраторов, которых в основном интересуют инструментальные средства управления на базе Web.
Все эти категории читателей объединяет неподдельный интерес к Ajax. При написании книги мы попытались в той или иной мере учесть интересы каждой из этих категорий. Ajax - это объединение различных технологийи, изучая данную инфраструктуру, вам неизбежно придется столкнуться с новыми для себя вопросами. Мы призываем вас расширить свой кругозор и повысить квалификацию. Затраченные усилия окупают себя, а результаты проявляются в различных областях нашей профессиональной деятельности.
Познакомившись с STL, я был в восторге от ее возможностей.
Учился я именно по этой книге, и несмотря на то, что она 1999 года выпуска, до сих пор ни чего лучше по данной тематике я не нашел. Обязательно надо прочесть и использовать.
Безусловно, изображение является эпицентром любого веб-сайта, поскольку человек по своей природе визуален. Создавая веб-сайт или блог, мы уделяем особое внимание содержанию, дизайну и SEO. И с этими тремя составляющими неотъемлемо связано использование изображений.
Знаете ли вы, что сообщения, содержащие изображения, открывают на 47% больше, и что читатели уделяют им на 51% больше времени, чем тем, в которых нет иллюстраций?
Именно поэтому сегодня мы предлагаем несколько советов, чтобы разумно использовать изображения на вашем сайте. Отныне для вас не останется «белых пятен»!
Позаботьтесь о SEO изображения
Размещая изображение на своем сайте, не забудьте заполнить поля «Название», ALT и «Подпись» («Название», «Альтернативный текст» и «Подпись» в WordPress) для изображений с соответствующими ключевыми словами. Это не только увеличит количество просмотров, но и вызовет приток посетителей с помощью SEO.
Обновляйте изображения
Никто не одевается по моде пятилетней давности – этот же принцип действует для изображений, меняйте их. Это стоит делать почаще, если у вас блог, а если это – сайт со статичными изображениями, то «подтяжка лица» потребуется время от времени.
Выбирайте соответствующие изображения
Спросите себя, что вы хотите сообщить с помощью сайта – и ищите изображения, отвечающие этой идее и дизайну. Не жертвуйте цельностью графической концепции ради случайного изображения, которое вам понравилось.
Размещайте изображения так, чтобы помочь пользователю при чтении длинного текста
Чтобы привлечь взгляд к кнопке или важному разделу, поместите туда яркое изображение. Чтобы заполнить пробелы, выберите более нейтральное.
Редактируйте изображения
С помощью Photoshop или Gimp (бесплатная программа) вы можете сделать изображение поистине незабываемым: кадрирование, оптимизация размера, создание мозаики… Единственное ограничение – ваше воображение.
Используйте профессиональные платформы для подбора изображений
Даже картинки с лицензией Creative Commons на таких платформах, как Flickr, использовать рискованно: там нет контроля качества, придется потратить много времени на поиск нужного изображения, а главное, это может стать причиной проблем с законом из-за несоблюдения авторских прав. Лучше остановить свой выбор на таких платформах, как Fotolia: там контролируются все перечисленные аспекты, а кроме того, 55% их изображений предназначены для использования в сети.
Монтируйте изображения в видео
Если у вас много изображений, можно объединить их в видеоформате, который будет легко отображаться. Для этого существуют интуитивно понятные программы, такие как Flixtime или Animoto, с помощью которых вы сможете все сделать быстро.
Какие данные можно получить о посетителе сайта при помощи php (браузер, ip, url и другое) или сервере (имя, почта и другое)?
Как расшифровываются переменные окружения в PHP (SERVER, REDIRECT и др) и что они передают?
DOCUMENT_ROOT - Путь к корневой папке сайта. Для локального веб-сервера значение может принимать вид z:/home/htmlbook.ru/www, а в других случаях зависит от операционной системы сервера и используемого программного обеспечения. GATEWAY_INTERFACE - Версия CGI (Common Gateway Interface, общий шлюзовый интерфейс). Значение обычно равно CGI/1.1. HTTP_ACCEPT - Типы файлов, которые способен принять браузер. В качестве значения возвращается список поддерживаемых MIME-типов разделенных между собой запятой, например: text/html, application/xhtml+xml. HTTP_CONNECTION - Тип соединения браузера с веб-сервером. Так, значение keep-alive означает, что браузер поддерживает постоянное соединение с сервером. При этом в течение одного сеанса соединения разрешено делать несколько запросов. Повторного соединения в таком случае уже не происходит. HTTP_HOST - Доменное имя сайта. Обычно различают имена с префиксом www (www.tradebenefit.ru) и без него (tradebenefit.ru). Переменная вернёт тот адрес сайта, который указан в адресной строке браузера. HTTP_REFERER - Адрес страницы, с которой пользователь перешел на данный сайт, он еще называется реферер. HTTP_USER_AGENT - Идентификатор используемого браузера и операционной системы. В качестве значения возвращается строка, содержащая ключевые слова. Например, следующая строка
говорит, что пользователь использует браузер Firefox 6.0.2 под операционной системой Windows 7.
QUERY_STRING - Запрос, который указан в адресной строке после вопросительного знака (?). Обычно пишется в форме «переменная=значение», где переменные разделяются между собой амперсантом. Рассмотрим пример.
REMOTE_ADDR - IP-адрес посетителя сайта. REQUEST_METHOD - Метод отправки данных на сервер. По умолчанию применяется метод GET. REQUEST_URI - Адрес запрашиваемого документа. Отсчёт ведётся от корня сайта, т.е. для полного адреса http://site.ru/1.html вернется значение 1.html. SERVER_ADDR - IP-адрес компьютера, на котором размещается сайт. SERVER_ADMIN - Адрес электронной почты администратора сайта. SERVER_NAME - Имя сервера. SERVER_PORT - Порт, по которому ожидается получение данных. SERVER_PROTOCOL - Протокол для получения и отправки данных. Значение обычно равно HTTP/1.1. SERVER_SOFTWARE - Программное обеспечение установленное на сервере. Для веб-сервера Apache возвращается номер версии (Apache/2.2.4), а также версия PHP (PHP/5.3.3).