| 
 | 
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  dakeiras авторТо есть вам досталась система на MongoDB, вы перенесли её на SQL базу... И в итоге получили убытки? Простите, но мне видится, что проблема тут не в MongoDB. Не перенесли а дуплицировали данные, OLAP. Но проблема и правда не в монго, как я выше и написал. Проблема в том что не нужно было его использовать изначально. Это объектная БД, она не приспособлена для 90% случаев работы например в банковоской сфере. За банковскую сферу не скажу, потому как в ней не работал, хоть и были предложения. И при этом беглое гугление говорит, что такие крупные финансовые конгломераты, как Citigroup Inc., вполне успешно используют MongoDB в автоматизации определённых процессов. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2020, 18:02 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  авторCitigroup  Они и Кобол используют до сих пор. Это не говорит ни о чём. Насчёт миграции - вот и ответ на ваш вопрос касательно "печальных результатов". Лишние трудозатраты, потеря времени, как следствие убытки приумножаемые фактором срочности. А всё потому что неправильные решения были приняты изначально. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2020, 18:09 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  dakeiras авторCitigroup  Они и Кобол используют до сих пор. Это не говорит ни о чём. Насчёт миграции - вот и ответ на ваш вопрос касательно "печальных результатов". Лишние трудозатраты, потеря времени, как следствие убытки приумножаемые фактором срочности. А всё потому что неправильные решения были приняты изначально. Хорошо, тут мне нечего обсуждать, так как нет подробностей, да и нет никакого желания. Вот только из этого не следует, что ТСу не подходит MongoDB. Его задача: miroooha У меня есть два вида поиска игры - по названию (если игра есть в БД) и по ссылке. Парсер работает по ссылке. Ты ему ссылку, а он тебе готовый объект с информацией об игре. После каждого запроса по ссылке объект сохраняется в БД, чтобы в дальнейшем игру можно было искать по названию. При использовании парсера я не беру информацию из БД, я её туда только кладу. А при поиске по названию из БД только беру. И очевидно, что вы слишком субъективны в этом вопросе. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2020, 18:15 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Дмитрий Мух dakeiras пропущено... Они и Кобол используют до сих пор. Это не говорит ни о чём. Насчёт миграции - вот и ответ на ваш вопрос касательно "печальных результатов". Лишние трудозатраты, потеря времени, как следствие убытки приумножаемые фактором срочности. А всё потому что неправильные решения были приняты изначально. Хорошо, тут мне нечего обсуждать, так как нет подробностей, да и нет никакого желания. Вот только из этого не следует, что ТСу не подходит MongoDB. Его задача: miroooha У меня есть два вида поиска игры - по названию (если игра есть в БД) и по ссылке. Парсер работает по ссылке. Ты ему ссылку, а он тебе готовый объект с информацией об игре. После каждого запроса по ссылке объект сохраняется в БД, чтобы в дальнейшем игру можно было искать по названию. При использовании парсера я не беру информацию из БД, я её туда только кладу. А при поиске по названию из БД только беру. И очевидно, что вы слишком субъективны в этом вопросе. Он отказался от Postgresql потому что неправльно сделал что-то (хотя по умолчанию даже Постгрес работает в Хероку) и вместо того чтобы разобраться, полез в Mongodb. А потом будет ходить по миру и распевать что SQL бд плохие для старпёров, а вот Mongodb для крутых молодых продвинутых эффективных. Норм? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2020, 18:18 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  dakeiras Дмитрий Мух пропущено... Хорошо, тут мне нечего обсуждать, так как нет подробностей, да и нет никакого желания. Вот только из этого не следует, что ТСу не подходит MongoDB. Его задача: пропущено... отлично ложится на MongoDB. И очевидно, что вы слишком субъективны в этом вопросе. Он отказался от Postgresql потому что неправльно сделал что-то (хотя по умолчанию даже Постгрес работает в Хероку) и вместо того чтобы разобраться, полез в Mongodb. А потом будет ходить по миру и распевать что SQL бд плохие для старпёров, а вот Mongodb для крутых молодых продвинутых эффективных. Норм? У вас явно слишком предвзятое отношение к MongoDB. Да пусть себе ходит. Это будет дюже забавно: написал простейший парсер для Google Play и теперь ходит по миру и распевает, что SQL БД плохие ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2020, 18:25 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  miroooha, я вот тут подумал о том, что вы же действительно можете использовать в качестве _id не ObjectId, а строку при чём ведь она уже есть в самой ссылке на Google Play: https://play.google.com/store/apps/details?id=com.n3twork.tetris Вот же: com.n3twork.tetris . Используйте этот id в своём парсере и тогда всё у вас заработает с MongoRepository. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2020, 18:29 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Делов-то: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 01.07.2020, 18:34 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  dakeiras Он отказался от Postgresql потому что неправльно сделал что-то (хотя по умолчанию даже Постгрес работает в Хероку) и вместо того чтобы разобраться, полез в Mongodb. А потом будет ходить по миру и распевать что SQL бд плохие для старпёров, а вот Mongodb для крутых молодых продвинутых эффективных. Норм? Как-то вы рассуждаете и за себя и за того парня. Да, в немалой степени я отказался от Postgres из-за того, что мне не удалось решить проблему подключений (в heroku их максимум 20). Пробовал Hikari Pool - стало лучше, но проблема глобально осталась. Но изначально я хотел хранить объект в JSON-формате (или ему подобном), так как в моей первой версии приложении, результат парсера размещался как раз в JSON-файл. Но так как Dynos система heroku не поддерживает/не хранит файлы в принципе, моя библиотека обновлялась каждые 24ч при рестарте приложения. Поэтому я подумал о БД. Mongo прекрасно, на мой взгляд, подходит для моих задач: облачный склад для моих документов (объектов с игрой). Каждой БД найдется своё применение. А если вы я выбрал не Postgres а Oracle? Я выбрал то, что мне подошло. Ну столкнулся я и в Монго с трудностями, наверное, надо было попробовать Redis? Нет, я решил копать в Монго дальше, и что в этом плохого? Во втором своем проекте я, скорее всего, буду использовать Postgres. Я уже учусь, развиваюсь. Не всё сразу. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 12:43 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Дмитрий Мух miroooha, я вот тут подумал о том, что вы же действительно можете использовать в качестве _id не ObjectId, а строку при чём ведь она уже есть в самой ссылке на Google Play: https://play.google.com/store/apps/details?id=com.n3twork.tetris Вот же: com.n3twork.tetris . Используйте этот id в своём парсере и тогда всё у вас заработает с MongoRepository. Имя пакета приложения? Но говорят, что строку в качестве primary key (ведь id по сути и есть primary key) не стоит использовать? Я попробовал и всё работает! :) Как можно по-другому достать значение параметра id из URL? Код: java 1. 2. 3. 4. 5. 6. 7. Просто с помощью классов URI/URL не получилось. Может есть готовые решения в сторонних библиотеках? Ссылка может быть как такой: https://play.google.com/store/apps/details?id=com.playdigious.deadcells.mobile&hl=en Так и: https://play.google.com/store/apps/details?id=com.playdigious.deadcells.mobile ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 12:55 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  miroooha dakeiras Он отказался от Postgresql потому что неправльно сделал что-то (хотя по умолчанию даже Постгрес работает в Хероку) и вместо того чтобы разобраться, полез в Mongodb. А потом будет ходить по миру и распевать что SQL бд плохие для старпёров, а вот Mongodb для крутых молодых продвинутых эффективных. Норм? Как-то вы рассуждаете и за себя и за того парня. Да, в немалой степени я отказался от Postgres из-за того, что мне не удалось решить проблему подключений (в heroku их максимум 20). Пробовал Hikari Pool - стало лучше, но проблема глобально осталась. Мне кажется что ты до конца недоисследовал проблему. 20 физческих сеансов к БД - даже для нагруженных продуктовых систем - это нормально. Надо только вовремя возвращать соединения в пул обратно и для 99% кейсов тебе их хватит с головой. Исключение - это длинные транзакции и ETL. Но ETL у тебя нет ведь у тебя Монго. И длинных транзакций у тебя тоже скорее всего нет. В монге обычно все корректировки документов - микро-атомарные транзакции. Тоесть сведя задачу к Монге ты доказал что у тебя оно прекрасно и работало бы в Postgres просто ты где-то не додавил проблему до конца. А надо было просто понаблюдать что эти 20 сеансов в пуле у тебя делают. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:07 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  miroooha Дмитрий Мух miroooha, я вот тут подумал о том, что вы же действительно можете использовать в качестве _id не ObjectId, а строку при чём ведь она уже есть в самой ссылке на Google Play: https://play.google.com/store/apps/details?id=com.n3twork.tetris Вот же: com.n3twork.tetris . Используйте этот id в своём парсере и тогда всё у вас заработает с MongoRepository. Имя пакета приложения? miroooha Но говорят, что строку в качестве primary key (ведь id по сути и есть primary key) не стоит использовать? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:10 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  miroooha Я попробовал и всё работает! :) Кросавчег! ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:17 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  miroooha Просто с помощью классов URI/URL не получилось. Может есть готовые решения в сторонних библиотеках? Ссылка может быть как такой: https://play.google.com/store/apps/details?id=com.playdigious.deadcells.mobile&hl=en Так и: https://play.google.com/store/apps/details?id=com.playdigious.deadcells.mobile Ну тебе надо в строке найти "id=" и потом цепочку символов до следующего "&". Это же просто банально. Да может быть есть сторонние библиотеки. Но разве тривиальное решение для тебя - неприемлемо? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:22 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Дмитрий Мух miroooha пропущено... Имя пакета приложения? miroooha Но говорят, что строку в качестве primary key (ведь id по сути и есть primary key) не стоит использовать? Да, этот параметр по сути является именем пакета приложения, и по идее он всегда уникален. Если разобрать .apk файл с игрой, его можно будет там найти. Знаю, так как ковырял .apk файлы по молодости. Цитату в студию! :) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:23 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  miroooha Дмитрий Мух пропущено... Имя? Параметр id - это имя? Не идентификатор? Серъёзно? пропущено... А я говорю, что стоит. И могу ещё раз процитировать документацию. Да, этот параметр по сути является именем пакета приложения, и по идее он всегда уникален. Если разобрать .apk файл с игрой, его можно будет там найти. Знаю, так как ковырял .apk файлы по молодости. Оу, ну не надо про .apk, мобильные приложения я писал, знаю что это такое :) Хорошо, давайте так. Имя пакета приложения на сайте Google Play является идентификатором этого самого приложения. Поэтому вы спокойно можете его использовать у себя в базе как _id документа. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:29 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mayton miroooha пропущено... Как-то вы рассуждаете и за себя и за того парня. Да, в немалой степени я отказался от Postgres из-за того, что мне не удалось решить проблему подключений (в heroku их максимум 20). Пробовал Hikari Pool - стало лучше, но проблема глобально осталась. Мне кажется что ты до конца недоисследовал проблему. 20 физческих сеансов к БД - даже для нагруженных продуктовых систем - это нормально. Надо только вовремя возвращать соединения в пул обратно и для 99% кейсов тебе их хватит с головой. Исключение - это длинные транзакции и ETL. Но ETL у тебя нет ведь у тебя Монго. И длинных транзакций у тебя тоже скорее всего нет. В монге обычно все корректировки документов - микро-атомарные транзакции. Тоесть сведя задачу к Монге ты доказал что у тебя оно прекрасно и работало бы в Postgres просто ты где-то не додавил проблему до конца. А надо было просто понаблюдать что эти 20 сеансов в пуле у тебя делают. Не отрицаю, что не до конца разобрался. Но нашел альтернативную рабочую версию, стоит ли мешки ворочать? Я обязательно попробую решить эту проблему и разобраться, но уже на другом проекте (или на этом же, но на другой ветке). Записал себе в блокнотик. mayton miroooha Просто с помощью классов URI/URL не получилось. Может есть готовые решения в сторонних библиотеках? Ссылка может быть как такой: https://play.google.com/store/apps/details?id=com.playdigious.deadcells.mobile&hl=en Так и: https://play.google.com/store/apps/details?id=com.playdigious.deadcells.mobile Ну тебе надо в строке найти "id=" и потом цепочку символов до следующего "&". Это же просто банально. Да может быть есть сторонние библиотеки. Но разве тривиальное решение для тебя - неприемлемо? Я бы даже сказал слишком банально. Но меня всегда интересовали другие возможные решения. Я изначально пишу то, что приходит в голову, а потом улучшаю, если это необходимо и возможно. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:30 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  miroooha Цитату в студию! :) The _id field may contain values of any BSON data type , other than an array. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:30 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  miroooha Я бы даже сказал слишком банально. Но меня всегда интересовали другие возможные решения. Я изначально пишу то, что приходит в голову, а потом улучшаю, если это необходимо и возможно. Ну тот солюшен на Stream-ах работает? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:33 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Дмитрий Мух Имя пакета приложения на сайте Google Play является идентификатором этого самого приложения. Утвердительно киваю головой. :) mayton miroooha Я бы даже сказал слишком банально. Но меня всегда интересовали другие возможные решения. Я изначально пишу то, что приходит в голову, а потом улучшаю, если это необходимо и возможно. Ну тот солюшен на Stream-ах работает? Работает вери велл, наверное. По крайней мере, работает на том, что успел протестировать. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:38 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  авторПробовал Hikari Pool - стало лучше, но проблема глобально осталасьв Спринге и так Hikari используется по умолчанию. И он настроен по умолчанию на 5-10 коннектов если мне память не изменяет. Так что нормально он пашет с Хероку. Скорее всего у тебя 2 приложения к 1 базе подключались. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:44 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  miroooha Работает вери велл, наверное. По крайней мере, работает на том, что успел протестировать. Ну и прекрасно. Пусть работает. Нагрузка на него - слабая. Сколько раз в секунду ты его дёрнешь? Вряд-ли слишком много. Тебе надо больше качать и вставлять в свою монгу. Это знаешь как старый двигатель в Москвич 2141. Пока он работает - пускай он грязный весь в подтеках масла и закопченый. А как только ты решил его "перебрать" и промысть дескыть чтоб лучше было - тут двигателю и капец. Надо будет заново ремонтировать. Вобщем старый админски-девопский прицип. Да? Работает - и ладньенько. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 13:56 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mayton miroooha Работает вери велл, наверное. По крайней мере, работает на том, что успел протестировать. Ну и прекрасно. Пусть работает. Нагрузка на него - слабая. Сколько раз в секунду ты его дёрнешь? Вряд-ли слишком много. Тебе надо больше качать и вставлять в свою монгу. Это знаешь как старый двигатель в Москвич 2141. Пока он работает - пускай он грязный весь в подтеках масла и закопченый. А как только ты решил его "перебрать" и промысть дескыть чтоб лучше было - тут двигателю и капец. Надо будет заново ремонтировать. Вобщем старый админски-девопский прицип. Да? Работает - и ладньенько. У меня тут как раз в деревне под окном Москвич 2140 1984 года стоит. Хоть сейчас заводи и езжай. :D Правда на большие расстояние рискованно, в любой момент может пернуть и загнуться. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 14:38 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Тут такое дело: давно думал, есть ли решение описанному ниже вопросу. Google Play определяет страну, из которой подключается пользователь по IP-адресу (вроде как). При запуске с локальной машины парсер парсит информацию о стоимости игры в рублях - всё ок. При старте с heroku парсер уже подключается с европейского адреса, и вся страница отображается в соответствующей локали и с соответствующими ценами (евро). Перевести содержимое страницы на русский смог с помощью простого костыля (суфикс &hl=ru к основному адресу), но на цену данный суффикс не влияет. Она конкретно привязана к соединению. Можно ли как-то обмануть Google помимо использования прокси/VPN (работают через раз с Jsoup)? Может в heroku есть какие-нибудь настройки? Иль забить и смириться? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 02.07.2020, 23:32 | 
  
  
  
   | 
||
| 
 
Поле объекта в качестве уникального ключа в документе MongoDB (Spring Data) 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  miroooha Тут такое дело: давно думал, есть ли решение описанному ниже вопросу. Google Play определяет страну, из которой подключается пользователь по IP-адресу (вроде как). При запуске с локальной машины парсер парсит информацию о стоимости игры в рублях - всё ок. При старте с heroku парсер уже подключается с европейского адреса, и вся страница отображается в соответствующей локали и с соответствующими ценами (евро). Перевести содержимое страницы на русский смог с помощью простого костыля (суфикс &hl=ru к основному адресу), но на цену данный суффикс не влияет. Она конкретно привязана к соединению. Можно ли как-то обмануть Google помимо использования прокси/VPN (работают через раз с Jsoup)? Может в heroku есть какие-нибудь настройки? Иль забить и смириться? А проблема в чём? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 03.07.2020, 00:24 | 
  
  
  
   | 
||
| 
 | 

start [/forum/search_topic.php?author=Alex+Czech&author_mode=last_topics&do_search=1]:  | 
    0ms | 
get settings:  | 
    8ms | 
get forum list:  | 
    11ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    68ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    57ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 675ms | 
| total: | 866ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...