Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование для начинающих спецвыпуск 2


Служба Рассылок Городского Кота

Программирование для начинающих

Спецвыпуск 2

7 SEP 2000

 
 
 
Ведущий рассылки: Вячеслав Мацнев
e-mail: stac@stacmv.net
Привет, друзья !
Это Stac вас беспокоит.

Сегодняшний выпуск у нас специальный. Прежде чем войти в очередной учебный год, надо как-то закрыть предыдущий. Этому и посвящен второй спецвыпуск.
Вы прислали мне несколько писем, пока я отсутствовал. Сегодня я отвечу на вопросы, которые в них прозвучали. Хочу поблагодарить тех подписчиков, которые поделились со мной информацией по поводу некоторых часто задаваемых вопросов.

Сегодня на повестке дня: где брать выпуски рассылки, итоги нашего голосования по цветам заголовков, программа ALGO, web via email, книга Алена Голуба, и другое.

Рассылка Subscribe.ru "Программирование для начинающих"

Эта рассылка называется "Программирование для начинающих". Она рассылается Службой Рассылок Городского Кота. Web-адрес этой службы: http://subscribe.ru . Здесь можно подписаться на данную рассылку, а также на множество других. Каждая рассылка имеет свой код. Например, код нашей рассылки: comp.prog.progforbeg . Если известен код рассылки, то можно попасть на страницу данной рассылки в каталоге рассылок Subscribe.ru.
Например, http://subscribe.ru/catalog/comp.prog.progforbeg/ . Для любой рассылки адрес будет подобным, отличается только код рассылки.
С недавних пор на Subscribe.ru стал доступен архив всех рассылок. То есть теперь вы можете получить любой вышедший выпуск рассылки. Например, если Вы подписались, когда рассылка уже выходит некоторое время, Вы не получите предыдущие выпуски. Придется достать их самостоятельно. Для этого надо сходить в архив рассылок Subscribe.ru, где каждая рассылка имеет свою страницу.
Например, по адресу http://subscribe.ru/archive/comp.prog.progforbeg/ можно взять все предыдущие выпуски рассылки "Программирование для начинающих".
Сейчас я приведу список вышедших выпусков и дат их выхода.
Итак, мы имеем 8 выпусков:
Выпуск 0(пилотный)16 мая 2000
Спецвыпуск 126 мая 2000
Выпуск 129 мая 2000
Выпуск 26 июня 2000
Выпуск 323 июня 2000
Выпуск 46 июля 2000
Выпуск 522 июля 2000
Спецвыпуск 2сегодня

Вас может смутить, заявленная периодичность выхода рассылки 1-2 раза в неделю. Это ошибка, просто я переоценил свои возможности :-), прошу простить меня за то, что ввел вас в заблуждение.
Это к вопросу о том, где брать предыдущие выпуски рассылки.

Web via Email

Большое число откликов вызвала статья Garry о доступе к Web по email. Собственно, это был ожидаемый результат. Именно поэтому я и поднял этот вопрос.
К сожалению, по моей вине, материалы, на которые ссылался Garry не были доступны. Сейчас все должно быть нормально.
Большинство пользователей email волновал вопрос получения русскоязычных web-страниц в html формате. Вопрос этот не нов и уже давно решен, в том числе и некоторыми подписчиками. Им слово:

По моей практике getweb самый лучший (а тут лучший читай быстрый) сервис для е-мыльшиков без инета. Для того чтобы смотреть документы в русской кодировке, ДА еще и с html кодом надо использовать команду типа:

SOURCE encoding base64 http://url.your.need/some_file.html

Файл пришлется как вложенный, хотя OutLook сразу его просматривает как html письмо. Лучших серверов для заказа html документов я в свое время пользования е-мылом не нашел. Правда (если еще не изменили) за неделю с его благородным хелпом можно скачивать только 2 Мб информации :-( Для закачки файлов не рекомендую, а вот для лазинья по страничкам THE BEST !!! Для закачки файлов нормальными остаются сервера семейства www4mail, но отвечают порой до суток :-(

Удачных веб-серфингов :-)))

