Веб-программирование для не-веб-программиста (на Perl) - PullRequest
6 голосов
/ 22 августа 2011

Я хочу начать веб-программирование на Perl (Perl - единственный язык, который я знаю). Проблема в том, что я ничего не знаю о вебе, кроме серфинга. Я понятия не имею, с чего начать.

Так что мой вопрос (ы) ...

С чего начать обучение веб-программированию? что я должна знать? Что я должен использовать?

Заранее благодарю всех за ответы и помощь.

Ответы [ 3 ]

15 голосов
/ 22 августа 2011

Ключевые вещи для понимания:

Что вы можете отправить в браузеры

… или, скорее, то, что вы намереваетесь отправить в браузеры, но полезно знать, что еще есть, (поскольку, в частности, в сложных веб-приложениях вам нужно будет выбрать соответствующие форматы данных).

, например

  • HTML
  • CSS
  • JavaScript
  • Изображения
  • JSON
  • XML
  • PDF-файлы

Когда вы генерируете данные динамически, вы также должны понимать доступные инструменты (например, сообщество Perl настоятельно рекомендует TT для генерации HTML, но есть и другие варианты, такие как Mason , тогда как JSON :: Any , как правило, является моим переходом к JSON).

Транспортные механизмы

  • HTTP (включая, какие коды состояния использовать и когда, как выполнять перенаправления, какие методы (POST, GET, PUT и т. Д.) Использовать и когда).
  • HTTPS (HTTP с шифрованием SSL)

Как заставить веб-сервер общаться с вашим Perl

  • PSGI / Plack если вы хотите современный и эффективный
  • CGI для очень простых
  • mod_perl если вам нужны безумные уровни мощности (я видел, как кто-то превращал Apache HTTPD в фильтр спама SMTP, используя его).

Безопасность

Как защититься от злонамеренного ввода (что в основном сводится к знанию, как принимать данные в одном формате (например, данные отправленной формы) и преобразовывать их в другой (например, HTML или SQL).

Веб-фреймворки

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

  • Web :: Simple просто
  • Танцор , кажется, держит середину (хотя я должен признаться, что у меня еще не было возможности использовать его)
  • Catalyst , вероятно, имеет самую крутую кривую обучения, но поставляется с большим количеством мощности и плагинов.
2 голосов
/ 22 августа 2011

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

В CPAN есть хороший учебник

Если вы хотите начать с mod_perl или CGI, есть также несколько учебных пособий:

1 голос
/ 08 января 2012

Если вы хотите попробовать веб-программирование на Perl, вы можете попробовать бесплатно разместить Dancer приложение на OpenShift Express .

Есть дажеРепо "Dancer on OpenShift Express", чтобы вы начали: https://github.com/openshift/dancer-example

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...