Вход | Регистрация
    1  2   

Что почитать по алгоритмам и структурам данных?

[Волшебник, 04.02.21 - 18:15]
Что почитать по алгоритмам и структурам данных?
Я
   ДНН
 
04.02.21 - 17:45
Кто что читал? Что посоветуете? Про всякие сортировки, графы, деревья, массивы, связанные списки и т.п.
Грокаем алгоритмы читал.
   МихаилМ
 
1 - 04.02.21 - 17:47
не поверите но
"алгоритмы и структуры данных".
   Жан Пердежон
 
2 - 04.02.21 - 17:48
Дональд Кнут "Искусство программирования" для начала...
   fisher
 
3 - 04.02.21 - 17:49
"Алгоритмы на java", Сэджвик и Уэйн
Есть соответствующий стендфордский курс на курсере.
Java пусть не пугает. Там только минимум-миниморум сишного по-сути синтаксиса.
   fisher
 
4 - 04.02.21 - 17:52
Курс, кстати, офигенный. Я первую часть только проходил, на вторую рука не поднялась.
Особенно автоматическое тестирование практических заданий понравилось. Просто офигенно. И по используемой памяти оценка и по производительности и результаты прогонов на куче тестовых наборов.
   Uberschall
 
5 - 04.02.21 - 17:53
(0) а как Вы это хотите применять в ключе 1С? я к тому, что в 1С особо нет выбора какую реализацию коллекции выбрать или как реализован внутри map (через красно-черные деревья или по-другому), т.к. от программиста 1С это все закрыто. Также большинство книг по алгоритмам используют/разъясняют паттерны проектирования, которые в большинстве своем требуют ООП.
   fisher
 
6 - 04.02.21 - 17:56
(5) Что-то ты путаешь. ООП с паттернами - это обычно отдельная тема.
   Волшебник
 
7 - 04.02.21 - 18:16
(5) В 1С есть ООП
   cViper
 
8 - 04.02.21 - 18:18
(0)
1)Структуры данных и алгоритмы в Java Лафоре Роберт | Лафоре Роберт   - книга написана довольно простым языком. Отлично для старта.
https://www.ozon.ru/product/struktury-dannyh-i-algoritmy-v-java-struktury-dannyh-i-algoritmy-v-java-23529814/

2) Алгоритмы. Построение и анализ | Штайн Клиффорд, Кормен Томас Х. - это уже более серьезный материал. Читал но выборочно.
https://www.ozon.ru/product/algoritmy-postroenie-i-analiz-33769775/?stat=YW5fMQ%3D%3D

https://leetcode.com/ - отличная платформа для решения задач по программированию и изучению структур данных. Там есть карточки с описанием структур данных и задачами на эти структуры. Также есть задачи на дизайн и имплементацию СД.
   Garykom
 
9 - 04.02.21 - 18:19
   Малыш Джон
 
10 - 04.02.21 - 18:21
(5) и вот так всегда...  Сначала "да зачем алгоритмы и структуры программисту 1С", а потом "ой, ну это же программист 1С, откуда он про алгоритмы и структуры знает".
Чтоб голова правильно работала, для этого и изучать надо все вышеперечисленное.
   Uberschall
 
11 - 04.02.21 - 18:22
(6) н-р, паттерн синглтон использует инкапсуляцию (ООП), для хранения инстанса. декоратор - ну по сути тоже. и т.д.
я не говорю, что нет паттернов без ООП, но многие используют.
   Uberschall
 
12 - 04.02.21 - 18:22
(7) а можно подробнее в чем он заключается? точнее как реализуются его принципы в 1С?
   Uberschall
 
13 - 04.02.21 - 18:23
(10) так я не говорил, что учиться и изучать что-то другое (не 1С) - это плохо.
   H A D G E H O G s
 
14 - 04.02.21 - 18:31
(0) не вижу практического смысла.
   toypaul
 
15 - 04.02.21 - 18:33
   Конструктор1С
 
16 - 04.02.21 - 18:39
(0) а где ты эти знания собрался применять? Уже всё придумано за нас. Пиши ORDER BY и СУБД отсортирует наиоптимальнейшим образом
   vi0
 