Andrey Kuzin, webmaster of "ПЕРВЫЕ ШАГИ" http://www.mjk.msk.ru/~dron

Я уже давно занимаюсь перекачиванием нужной мне информации через почту. Поэтому со своей стороны хочу кое-что посоветовать читателям рассылки. Уважаемый Garry написал, что ему понравилась оперативность getweb, но они не могут присылать русскоязычные страницы. Нужно в теле письма написать следующую команду:

GET ENCODING UUENCODE URL ,где URL-адрес нужной вам страницы.

После прихода ответа от сервера вам остается только раскодировать прилагаемый файл и вы получите страницу в том виде, в каком она хранится в WWW.
А вообще-то напишите письмо на адрес BobRankin@mhv.net
В поле subj: send acmail.ru
В теле письма ничего писать не надо.
Вам придет подробное описание на русском языке о том, как работать с Сетью, используя только e-mail. Описан доступ к WWW, FTP, WAIS и т.д.

Еще можно скачать с адреса ftp://ftp.netcom.com/pub/gb/gboyd/wssearch.zip подробное описание на английском языке, как работать с поисковыми машинами посредством только e-mail. Описан синтаксис и форматы запроса к различным поисковым машинам. Yahoo, AltaVista, Lycos, Infoseek, Excite и т.д.

С уважением Александр.

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

"...Правила программирования" Алена Голуба

