Николай Глушков: а разве аналитикс раскрывает конкретных пользователей? то есть можно будет увидеть что пользователю А соответствуют множество параметров Set1(User-agent, IP, Login-count)? мне казалось что они не раскрывают инфу пользователя, а только учитывают её при агрегации, не так?
LordGuard: имелось в виду не первичной загрузке сервиса с приложением, а при первом запросе от клиента на сервер.
Пререндеринг это генерация .html по нужным тебе маршрутам, соответственно если у тебя данные в реальном времени меняются, то это не пойдёт, тебе нужно будет или очень часто генерировать или уже допиливать скриптами.
Серверный рендеринг это реал тайм рендеринг по запросу, то есть проигрывание скриптов на стороне сервера и отдача запрашиваемой страницы, дальше все действия на клиенте до первого F5
Noob--Saibot: ты сделал всё не так:
1) смотри в сторону фреймворков/орм чтобы хоть частично защититься от sql инъекций и было удобство работы
2) посмотри на движок elastic search, попробуй его использовать в паре с mysql: в mysql у тебя хранятся реляционные данные и связаны по ключам, в эластик ты пушишь данные (нужные тебе поля) для индексации (быстрого полнотекстового поиска), таким образом search обращается к эластику с поисковым запросом и получает идентификатор с которым лезешь в mysql и более-менее быстро получаешь данные. Или можешь использовать только эластик и хранить всё там.
Elian2: значит беспроигрышный вариант в твоем случае - учить профильную, в лучшем случае пригодится, в худшем - будешь знать чуть больше чем требуется.
ezpy: я на твой прошлый вопрос (который удалил) не смогу так сходу ответить как сделать релоад, надо смотреть проект и ситуации, базу можно взять из исходников нукста.
С плагинами как раз в нуксте нету гемора: там же есть isServer (проверяешь если клиентская сторона то используешь плагин). Мы в ангуляр 4 это решили на уровне сборки (такие if'ы isServer/isClient выпиливаются во время сборки) - на сервер свой бандл, на клиент - свой.
Руслан: нет обычная (даже не в istore покупался), он просто по заводскому номеру пробивает, шлет фотку в apple через 1-2 дня вернут с заменой верхней крышки
Руслан: да, именно так же, не более, но меня уже напрягает с точки зрения эстетики) меняй, я теперь подкладываю микрофибру на клавиатуру когда закрываю, подумываю вторую микрофибру купить
В студии VS Code очень хороший плагин для go, чекает ошибки, форматирует, билдит и т.д. Для vue использую vetur и всякие автокомплиты/автоклоусы для верстки и далее уже по набору tslint/jslint sass/css...
ezpy:
1. у меня открыто 2 студии (vs code): первая для go, вторая для фронта. go перезапускаю вручную (потому что на каждое сохранение настроен ребилд и вывод ошибок, форматирование, думаю в настройках проекта/студии можно настроить перезапуск приложения, видимо можно и через галп, но надо смотреть чтобы время ребилда-перезапуска не напрягало)
Посмотри как сделано в nuxt.js (https://github.com/nuxt) - это оболочка над vuejs (генератор кода vue + грамотно настроено окружение), там при сохранении файла приложение само ребилдится.
2. я всё-таки за разделение бэкэнда апи и бэкэнда для статики (nodejs), завязывать go на хостинг статических файлов и роутинга - прошедший путь, он не гибок (но если только это не в качестве оптимизации под какое-то конкретное устройство raspberry pi например, где всё приложение монолит на го и запускается одной командой).
Мой совет-максимально изолировать API и Vuejs тогда будет проще масштабировать на кластере: vue на ноде можно будет поднять сразу несколько инстансов (оч понадобится если придется делать серверный рендеринг), апи поднять тоже несколько для распределения нагрузки, перед этими инстансами стоит 2 контейнера: 1 haproxy и балансирует на разные инстансы API, 2 haproxy и балансирует на разные ноды vuejs. Получится максимально гибкая конфигурация, повторюсь для поддержки зоопарка docker. Это всё для продакшена. Для девелопа достаточно отдельно запущенного go приложения и nodejs приложения. Пока не представляю как при ребилде go приложения, делать что-то "умное" c vuejs, только если авторефреш страницы повесить.
3. Я использую еще rxjs, в сценарии работы с веб-сокетами очень удобно, создали отдельный обработчик веб-сокет пушей с сервера и подписываемся на него с разных компонентов и не паримся.
По поводу установки - да нужно npm install и потом ребилд, но это редкие операции поэтому заносить в логику пересборки не нужно. При разворачивании в докере он сам устанавливает если находит разницу в package.json (то есть он просто пересобирает образ делая npm install)