17 - 04.02.21 - 18:42
по графам начиная с 11й лекции https://www.youtube.com/playlist?list=PLDrmKwRSNx7J16QBIZMNmAUDRQjjwVTTG
   vi0
 
18 - 04.02.21 - 18:48
вот курс неплохой https://www.youtube.com/playlist?list=PLrCZzMib1e9pDxHYzmEzMmnMMUK-dz0_7
простым языком без занудства
   Глупый ответ
 
19 - 04.02.21 - 18:50
.
   Провинциальный 1сник
 
20 - 04.02.21 - 18:52
(2) Кнут чересчур академичен.
Н.Вирт "Алгоритмы и структуры данных"
   fisher
 
21 - 04.02.21 - 18:52
(11) Имел в виду, что ООП с паттернами - отдельная тема от базовых структур данных с алгоритмами.
   fisher
 
22 - 04.02.21 - 18:57
(15) Обычно начинают с теории оценки производительности алгоритмов. Ну и структуры ж данных еще.
"Плохие программисты думают о коде. Хорошие программисты думают о структурах данных и их взаимосвязях" (с) Линус Торвальдс
   cViper
 
23 - 04.02.21 - 18:59
(16) Какие структуры данных использует СУБД для реализации индексов?
   nicxxx
 
24 - 04.02.21 - 19:03
Просто (0) прислушался к Бедуину и начал спрыгивать с 1С :)
   rsv
 
25 - 04.02.21 - 20:17
(0) смысл ... если работаете с табличками
БД то и sql на это . Он и максимум найдет и отсортирует
   rsv
 
26 - 04.02.21 - 20:21
Чтобы велики типа поиска максимума в цикле
Или рекурсией алгоритмицки не придумывать
   Волшебник
 
27 - 04.02.21 - 20:23
(16) Лучше на поле наложить индекс, чтобы облегчить работу СУБД. "Наиоптимальнейшая" сортировка по мнению СУБД может занимать двое суток для тебя.
   rsv
 
28 - 04.02.21 - 20:25
Как  раз по теме ... структуры данных . Т.е. отношение
кортеж атрибут индекс и select
   Курцвейл
 
29 - 04.02.21 - 20:39
(0) Лучше всего почитать Гради Буча. Особенно если хочешь пойти в ООП. Для 1С тоже не помешает для карьеры архитектором, тим лидом и т.д.
   _DAle_
 
30 - 05.02.21 - 02:07
(0) Был уже хороший ответ: (8). Добавлю к нему, что "Алгоритмы: построение и анализ" (CRLS) - это классическая книга, хороший университетский курс. Да книга не самая простая, но это нормальный серьезный   учебник (в отличие от, например, вышеупомянутой книги Вирта, при всем уважении к Вирту). Есть еще на русском языке хороший курс лекций Паши Маврина, это курс лекций в ИТМО: https://www.youtube.com/user/pavelmavrin.

Если вышеперечисленное сложновато, то можно попробовать книги Седжвика, вроде бы они были немного проще.
 
 Рекламное место пустует
   fisher
 
31 - 05.02.21 - 11:00
(30) > хороший университетский курс
Для входа в тему, особенно людям "со стороны", лучше что-то полегче. Седжвика я уже предлагал. Но насколько я понял по советам и описанию, Лафоре - еще попроще.
   _DAle_
 
32 - 05.02.21 - 12:51
(31) >Для входа в тему, особенно людям "со стороны", лучше что-то полегче
   _DAle_
 
33 - 05.02.21 - 12:53
(31) >Для входа в тему, особенно людям "со стороны", лучше что-то полегче

Cогласен, просто человек написал, что "Грокаем алгоритмы" уже прочитал, а это уже какой-никакой вход, хоть и лайтовый, поэтому предлагаю переходить на более тяжелые препараты :)
   H A D G E H O G s
 
34 - 05.02.21 - 12:55
(0) Пиши свою СУБД. С парочкой связанных таблиц. Из самого сложного из конструкций языка - подустимы Struct. Потом нагрузи ее полтеррабайтом данных. Сразу придет понимание, что нужно почитать по алгоритмам.
   Конструктор1С
 
35 - 05.02.21 - 19:56
(23) би-дерево, или как там его. А зачем это вообще знать?
   Конструктор1С
 
