
Imelstorn
09.01.2017
15:36:53
у нас саас-платформа была как большой проект, правда, на нокауте, но после запуска и подключением нескольких десятков клиентов выяснилось, что решение сео-непригодное ибо каталоги генерились жээсом и вся суть проекта свелась к тому, что бы удержать клиентов, которые постепенно отваливались. сейчас осталось не более 10-ка. Инвестор потерял 50к $

Felix
09.01.2017
15:37:08

Imelstorn
09.01.2017
15:38:07
да лан, для тренировки, для прокачки норм проект, че вы.

Felix
09.01.2017
15:39:48
ну учитывая что у них все равно адовый контент с ошибками, то конечно норм

Google

Imelstorn
09.01.2017
15:40:38
ну все получат по пиздецу, а чувак прокачается и через годик в тимлиды

Виктор
09.01.2017
15:43:32

Imelstorn
09.01.2017
15:44:31

Felix
09.01.2017
15:45:12
новый проект лучше на втором ангуляре или реакте начинать
изоморфность есть, проблем с сео нет

Imelstorn
09.01.2017
15:46:53
да, реакт поэтому и любят, что можно генерить все на сервере, соответственно уходят проблемы с сео
я бы все-таки смотрел в сторону реакта - много успешных проектов, большое комьюнити, много разрабов (ресурсозаменяемость), множество готовых решений, технология более-менее обкатана. На ангуляр 2 пока смотрю с опаской.

sanqa
09.01.2017
15:50:37
ну блин дизайн приходилось самому придумывать на ходу, хз думаю для не дизайнера, он норм получился DDD

Imelstorn
09.01.2017
15:54:14
#whois Александр, Imelstorn
в данный момент тружусь на Hewlett Packard
предыдущий опыт - разработка аналитической платформы для рекламодателей на канале AMC (там был опыт использования angular).
Вообще, веб-разработкой занимаюсь более 10 лет. Чат посоветовали коллеги. Интересен в рамках расширения кругозора по ангуляру.

sanqa
09.01.2017
16:00:36
а поскидывайте свои SPA типо shopping cart или каталога обычного
посмотреть на пободное

Alex
09.01.2017
17:18:36
Отлично, спасибо, это то, что я искал :)

Виктор
09.01.2017
17:18:43
И поэтому я не пишу сюда такие сообщения

Google

Виктор
09.01.2017
17:18:48
и другие не пишут
:)

Alex
09.01.2017
17:19:13
Прошу прощения, как-то не дочитал pinned message

Vlad
09.01.2017
18:07:09
есть у кого опыть с angular 1.x +redux ?

Jared
09.01.2017
18:22:22

Imelstorn
09.01.2017
18:24:01

Jared
09.01.2017
18:24:02
Достаточно грамотно SEO страниц строить на уровне роутов
Это я больше про поддержку действующих проектов и доп. усилия по сео-оптимизации - за нас уже обо всем позаботились, можно сосредоточиться на стандартных методах. Новые проекты однозначно надо начинать уже на втором ангуляре

Алексей
09.01.2017
18:29:21
Последний раз предупреждаю в профильный чаты работу не постить! Все что связанно с работой (фриланс, удаленка, работа в офисе - в @javascript_jobs пожалуйста)

Nikolay
10.01.2017
11:35:36
Немного оффтопа. Сталкивался кто с проблемой что в 52 лисе не работают sourcemap ?

Константин
10.01.2017
12:06:27
Кто имеет опыт по миграции на Angular 2?

Alexey
10.01.2017
12:09:43

Константин
10.01.2017
12:11:43
Про миграцию на ангуляр 2
___________________________
Вопрос номер 1-раз.
Как обосновать это для заказчика? Какой реальный профит кроме потраченного времени на миграцию и постотладку?

Дмитрий
10.01.2017
12:14:51
Можно припугнуть, что иначе потом придётся переходить уже на angular 4)

Alexey
10.01.2017
12:15:15

Константин
10.01.2017
12:15:26
Не убедительно.

Дмитрий
10.01.2017
12:15:31
?

Константин
10.01.2017
12:15:35
Какие реальные плюсы?

Google

Константин
10.01.2017
12:15:47
Чем это поможет бизнесу?

Nikolay
10.01.2017
12:16:17

Max
10.01.2017
12:16:35
Вопрос, есть небольшое спа приложение с юай роутом, все переходы по стейтам норм работают, пока не нажмешь в браузере назад, и парент стейт не перезагружается, и появляются typeerrors

Константин
10.01.2017
12:22:53

Sasha
10.01.2017
12:52:16

Константин
10.01.2017
12:52:51
Ну ты уже нарыл что-то полезное для решения вопроса?
Если, что то тут народ сидит https://telegram.me/angular2

Sasha
10.01.2017
12:54:10
Неа, пока не могу решить. Все равно, не раньше марта это делать. А вообще, я и там и там. Хотя я больше бэкендер, но так уж вышло

d0as8
10.01.2017
21:39:06
можно попробовать обосновать тем, что ветка 1й версии тупиковая. у 2+ вроде как роадмап уже заполнен до 5 версии. есть намеки на улучшенный перфоманс. использование тс упростотит поддержку и отладку кода, а значит и издержки

Max
11.01.2017
13:15:49
есть что то похожее на angular-permission ?

Константин
11.01.2017
17:50:21

Константин
11.01.2017
17:52:12
Если интересно, могу поделиться мыслями и примерами своей реализации.

Max
11.01.2017
18:16:49

