Что такое локальные хранилища
Перейти к содержимому

Что такое локальные хранилища

  • автор:

Что такое локальное хранилище и как его используют в программировании

Lorem ipsum dolor

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

Фактически локальное хранилище данных — это простой объект, созданный при помощи JavaScript, в котором можно располагать какие-то данные и взаимодействовать с ними.

Что такое локальное хранилище данных

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

Недостатки локального хранилища данных

  1. Хранит в себе данные только в виде строк. Более сложные структуры данных сохранять в локальном хранилище можно только преобразовав их в строчный вид. Но это так себе решение.
  2. Синхронное взаимодействие. Это значит, что любые взаимодействия с локальным хранилищем выполняются одно за другим. В небольших приложениях это не страшно, но если приложение по сложнее и запросов к хранилищу будет много, то такое приложение будет медленно работать.
  3. Нет фоновой обработки данных. То есть если вы захотите разработать приложение, которое будет работать в фоновом режиме и при этом применять возможности локального хранилища данных, то у вас это не получится. Executive Search tiesioginė Vadovų Paieška — vienas efektyviausių būdų surasti talentingą lyderį, patyrusį arba aukščiausio lygio specialistą tinklapyje primumesse.lt
  4. Небольшой объем памяти. Да, 5 Мб при к э шировании — это более чем достаточно, если сравнивать с «куками». Но для работы многих приложений это го не хватает .
  5. Очень низкая безопасность. Связано это с тем, что у локального хранилища данных нет никаких способов защититься от сторонних JS-скриптов. А это значит, что любой JS-скрипт со страницы может каким-то образом воздействовать на сведения, сохраняемые в хранилище.
  • сохраняемая информация не является конфиденциальной;
  • ваша разработка не будет является высоконагруженной;
  • размер данных, которые нужно сохранять в хранилище , не будет выше объема в 5 Мб;
  • информацию возможно сохранить в виде строк.

Заключение

Локальное хранилище данных в HTML5 в ряде случаев — это наилучший способ не использовать веб — сервер. Однако перед применением этой технологии нужно еще раз обратить внимание на ее недостатки, чтобы в дальнейшем не возникло никаких проблем.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Что такое Локальное Хранилище (Local Storage Objects). Как его очистить и отключить.

Что такое Local Storage Objects (локальное хранилище)?

Локальное хранилище — это постоянное хранилище данных с более расширенной емкостью и возможностями, чем cookies.

В качестве него могут выступать DOM Storage (в Firefox / Internet Explorer), Database Storage via SQLite (в Safari), Local Shared Objects (Flash Cookies) и др.

Данные из локального хранилища находятся на вашем компьютере и передаются только по запросу сервера.

В чем опасность Local Storage?

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

Как сохранить приватность?

  • Отключить Local Storage в настройках браузера или регулярно его очищать. (можно использовать такие плагины как «HTML5 Storage Manager All in One» для Google Chrome)
  • В случае с Flash Cookies необходимо отключить локальное хранилище в настройках Flash или полностью отключить/удалить Adobe Flash.

Как отключить Local Storage в Internet Explorer 11 :

  1. Откройте меню настроек и выберите “Internet Options”.
  2. Во вкладке Advanced снимите галочку с “Enable DOM Storage”.

Как очистить Local Storage в Internet Explorer 11 :

  1. Откройте меню настроек и выберите “Safety” — “Delete browsing history…” (или нажмите Ctrl+Shift+Del).
  2. Отметьте галочкой “cookies and website data” и нажмите “Delete”.

Как отключить Local Storage в Firefox :

  1. Введите в адресной строке: about:config и нажмите “I’ll be careful, i promise!”
  2. Найдите в появившемся окне, используя поиск: dom.storage.enabled
  3. Дважды кликните на строку, чтобы значение сменилось с «True» на «False».

Как очистить Local Storage в Firefox :

  1. Нажмите Ctrl+Shift+Del, отметьте галочкой опции “Cookies”, “Offline Website Data”.
  2. В поле “Time Range” выберите “Everything”.
  3. Нажмите “Clear Now”.

Как отключить Local Storage в Opera :

В “Опере” можно отлючить Local Storage только вместе с cookies. Делается это в “Settings”, во вкладке “Privacy and Security”. В разделе Cookies выберите “Block sites from setting any data”.