36 - 05.02.21 - 20:00
(27) что-то не помню, чтобы СУБД напряглась при сортировке данных
   mikecool
 
37 - 05.02.21 - 20:02
начинать надо с чистого кода Мартина )
   vi0
 
38 - 05.02.21 - 20:15
(36) так то сортировка одна из ресурсоемких операций
   Конструктор1С
 
39 - 05.02.21 - 21:10
(38) а ты хочешь сказать что отсортируешь данные быстрее/экономичнее чем oracle? Операция ресурсоемкая, но СУБД выполняет её оптимальным образом. Зачем изобретать велосипед?
   Конструктор1С
 
40 - 05.02.21 - 21:12
(37) это да. Даже 1сникам будет полезно
   vi0
 
41 - 06.02.21 - 07:41
(39) нет, я не хочу этого сказать, я прокомментировал твою фразу что СУБД не напрягается при сортировке
   Провинциальный 1сник
 
42 - 06.02.21 - 08:22
(39) По крайней мере надо знать, что сортировка в любом случае дороже выборки по индексу, и почему надо проводить периодическую переиндексацию. И почему, например, файл индекса в 2 с лишком раза больше чем исходные индексируемые значения (а это было важно для баз dbf/cdx).
А для этого как раз книжка о теории программирования и нужна.
   vi0
 
43 - 06.02.21 - 08:22
(35) если не знать, то не будешь на экспертном уровне понимать работу сервера: что такое количество чтений, как их анализировать, почему индекс занимает столько то места, как повлиять на это, как сервер может обходить индекс, и почему в каких то моментах он делает это неотимально и т.д.
в книге Querying Microsoft SQL Server Exam 70-461, которая для подготовки к экзамену по запросам, этой теме выделена отдельная глава
из книги скрин https://i0.wp.com/wiseadvice-it.ru/upload/medialibrary/fe0/20_1.jpg
   Конструктор1С
 
44 - 06.02.21 - 08:50
(42) не то чтобы изучал, но хорошенько полистал книгу по алгоритмам и структурам данных. Не нашел там совершенно ничего, проливающего свет на внутреннюю кухню СУБД. Если уж интересует "как там в скуле работает", то куда полезнее почитать соответствующую литературу и документацию
   Конструктор1С
 
45 - 06.02.21 - 08:52
(43) это всё хорошо, только причем тут "классические" алгоритмы?
   Провинциальный 1сник
 
46 - 06.02.21 - 09:02
(44) Способ хранения двоичных деревьев индекса в одномерном массиве(таблице) знаете? Левая ветка 2n, правая 2n+1. Где n-позиция ключевого поля в таблице данных. Так вот об этом у Вирта есть.
   Конструктор1С
 
47 - 06.02.21 - 09:10
(46) не знаю. Но даже если бы знал, какая практическая польза от этих знаний? СУБД не предоставляет доступа покопаться в кишочках индекса, да и незачем

С этими алгоритмами примерно как с математикой. Математика программисту нужна... в 1% их всех программистских задач, в остальных 99% нафиг не нужна. С алгоритмами примерно то же самое. Это не универсальные знания, в подавляющем большинстве случаев они нафиг не нужны
   Провинциальный 1сник
 
48 - 06.02.21 - 09:22
(47) СУБД разные бывают, и вот например в dbf это ограничение было весьма актуально. Знать, откуда оно произошло, весьма полезно.
   Провинциальный 1сник
 
49 - 06.02.21 - 09:24
(47) Это как для автомобилистов - полезно знать теорию двигателей внутреннего сгорания и теорию машин и механизмов в общих чертах. Чтобы хотя бы понимать, что случилось с машиной, можно ли ехать дальше или срочно вызывать эвакуатор.
   Конструктор1С
 
50 - 06.02.21 - 09:34
(49) я когда-то тоже так думал. Мол 1сник должен уметь на "ты" СУБД. Пришел в крупную команию, со здоровенными базами данных, а там... целая команда грамотных сертифицированных DBA, которые занимаются всей магией связанной с работой СУБД
   Провинциальный 1сник
 
51 - 06.02.21 - 09:35
(50) Для 1с это всё-таки менее характерно, и жесткую специализацию скорее можно считать исключением из правил.
   Конструктор1С
 