Я рад, что многие из вас изъявили желание приобрести книгу Алена Голуба. На вопрос о том, где я ее купил отвечу: где я книгу взял, ее больше нет. :-) Но я видел ее в магазине "Библио Глобус" (г. Москва, Мясницкая, 6, http://www.biblio-globus.ru ). Так что желающие могут туда наведаться.

Что касается электронной версии ...

На всякий случай привожу одну из ссылок на это издание в формате Word.

"Веревка достаточной длины, чтобы выстрелить себе в ногу. Правила программирования на С и С++." Авторские права: Ален И. Голуб http://www.rusdoc.ru:8002/material/lang/cpp/cpprules.zip

ЗЫ. Действительно рулез. И название и содержание.

Ваш читатель Ivaх

Как читать литературу

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

Умение читать является, наверное, самым важным навыком, необходимым для получения информации. Дети начинают читать еще в первом классе школы. Но часто родители приобщают своих детей к книгам и в более раннем возрасте. И пусть сначала это книги типа "Раскрась сам", важность и необходимость умения читать трудно переоценить. Особенно в наш информационный век.

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

У меня нет ни малейшего сомнения, что каждый из вас прекрасно знает алфавит и вообще умеет читать. Сегодня мы говорим немного о другом. Вы, конечно, наслышаны о различных методиках чтения. Например, скорочтение позволяет ознакомиться (запомнить) большой объем информации за короткое время и т.п.

Нет, я не изобрел подобного рода методику, я лишь хочу поделиться с вами некоторыми соображениями по поводу чтения литературы для программистов.

Нельзя знать все, что касается программирования и, тем более, помнить все это. Поэтому приходится много читать.

Описания языков программирования, сред разработки, библиотек функций, различных интерфейсов, форматов файлов - это лишь малая часть того с чем приходится сталкиваться программистам, в том числе и начинающим.

Можно, конечно, применять техники скорочтения, если вы ими владеете. А можно, наоборот, читать медленно и вдумчиво, проверяя все описанное непосредственно на машине. В этом случае, т.е. при при применении информации на практике, она усваивается гораздо лучше. Вы в этом и не сомневались, не так ли?

Что же делать, если под рукой нет компьютера, например, если вы читаете в транспорте, а ноутбук оставили дома или когда опробовать все описанное на практике обременительно и, вообще, невозможно?

Ничто не мешает вам поднапрячь воображение и "применять" интересные кусочки информации по ходу чтения. Я, например, делаю это практически подсознательно и могу сказать, что во многих случаях эта техника может быть и бывает полезна.

Поэтому остановимся на ней подробнее и рассмотрим на примерах.

Хочу отметить, что вы должны обладать воображением, это раз. И еще вы должны уметь генерировать идеи, это два. Если с воображением все понятно, то насчет генерации идей я поясню, так как в этом суть.

К примеру, Вы - начинающий программист, не написавший пока что ни одной программы или имеющий небольшой опыт в школе или еще где-нибудь. Вы еще не знаете, как написать ту или иную программу, но у Вас сразу же появляется ее идея. Вы запускаете свой Windows в разное время суток и хотите, чтобы она приветствовала Вас всегда по-разному, например, голосом Вашей подруги. Вы не знаете ни одного языка программирования, но идея программы у Вас родилась: надо каким-то образом сделать так, чтобы при старте Windows проигрывались разные звуковые файлы со словами "Доброе утро", "добрый день" и т.д. При этом хорошо бы, приветствия были к месту, т.е. надо как-то узнать время суток. Ясно. Отлично. Идея родилась и ждет своего часа, чтобы осуществиться.

Через пять минут родится другая идея, и со временем у Вас будет целый сундук идей. Наверное, он уже наполнен как минимум на половину, иначе зачем Вы стали интересоваться программированием?

Потом Вам попалась книга по Windows и Вы стали ее читать. Совершенно случайно наткнулись на главу, посвященную программе "Фонограф" и wav файлам. Так... Давняя и почти забытая идея всплывает на поверхность. "Ага", думаете Вы, "Вот он, способ записи приветствий, где там телефон подруги ...". Через пару дней, не менее случайно, из книги про ДОС Вы узнаете о возможности переименования файлов с помощью команды ren. Пока читаете описание команды, Ваша давняя идея, а может две-три идеи всплывают в памяти. Для Вас уже описание команды ren не бесполезная информация, а самая, что ни на есть, полезная. Вы уже видите себя, устанавливающим в качестве звука при запуске Windows файл privet.wav и в зависимости от времени суток переименовывающего файлы morning.wav, day.wav, evening.wav в privet.wav из bat файла, подставляя Windows нужное приветствие.

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

Впрочем, Ваши друзья тоже не зря едят свой хлеб. Однажды они подарили Вам книгу по ДОС, которую Вы, наконец-то, решили почитать. Из нее-то Вы и узнали про переименование файлов. И вот, теплым летним вечером, сидя в уютном кресле, Вы дочитали до команды find и ... хлопнув себя по лбу, с криком "Ну, конечно же!", понеслись к компьютеру.

Каждая строка Вашего текстового файла имеет следующий формат:
:дд.мм.гггг имя_человека дополнительная_информация
Например,
:22.08.1963 Александр Мазуркин двоюродный брат жены сына
:18.03.1976 Оксана Карпатова
и т.д.

Данные в Вашем файле не отсортированы, т.к. новую информацию Вы всегда добавляли в конец файла. Достаточно трудно что-либо найти, знаете ли. Вы же, пользуясь моим советом, всегда представляете мысленно, как можно применить ту или иную информацию. Поэтому о команде find Вы читали не как сводку погоды в Шотландии, к тому же прошлогоднюю, а с очень даже живым интересом.

И когда Вы примчались к компьютеру, то сразу набрали в командной строке ДОС, чтобы узнать, кто же родился в августе:
find /n ".08." birthday.txt

И увидели на экране:

--------- birthday.txt
Посмотрите выпуск в нормальном браузере! :-Р

[1]:07.08.1978 Марианна Дмитриенко


[7]:22.08.1963 Александр Мазуркин двоюродный брат жены сына
[147]:28.08.1956 Елена Огурцова

"Так гораздо интереснее", подумали Вы и посмотрели, кто же из Ваших друзей родился 15 числа: find /n ":15." birthday.txt , сколько в базе Ваших ровесников: find /c ".1960" birthday.txt .

Наигравшись, Вы составили bat файл birthday.bat:

find /n "%1" birthday.txt

И теперь вместо вместо полуторачасового выискивания именинников, Вы набираете команду birthday :22.08 и сразу видите, кто родился сегодня, завтра, когда угодно.

Конечно, у такого способа есть недостатки, но со временем Вы их устраните. И подумайте, Вы пока не умеете программировать, а уже получаете массу положительных эмоций от воплощения своих идей. Что же будет, когда Вы научитесь ?:-)

