Рассылка закрыта
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Программирование для начинающих спецвыпуск 2
Программирование для начинающихСпецвыпуск 2
Ведущий рассылки: Вячеслав Мацнев | e-mail: stac@stacmv.net |
Сегодняшний выпуск у нас специальный. Прежде чем
войти в очередной
учебный год, надо как-то закрыть предыдущий. Этому и посвящен второй
спецвыпуск. Сегодня на повестке дня: где брать выпуски рассылки, итоги нашего голосования по цветам заголовков, программа ALGO, web via email, книга Алена Голуба, и другое.
Эта рассылка называется "Программирование для начинающих".
Она
рассылается Службой Рассылок Городского Кота. Web-адрес
этой службы:
http://subscribe.ru . Здесь можно подписаться
на данную рассылку, а
также на множество других. Каждая рассылка имеет свой код. Например,
код нашей рассылки: comp.prog.progforbeg
. Если известен код рассылки,
то можно попасть на страницу данной рассылки в каталоге рассылок
Subscribe.ru.
Вас может смутить, заявленная периодичность выхода рассылки 1-2 раза в
неделю. Это ошибка, просто я переоценил свои возможности :-), прошу
простить меня за то, что ввел вас в заблуждение.
Большое число откликов вызвала статья Garry о доступе к Web по email.
Собственно, это был ожидаемый результат. Именно поэтому я и поднял
этот вопрос.
По моей практике getweb самый лучший (а тут лучший читай быстрый) сервис для е-мыльшиков без инета. Для того чтобы смотреть документы в русской кодировке, ДА еще и с html кодом надо использовать команду типа: Какой из этих двух способов применять, зависит от имеющегося у вас программного обеспечения, т.е. программы декодирования файлов. Вполне возможно ваша почтовая программа сама справится с этой операцией, в противном случае потребуется специальная утилита.
Я рад, что многие из вас изъявили желание приобрести книгу Алена Голуба. На вопрос о том, где я ее купил отвечу: где я книгу взял, ее больше нет. :-) Но я видел ее в магазине "Библио Глобус" (г. Москва, Мясницкая, 6, http://www.biblio-globus.ru ). Так что желающие могут туда наведаться. Что касается электронной версии ...
На всякий случай привожу одну из ссылок на это издание в формате Word.
От начинающих программистов я часто слышу, что книги написаны плохо, непонятно и т.п. Конечно, книги бывают плохие и хорошие, но только ли в книгах дело, или что-то зависит от читателя. Скажите, а Вы умеете читать компьютерную литературу? Умение читать является, наверное, самым важным навыком, необходимым для получения информации. Дети начинают читать еще в первом классе школы. Но часто родители приобщают своих детей к книгам и в более раннем возрасте. И пусть сначала это книги типа "Раскрась сам", важность и необходимость умения читать трудно переоценить. Особенно в наш информационный век. Человеку доступно огромное число источников информации. Большинство из этих источников - литература. Под этим термином я подразумеваю любую текстовую информацию. Сюда относятся как традиционные печатные книги, журналы, газеты, так и их электронные версии, файлы помощи (help) и другие подобные источники информации. У меня нет ни малейшего сомнения, что каждый из вас прекрасно знает алфавит и вообще умеет читать. Сегодня мы говорим немного о другом. Вы, конечно, наслышаны о различных методиках чтения. Например, скорочтение позволяет ознакомиться (запомнить) большой объем информации за короткое время и т.п. Нет, я не изобрел подобного рода методику, я лишь хочу поделиться с вами некоторыми соображениями по поводу чтения литературы для программистов. Нельзя знать все, что касается программирования и, тем более, помнить все это. Поэтому приходится много читать. Описания языков программирования, сред разработки, библиотек функций, различных интерфейсов, форматов файлов - это лишь малая часть того с чем приходится сталкиваться программистам, в том числе и начинающим. Можно, конечно, применять техники скорочтения, если вы ими владеете. А можно, наоборот, читать медленно и вдумчиво, проверяя все описанное непосредственно на машине. В этом случае, т.е. при при применении информации на практике, она усваивается гораздо лучше. Вы в этом и не сомневались, не так ли? Что же делать, если под рукой нет компьютера, например, если вы читаете в транспорте, а ноутбук оставили дома или когда опробовать все описанное на практике обременительно и, вообще, невозможно? Ничто не мешает вам поднапрячь воображение и "применять" интересные кусочки информации по ходу чтения. Я, например, делаю это практически подсознательно и могу сказать, что во многих случаях эта техника может быть и бывает полезна. Поэтому остановимся на ней подробнее и рассмотрим на примерах. Хочу отметить, что вы должны обладать воображением, это раз. И еще вы должны уметь генерировать идеи, это два. Если с воображением все понятно, то насчет генерации идей я поясню, так как в этом суть. К примеру, Вы - начинающий программист, не написавший пока что ни одной программы или имеющий небольшой опыт в школе или еще где-нибудь. Вы еще не знаете, как написать ту или иную программу, но у Вас сразу же появляется ее идея. Вы запускаете свой Windows в разное время суток и хотите, чтобы она приветствовала Вас всегда по-разному, например, голосом Вашей подруги. Вы не знаете ни одного языка программирования, но идея программы у Вас родилась: надо каким-то образом сделать так, чтобы при старте Windows проигрывались разные звуковые файлы со словами "Доброе утро", "добрый день" и т.д. При этом хорошо бы, приветствия были к месту, т.е. надо как-то узнать время суток. Ясно. Отлично. Идея родилась и ждет своего часа, чтобы осуществиться. Через пять минут родится другая идея, и со временем у Вас будет целый сундук идей. Наверное, он уже наполнен как минимум на половину, иначе зачем Вы стали интересоваться программированием? Потом Вам попалась книга по Windows и Вы стали ее читать. Совершенно случайно наткнулись на главу, посвященную программе "Фонограф" и wav файлам. Так... Давняя и почти забытая идея всплывает на поверхность. "Ага", думаете Вы, "Вот он, способ записи приветствий, где там телефон подруги ...". Через пару дней, не менее случайно, из книги про ДОС Вы узнаете о возможности переименования файлов с помощью команды ren. Пока читаете описание команды, Ваша давняя идея, а может две-три идеи всплывают в памяти. Для Вас уже описание команды ren не бесполезная информация, а самая, что ни на есть, полезная. Вы уже видите себя, устанавливающим в качестве звука при запуске Windows файл privet.wav и в зависимости от времени суток переименовывающего файлы morning.wav, day.wav, evening.wav в privet.wav из bat файла, подставляя Windows нужное приветствие. А тем временем Вы упорно продолжаете пополнять текстовый файл с информацией о днях рождения Ваших знакомых и знаменательных датах, типа годовщины собственной свадьбы. По каким-то причинам Вы решили отказаться от применения мощнейших реляционных баз данных масштаба предприятия, т.е. систем управления ими, и используете просто текстовый файл, который Вы просматриваете ежедневно перед запуском Windows (это чтобы не забыть). В последнее время у Вас стало очень много друзей, которых Вы хотели бы поздравить с днем рождения. Вас любят, потому что каждому приятно, когда его поздравляют с днем рождения и, вообще, помнят об этом. Но никто не знает, чего Вам стоит ежедневный просмотр нескольких сот строчек Вашего файла в поисках заветной даты. Впрочем, Ваши друзья тоже не зря едят свой хлеб. Однажды они подарили Вам книгу по ДОС, которую Вы, наконец-то, решили почитать. Из нее-то Вы и узнали про переименование файлов. И вот, теплым летним вечером, сидя в уютном кресле, Вы дочитали до команды find и ... хлопнув себя по лбу, с криком "Ну, конечно же!", понеслись к компьютеру.
Каждая строка Вашего текстового файла имеет следующий формат: Данные в Вашем файле не отсортированы, т.к. новую информацию Вы всегда добавляли в конец файла. Достаточно трудно что-либо найти, знаете ли. Вы же, пользуясь моим советом, всегда представляете мысленно, как можно применить ту или иную информацию. Поэтому о команде find Вы читали не как сводку погоды в Шотландии, к тому же прошлогоднюю, а с очень даже живым интересом.
И когда Вы примчались к компьютеру, то сразу набрали в командной
строке ДОС, чтобы узнать, кто же родился в августе:
И увидели на экране:
"Так гораздо интереснее", подумали Вы и посмотрели, кто же из Ваших друзей родился 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. Но вот, беда, надо как-то определять дату и время. Вы пока не знаете как это сделать, жаль, придется отправить идеи на склад :-). В другое время, может месяцы спустя, Вы будете изучать какой-нибудь язык программирования, например, Бейсик. И изучая его операторы, процедуры и функции, Вы будете возвращаться к своим идеям и постепенно осуществлять их.
Даже если в реальности Вы не будете делать то, о чем написано выше,
хорошо бы проигрывать подобные вещи в уме при чтении литературы. При
знакомстве с функциями Бейсика
А вот типичное описание оператора "Оператор 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 голосов, вот как распределились места.
Цвета для рубрик ОТСЕБЯТИНА, СЛОВО ПРЕДОСТАВЛЯЕТСЯ и ОТСЕБЯТИНА 2 предложил Bear. Какие выводы можно сделать из всего этого? Ну, во-первых, каждый из Вас может видеть какой цвет предпочитают читатели и использовать его в своих проектах. Ну, а во-вторых, вы узнали о наиболее простом способе проведения голосования, не лишенного недостатков, впрочем.
Итак, заинтересованные лица посмотрели программу ALGO и выполнили задачу, поставленную в четвертом выпуске рассылки. Сейчас в моем распоряжении 23 присланных вами программы.
Итак приступим к их анализу.
Процитирую четвертый выпуск рассылки: "Ваша задача - составить программу, согласно которой объект-"рожица" возьмет дискету и вставит ее в дисковод компьютера. ... ... Описание всех кнопок и встроенного языка программирования (ЯП) имеется на странице 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 Ну как? Ааа...
Практика показывает, что для эффективной работы с устройством или программой, бывает нелишним внимательно прочесть документацию на это устройство или программу. И хорошо изучить все имеющиеся возможности и способы их использования. Дело в том, что подобный "нестандартный" подход вам придется довольно часто применять. Примеров тому довольно много, о части из них можно узнать, почитав рассылки для опытных программистов. Другие приемы практически нигде не описаны, т.к. широко применяются и всем известны. Вам же, уважаемые подписчики еще предстоит о них узнать (так что крепитесь :), а я, со своей стороны, обязательно вам помогу.
Поздравляю, Eugene!!!
HTML - как много в этом слове ... целых четыре буквы :-) Не сегодня, завтра Вы изучите его и сделаете прекрасные страницы, лучшие в своем роде. И что потом? Зачем вообще делать web-страницы? Отличный вопрос и, главное, к месту! Потому что я, как раз, собирался на него ответить. В самом слове "web-страница" содержится большой смысл. Приставка "web" указывает, что это не какая-нибудь страница из книги, а страница Всемирной Паутины. Всемирная Паутина, Web, WWW, World Wide Web это все синонимы, по крайней мере, для русского человека. И я в своей статье буду употреблять все эти термины, может даже придумаю еще. Для начала, хотелось бы рассказать об истории Паутины, о ее создании. Поэтому, я процитирую, частично, свою статью на эту тему, которая была опубликована в "Заметках несетевика" в феврале этого года. Писана она была для достаточно специфической аудитории, поэтому прошу различать, где истина, а где шутка юмора :-)
"... Всемирная Паутина, еще известна как World Wide Web (WWW), это тоже типа Сеть* или даже сервис Интернета (еще бывают сервисы: email, gopher, usenet, telnet и др.)... * - это относится к сети TrNet и ее пользователям.
:-)
Каждый ресурс в сети Интернет имеет идентификатор (URI - Universal
Resoure Identifier). В случае с Паутиной, он совпадает с универсальным
локатором ресурса, URL. Не вдаваясь в подробности, скажу, что он имеет
такой формат:
Например, Здесь stacmv.i-connect.com - имя машины (виртуальной, впрочем :), а vote0000.gif - полный путь к файлу, gif изображению. В данном случае можно сказать, что этот файл находится в корневом каталоге данного вебсервера. Хотя могло бы быть иначе. Корневой каталог вебсервера может иметь подкаталоги. И путь к файлу указывается почти также как и на локальном компьютере, например, /project/jtp/index.html . А все потому, что в реальности, корневой каталог вебсервера - это обычный подкаталог на винчестере хозяина вебсервера, который (вебсервер) может работать практически в любой ОС, начиная с Unix и кончая DOS. Какой именно подкаталог будет для сервера корневым, элементарно задается при его конфигурировании.
Итак, в общем случае, размещение информации в Web сводится к установке
на компьютере программы-вебсервера и его настройки. Эти программы
бывают разные, простые и сложные. Как вы помните, вписывая url в браузере, мы называем сервера по именам. Как получить имя? Наверное, просто придумать его нельзя, как тогда о нем узнают все в Паутине?
Опять же без особенных деталей ... Если Вы входите в Сеть с помощью модема, то скорее всего у вас 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, он пошлет его клиенту. Так делают большинство вебсерверов. Просто так принято. Это одно из правил. Об этом и других правилах хостинг-провайдер всегда сообщает своим пользователям. Также часто служба поддержки практически всегда с радостью ответит на все ваши вопросы. И не страшно, если ответа придется ждать месяц...
Еще меня часто спрашивают о кодировках русского текста. При ответе на запрос браузера, сервер передает ему документ, снабженный HTTP заголовком, в котором, кроме всего прочего, сообщается, в какой документ кодировке. Понятно, вебсервер не настолько умен, чтобы самостоятельно определить кодировку передаваемого документа. Этот вопрос решается разными путями. Например, вебсервер может считать (и говорить об этом клиенту), что все документы в кодировке Windows-1251, или он может определять кодировку по расширению файла (html - windows-1251, xhtml - koi-8r). Подобные детали вам сообщит ваш хостинг-провайдер. Ваше дело только закачивать на сервер файлы в той кодировке, которую сервер потом будет сообщать вебклиентам. Еще можно задать кодировку непосредственно в html файле (тег META), но это уже из другой сказки :-). И самый главный вопрос статьи - как закачивать файлы на сервер?
Ну это проще, чем писать HTML в Блокноте, поверьте! Все. Сайт готов. А проблемы, которые у Вас возникнут, мы обсудим в другой раз.
С нетерпением жду возвращения своей персоны в Сеть и встречи с вами,
друзья!
|
http://subscribe.ru/
E-mail: ask@subscribe.ru |
В избранное | ||