52 - 06.02.21 - 09:37
Для программиста есть куда более полезные знания, которые он сможет применять в повседневности. Например, принципы SOLID, знание английского. Имхо, алгоритмы и структуры данных где-то ближе к концу списка "знаний must have"
   Провинциальный 1сник
 
53 - 06.02.21 - 09:51
(52) И в результате деятельности таких вот программистов мы имеем ситуацию, когда ту же самую задачу, которую успешно решали на P200, теперь приходится решать на core i5. Это и к 1с относится, кстати.
   Вафель
 
54 - 06.02.21 - 10:20
это не из-за алгоритмов, а из-за увеличения уровней абстракций и количества фреймворков
   Провинциальный 1сник
 
55 - 06.02.21 - 10:26
(54) Ну так одно с другим связано. Программисты не хотят влезать в детали и берут фреймворк, который ради универсальности дает увеличение ресурсоемкости на порядок. Иногда возникает мысль, что в отрасли действует некая "группа регрессоров", целью которой является замедлить развитие человечества.
Если бы программистам 60-х вдруг дать современный тот же Core i5 с free pascal внутри, страшно представить, что бы они могли сотворить (в хорошем смысле). А современные программисты эти ресурсы используют для того чтобы точка исполнения кода продиралась через уровни всех этих абстракций, делая что-то весьма тривиальное.
   vi0
 
56 - 06.02.21 - 10:51
(45) прочитай на какой комментарий я отвечал тебе
   vi0
 
57 - 06.02.21 - 10:52
(47) математика это в первую очередь инженерное мышление
   vi0
 
58 - 06.02.21 - 10:54
(50) и они давали 1сниками рекомендации по построению запросов?
   GANR
 
59 - 06.02.21 - 10:56
(0) Гимнастики для ума захотелось? А зачем книги? Вот практические задачи - подумай как решить:
- рекурсивно пометить на удаление то, на что ссылается объект
- поменять свойство доступность элементов, входящих в группу формы (они вложены, как матрёшка)
- есть папка неоднократного уровня вложенности - скопировать оттуда файлы с расширением xml в другую папку на один уровень, для уникальности прибавить к именам случайные ГУИДы
- генерировать все возможные комбинации нескольких элементов справочника
- для ведомости ИНВ-19 минимальную цену в пересортице строк найти, пересортившиеся строки пользователь укажет - это и будет граф (в УПП в 2013 году этого не было)
- расчетные показатели в отчете с использованием построителя отчетов (механизмами запросов было невозможно и пришлось пускать рекурсию по результату запроса)
- критические задачи найти в сетевом графике работ (задач, удлинение или сдвиг которых неминуемо приводит к сдвигу окончания проекта)
- более 30000 видов затрат, друг на друга ссылаются по графу, который пользователи задали на некоторых копейки зависли (сумма < 1 рубля) - надо списать на ближайшую где сумма > 1 рубля

и так далее...
   H A D G E H O G s
 
60 - 06.02.21 - 10:59
(55) почему файл индекса в 2 раза больше файла данных?
 
 Рекламное место пустует
   Immortal
 
61 - 06.02.21 - 11:00
отмечусь, мб что интересное найду здесь
   Провинциальный 1сник
 
62 - 06.02.21 - 11:05
(60) Количество записей индекса по одному полю составляет максимум 2n+1 от количества записей в основной таблице. А размер может быть всякий. В dbase например допускались индексные выражения, и там индекс мог быть намного жирнее исходного поля.
   Конструктор1С
 
63 - 06.02.21 - 12:38
(53) ты путаешь. Раньше кода было с гулькин нос. Сейчас прогер строчку кода пишет, а за ней проворачивается миллион строк более низкоуровневого кода
   Конструктор1С
 
64 - 06.02.21 - 12:41
(55) ты предлагаешь доблестно тратить время на очередное переизобретение уже готового?
   Конструктор1С
 
65 - 06.02.21 - 12:43
(58) нет. Разве что в отдельных специфичных случаях
   cViper
 
66 - 06.02.21 - 12:52
(46) Это heap
   cViper
 