От знакомых Вы узнали о некоем системном файле autoexec.bat. Bat файл, который автоматически запускается при загрузке системы! Вот тут-то у Вас возникло море идей, по крайней мере, должно возникнуть. В этот файл можно поместить вызов birthday.bat и команд переименования файла приветствия для Windows. Но вот, беда, надо как-то определять дату и время. Вы пока не знаете как это сделать, жаль, придется отправить идеи на склад :-).

В другое время, может месяцы спустя, Вы будете изучать какой-нибудь язык программирования, например, Бейсик. И изучая его операторы, процедуры и функции, Вы будете возвращаться к своим идеям и постепенно осуществлять их.

Даже если в реальности Вы не будете делать то, о чем написано выше, хорошо бы проигрывать подобные вещи в уме при чтении литературы. При знакомстве с функциями Бейсика time$ и date$, заметьте себе, мол, вот он способ определить время и дату. Функция date$ даст Вам дату в формате чч-мм-гггг (или другом, зависит от версии компилятора), Вам понадобится извлечь из этой строки, конкретно, число, месяц или год. Вспомните об этом, когда будете знакомиться с функцией mid$.

А вот типичное описание оператора if в различных источниках:

 "Оператор IF
  Назначение: Проверяет условие и выполняет один или несколько
  операторов языка, если оно удовлетворяется.
  Синтаксис: IF выражение THEN оператор ELSE оператор
             или
             IF выражение THEN
                операторы
             ELSEIF выражение THEN
                операторы
             ELSE
                операторы
             ENDIF
             ......... "
и так далее.

Можно прочесть это и запомнить, а можно подумать о том, что за выражение и что за операторы такие, где эту конструкцию можно применить и как. Например постройте в уме такой кусок программы:

      if hours<12 then
          time_of_day=morning
      elseif hours>12 and hours<17 then
          time_of_day=day
      else
          time_of_day=evening
      endif

Это как раз Вам понадобится, когда Вы захотите осуществить свою идею насчет приветствий Windows.

И не бойтесь показаться странным, если Вы читаете не в одиночестве. Пусть другие думают, что хотят о том, как Вы читаете пол часа одну страницу, часто листая книгу назад, "повторяя пройденное". Они ничего не знают о работе, которую сейчас совершает Ваш мозг, как и о работе, которую совершите Вы, дорвавшись до компьютера.

Желаю реализации Ваших идей !

Вячеслав Мацнев, 22 августа 2000 г.

Готов выслушать Ваши комментарии по email: stac@stacmv.net

Подведение итогов голосования

Еще несколько выпусков назад было объявлено о проведении голосования, темой которого послужили заголовки рубрик html версии рассылки. Всего было получено 167 голосов, вот как распределились места.

месторубрикаголосовцвет фонацвет текстаОбразец
1.ОКРУЖЕНИЕ40#5F9EA0#FFFFFFОбразец
2.ОТСЕБЯТИНА36#0066CC#FFFF99Образец
3.СЛОВО ПРЕДОСТАВЛЯЕТСЯ31#00008B#FFFF99Образец
4.ГОЛОСОВАНИЕ23#708080#FFFFFFОбразец
5.ОТСЕБЯТИНА 216#00008B#FFCC00Образец
6.HTML9#DEB887#0080C0Образец
7.Ни один из перечисленных5
8.ВОПРОСЫ И ОТВЕТЫ2#A9A9A9#808000Образец
+ 5 человек высказались за заголовок рубрики ЗАКЛЮЧЕНИЕ (#0006cc, #FFFFFF)

Цвета для рубрик ОТСЕБЯТИНА, СЛОВО ПРЕДОСТАВЛЯЕТСЯ и ОТСЕБЯТИНА 2 предложил Bear.

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

Программа ALGO

Итак, заинтересованные лица посмотрели программу ALGO и выполнили задачу, поставленную в четвертом выпуске рассылки. Сейчас в моем распоряжении 23 присланных вами программы.

Итак приступим к их анализу.
И полагаю, что все прочитали руководство к программе ALGO в web.
Оказалось, этот момент очень важен, если не сказать решающий. Давайте вспомним, в чем состояло задание, что должен был сделать "робот". Вспомнили? Я на 99,(9)% уверен, что если бы каждый из вас сказал, что он вспомнил, то мы бы имели, как минимум, две версии.

Процитирую четвертый выпуск рассылки:

"Ваша задача - составить программу, согласно которой объект-"рожица" возьмет дискету и вставит ее в дисковод компьютера. ... ... Описание всех кнопок и встроенного языка программирования (ЯП) имеется на странице http://stacmv.i-connect.com/algo.html. Но сначала попробуйте обойтись без руководства. "

Многие из вас, по всей видимости, обошлись без руководства.
Цитата из него:

"Задача: Надо заставить "робота-рожицу" взять дискету и вставить ее в дисковод компьютера (нарисованного:-), затем вернуться на исходную позицию. "

Девять человек не вернули робота в исходную позицию. Впрочем, это не так важно, думаю, они смогли бы, если бы захотели :-).

