Чтение онлайн

на главную - закладки

Жанры

Первые 20 часов. Как быстро научиться… чему угодно
Шрифт:

Привыкнув к тому факту, что компьютер не способен читать ваши мысли, вы постепенно учитесь давать инструкции, которые система может понять — точно так же, как вы учились точно определять термины и описывать простейшие действия приятелю в игре «Сэндвич», прежде чем отдавать сложные команды.

В чем особенность программирования интернет-приложений?

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

Как

бы то ни было, меня не интересуют все разновидности программирования — я хочу писать программы работы с сайтами. Если вы когда-либо пользовались программами электронной почты, например Gmail, Hotmail, Yahoo Mail или любой другой, то понимаете, о чем идет речь. Эти программы выполняются в вашем интернет-браузере. Чтобы использовать их, не нужно загружать программное обеспечение в компьютер. Вы просто указываете нужный сайт в браузере и регистрируетесь. Можно приступать.

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

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

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

Из предыдущего опыта работы с HTML и CSS я сделал один вывод: эти языки «немые» в том смысле, что вы не можете заставить главную веб-страницу хранить какую-либо информацию.

Допустим, у вас есть файл веб-страницы, содержащий приветствие «Привет всем!» [6], и вы хотите заменить слово «всем» именем пользователя, который посещает страницу. Отличная идея, но главные веб-страницы не способны хранить информацию, которую можно впоследствии воспроизвести. Они просто воспроизводят текст из файла, а этот файл не позволяет себя изменять.

Это свойство описывается таким техническим термином, как состояние. Главные веб-страницы, созданные с помощью HTML и CSS, не запоминают состояние и поэтому называются ресурсами «без запоминания состояния». На веб-странице вы можете создать окно для ввода имени пользователя с кнопкой «Сохранить», но для сохранения этой информации необходимо предусмотреть для нее специальное место.

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

Понятие базы данных лучше всего иллюстрирует

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

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

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

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

покажи мне карточку Джона Смита;

покажи мне все карточки женщин;

покажи мне все карточки людей, которым больше пятидесяти лет.

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

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

Базы данных — самый распространенный способ хранения информации в интернет-приложениях. Если вам нужно хранить такие данные, как имя пользователя, адрес электронной почты, и другие подобные сведения, для этого прекрасно подойдет база данных. После того как Джон Смит войдет в ваше приложение, вы можете извлечь его имя из записи в базе данных, а затем вывести на экран: «Привет, Джон Смит!»

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

В случае нашей программы для адресной книги можно хранить куки-файл, созданный в тот момент, когда Джон Смит входит в систему. Куки-файл Джона содержал бы такую информацию: username = johnsmith и loggedin = true. Если Смит покинет приложение, а затем снова вернется, программа распознает куки-файл и откроет доступ без повторной регистрации. Можно сделать так, чтобы куки-файлы хранились определенное время, что удобно для этого типа программирования. (Если вы увидите на сайте сообщение «Запомнить этот пароль», то происходит именно запись куки-файла.)

Поделиться:
Популярные книги

Набирая силу

Каменистый Артем
2. Альфа-ноль
Фантастика:
фэнтези
боевая фантастика
рпг
6.29
рейтинг книги
Набирая силу

Сердце Дракона. Том 11

Клеванский Кирилл Сергеевич
11. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
6.50
рейтинг книги
Сердце Дракона. Том 11

Польская партия

Ланцов Михаил Алексеевич
3. Фрунзе
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Польская партия

Восьмое правило дворянина

Герда Александр
8. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восьмое правило дворянина

Ты предал нашу семью

Рей Полина
2. Предатели
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Ты предал нашу семью

Как я строил магическую империю 2

Зубов Константин
2. Как я строил магическую империю
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю 2

Наследник старого рода

Шелег Дмитрий Витальевич
1. Живой лёд
Фантастика:
фэнтези
8.19
рейтинг книги
Наследник старого рода

Возвращение Низвергнутого

Михайлов Дем Алексеевич
5. Изгой
Фантастика:
фэнтези
9.40
рейтинг книги
Возвращение Низвергнутого

Лорд Системы

Токсик Саша
1. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
4.00
рейтинг книги
Лорд Системы

Довлатов. Сонный лекарь 2

Голд Джон
2. Не вывожу
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Довлатов. Сонный лекарь 2

Дурашка в столичной академии

Свободина Виктория
Фантастика:
фэнтези
7.80
рейтинг книги
Дурашка в столичной академии

Барон диктует правила

Ренгач Евгений
4. Закон сильного
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон диктует правила

Кодекс Охотника. Книга XIII

Винокуров Юрий
13. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XIII

Удобная жена

Волкова Виктория Борисовна
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Удобная жена