67 - 06.02.21 - 12:58
(52) Ахахахаха. Серьезно?! Очень часто на позицию java dev спрашивют про устройство HashMap, TreeMap, просят реализовать какую-либо структуру данных (LinkedList, Stack, Queue, HashTable, LRUCache, Trie). Задают вопросы по сложности алгоритмов, какие из них реализованы в языке, просят их реализовать. Дают задачи на кодирование, когда надо в блокноте решить задачи различного уровня.
   cViper
 
68 - 06.02.21 - 13:07
(55) Фреймворки то и написали специально для того, чтобы ты свой велосипед каждый раз не писал. Взял готовое решение и написал бизнес-логику. Это все равно, чтобы каждый раз писать платформу 1С:Предприятие.
   H A D G E H O G s
 
69 - 06.02.21 - 13:07
(62) А давай ты попробуешь в структуры данных еще раз?
http://prntscr.com/yi6too
   H A D G E H O G s
 
70 - 06.02.21 - 13:19
(61) Скажи свои контакты, я потерял тебя со смертью аськи
   Конструктор1С
 
71 - 06.02.21 - 14:29
(67) это что за хардкорные интервью такие? Специально сдул книгу оракла по подготовке к сертификации по Java:
https://www.amazon.com/OCP-Certified-Professional-Programmer-1Z0-809/dp/1119067901
там коллекциям посвящено семьдесят страниц, из них имплементации Map всего 2 страницы. Уж если папка оракл на экзаменах не спрашивает про кишочки коллекций, на кой другие эти спрашивают?
   Конструктор1С
 
72 - 06.02.21 - 14:30
+(71) неправильно написал. Дженерикам + коллекциям посвящено 68 страниц
   novichok79
 
73 - 06.02.21 - 14:32
алгоритмы для чайников, алгоритмы для начинающих, структуры данных и алгоритмы на java.
с. скиена - алгоритмы.
   Провинциальный 1сник
 
74 - 06.02.21 - 17:25
(69) И что вы тут пытаетесь сравнивать? Речь о сравнении объема конкретного индекса и индексного поля основной таблицы, а не о сравнении общего объема таблицы и всех её индексов. Ваше сравнение не имеет смысла.
   Провинциальный 1сник
 
75 - 06.02.21 - 17:27
(68) Фреймворки разные бывают. Вот взять например турбовижн или дельфи. Они адекватными людьми сделаны, а не хипстерами миллениалами..
   H A D G E H O G s
 
76 - 06.02.21 - 19:02
(74) Надо просто немного напрячься. Там как раз сравнение объема конкретного индекса и индексного поля.
   Провинциальный 1сник
 
77 - 07.02.21 - 08:27
(76) Сами напрягитесь. "Пространство данных" и "место, занимаемое индексом" относится к ТАБЛИЦЕ _Reference41. А не к конкретному полю.
   Провинциальный 1сник
 
78 - 07.02.21 - 08:33
(77) И собственно о 2n+1 я говорил относительно именно формата индексов dbf (idx/cdx), а в mssql могут использоваться другие способы хранения, например без хранения собственно значений ключей в индексе, а только с хранением ссылки на поле исходной таблицы, содержащей значение. Тогда 2n+1 будет относится к размеру идентификатора записи основной таблицы. А может хранить значения, но повторяющиеся ссылки неуникального индекса не разворачивать в дерево, а хранить в связанном с узлом списке. Способов полно.
   Кирпич
 
79 - 07.02.21 - 08:42
А еще бывает индексируют туда и обратно, чтобы быстро LIKE работал.
Ну типа "МАМА" и "АМАМ". Вот тебе и сразу в два раза больше.
   H A D G E H O G s
 
80 - 07.02.21 - 09:05
(77) специально для тебя там слева показана иерархия таблицы, состоящая из одного поля. И да, размер Пространства данных чуть больше, чем
25*2*100000 на служебные структуры.
Но все равно, мы не видим, что размер индекса больше, чем размер данных в 2 раза.
Тут не 1с хаять, тут думать надо.
   H A D G E H O G s
 
81 - 07.02.21 - 09:08
(78) Ты несешь бред насчет sql. Почитай про b+ деревья.
   H A D G E H O G s
 
82 - 07.02.21 - 09:13
(79) а чаще бывает, что страница индекса не наполнена на 100%, а где то ближе к 50% и ты радостный несешься на форум :-)
   2mugik
 
83 - 07.02.21 - 09:22
(0)тимофей хирьянов мфти лекции алгоритмы на питон.
   H A D G E H O G s
 