Как очистить Local Storage в Opera :

  1. Откройте меню “Opera” и выберите “More Tools” -> “Clear browsing data” (или нажмите Ctrl+Shift+Del).
  2. Измените Obliterate the following items from: “the past hour” на “beginning of time”. Отметьте галочкой “Cookies and other site data” и нажмите “Clear browsing data”.

Что такое хранилище данных?

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

Почему хранилище данных является важным?

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

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

В связи со сложностью требований к данным компании используют различные типы инфраструктуры их хранения для обеспечения доступности, избыточности, управления и прозрачности. Например, организации используют Эластичную файловую систему Amazon (Amazon EFS) для бессерверной файловой системы и Простой сервис хранения данных Amazon (Amazon S3) для хранения объектов.

Какие термины относятся к хранилищам данных?

В контексте хранения данных несколько терминов часто используются как взаимозаменяемые, но имеют несколько разные значения. Ниже представлены несколько примеров.

База данных

База данных – это организованная система хранения данных. Большинство баз данных основаны на реляционной архитектуре баз данных. Реляционная система управления базами данных (RDBMS) дает пользователям возможность хранить данные в таблицах, связанных с определенными точками данных. Организации используют базы данных для хранения транзакционных данных, таких как бухгалтерские, торговые и административные журналы.

Хранилища данных и базы данных

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

Хранилище данных

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

Хранилища данных

Хранилище данных – это зонтичный термин, который включает в себя различные аппаратные средства, технологии, форматы и архитектуры для хранения и поиска информации. Но существует и особый тип хранилища данных для консолидации аналитических данных для бизнеса. Например, компания GE Renewable Energy использует AWS Redshift для получения новых знаний о собранных данных.

Как работает хранилище данных?

Физическое устройство хранения данных – это технология, лежащая в основе хранилища данных. Вы можете читать и записывать информацию на устройство в определенных форматах, таких как файлы, таблицы или блоки. Устройство может быть локальным, удаленным или находиться в облаке. Большие хранилища данных обычно распределены между несколькими физическими устройствами в разных географических точках. Программные системы и сервисы абстрагируют базовые операции хранилища данных.

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

Флеш- и твердотельные накопители

Твердотельный накопитель (SSD) – это полупроводниковая технология, позволяющая записывать и считывать данные в микросхемах флэш-памяти. Технология флэш-памяти была коммерчески доступна в ручках-накопителях, прежде чем стать альтернативой жестким дискам (HDD). По сравнению с жестким диском, физический SSD не имеет движущихся частей, что означает более высокую производительность и долгий срок службы.

Гибридный массив хранения данных

Гибридный массив хранения данных – это физическая система хранения данных, состоящая из SSD и HDD. Хотя твердотельный накопитель обеспечивает работу с низкой задержкой, его стоимость в расчете на единицу хранения гораздо выше, чем у жесткого диска. Поэтому организации используют гибридные массивы хранения данных, чтобы сбалансировать производительность, емкость и стоимость.

RAID

RAID означает избыточный массив независимых дисков. Это технология, которая позволяет хранить одни и те же данные в нескольких местах на твердотельном накопителе.

Какие существуют форматы хранилищ данных?

Хранилища данных предназначены для обработки и организации данных в различных форматах.

Файловое хранилище

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

Блочное хранилище

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

Объектное хранилище

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

Какие существуют типы хранилищ данных?

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

Хранилище с прямым подключением

Хранилище с прямым подключением (DAS) состоит из устройств хранения данных, которые физически подключаются к компьютеру. Например, система DAS подключает жесткий диск, оптический диск или флэш-накопитель к компьютеру. Создание резервных копий на DAS достаточно простое, но обмен данными с другими компьютерами вызывает трудности.

Хранилище с сетевым подключением

NAS (Network-attached storage) – это устройство хранения данных, предназначенное для хранения файлов, которое обеспечивает постоянный доступ к данным для эффективной совместной работы приложений и пользователей по сети. Устройства NAS – это специальные серверы, которые обрабатывают только запросы на хранение данных и обмен файлами. Они предоставляют быстрые, безопасные и надежные услуги хранения для частных сетей.

Сеть хранения данных

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

Облачное хранилище

Облачное хранилище – это распределенная инфраструктура хранения данных, размещенная и управляемая облачными провайдерами. Она более масштабируемая, гибкая и имеет удаленный доступ по сравнению с локальными хранилищами. Например, пользователи могут подключаться к облачному хранилищу AWS при условии, что у них есть подключение к Интернету и они авторизованы для доступа к данным. Облачное хранилище также является экономически эффективным, поскольку пользователи платят только за используемую емкость.

