Новые книги

Ruby — относительно новый объектно-ориентированный язык, разработанный Юкихиро Мацумото в 1995 году и позаимствовавший некоторые особенности у языков LISP, Smalltalk, Perl, CLU и других. Язык активно развивается и применяется в самых разных областях: от системного администрирования до разработки сложных динамических сайтов.

Книга является полноценным руководством по Ruby — ее можно использовать и как учебник, и как справочник, и как сборник ответов на вопросы типа «как сделать то или иное в Ruby». В ней приведено свыше 400 примеров, разбитых по различным аспектам программирования, и к которым автор дает обстоятельные комментарии.

Издание предназначено для программистов самого широкого круга и самой разной квалификации, желающих научиться качественно и профессионально работать на Ruby.
Практическое руководство по созданию современных Web-сайтов, соответствующих концепции Web 2.0. Описаны языки HTML 5 и CSS 3, применяемые, соответственно, для создания содержимого и представления Web-страниц. Даны принципы Web-программирования на языке JavaScript с использованием библиотеки Ext Core. Рассказано о создании интерактивных Web-страниц, приведены примеры интерактивных элементов, позволяющие сделать Web-страницы удобнее для посетителя. Раскрыты вопросы реализации подгружаемого и генерируемого содержимого, семантической разметки, применения баз данных для формирования Web-страниц. Показаны способы расширения функциональности Web-сайтов с использованием Web-форм, элементов управления, свободно позиционируемых элементов и программного рисования средствами HTML 5.

Introduction to Networking



Глава 1. Введение в сети

Немного истории

Идея сетей также стара, как и вообще идея телекоммуникаций. Рассмотрим людей, живших в каменном веке, когда для обмена сообщениями между людьми использовались барабаны. Предположим пещерный человек А хочет пригласить пещерного человека Б поиграть, но тот живет слишком далеко и не может услышать барабан, в который бьет А. Каковы же могут быть действия А? Он может пешком добраться до Б, взять барабан побольше или попросить В, живущего на полпути между А и Б, передать сообщение. Позже это стали называть сетями.

Конечно, мы далеко ушли от примитивных занятий и устройств наших предков. В наши дни мы пользуемся компьютерами которые общаются между собой посредством проводов, оптоволоконных кабелей коротких волн, и т.д., позволяющих легко обмениваться данными. Далее мы с Вами будем обсуждать способы и пути, с помощью которых это можно сделать.

Я опишу три типа сетей в этом руководстве. Мы с вами сосредоточимся на сетях TCP/IP, потому что это наиболее популярный набор протоколов в локальных (Local Area Networks, LAN) и глобальных сетях (Wide Area Networks, WAN), типа Internet. Мы будем также изучать сети UUCP и IPX. Протокол UUCP раньше обычно использовался для транспортировки новостей и сообщений почты по dialup телефонным подключениям. Это менее распространено сегодня, но все еще полезно в ряде ситуаций. Протокол используется обычно IPX в Novell NetWare, и я опишу как использовать его, чтобы подключить вашу Linux-машину к Novell-сети. Все это протоколы работы с сетями, которые используются, чтобы передавать данные между компьютерами. Мы обсудим, как они используются и их основные принципы.

Мы определяем сеть как совокупность компьютеров (хостов, от hosts), которые могут связаться друг с другом, часто полагаясь на услуги ряда выделенных компьютеров, передающих данные между участниками. Хостом может являться не обязательно полноценный компьютер, им вполне может быть X-терминал или интеллектуальный принтер. Маленькие скопления компьютеров также называют сайтами (sites).

Связь невозможна без некоторого языка или кода. В компьютерных сетях эти языки коллективно упоминаются как протоколы. Однако, здесь речь идет не о письменных протоколах, а скорее о высоко формализованном коде поведения, вроде встреч на высшем уровне между главами правительств или брачной песни лебедей. Протоколы (protocols), используемые в компьютерных сетях, это только очень строгие правила для обмена сообщениями между компьютерами.