84 - 07.02.21 - 09:25
   2mugik
 
85 - 07.02.21 - 09:33
(84)Ты наверное это хотел запостить в ветку где обсуждают Волков победил нокаутом Оверима? Тогда подходит)
   Кирпич
 
86 - 07.02.21 - 09:39
(82) Провинциальный 1сник наверное хотел сказать про dbf. Там да. Индексный файл cdx, какой нибудь, запросто мог быть в два раза больше файла dbf. Туда просто можно засунуть кучу индексов, да еще и всяких составных да с выражениями на языке xBase. А если тупо одно поле проиндексировать, то ясен пень, там не намного больше будет.
   H A D G E H O G s
 
87 - 07.02.21 - 10:06
(86) Ну я далек от dbf и прочей экзотики.
Sql и Postgree  юзают b+ дерево и не о каких там 2n записей или 2 n обьемах данных речи нет.

SQL, кстати, использует b+ дерево хитро, размещая в ветке/листе дерева не 3 записи,  как показано на картинках, а сколько войдет на 8 кбайтную страницу, так как она все равно будет считана при обращении.

Так сокращается глубина дерева. Отсюда другой вывод - хотите быстрый поиск/быструю вставку в индекс - уменьшайте индексную колонку.
   H A D G E H O G s
 
88 - 07.02.21 - 10:08
(85) Нет, это я приветствую ссылку на Хирьянова, которого смотрел в его лекциях по C++, сокрушаясь о их бессмысленности.
   Кирпич
 
89 - 07.02.21 - 10:22
+(86) Да и без всяких составных индексов, в dbf реально индекс в 2 раза больше чем данные. Не знаю как они умудряются, но это так.
   Кирпич
 
90 - 07.02.21 - 10:23
Наверное вставляют место для расширения
   Кирпич
 
91 - 07.02.21 - 10:29
проверил на MDX
dbf 499кb
mdx 1141kb

специально открыл mdx в Notepad++
поискал ключ. ключ в единственном экземпляре.
Наверное резервируют место в страницах, для добавления новых ключей. Потому и такой размер.
   vi0
 
92 - 07.02.21 - 11:14
(87) откуда информация про 3 записи? что за стандарт такой?
   Кирпич
 
93 - 07.02.21 - 12:06
   H A D G E H O G s
 
94 - 07.02.21 - 12:19
(92) Для минимума перебора. Но SQL для минимизации вложенности и перестроения предпочитает увеличить число ключей в узле (пока они входят на 8 Кбайтную страницу), тупо перебирая все ключи в узле. Вернее, перебирая не все, а также, биссекцией, скорее всего.
   vi0
 
95 - 07.02.21 - 12:34
(94) я так понимаю что sql действует просто по принципам построения сбалансированного дерева, поэтому не понимаю про три записи
   H A D G E H O G s
 
96 - 07.02.21 - 12:38
(95) В случае 3 записей - ты заходишь в узел в центральную запись и сравниваешь с искомым значение. Если равно - то идешь по центральной ветке, если меньше - идешь по правой ветке, иначе - по левой. 2 Чтения. Если будет больше 3 записей - будет больше чтений. Если будет 2 записи - все равно 2 чтения.
   cViper
 
97 - 07.02.21 - 12:50
(75)Ну и много вы знаете серьезного ПО написанного на делфи и турбовижн?
   ДенисЧ
 
98 - 07.02.21 - 12:52
(97) А ты мало? Трубу сейчас уже не найдёшь, а дельфей много.
   cViper
 
99 - 07.02.21 - 12:53
(71) Хардкорные, это когда у тебя онлайн тест и 4 этапа этапа в офисе. Онлайн решаешь задачи. Потом в офисе: 2 на кодинг, 1 на систем дизайн, 1 поведенческий. Это очень распространено в FAANG и компаниях поменьше, яндекс и прочие.
   cViper
 
100 - 07.02.21 - 12:55
(98) Скорее всего в телекофе делфи + оракл. НО там скорее всего уже отказываются от делфи и переходят на джава. Тот же мегафон давно уже на микросервисную джаву уходит.
  1  2   

Список тем форума
Рекламное место пустует  Рекламное место пустует
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.