Гибридное облачное хранилище

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

Как AWS может удовлетворить ваши потребности в хранении данных?

AWS предоставляет несколько десятков облачных сервисов хранения данных, чтобы удовлетворить ваши потребности в хранении данных. Кроме того, у вас есть возможность размещать на своих инстансах Эластичного вычислительного облака Amazon (Amazon EC2) все, что захотите. Чтобы выбрать лучший сервис облачного хранения AWS, соответствующий вашим требованиям, необходимо сделать следующее:

  • Разделите вашу систему на рабочие нагрузки.
  • Определите механизм хранения данных, наиболее подходящий для конкретной рабочей нагрузки, а не единое хранилище данных для всей системы.
  • Далее выполните оптимизацию по стоимости и производительности, чтобы найти наиболее подходящий для вас сервис хранения данных.

Например, Служба реляционных баз данных Amazon (Amazon RDS) является популярным выбором для организаций, которые хотят создать и масштабировать реляционные базы данных. Она предоставляет приложениям облачное хранилище данных высокой доступности для размещения постоянных оперативных данных. Amazon RDS предлагает самоуправляемое решение для предоставления баз данных, которое освобождает разработчиков от утомительной настройки инфраструктуры хранения данных.

Начните работу с хранилищами данных на AWS, зарегистрировав аккаунт AWS уже сегодня.

HTML5 Web Storage — обзор веб-хранилища

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

Правильным местом для хранения конфиденциальных и важных данных будет веб-сервер. Например, если вы положите какие-либо товары в свою корзину в онлайновом магазине, данные о вашей потенциальной покупке сохраняются на веб-сервере. На вашем компьютере сохраняется лишь несколько байтов данных для отслеживания, содержащих информацию о вас (или, вернее, о вашем компьютере), чтобы веб-сервер знал, какая из корзин ваша. Даже с новыми возможностями HTML5 изменять эту систему нет надобности — она надежная, безопасная и эффективная.

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

До HTML5 единственным способом локального хранения данных было использование механизма файлов cookies, который первоначально был разработан для обмена небольшими объемами идентифицирующей информации между веб-серверами и браузерами. Файлы cookies подходят идеально для хранения небольших объемов данных, но модель JavaScript для работы с ними несколько неуклюжа. Система файлов cookies также вынуждает разработчика возиться со сроками действия и бесполезно пересылать данные туда и обратно по интернету с каждым запросом страницы.

В HTML5 вводится лучшая альтернатива файлам cookies, которая позволяет легко и просто сохранять информацию на компьютере посетителя. Эта информация может храниться на клиентском компьютере неограниченное время, не отправляется на веб-сервер (если только разработчик не сделает это сам), может быть большого объема и для работы с ней требуется всего лишь пара простых, эффективных объектов JavaScript.

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

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

Сохраняемая в веб-хранилище информация в действительности сохраняется не в интернете, а на компьютере посетителя веб-страницы. Иными, словами, веб-хранилище означает хранение данных не в интернете, а хранение данных из интернета.

Существуют два типа веб-хранилищ, которые так или иначе связаны с двумя объектами:

Локальное хранилище

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

Конечно же, большинство браузеров также предоставляет пользователю возможность очистить локальное хранилище. В некоторых браузерах она реализована как стратегия «все или ничего», и посредством ее удаляются все локальные данные, во многом подобно тому, как удаляются cookies-файлы. (В действительности, в некоторых браузерах система cookies и локальное хранилище взаимосвязаны, так что единственным способом удалить локальные данные будет удаление cookies.) А другие браузеры могут предоставлять пользователю возможность просмотра данных для каждого отдельного веб-сайта и удалять данные для выбранного сайта или сайтов.

Хранилище данных сеансов

Использует объект sessionStorage для временного хранения данных для одного окна или вкладки браузера. Эти данные доступны лишь до тех пор, пока пользователь не закроет окно или вкладку, после чего сеанс заканчивается и данные удаляются. Но данные сеанса сохраняются, если пользователь переходит на другой веб-сайт, а потом возвращается обратно при условии, что это происходит в том же окне браузера.

С точки зрения кода веб-страницы, как локальное хранилище, так и хранилище данных сеансов работают абсолютно одинаково. Разница состоит лишь в длительности хранения данных.

