|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
mayton И типизация им была все равно нужна. Ну, так понятно, потому что то уже не совсем не микро. Людей трудно переучивать. Тут вся суть в том, чтобы можно было разобраться с работой сервиса за день, тестить без дебагера, подсовывая нужные данные и переписывать на чём хочешь хоть каждую неделю. Если микросервисы так не могут, то это просто распределённый монолит со всеми недостатками обоих подходов. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 11:43 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
crutchmaster Я просто столкнулся с тем, что это всё никакого особого выхлопа не даёт. Чем больше проект и команда, тем больше выхлоп. В какой-то момент он становится критичным. crutchmaster Во-первых в большом приложении легко устроить сильную связанность всего со всем. Легко и кухонным ножом порезаться :) crutchmaster Т.е. вроде бы это и хорошо, что есть контракты и что когда что-то где-то меняешь проект просто не соберётся, но сильно легче от этого не становится. Речь не только про изменения. Но и про обычное программирование. Контракт -- это с одной стороны гарантии, с другой по сути документация, интеллисенс и возможность проведения глубокого статического анализа. Сильно легче -- становится. crutchmaster Когда переезжают на микросервисы смысл стат. типизации вообще теряется. Переезд на микросервисы решает совсем другие задачи. Какое-то современное тотальное заблуждение, рассматривать микросервисы как средство решения всех проблем в разработке, в языках программирования и т.д. Давайте не будем всерьёз эти заблуждения обсуждать, ладн? )) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 11:47 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
crutchmaster Ну, по факту и на жабке приходится всё, кроме типа, проверять руками, начиная с null. А если работаешь с микросервисами, то вообще пропадает смысл возиться с типами. Если работаешь с микросервисами, то и программировать не надо. Я понял ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 11:48 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
mayton Алексей Роза. Я еще раз повторю свой вопрос. Что изменится после того как ты откроешь такому фронт-кодеру весь пласт знаний про шаблоны проектирования и прочее? А.. наверное ты хотел сделать его back-разработчиком? Наверное у тебя - бесконечный поток кадров и ты - эдакий благородный ресурсный менеджер? Ты способствуешь быстрой текучке? Зачем тебе это? а я тут причём вообще? человек там сравнивает бэкенд и фронтенд и говорит, что у фронтендеров знаний меньше ему и говорю, что они далеки от всего этого ты то чего влез не прочитав нихрена не поняв ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 11:53 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
hVostt Если работаешь с микросервисами, то и программировать не надо. Ну там будет 3/4 кода - описание одних и тех же структур, по которым будет сделан обход и их выкинут обратно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 11:54 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
hVostt Речь не только про изменения. Но и про обычное программирование. Контракт -- это с одной стороны гарантии, с другой по сути документация, интеллисенс и возможность проведения глубокого статического анализа. Это всё уезжает вверх и решается уже не средствами языка, а какими-то другими инструментами. hVostt Какое-то современное тотальное заблуждение, рассматривать микросервисы как средство решения всех проблем в разработке, в языках программирования и т.д. Кто их так рассматривает? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 11:59 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
Алексей Роза mayton Алексей Роза. Я еще раз повторю свой вопрос. Что изменится после того как ты откроешь такому фронт-кодеру весь пласт знаний про шаблоны проектирования и прочее? А.. наверное ты хотел сделать его back-разработчиком? Наверное у тебя - бесконечный поток кадров и ты - эдакий благородный ресурсный менеджер? Ты способствуешь быстрой текучке? Зачем тебе это? а я тут причём вообще? человек там сравнивает бэкенд и фронтенд и говорит, что у фронтендеров знаний меньше ему и говорю, что они далеки от всего этого ты то чего влез не прочитав нихрена не поняв Ну спасибо. Я постараюсь больше "не влезать". ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 12:15 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
crutchmaster hVostt Если работаешь с микросервисами, то и программировать не надо. Ну там будет 3/4 кода - описание одних и тех же структур, по которым будет сделан обход и их выкинут обратно. От того, что вы код раскидаете по микросервисам, кода меньше не станет. Его станет больше. Если вдруг, у вас получается не так, то вы противопоставляете очень гадкий говнокод в монолите более менее удовлетворительному коду в микросервисах. Так делают, когда очень сильно хотят что-то доказать. Я вообще не понимаю, каким боком тут микросервисы в обсуждаемой теме. crutchmaster hVostt Речь не только про изменения. Но и про обычное программирование. Контракт -- это с одной стороны гарантии, с другой по сути документация, интеллисенс и возможность проведения глубокого статического анализа. Это всё уезжает вверх и решается уже не средствами языка, а какими-то другими инструментами. С чего бы это? Средства любого языка явно богаче, чем тот же REST. Да если и так, на основе OpenAPI в ЯП генерируются всё те же интерфейсы, с которыми нужно работать на прикладном уровне. Это либо попытка самообмана, либо отсутствие опыта и недопонимание. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 12:38 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
crutchmaster Ну, так понятно, потому что то уже не совсем не микро. Людей трудно переучивать. Тут вся суть в том, чтобы можно было разобраться с работой сервиса за день, тестить без дебагера, подсовывая нужные данные и переписывать на чём хочешь хоть каждую неделю. Если микросервисы так не могут, то это просто распределённый монолит со всеми недостатками обоих подходов. Всё же у вас довольно далёкий от практики взгляд на вещи. Микросервисы решают совершенно другие задачи, которые мы тут не обсуждаем. Но почему-то вы притягиваете за уши эти микросервисы сюда. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 12:41 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
hVostt Я вообще не понимаю, каким боком тут микросервисы в обсуждаемой теме. Так нода хорошо под это дело подходит. hVostt От того, что вы код раскидаете по микросервисам, кода меньше не станет. Ясное дело, что на одном языке в сумме его будет в лучшем случае столько же. При переписывании на js его получается сильно меньше. hVostt то вы противопоставляете очень гадкий говнокод в монолите более менее удовлетворительному коду в микросервисах Я не противопоставляю. Я говорю, что его там просто меньше, по объёму который нужно охватить за раз, следовательно, копаться в нём проще. hVostt С чего бы это? С того, что можно все это засунуть в какую-нибудь структуру и хоть генерировать код с неё. Средства любого языка явно богаче, чем тот же REST. А при чём тут рест? А средства языка что? Вот в жабке всё распихивают по аннотациям, а потом дублируют в комменты, которые потом читают доксигеном, который сторонний инструмент. Охрененно богатые возможности языка. hVostt Всё же у вас довольно далёкий от практики взгляд на вещи. У меня микросервисы вполне решают эти самые задачи. Хоть и объёмы скромные, но потенциал очевиден. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 13:06 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
crutchmaster hVostt Я вообще не понимаю, каким боком тут микросервисы в обсуждаемой теме. Так нода хорошо под это дело подходит. Чем же конкретно нода под это дело подходит лучше, чем Go, C# или что-то ещё? :) crutchmaster hVostt От того, что вы код раскидаете по микросервисам, кода меньше не станет. Ясное дело, что на одном языке в сумме его будет в лучшем случае столько же. При переписывании на js его получается сильно меньше. За счёт чего его получается сильно меньше? Откуда такие идеи? )) crutchmaster Средства любого языка явно богаче, чем тот же REST. А при чём тут рест? А средства языка что? Вот в жабке всё распихивают по аннотациям, а потом дублируют в комменты, которые потом читают доксигеном, который сторонний инструмент. Охрененно богатые возможности языка. Так в JS нет аннотаций, есть только комменты. И точно также, для генерации документации из комментариев, нужно использовать сторонний инструмент. Аннотации это дополнительный контракт, чтобы снизить количество ручного кода. crutchmaster hVostt Всё же у вас довольно далёкий от практики взгляд на вещи. У меня микросервисы вполне решают эти самые задачи. Хоть и объёмы скромные, но потенциал очевиден. Мне пока очевидно, что у вас явная подмена понятий с налётом религиозности. Работал в разных компаниях, на проектах разной величины и сложности, взаимодействуем с крупными вендорами и подрядчиками. Ни в каких проектах микросервисы не решают проблемы ЯП. Никто так не считает из коллег по цеху, в том числе на конференциях и митапах, которые проводят мы и другие компании. А у вас решают. Я не могу это опровергнуть или не согласиться с этим, потому что именно у вас там действительно может случаться любое волшебство, даже такое как варить кофе в стиральной машинке ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2020, 13:20 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
hVostt Чем же конкретно нода под это дело подходит лучше, чем Go, C# или что-то ещё? :) Так на ней нельзя писать много кода и приходится микросервисы делать. hVostt За счёт чего его получается сильно меньше? Откуда такие идеи? )) Просто менее многословный язык сам по себе. hVostt А у вас решают. Ну я не настаиваю особо. Большой ынтерпрайз видел только на картинках, может всё, что я напридумывал, там и не прокатит. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 03:53 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
crutchmaster, Должен согласиться, что для небольших веб-сервисов с одной единственной задачей, нода подходит неплохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 16:57 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
hVostt Которые в JavaScript лишь имитируются и держатся исключительно на честном слове. Это одновременно и слабость и сила языка. При разработке крупных enterprise приложений, это не просто слабость, это полный буллшит, который грозит крупными проблемами, что недопустимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 19:24 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
hVostt Мне пока очевидно, что у вас явная подмена понятий с налётом религиозности. Работал в разных компаниях, на проектах разной величины и сложности, взаимодействуем с крупными вендорами и подрядчиками. Ни в каких проектах микросервисы не решают проблемы ЯП. Никто так не считает из коллег по цеху, в том числе на конференциях и митапах, которые проводят мы и другие компании. А у вас решают. Я не могу это опровергнуть или не согласиться с этим, потому что именно у вас там действительно может случаться любое волшебство, даже такое как варить кофе в стиральной машинке Я наблюдал процесс согласования REST API в конце 2000х. Между двумя командами. Одна - сетапила т.н. Рест-сервис на ПеХапе. Другая (Java) пыталась выяснить какой там формат даты. И какая будет разнца между таким тегом <list></list> и эдаким <list/> Какой формат денег. Формат целого. И т.д. А по ту сторону - целый слой админов и ДБА которые только "пуговицы пришивают". Это был АДЪ!. И swagger-а тогда еще не было. И был альтернативный кейс согласования изменений по SOAP. Прислали по почте WSDL файлик. Сгенерировали стабы. И всё взлетело в 1 секунду и работает до сих пор (я так думаю). Сервер на дотнетах. Клиент на Java. Вобщем если под микросервисами полагать подмножество протоколов REST - тогда ничего они не решают. Они решают столько же проблем сколько и порождают новых. И при прочих условиях лучше брать GraphQL или что-то такое где все команды будут понимать единый стандарт или протокол взаимодействия. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2020, 20:00 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
Имя пользователя1 hVostt Которые в JavaScript лишь имитируются и держатся исключительно на честном слове. Это одновременно и слабость и сила языка. При разработке крупных enterprise приложений, это не просто слабость, это полный буллшит, который грозит крупными проблемами, что недопустимо. Dart, CoffeeScript,..? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 00:43 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
mayton Вобщем если под микросервисами полагать подмножество протоколов REST - тогда ничего они не решают. Они решают столько же проблем сколько и порождают новых. Просто микросервисы решают совершенно другие проблемы. Но есть ещё такой религиозный подход. Окрестили, что монолит это всегда при любых раскладах -- плохо, а микросервисы -- хорошо, так как решают вообще все проблемы в разработке и проблемы, существующие в любых концепциях, подходах и даже в ЯП :) mayton И при прочих условиях лучше брать GraphQL или что-то такое где все команды будут понимать единый стандарт или протокол взаимодействия. Если говорить именно про GraphQL. Я вот не знаю как там в других командах и проектах, надеюсь всё с этим GQL хорошо, и он им реально помогает. Но вот личное наблюдение показывает совершенно обратную картину. В моих проектах не применялось, а на смежных люди страдали. Точнее было так. Руководитель пришёл и говорит, хорошо бы нам внедрить GraphQL, ведь столько хорошего о нём говорят. Разработчики такие, даааа, ураа, класс, давайте. И пошло дело. Проходят неделя за неделей, на каждом митапе вопрос, ну чё там как там, двигается? Интересно было наблюдать, как искренний интерес и эйфория постепенно сменялась недоумением, затем лёгким раздражением, а в конце уже не выдерживали и говорили. Да-да, вот эту задачу мы пока на РЕСТ сделали, потому что это быстро. Мы потом перепишем на GQL, честно! Обещаем. Ещё немного, и похоронили в отдельной веточке. Пускали на продакшен, матюкались, откатывали. А проект серьёзный, это не туду какой-то там, паблик апп с огромной посещаемостью по стране. Я конечно верю, что просто не так готовили, но и почитав подробней, и поделав тестовые примерчики и наложив на реальные задачи, не всё так однозначно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 00:51 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
mayton единый стандарт или протокол взаимодействия К сожалению любой "единый стандарт", это почти всегда +1 стандарт и ещё больше энтропии :) По мне так, OpenAPI (swagger), на сегодняшний день -- золотая середина. И конечно же, с ним тоже не всё гладко, говнеца и там хватает. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 00:53 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
hVostt mayton единый стандарт или протокол взаимодействия К сожалению любой "единый стандарт", это почти всегда +1 стандарт и ещё больше энтропии :) По мне так, OpenAPI (swagger), на сегодняшний день -- золотая середина. И конечно же, с ним тоже не всё гладко, говнеца и там хватает. С GraphQL насколько я понял ситуация такая. Есть спека. http://spec.graphql.org/draft/ Которая продолжнает жить и изменятся сейчас. И есть эталонная реализация сервера Apollo которая написана на Node.JS. По их (нодовским) примерам - все очень красиво и гладко. По крайней мере в книге. Но когда мы реализовывали entity-resolvers на java - было ощущение что все библиотеки очень сырые и непродуманные. Я думаю что это касается не только Java но и других языков. Тоесть технология интересная но для некоторых прод-решений может стоит подождать. Хотя у нас согласование API между UI и back происходит идеально. Это просто коммиты в разделяемый репозиторий где лежит определение в формате .graphql. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 09:51 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
hVostt Но вот личное наблюдение показывает совершенно обратную картину. В моих проектах не применялось, а на смежных люди страдали. Точнее было так. Руководитель пришёл и говорит, хорошо бы нам внедрить GraphQL, ведь столько хорошего о нём говорят. Для мобильных сетей он по идее должен дать экономию трафика. За счет выбрасывания из туловища response ненужных полей которые вы не заказывали. Но это вобщем можно сделать и на Rest, хотя и не так гибоко. Может для вас это не было так актуально. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 10:50 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
mayton Но когда мы реализовывали entity-resolvers на java - было ощущение что все библиотеки очень сырые и непродуманные. Я думаю что это касается не только Java но и других языков. Да, это касается интеграции в бекенд. Но и концептуального говнеца там навалом, по крайне мере коллеги очень жаловались в кулуарах. Всё (почти) вроде решается, но иногда каким-то пипецом. mayton Тоесть технология интересная но для некоторых прод-решений может стоит подождать. На верхнем уровне, очень интересная. Не могу не согласиться. mayton Для мобильных сетей он по идее должен дать экономию трафика. За счет выбрасывания из туловища response ненужных полей которые вы не заказывали. Но это вобщем можно сделать и на Rest, хотя и не так гибоко. Вот, хороший пример. Вот эта экономия абсолютный фарс. Никто не делает REST интерфейс с заведомо избыточной инфой. То есть. Я хочу сказать, если у вас Фейсбук и тысячи разных клиентов, где одним нужно одно, другим другое -- как бы да. Оправдано. Но в классической разработке бекенд-фронтенд, кто будет такой фигнёй заниматься? Если вы под один клиент пилите, это всё ненужный обвес, за который приходится здорово платить. А для работы с табличными данными, с возможностью ограничения выборки, есть стабильный и быстрый OData. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 15:17 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
hVostt Вот, хороший пример. Вот эта экономия абсолютный фарс. Никто не делает REST интерфейс с заведомо избыточной инфой. Идея в том что вы даёте больше возможностей юайщику. Вы делаете универсалный ендпоинт например по клиентам. У клиента 500 полей. И вы 1 раз сделали универсальный маппинг. И все. Точка. По поводу идеологии и GraphQL. Клюевой термин - graph - имеет прямую связь с теорией графов по крайней мере эта книга во введении об этом говорит. Она говорит об этом красиво и значимо. Где-то описываются связи с соц-сетями. И так далее. И... дальше книга сливается. Она как-то красиво уходит от этого вопроса. И у меня остается ощущения обмана. Потому-что в самом API помимо гибкости и возможности запросить разные данные через query с опциональными дополнениями и фильтрами - больше ничего нет! Там реально нет поддежки графовых запросов. Там нет намёка на SparkQL, e.t.c. Вобщем я так и не нашёл постулатов о том где и как API привязан к теории графов. Семантический смысл предметной области и графов мне не интересен т.к. тоже самое я могу и натянуть на RestEndpoint просто если он достаточно хорошо наполнен Query-функционалом по всем entities бизнеса. Но я чьорт возьми искал графовый API! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 15:42 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
mayton Идея в том что вы даёте больше возможностей юайщику. Вы делаете универсалный ендпоинт например по клиентам. У клиента 500 полей. И вы 1 раз сделали универсальный маппинг. И все. Точка. Ну так это и не нужно. Бек предоставит столько полей, сколько ему нужно, не больше и не меньше. Это хорошо работает, хорошо сопровождается, у тебя конкретный контракт. А не супер-граф, который на самом деле только в теории выглядит красиво, а в реальности собрать его на беке, где может быть куча интеграции, разных условий, сложная политика безопасности и т.д. и т.п. -- овер сложность, которая не нужна. Зачем тратить время и усилия на все 500 полей, из которых нужны десяток, их можно прямо сейчас отдать, а не пилить мега-монстра, который нафиг никому в итоге не нужен. mayton И... дальше книга сливается. Она как-то красиво уходит от этого вопроса. И у меня остается ощущения обмана. Потому-что в самом API помимо гибкости и возможности запросить разные данные через query с опциональными дополнениями и фильтрами - больше ничего нет! Вот-вот. Рекомендую посмотреть на OData. Просто погляди. Это сетевой REST интерфейс, некий аналог SQL. Отлично подходит для табличных данных. Но может и больше. И при этом он хорошо маппится на SQL, и вообще на источники данных, без сложнючих и оверусложнённых прокладок. Т.е. гибкость именно там, где она нужна. mayton Но я чьорт возьми искал графовый API! Проблема в том, что GraphQL к графам как-то мало отношения имеет ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 16:17 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
hVostt Проблема в том, что GraphQL к графам как-то мало отношения имеет Вот-вот. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 16:22 |
|
Создатель Node.js: Для серверов я не могу представить другой язык кроме Go
|
|||
---|---|---|---|
#18+
hVostt Ну так это и не нужно. Бек предоставит столько полей, сколько ему нужно, не больше и не меньше. Это хорошо работает, хорошо сопровождается, у тебя конкретный контракт. А не супер-граф, который на самом деле только в теории выглядит красиво, а в реальности собрать его на беке, где может быть куча интеграции, разных условий, сложная политика безопасности и т.д. и т.п. -- овер сложность, которая не нужна. Зачем тратить время и усилия на все 500 полей, из которых нужны десяток, их можно прямо сейчас отдать, а не пилить мега-монстра, который нафиг никому в итоге не нужен. Я думаю что это желание - выстрадано. Оно по смыслу - логический перенос SELECT ... FROM выражения в контекст веб-интерфейсов. Если опустить отсюда - менеджмент безопасности который КМК уже решен уровнем выше (мы получили токен и авторизованы чтоб работать с ендпоинтом) то эта фича скорее полезна чем вредна. Ну... тот кому она не нужна действительно может всегда вернуться на Rest. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2020, 16:26 |
|
|
start [/forum/topic.php?fid=16&msg=39962194&tid=1339775]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 281ms |
0 / 0 |