Эта программа (без возврата) состоит из 15 строк, что, разумеется, намного меньше порогового значения в 20 строк. Многих это смутило. А все просто, не более 20 строк должна была занимать программа с возвратом "робота" на исходную позицию.

Такой вариант прислали 12 человек:

Programming for Beginners
000 start
010 left 10
020 up 3
030 left 2
040 down
050 pick
060 up
070 right 2
080 down 3
090 left 4
100 up 7
110 right 6
120 down 2
130 left 3
140 drop
150 right 3
160 up 2
170 left 6
180 down 7
190 right 14

Как раз двадцать строк.

А абсолютным победителем стал Eugene Nuke, который к решению задачи подошел творчески и прислал самую короткую программу. Странно, что никто больше не додумался до этого. Вот, смотрите:

Programming for Beginners
000 start
010 left 10
020 up 3
030 left 2
040 down
050 pick
060 up
070 right 2
080 down 3
090 left 4
100 up 7
110 right 6
120 down 2
130 left 3
140 drop
150 start

Ну как? Ааа...
startинициализирует среду (устанавливает "робота" в исходную позицию, расставляет по местам объекты и т.п.

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

 

Поздравляю, Eugene!!!

Место под солнцем или размещение страниц в Сети

HTML - как много в этом слове ... целых четыре буквы :-) Не сегодня, завтра Вы изучите его и сделаете прекрасные страницы, лучшие в своем роде. И что потом? Зачем вообще делать web-страницы?

Отличный вопрос и, главное, к месту! Потому что я, как раз, собирался на него ответить.

В самом слове "web-страница" содержится большой смысл. Приставка "web" указывает, что это не какая-нибудь страница из книги, а страница Всемирной Паутины.

Всемирная Паутина, Web, WWW, World Wide Web это все синонимы, по крайней мере, для русского человека. И я в своей статье буду употреблять все эти термины, может даже придумаю еще.

Для начала, хотелось бы рассказать об истории Паутины, о ее создании. Поэтому, я процитирую, частично, свою статью на эту тему, которая была опубликована в "Заметках несетевика" в феврале этого года. Писана она была для достаточно специфической аудитории, поэтому прошу различать, где истина, а где шутка юмора :-)

"... Всемирная Паутина, еще известна как World Wide Web (WWW), это тоже типа Сеть* или даже сервис Интернета (еще бывают сервисы: email, gopher, usenet, telnet и др.)...
Все началось в 1968 году с создания сети МинОбороны США - ARPANet. ... Короче, сеть работала по IP протоколу. Он назывался так потому, что был межсетевым протоколом (Internet Protocol).
... Пока все это работало, среди простых людей 70-х возникали группы заинтересованных (типа нас*) и они создавали свои сетки по технологии Ethernet.

Надо сказать, что те простые люди 70-х это не рабочие-крестьяне, а, разумеется, интеллигенты, всякие там ученые, гос. чиновники и т.п.
Итак, эти сетки со временем разрастались, и их пользователи хотели соединяться друг с другом, чтобы сидеть в чате и трепаться о своих научных изысканиях и иметь remote доступ к крутым компам. Раз Интернета еще не было, мужики покумекали и решили использовать для своих целей каналы ARPANet. Прикинь, каково было удивление чиновников Министерства обороны, когда к ним пришли крутые вокеры из штата Техас и сказали, что они хотят початиться с девчонками-лаборантками из Беркли и сыграть с ними в Го, используя военную (суперсверхсекретную) сеть. Поверь, не меньшим было и удивление крутых вокеров, когда из МинОбороны их послали на...