Константин
11.01.2017
18:22:10
1-я основная мысль.
Т.к. SPA приложение полностью открыто, т.е. весь код приходит на клиент, то бэк должен обязательно контроллировать права, и при несанкционированном доступе ругаться!
В SPA приложении права проверяем для управлеия GUI...

Max
11.01.2017
18:26:04

d0as8
11.01.2017
18:27:18
а в чем проблема отдаать весь спа всем без разбору? главное ограничить доступ к данным на уровне бекенда... это делаптся через сессии и средствами бекенда

Max
11.01.2017
18:27:29
и как раз думал с помощью angular-permission, не давать заходить по прямым ссылкам на определенные стейты приложения в зависимости от того какой юзер залогинился

Admin
ERROR: S client not available

Google

Max
11.01.2017
18:28:47

Константин
11.01.2017
18:29:51
Как работает у меня...
При авторизации пользователя, с БЭКа тянется массив всех разрешений пользователя.
В сервисе есть метод can который проверяет наличие права у пользователя.
В нужный момент, где-то в коде, проверяем наличие права и дале что-то делаем или не делаем...
Реализация метода can:
/**
* Проверка прав доступа для текущего пользователя
* @param {string} permissionName имя права (разрешения)
* @returns {boolean}
*/
function can(permissionName) {
var userInfo = _getUserInfo();
return (typeof userInfo === 'object') && (userInfo['permissions'].indexOf(permissionName) > -1);
}
Использование где-то в коде:
http://joxi.ru/YmE06ph0bbaar6

Valery
11.01.2017
18:34:26
Тем более если на сервер сайде нет проверки на права доступа (что неправильно)

Константин
11.01.2017
18:35:02

Max
11.01.2017
18:35:48

Константин
11.01.2017
18:36:56

d0as8
11.01.2017
18:37:03
почемв у реста не должно быть сессиий? стейтлес?

Константин
11.01.2017
18:37:41
у REST должна поддерживаться полная независимость от состояний клиента

Valery
11.01.2017
18:38:29

d0as8
11.01.2017
18:38:38
вот я не вижу туту состояния кдиента. в данном случае сессия что и токен. индетификатор пользователя и его прав и только


Константин
11.01.2017
18:41:00
Сессия закреплена за конкретными вызовами из конкретного барузера. В сессии как правило сохраняют каки-то доп. данные о текущей работе пользователя.
Работа без сессий предполагает, что каждый запрос самодостаточен и все запросы могут быть выполнены в любом порядке не зависимо друг от друга.
Цитата:
В отличие от Web-приложений, RESTful API обычно не сохраняют информацию о состоянии, а это означает, что сессии и куки использовать не следует. Следовательно, раз состояние аутентификации пользователя не может быть сохранено в сессиях или куках, каждый запрос должен приходить вместе с определенным видом параметров аутентификации. Общепринятая практика состоит в том, что для аутентификации пользователя с каждым запросом отправляется секретный токен доступа. Так как токен доступа может использоваться для уникальной идентификации и аутентификации пользователя, запросы к API всегда должны отсылаться через протокол HTTPS, чтобы предотвратить атаки «человек посередине» (англ. "man-in-the-middle", MitM).


d0as8
11.01.2017
18:48:47
хорошо. есть токен, он привязан к абоненту и правам. более того, токен аверняка имеет время жизнь и все это сверяется на беке. это же состояние?

Константин
11.01.2017
18:54:58
Все верно описал. Но это не состояние. Это способ аутентификации и выяснения можно ли выполнить запрошенный код и от дать данные.
Состояние это... Допустим оформление заказа. На шаге 1 вносится некая инфа, она сохраняется в сесии и идем на шаг 2, потом шаг 3....
Отключение сессий в первую очередь запрещает подобные поведения. Ожидается, что фронт сам должен переварить у себя все шаги и единоразово что-то отдать беку получив вменяемый ответ

d0as8
11.01.2017
18:59:26
да. но сессия используется как токен, то стейтдес не нарушается. как по мне так те же яйца... может, конечно есть соблазн чтото- хранить в сессии, но это,имхо, не причина отказаться от нее

Bogdan
11.01.2017
19:02:12
а в чем профит стейтлес и того что сессии не используются?

d0as8
11.01.2017
19:02:46
вы вносите данные в сессию на стороне спа?
прозрачность архитектуры

Alexey
12.01.2017
07:52:02
А как хранить ссылку на spa? , открыл spa, перешел по роуту, но если перейду по получившейся ссылке, то бэкенд даже не поймет что делать. Пришла в голову идея записывать в куки куда просятся и перекидывать на spa и там руками переходить на нужный роут, но что-то вроде не очень это.

Google

Kir
12.01.2017
07:58:41

Alexey
12.01.2017
08:00:59
То есть я правильно понял что я просто прокидываю url на фронт и там уже разруливаю?

Kir
12.01.2017
08:05:58
Даже прокидывать не надо, он же там доступен уже. Ну какой-нибудь ui-router так же разберет строку.
Единственно понадобится <base href="/" /> в SPA
И следить за относительными ссылками в коде
И html5Mode у locationProvider должен быть настроен правильно

Alexey
12.01.2017
08:20:14
Понял, спасибо, буду разбираться

Nikolay
12.01.2017
16:21:12
Такой вопрос, если не писал под angular примерно год, я сильно отстал? И кроме доки что то нужно почитать чтоб наверстать?

Igor
12.01.2017
16:35:28
бери сразу 2й