
Siarhei
04.10.2018
08:41:24
это аргумент

Федоров
04.10.2018
08:41:43
@SiarheiKurylkin, а почему ты сам против абстракции?)

Siarhei
04.10.2018
08:41:48
я не против

Федоров
04.10.2018
08:41:50
типа нагружает систему?

Google

Siarhei
04.10.2018
08:42:01
я против глупых лишних слоев, когда они совсем не нужны
те что нужны, я использую

Roman
04.10.2018
08:42:23
Это неправильно даже со стороны оптимизации.
Что лучше написать одну функцию и вызвать 5 раз или написать 5?))

Федоров
04.10.2018
08:42:37
ну так представь что у него lib.getUsers(); вместо вызова axios напрямую
ты за второй вариант?

Dmitry
04.10.2018
08:43:05

Siarhei
04.10.2018
08:43:24
тут я за второй вариант, лишняя обертка + лишнее время (цена) за разработку, то что надо между файлами лазать
и импортить везде

Федоров
04.10.2018
08:43:42
может у него там помимо просто чистого запроса еще идет ремаппинг данных, затем какая - то дополнительная обработка с выборкой

Dmitry
04.10.2018
08:43:42
Ну вот и говорю, не было больших проектов

Siarhei
04.10.2018
08:43:48
ну конечно

Федоров
04.10.2018
08:43:49
и представь какая портянка кода будет
а тут в один метод обернул и изолировал

Google

Hedint
04.10.2018
08:43:59
то ли дело в одном файле когда всё лежит, вот это норм

Федоров
04.10.2018
08:44:02
чем больше изолируешь тем лучше

Roman
04.10.2018
08:44:03

Федоров
04.10.2018
08:44:27
не стоит гоняться за производительностью, "высчитывая каждый байт"
код надо писать для людей

Siarhei
04.10.2018
08:44:39
для этого будет маппер (да, типо нового слоя), но это уже другая ситуация. пока было про сервис, который будет делать только апиколл

Федоров
04.10.2018
08:44:45
тем более с современными мощностями

Dmitry
04.10.2018
08:44:46
"нам не нужны лишние абстракции, мы будем дёргать реактивную систему вью, будем дёргать экшены потому что нам нужны данные от от другого экшены, а лишние абстракции - от сатаны."

Hedint
04.10.2018
08:45:00
проскролил 10 тыщ строк, поправил нужную, никаких импортов. Можно и webpack выкинуть кстати, тоже так себе абстракция. Пишешь сразу минифицированный оптимизированный код без переносов.

Roman
04.10.2018
08:45:04

Evgeny
04.10.2018
08:45:53

Siarhei
04.10.2018
08:45:53
ой, вы передергиваете. думаю не стоит мне больше продолжать это.

Evgeny
04.10.2018
08:46:00
вот весело было

Dmitry
04.10.2018
08:46:08
ну и если че напишем несколько раз api.get
если че

Siarhei
04.10.2018
08:46:15
совсем не то пишу, что вы отвечаете

Dmitry
04.10.2018
08:46:15
перепишем в 15 экшенах
И НИЧЕГО НЕ СЛОМАЕТСЯ ЕЩЕ

Siarhei
04.10.2018
08:47:27
ну это уже вопрос архитектуры, зачем делать 15 раз один и тот же колл в разных экшенах?

Федоров
04.10.2018
08:47:28
создание подобной абстракции что писали выше это не лишняя "бесполезная работа". Можно часть методов заменить времено мокапами, а в случае портянки из axios это задолбаешься отлаживать

Google

Siarhei
04.10.2018
08:47:40
делаешь один и диспачеш его из других. ВСЕ

Dmitry
04.10.2018
08:48:27
)
Можно закрывать эту тему)

Siarhei
04.10.2018
08:49:29
гипотетически. есть возможность для новго слоя с апи (если будет превалидация и маппинг), и тут обсуждаемо, надо смотреть по тому что надо сделать. но был дан конкретный пример из статьи, и в этом примере 100% не нужна абстракция.

Dmitry
04.10.2018
08:49:37
Будет вьюкс 3
И у вас будет суперобьект который может все

Siarhei
04.10.2018
08:50:06
давайте сразу закладывать на vuex 8

Vlad
04.10.2018
08:51:50
Че за спор, про количество абстракций?
Наркоманы

Dmitry
04.10.2018
08:52:45
в конкретном примере у автора ошибки в выводах (1,2 пункты) глобальный мутированный axios который будет accesstoken отправлять всем.

Dmitry
04.10.2018
08:53:04
красиво)

Vlad
04.10.2018
08:53:06
Зачем вы частный пример берёте , вопросу создавать новую абстракцию или нет в разработке хуй знает сколько лет)
Все ситуативно

Dmitry
04.10.2018
08:54:48
мидлвару нужно юзать на уровне axios instance который не должен быть глобальным. и уж к created точно никакого оотношения не имеет
в остальном - обычная авторизация