Использование локального хранилища предоставляет наилучшую возможность для сохранения требуемой информации для последующих посещений вебстраницы пользователем. А хранилище сеансов служит для хранения данных, которые нужно передавать от одной страницы другой. (В хранилище сеансов можно также хранить временные данные, используемые только на одной странице, но для этой цели прекрасно работают обычные переменные JavaScript.)

Как локальное хранилище, так и хранилище сеансов связано с доменом веб-сайта. Таким образом, если сохранить в локальном хранилище данные для страницы www.professorweb.ru/index.html, эти данные будут доступны для страницы www.professorweb.ru/contact.html, т.к. обе эти страницы имеют один и тот же домен. Но эти данные не будут доступны для страниц других доменов.

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

Хотя спецификация HTML5 не устанавливает никаких жестких правил в отношении максимального объема хранилища, большинство браузеров ограничивают его 5 Мбайт. В этот объем можно упаковать много данных, но его будет недостаточно, если вы хотите использовать локальное хранилище для оптимизации производительности и кэшировать в нем изображения или видео большого объема (и, по правде говоря, локальное хранилище не предназначено для таких целей).

Для хранения большого объема данных все еще развивающийся стандарт базы данных IndexedDB допускает локальное хранение намного большего объема — обычно 50 Мбайт для начала и больше, по согласию пользователя.

Сохранение данных

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

Синтаксис для сохранения фрагмента данных следующий:

localStorage[keyName] = data;

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

// JS localStorage["username"] = "Ivan Petrov";

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

  Веб-хранилище   
function saveData() < // Получаем значения текстовых полей var localData = document.getElementById("localData").value; var sessionData = document.getElementById("sessionData").value; // Сохраняем текст, введенный в текстовом поле, в локальном хранилище localStorage["localData"] = localData; // Сохраняем текст, введенный в текстовом поле, в хранилище сессий sessionStorage["sessionData"] = sessionData; >function loadData() < // Загружаем сохраненные данные из хранилищ var localData = localStorage["localData"]; var sessionData = sessionStorage["sessionData"]; // Отображаем эти данные в текстовых полях if (localData != null) < document.getElementById("localData").value = localData; >if (sessionData != null) < document.getElementById("sessionData").value = sessionData; >>

Сохранение данных в веб-хранилище

Страница содержит два текстовых поля: для локального хранилища (вверху) и для хранилища сеансов (внизу). Нажатие кнопки «Сохранить» сохраняет текст, введенный в текстовые поля, а нажатие кнопки «Загрузить» выводит в полях соответствующие сохраненные данные.

Веб-хранилище также поддерживает менее распространенный синтаксис свойств. Согласно правилам этого синтаксиса, мы обращаемся к ячейке хранения с именем username как localStorage.username, а не localStorage[«username»]. Оба типа синтаксиса равнозначны, и использование того или другого является вопросом личного предпочтения.

Веб-хранилище не работает без веб-сервера

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

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

Что же происходит, если открыть страницу, которая использует веб-хранилище, с локального жесткого диска? Все зависит от браузера. Браузер Internet Explorer, похоже, полностью утрачивает поддержку веб-хранилища. Объекты localStorage и sessionStorage исчезают, и попытка использовать их вызывает ошибку JavaScript.

В браузере Firefox объекты localStorage и sessionStorage остаются на месте и, вроде бы, поддерживаются (даже Modernizr определяет, что поддерживаются), но все, что отправляется на хранение, исчезает неведомо куда. В браузере Chrome опять же что-то другое — большая часть функциональности веб-хранилища работает как следует, но некоторые возможности (например, событие onStorage) не работают.

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

Поддержка веб-хранилища браузерами

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

Поддержка браузерами локального хранилища и хранилища данных сеансов

Браузер IE Firefox Chrome Safari Opera Safari iOS Android
Минимальная версия 8 3.5 5 4 10.5 2 2

Все эти браузеры предоставляют возможность локального хранилища и хранилища данных сеанса. Но для поддержки события onStorage требуются более поздние версии браузеров, например IE 9, Firefox 4 или Chrome 6.

Самой проблемной является версия IE 7, которая не поддерживает веб-хранилище вообще. В качестве обходного решения можно эмулировать веб-хранилище посредством файлов cookies. Это не совсем идеальное решение, но оно работает. Хотя официального сценария для закрытия этого пробела не существует, несколько хороших отправных точек можно найти на странице HTML5 Cross Browser (в разделе «Web Storage»).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *