А это точно хорошее решение привязывать таймзону к строковым литералам "Europe/Madrid" или "Asia/Tokio"? Понятно, что для удобства разработчика сделано, но что делать если вдруг гео-политическая реальность вмешается в действительность (не дай бог, конечно)?
Отличная статья с наглядными примерами и схемами! Спасибо за такое!
Тоже придерживаюсь мнения, что пихать все сервисы в рутовый инжектор - это зло, с которым примеряешься, если не понимаешь, как оно там работает под капотом.
Применять такой подход в больших, развесистых Angular приложениях - это обрекать себя на сражение с неявными утечками памяти и мучительное развязывание цикличностей, когда есть не один десяток зависимых и со зависимых сервисов. Не все должно быть синглтоном, хотя Ангуляр (даже в части плохо расписанной документации по этой теме) как будто бы специально подталкивает просто все делать синглтоном в рутовом скоупе.
Я бы хотел спросить, каким еще средствами, методиками, подходами вы пользуетесь, чтобы следить за качеством и, главное, структурой дерева зависимостей внутри большого приложения/библиотеки Angular?
Не лезу с советами, но типы можно хранить отдельно и в .ts файлах и они точно так же прекрасно комплируются в декларативные их варианты .d.ts, когда нужно.
Не понятно тогда, зачем вы в проекте пишите вручную декларации типов в .d.ts, если у вас проект на TypeScript и он в целом умеет в автоматическую генерацию таких файлов при компиляции типов при сборке либы ?
По-умолчанию не доверять никакой ссылке, копировать ее сначала в буфер обмена, вставлять в текстовый редактор, изучать ее на предмет подозрительных элементов и, только убедившись, что в ней нет ничего подозрительного, открывать ссылку вручную в браузере.
Годная статья, спасибо автору за подробнейший рассказ и погружение в процесс разработки Angular SSR-friendly приложения. Тоже не поворачивается назвать этот проект сайтом-визиткой. Скорее полноценный пет-проджект с демонстрацией многих аспектов современной веб-разработки.
У меня парочка комментариев осталось после прочтения:
Маппинг FormControl из FormGroup;
Что здесь имелось в виду?
Контроль observable, которые не должны уходить в бесконечный цикл.
Тут стоит также отметить, что если в каком-то месте это просочилось в SSR в бизнес-логике, то отловить некорректное поведение можно будет только в рантайме, которое будет выглядеть как "повисший" процесс ноды без каких-либо намеков на ошибки в логах. Прям боль. ?
Пользовательская сессия на госуслугах живет сутки, если не пару часов. В отдельной кнопке "Завершить везде сессии" просто нет необходимости.
Описываемая "уязвимость сессии" Госуслуг высосана из пальца. Эдак любую учетку на любом сервисе можно скомпрометировать, если доверять реквизиты третьим лицам.
Проверять, можно ли долететь из одной системы до другой без гиперпространства проверять не стал, но вроде как расстояние уменьшается, но главная проблема не в этом.
Проверяли. Нельзя. Цитата с главного русского фан-сайта:
Ну летел, летел, точка на скайбоксе перестала совпадать с маркером, а потом и сквозь маркер пролетел. Обманочка этот космос, каждая система изолирована.
А это точно хорошее решение привязывать таймзону к строковым литералам "Europe/Madrid" или "Asia/Tokio"? Понятно, что для удобства разработчика сделано, но что делать если вдруг гео-политическая реальность вмешается в действительность (не дай бог, конечно)?
Отличная статья с наглядными примерами и схемами! Спасибо за такое!
Тоже придерживаюсь мнения, что пихать все сервисы в рутовый инжектор - это зло, с которым примеряешься, если не понимаешь, как оно там работает под капотом.
Применять такой подход в больших, развесистых Angular приложениях - это обрекать себя на сражение с неявными утечками памяти и мучительное развязывание цикличностей, когда есть не один десяток зависимых и со зависимых сервисов. Не все должно быть синглтоном, хотя Ангуляр (даже в части плохо расписанной документации по этой теме) как будто бы специально подталкивает просто все делать синглтоном в рутовом скоупе.
Я бы хотел спросить, каким еще средствами, методиками, подходами вы пользуетесь, чтобы следить за качеством и, главное, структурой дерева зависимостей внутри большого приложения/библиотеки Angular?
К чести VDSina "Вечный сервер" держит марку и слово. Пока во всяком случае =)
/пользователи, купившие "Вечный сервер" за 8к руб. несколько лет назад, сейчас такие
Не лезу с советами, но типы можно хранить отдельно и в .ts файлах и они точно так же прекрасно комплируются в декларативные их варианты .d.ts, когда нужно.
Не понятно тогда, зачем вы в проекте пишите вручную декларации типов в .d.ts, если у вас проект на TypeScript и он в целом умеет в автоматическую генерацию таких файлов при компиляции типов при сборке либы ?
Объясните лучше, как у вас настройка skipLibCheck отрубает ошибки типов в вашем коде?
Статья интересная, спасибо за подробное описание "раскопок" )
По-умолчанию не доверять никакой ссылке, копировать ее сначала в буфер обмена, вставлять в текстовый редактор, изучать ее на предмет подозрительных элементов и, только убедившись, что в ней нет ничего подозрительного, открывать ссылку вручную в браузере.
Годная статья, спасибо автору за подробнейший рассказ и погружение в процесс разработки Angular SSR-friendly приложения. Тоже не поворачивается назвать этот проект сайтом-визиткой. Скорее полноценный пет-проджект с демонстрацией многих аспектов современной веб-разработки.
У меня парочка комментариев осталось после прочтения:
Что здесь имелось в виду?
Тут стоит также отметить, что если в каком-то месте это просочилось в SSR в бизнес-логике, то отловить некорректное поведение можно будет только в рантайме, которое будет выглядеть как "повисший" процесс ноды без каких-либо намеков на ошибки в логах. Прям боль. ?
Пользовательская сессия на госуслугах живет сутки, если не пару часов. В отдельной кнопке "Завершить везде сессии" просто нет необходимости.
Описываемая "уязвимость сессии" Госуслуг высосана из пальца. Эдак любую учетку на любом сервисе можно скомпрометировать, если доверять реквизиты третьим лицам.
На основании чего сделано такое громкое заявление? Если вы не разобрались как сконфигурировать Nuxt.js это еще не значит, что node.js не тянет SSR.
Проверяли. Нельзя. Цитата с главного русского фан-сайта:
Куда мы все едеем, господа?