Раздел Web Intro

SSP2011: Введение в Django

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

Я лишь приведу понравившеюся мне цитату из блога Романа Ворушина:

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

Читать дальше

SSP2011: программирование CGI

Перед тем как начать изучать различные web платформы было бы неплохо понять как делаются сайты без них. Скажем на голом python. В этой записи опишу маленький эксперимент с CGI на различных языках программирования.

Переходим в рабочую папку(у меня /home/german/work/python) и создаем текстовый test_python.cgi файл и пишем туда следующее:

#!/usr/bin/env python
print "Content-Type: text/html"
print
print """
<html><head></head><body><h1>Hello world!</h1></body></html>
"""

Если у вас Windows, то в начале файла должно быть путь к python.exe, например так #!C:\Python27\python.exe -u вместо #!/usr/bin/env python. На Windows я этого делать не пробовал, но думаю должно делаться аналогично.

Не уверен что это требуется, но делаем файл executable. В Windows так сделать нельзя.

chmod a+x ./test_python.cgi

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

Content-Type: text/html

<html><head></head><body><h1>Hello world!</h1></body></html>

Теперь нам как-то надо прикрутить этот скрипт к сайту, а точнее сделать этот скрипт доступным по какому-то url. При каждом обращении по какому-то url будет выполняться данный скрипт, а вывод будет отправляться клиенту.

Далее...

SSP2011: HTML

Про HTML

HTML - стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме.

Да, и в принципе этим все сказано. Теперь немного о том как писать на HTML.

Любой документ на языке HTML представляет собой набор элементов, причём начало и конец каждого элемента обозначается специальными пометками — тегами. Элементы могут быть пустыми, то есть не содержащими никакого текста и других данных (например, тег перевода строки
). В этом случае обычно не указывается закрывающий тег. Кроме того, элементы могут иметь атрибуты, определяющие какие-либо их свойства (например, размер шрифта для элемента font). Атрибуты указываются в открывающем теге. Вот примеры фрагментов HTML-документа:

<strong>Текст между двумя тегами — открывающим и закрывающим.</strong>
<a href="http://www.example.com">Здесь элемент содержит атрибут href.</a>
А вот пример пустого элемента: <br />

Эта цитата с википедии, цитировать еще больше как-то неудобно, так что советую прочитать вот эту вводную часть на вики.

На W3C можно посмотреть весь список HTML тэгов.

Я не вижу смысла писать что-то еще о HTML, для начинающего этого знания достаточно. Теперь лишь надо взять справочник и пытаться, что-нибудь сообразить. Вот первые два сносных ресурса выданные гуглом http://html.manual.ru/, http://htmlbook.ru/.

Я же дальше попытаюсь описать самые популярные теги и общие случаи.

  • Тэги <h1></h1>, <h2></h2>, <h3></h3>, <h4></h4>, <h5></h5>, <h6></h6> являются заголовками. Не стоит их использовать не по назначению, скажем, просто для выделения текста. Заголовки должны нести в себе некое общее описание следующего текста ...

SSP2011: по немногу о всяком

Подробнее о HTTP.

http-request-response

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

Сам HTTP протокол не имеет свойство запоминания клиента (сессии) по этому каждый следующий запрос от того же клиента рассматривается как отдельный, независимый HTTP запрос.

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

Аутентификация на сервере реализуется уже над HTTP протоколом по средствам передачи Cookie в заголовках запроса, но это к HTTP уже не относится. Протокол HTTP примитивен. Запрос состоит из трех частей:

  1. Стартовая строка. (GET /resource HTTP/1.0)
  2. Заголовки
  3. Тело сообщения

Для чего вообще нужны заголовки? Говоря обычным языком для передачи вспомогательной информации. Есть стандартные заголовки, а можно передавать еще что-то свое. Браузеры будут просто игнорировать незнакомые заголовки. Для разработки сайта это не нужно, но все равно полезно знать.

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

SSP2011: Мотивация и начало

Планирую написать серию постов, которые в первую очередь помогут мне подготовить материал для лекций для SDU Summer Programme 2011 о веб-программировании и о веб-плотформе Django.

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

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

поехали ...