Но крутые вокеры на то и крутые, что они пошли в Национальный научный фонд, и тот, по своей инициативе, создал сеть NSFNet. NSF был не так богат как МинОбороны (которое получало бабки на борьбу с коммунизмом и т.д., а тратило их, как мы видим, на создание сети) и NSF не стал тянуть оптоволокно в каждому юзеру, а сделал кучу локальных сетей, дал им по суперкомпьютеру, и эти суперкомпьютеры соединил волокном (ну или чем они там пользовались). Разумеется такое решение принималось не от хорошей жизни, тем не менее оно и определило окончательную структуру технической организации Интернета.

...Так в 1987 году возник кризис, когда суперкомпьютеры перестали справляться с резко возросшим трафиком ... . Поэтому, контракт на дальнейшее развитие и поддержку NSFNet был передан корпорации Merit Network, занимавшейся образовательной сетью штата Мичиган и имевшей требуемый опыт работы со школьниками и студентами, совместно с компаниями IBM и MCI. Они заменили коммуникационные сети на более современные и установили новые центральные компьютеры, которые стали называться серверами. Вот так и появился Интернет.

В общем, существует ряд так называемых базовых возможностей Интернет, к которым относятся:

  • удаленный доступ (Telnet)
  • передача файлов по протоколу ftp
  • электронная почта
  • конференции usenet
  • конечно же, world wide web
  • и другие.

Вот и подобрались к истории Всемирной паутины.

Жил был чел по имени Тим Бернерс Ли ... Мистер Ли работал в международном европейском научном центре CERN и имел там свою локалку. Он был уже не в том возрасте, чтобы кадрить девочек из Лас Вегаса в текстовом чате и смотреть их фото без одежды в таком же текстовом "Просмотрщике фотографий девочек" (потому что GIF формат придумали только некоторое время назад (в 87 или около того). Кстати GIF-это girls internet file - типа файл с девочками из интернета, а вовсе не какой-нибудь graphics interchange format). И навалилась на Тима скука и нечего ему было делать в сети, так как гамить он не любил. В марте 1989 года у него лопнуло, т.е. лопнула труба дома, и он предложил своему боссу в центре CERN концепцию новой распределенной информационной системы, которую он назвал не "Распределенная информационная система Тима Бернерса Ли",а именно, World Wide Web. Свои мысли он изложил в заметках "Гипертекст для CERN". В 1990 его предложения были приняты и проект стартовал.

Что же такое предложил Тим, что его ламер-босс одобрил и даже разрешил? В записках "World Wide Web: Proposal for Hyper Text Project", которые Тим дал боссу почитать на ночь, он предлагал объединить все множество информационных ресурсов в систему, построенную на принципах гипертекста. Ее элементами должны были стать базы данных, компьютерная документация, списки почтовых адресов, рефераты и сочинения, картинки (в 1989 году была придумана новая версия формата GIF - GIF89a, которая давала ряд новых возможностей любителям картинок в этом формате).

Тим потребовал от босса пятерых ковбоев и пару-тройку программных продуктов (Guide, KMS, Frame Maker). Братва взялась за работу и к рождеству (католическому) у них уже была целая куча наработок, самой примечательной из которых был Line Mode Browser - программа, работающая в режиме командной строки, которая открывала доступ к системе через telnet. Первое сообщение о WWW было послано в несколько конференций. Нам не понять, конечно, возникшей тогда радости сетян, так как врядли кто из нас работал в VM/XA, знает, что такое NeXT и, вообще, фэн Unix'a*. Поэтому, поблагодарим господина Тима за работу и перейдем на полтора года вперед. Появилась программа Mosaic, разработанная Марком Андриссеном из Национального центра суперкомпьютерных приложений (NCSA), которая обеспечила бурный рост популярности WWW и Internet в целом. Все это было очень хорошо, настолько хорошо, что многие стандарты и спецификации, разработанные до появления Mosaic, просто вымерли как динозавры. Окрыленный успехом, в 1994 Марк ушел из NCSA и создал свою фирму Netscape. Netscape Navigator стал конкурентом Mosaic. Этот этап развития WWW характерен тем, что Б. Гейтс тогда еще не наложил свою лапу на все это дело. Другое дело сейчас, когда все из нас смотрят этот документ в браузере от Била*.

Потом создался Консорциум W3 и еще целый ряд организаций и сообществ. Все они, вместе взятые, напридумали кучу протоколов, стандартов, написали кучу программ, ну и заработали кучу денег. ... "

Stac

* - это относится к сети TrNet и ее пользователям.

:-)
А теперь более серьезно. Паутина, как вы поняли, это сеть компьютеров, сеть серверов. А точнее, вебсерверов, т.к. физически один и тот же компьютер может быть как вебсервером, так и чем-то еще, например, почтовым сервером. Конечно, серьезные организации могут выделить под вебсервер и отдельную машину.
Вообще-то, вебсервер, это такая программа. Она запускается на компьютере-сервере, перехватывает и обрабатывает все http запросы. HTTP - HyperText Transfer Protocol - протокол передачи гипертекста - определяет правила, по которым вебсервер взаимодействует с вебклиентом, в роли которого чаще всего выступает веббраузер. Это взаимодействие имеет четыре стадии: соединение, запрос, ответ сервера, отсоединение.

Каждый ресурс в сети Интернет имеет идентификатор (URI - Universal Resoure Identifier). В случае с Паутиной, он совпадает с универсальным локатором ресурса, URL. Не вдаваясь в подробности, скажу, что он имеет такой формат:
протокол://машина[:порт]/путь/к/ресурсу/на/машине

Например,
http://stacmv.i-connect.com/vote0000.gif

Здесь stacmv.i-connect.com - имя машины (виртуальной, впрочем :), а vote0000.gif - полный путь к файлу, gif изображению. В данном случае можно сказать, что этот файл находится в корневом каталоге данного вебсервера. Хотя могло бы быть иначе. Корневой каталог вебсервера может иметь подкаталоги. И путь к файлу указывается почти также как и на локальном компьютере, например, /project/jtp/index.html . А все потому, что в реальности, корневой каталог вебсервера - это обычный подкаталог на винчестере хозяина вебсервера, который (вебсервер) может работать практически в любой ОС, начиная с Unix и кончая DOS. Какой именно подкаталог будет для сервера корневым, элементарно задается при его конфигурировании.

Итак, в общем случае, размещение информации в Web сводится к установке на компьютере программы-вебсервера и его настройки. Эти программы бывают разные, простые и сложные.
К примеру, можно установить сервер Максима Масютина из RitLabs, который называется TinyWeb. Достаточно будет запустить его с определенными параметрами в командной строке и, вот он, готов ваш собственный вебсервер. Осталось только обеспечить доступ к нему посетителей.

Как вы помните, вписывая url в браузере, мы называем сервера по именам. Как получить имя? Наверное, просто придумать его нельзя, как тогда о нем узнают все в Паутине?

Опять же без особенных деталей ...
Собственно имя-то и не обязательно, главное ip-адрес. Именно ip-адрес использует компьютер чтобы связаться с другим. А имена придумали для людей, все равно потом имя заменится ip-адресом, компьютеру удобнее работать с числами. Не мне, впрочем, утверждать об этом ...

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

Но не беда, вы можете, установив соединение с провайдером, узнать свой ip-адрес, сбегать к соседу, позвонить друзьям, которые введут этот адрес в своем браузере. В принципе все должно работать. Но хлопотно это.

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

Вы без труда сможете их найти непосредственно в Сети. Сходите, например, на boom.ru, i-connect.com, narod.ru, newmail.ru и др.