Siarhei
04.10.2018
08:55:31
вот про это и писал. ситуативно = не создавать лишних слоев. а ребята прочитав одну статью про условно "архитектура в фейсбуке", и делают все проектики таким способом с миллионом абстракций, где совсем не нужно

Dmitry
04.10.2018
08:55:35
и лучше vuex сделать простейшим, поэтму аксиос лучше дёргать извне и в экшн только передавать данные.

s4b0t
04.10.2018
08:55:49
Где посмотреть структуру большого приложения, разделение на модули с VUEX и Router. Где всё "как надо".

Google

Siarhei
04.10.2018
08:56:08
можно еще патер фасад сделать между аксиос и сервисом, почему нет?

s4b0t
04.10.2018
08:56:29
В сторе и раутах по тысяче строк уже

Dmitry
04.10.2018
08:56:31

Vlad
04.10.2018
08:57:40

Dmitry
04.10.2018
08:58:26
Как человек с которым спор)

Siarhei
04.10.2018
08:59:04
видимо есть на это причины)

Admin
ERROR: S client not available

Vlad
04.10.2018
08:59:28
Так все правильно он написал , больше слоёв - длиннее стектрейс, сложнее отследить ошибку.
Зато проще изменения делать
Нужно
Находить баланс

Dmitry
04.10.2018
09:00:52

Almaz
04.10.2018
09:03:25

Рома
04.10.2018
09:04:31
ребята, всем привет
можете подсказать по настройке конфига вебпака + vue-cli ?
задача — нужно пробросить переменные окружения, для этого вписал во vue.config.js следующее:
// vue.config.js
const webpack = require('webpack')
module.exports = {
configureWebpack: config => {
if (process.env.NODE_ENV === 'development') {
config.plugins = [
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: "development",
API_URL: "https://someurl.ru"
}
})
]
}
}
}
// package.json
...
""scripts": {
"serve": "export API_URL=someUrl.ru && export NODE_ENV=development && vue-cli-service serve",
}
...
проблема в том, что когда попадаю в условие из конфига -- сборка не идет, валятся ошибки
URIError: Failed to decode param '/%3C%=%20BASE_URL%20%%3Efavicon.ico'
at decodeURIComponent (<anonymous>)
и т.д.

Dmitry
04.10.2018
09:07:16
VUE_PARAM=1
process.env.PARAM
если vue-cli 3


Siarhei
04.10.2018
09:09:36
разговор накалился, и все как будто перессорились и перестали уважать, почти не скатывали до оскорблений и прочего. я просто ненавязывая, предлагаю подумать головой и попробовать. я работал как бэкенд) и на проектах с большим количеством слоев, и с классическим (contoller->service->reposiotry). и вижу только проблемы когда человек ответственный за архитектуру делает слои только потому что где-то вычитал, и другого альтернативного мнения не принимает. и не стоит забывать, что кроме тестов, и поддержки что выше обсуждали, есть еще одно про слои - на большинстве компаний в снг слои нужны для очень больших команд, чтоб независимо работать. и чтоб легко было заменить работягу. если речь идет про проект на 2-4 человека (это не хелло ворлд, 2-4 человека могут сделать легко за полгода огромнй проект), то тут не нужны такого рода абстракции. всем хорошего рабочего дня)

Рома
04.10.2018
09:11:17

Eddie
04.10.2018
09:17:11

Google

Roman
04.10.2018
09:20:41
mount и render никак не связаны между собой :)
вы либо делаете el, и сразу цепляете инстанс к DOM, либо цепляете в нужный момент с $mount

Женя
04.10.2018
09:21:38
почему вы моунт этот используете?
он же для отдельных случаев

Eddie
04.10.2018
09:21:47

Женя
04.10.2018
09:21:51
лишняя проверка идет

Roman
04.10.2018
09:22:10

Dmitry
04.10.2018
09:22:29
$mount говорит приложению подключиться к такому то элементу на странице. Это аналог el, а render = это функция, вызывается и возвращает дерево компонентов (для ясности)
который цепляется к элементу указанному в el или mount

nixdie
04.10.2018
09:23:26
как подключить общие стили в проект

Dmitry
04.10.2018
09:23:41

Roman
04.10.2018
09:23:43

nixdie
04.10.2018
09:23:53
ок

Eddie
04.10.2018
09:26:54
mount цепляет компонент к элементу, а в самом компоненте прописать render, и соотвецтвенно вернуть дом ?

Иван
04.10.2018
09:39:39
@cactusn1k Спасибо ?

Artem
04.10.2018
09:51:06
добрый день народ, подскажите, ним кто не сталкивался ли - как во фреймворке quasar сделать изменяемую щирину столбцов, чот в доке не могу откопать

Dmitry
04.10.2018
09:55:21
Ребят, нужен редактор похожий на редактор в telegraph
Есть чето такое же?

Bohdan
04.10.2018
09:56:34
слышал про quill