Что такое данные
Документ pdf, qr-код, табло метрополитена, интернет-страница или сигнал светофора — мы сталкиваемся с ними ежедневно. Разберемся, что у них общего
Одно из ключевых понятий в IT — это информация. Философы веками спорят, что это вообще такое, и продолжают до сих пор. Понятие «информация» используется в теории вероятности, статистической физике, кибернетике, теории кодирования и теории информации. Без информации — никуда.
Единицей измерения информации считается бит. Однако на практике чаще используется более удобная единица — байт, состоящий из 8 битов.
Математик Клод Шенон предложил считать информацию в битах. А вот и он
Информация — это смысл, который извлекается из данных.
Если информация обретает форму, которую можно пересылать и обрабатывать в программах, она снова становится данными, которые можно измерять в битах и байтах. Если представить память компьютера или телефона как сосуд, то данные — это то, что его заполняет.
Данные — формы представления информации, с которыми имеют дело информационные системы и их пользователи. Каждый день мы сталкиваемся с различными форматами данных: файлами, веб-страницами и другими. Данные передаются, принимаются, перекодируются и интерпретируются программами.
Представим обычную ситуацию: коллега в рабочем чате прислал ссылку на документ. Клик по ссылке — и на экране открылся текст. Но чтобы это произошло, потребовалось множество незаметных для пользователя операций с данными:
- Чат-программа вызвала программу-браузер, передав ему данные, адрес в сети интернет (ссылку коллеги).
- Браузер сформировал и отправил серверу в интернете запрос на данные по этому адресу в формате протокола HTTP (HyperText Transfer Protocol, стандартный протокол передачи данных в интернете).
- Сервер вернул ответ браузеру с данными в формате протокола HTTP.
- Браузер получил HTTP-ответ сервера с запрошенными данными,
Пример заголовка HTTP-ответа:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
В этом примере заголовок Content-Type указывает, что данные — это HTML-документ в кодировке UTF-8. - Браузер сопоставил тип данных из HTTP-ответа сервера с теми типами, которые он умеет отображать. Если этот формат поддерживается браузером (например, HTML, PDF, изображение), мы сразу получим документ на экране. Если формат не поддерживается, полученные данные будут сохранены в файл, а управление будет передано операционной системе.
- ОС, получив файл, проверит список зарегистрированных для его формата приложений и вызовет приложение, зарегистрированное приоритетным для этого формата файла, если такое есть. Если приоритетного приложения нет, операционная система предоставит выбор пользователю.
- Приложение читает файл, данные отображаются на экране.
- Готово, вы великолепны.
Любая программа предназначена для обработки данных. А каждый разработчик должен понимать, какие шаги проходят данные по пути к конечному пользователю. Последовательное описание шагов и преобразований, которые происходят с информацией перед ее отображением — это и есть описание программы. Любая программа имеет доступ к функциям операционной системы или может, используя протоколы передачи данных, получить доступ к другим программам.
Программы обычно взаимодействуют с различными формами данных: файлами, протоколами передачи данных, базами данных и реестрами. Можно сказать, программа оперирует различными данными, записывая их в оперативную память компьютера, а затем удаляет их как мусор.
Предположим, что данные — это номер телефона Яндекс-Музея и рассмотрим несколько примеров размещения данных:
В файле на диске компьютера
Напишем простую программу на языке Python, создав в текстовом редакторе файл main.py:
file = open("museum_number.txt", "w")
file.write("+7 (499) 110-11-33")
file.close()
Эта программа из трёх строк создаст файл «museum_number.txt» и запишет в него номер телефона Яндекс-Музея. Чтобы выполнить данную программу у себя на компьютере, нужно установить в операционной системе пакет языка Python и выполнить команду:
python main.py
Теперь телефон Яндекс-Музея будет всегда под рукой, в файле «museum_number.txt» на диске компьютера.
На сайте в интернете
Если мы хотим сделать номер телефона доступным для всех пользователей интернета, можно поместить его на web-страницу. Для этого создадим простой HTML-документ:
<html>
<head>
</head>
<body>
<a href="tel: +74991101133"> +7 (499) 110-11-33</a>
</body>
</html>
Сохраним его в файл «index.html» и разместим файл на сервере с доменным адресом «ymuseum.ru». Теперь при клике по ссылке https://ymuseum.ru/ у всех пользователей интернета будет открываться наша страница с номером телефона Яндекс-Музея. Ура!
В базе данных
Для хранения больших объёмов данных, их сохранности и быстрого к ним доступа используются специальные программы — базы данных.
Чтобы сохранить телефон Яндекс-Музея в базе данных, нужно создать таблицу. Это почти такая же таблица как в Excel. Только работать с ней нужно не мышкой и клавиатурой, а командами на языке запросов SQL (чаще всего). Создадим базу данных «ab», таблицу «phones», в в которой есть строковые поля «number» и «fio», и запишем в неё номер телефона:
CREATE DATABASE ab;
CREATE TABLE phones (
fio varchar(255),
number varchar(255)
);
INSERT INTO phones (fio, number)
VALUES ('Yandex Museum', '+74991101133');