При регистрации Вы получите логин, пароль и некоторое место на дисках хостинг-провайдера (10, 16, 20, ... Мб). Также Вам скажут, какой адрес (не ip, а имя) будет иметь ваш сайт. Вообще-то, Вам все скажут, что Вы должны делать и как. Действия, которые Вы должны предпринять отличаются немного от провайдера к провайдеру, поэтому я буду говорить только общие вещи, а то иначе вы будете на меня обижаться.

Имя, которое Вы можете получить, скорее всего будет или таким: www.site.com/your_name или таким: your_name.site.com . В последнее время стал наиболее популярен второй вариант. Такого вида имя часто называют доменом третьего уровня. Действительно, в имени моего виртуального сайта stacmv.i-connect.com: com - домен первого уровня; i-connect - домен второго уровня; stacmv - домен третьего уровня.

Подобные адреса интерпретируются справа налево. Говоря простым языком, в зоне имен com ищется машина с именем i-connect, берется ее ip-адрес, управление передается вебсерверу, потом на этой машине ищется виртуальный сайт с именем stacmv, управление передается ему.

Если, при обращении к сайту, не указан путь к какому-нибудь файлу, то браузеру передается файл index.htm или index.html.

Меня спрашивали, как сделать так, чтобы запускался файл index.htm? Отвечаю, ничего особенно делать не надо, если вебсервер найдет файл с именем index.htm, он пошлет его клиенту. Так делают большинство вебсерверов. Просто так принято. Это одно из правил. Об этом и других правилах хостинг-провайдер всегда сообщает своим пользователям. Также часто служба поддержки практически всегда с радостью ответит на все ваши вопросы. И не страшно, если ответа придется ждать месяц...

Еще меня часто спрашивают о кодировках русского текста.
Как вы помните, русский текст может кодироваться по-разному, т.е. одной и той же русской букве соответствуют несколько разных числовых кодов, по одному в каждой кодировке (к счастью :-). Наиболее распространены кодировки KOI-8R и Windows-1251. Проблема состоит в том, что если браузер думает, что файл в одной кодировке, а он на самом деле в совершенно другой, то реально, вместо русских слов, вы увидите то, что в народе называется "иероглифами".

При ответе на запрос браузера, сервер передает ему документ, снабженный HTTP заголовком, в котором, кроме всего прочего, сообщается, в какой документ кодировке.

Понятно, вебсервер не настолько умен, чтобы самостоятельно определить кодировку передаваемого документа. Этот вопрос решается разными путями. Например, вебсервер может считать (и говорить об этом клиенту), что все документы в кодировке Windows-1251, или он может определять кодировку по расширению файла (html - windows-1251, xhtml - koi-8r). Подобные детали вам сообщит ваш хостинг-провайдер. Ваше дело только закачивать на сервер файлы в той кодировке, которую сервер потом будет сообщать вебклиентам.

Еще можно задать кодировку непосредственно в html файле (тег META), но это уже из другой сказки :-).

И самый главный вопрос статьи - как закачивать файлы на сервер?

Ну это проще, чем писать HTML в Блокноте, поверьте!
Провайдер можетпредоставить вам что-то типа веб-мастерской, откуда вы сможете управлять своим сайтом через веббраузер, в том числе и закачивать туда файлы. Но это не очень удобно, поэтому, лучше использовать другую, предоставляемую провайдером услугу - доступ к сайту по ftp.
Для этого вам понадобится ftp-клиент. Это программа. Самый известный ftp-клиент - CuteFTP. Хотя, есть множество других. С помощью ftp-клиента надо подключиться к своему сайту, т.е. к серверу хостинг-провайдера, указав имя хоста (i-connect.com), логин (stacmv) и пароль (******). Понятно, что реквизиты моего сайта указывать не стоит :-). Затем просто копируйте файлы со своего диска на удаленный компьютер. Как это делается вы узнаете почитав инструкцию к конкретному ftp-клиенту.

Все. Сайт готов.

А проблемы, которые у Вас возникнут, мы обсудим в другой раз.
CU.Stac

Заключение

С нетерпением жду возвращения своей персоны в Сеть и встречи с вами, друзья!
За сим, прощаюсь ДО Следующего выпуска.

С уважением,
Вячеслав Stac Мацнев
сегодня
mailto:stac@stacmv.net



http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное