@proRuby

Страница 281 из 1594
I
22.11.2016
08:59:53
а, вопрос почему

хм

сорсы к вашим услугам

Alexander
22.11.2016
09:00:07
1. меня смущает, почему можно обращаться к константе без указания класса, хотя она принадлежит классу (классовый метод из инстанции не вызовешь без self.class, а константу получишь) 2. начинается веселье с наследованием: наследование константы не работает без self.class::FOO

Google
Alexander
22.11.2016
09:00:51
сорсы к вашим услугам
да-да, просто хочется меньше страдать, и вдруг кто знает / видел статью на эту тему, у меня не получилось найти

Danila
22.11.2016
09:13:38
гугли constant lookup

Dmitriy
22.11.2016
09:16:38
Привет всем! А использования во view шаблонов .js.erb является не очень хорошей идеей? Просто здесь кто то говорил, что это порождает кривую архитектуру приложения

I
22.11.2016
09:18:05
да, не очень

Dmitriy
22.11.2016
09:18:40
а как быть если нужно js в ответе? писать все в контроллере?

Alexander
22.11.2016
09:19:47
а как быть если нужно js в ответе? писать все в контроллере?
ответ через json возвращай, и через js обрабатывай его, если я правильно понимаю

Alex
22.11.2016
09:20:19
а как быть если нужно js в ответе? писать все в контроллере?
В том и ответ. JS в ответе не нужен. В ответе нужны данные которые будут обработаны js который уже на клиент должен быть скачен.

JS ответы дебажить посложнее.

Nikolay
22.11.2016
09:20:59
Dmitriy
22.11.2016
09:21:46
Ясно) понял)

Daniel
22.11.2016
09:21:48
а как быть если нужно js в ответе? писать все в контроллере?
Я постоянно использую js.erb, и не использую haml или slim, и никаких проблем с архитектурой не испытываю.

Google
Alex
22.11.2016
09:22:35
А как же быть с событиями, которые должны изменять dom ?
У тебя на клиенте уже должен быть скачен этот js код, вот и все.

Alex
22.11.2016
09:23:16
Что мешает фронтендовому js мутировать дом?

Daniel
22.11.2016
09:23:21
Смотри, я не о получении js, а о конкретном использование js.erb

Тоесть запихнуть все в js, и html, и css, и все перемешать ?

Alex
22.11.2016
09:25:58
Что значит перемешать?

js ответ это и есть лапша из кода. Этот JS должен был быть изначально на фронте.

а не в ответе приходить.

JS ответ экономит время, но его сложнее дебажить, тестировать и поддерживать.

Alex
22.11.2016
09:27:23
Так проще протестировать JS который скачивается на клиент изначально.

I
22.11.2016
09:27:30
да

у нас вот нет тестов на фронте - и это порой печалит

Alex
22.11.2016
09:28:07
У меня было react.js приложение. Возможно фронт не очень это понимал, но мы постоянно тормозились изза того что тестов нет, хотя бы интеграционных.

Что то вечно отваливалось на фронте. Тогда как на бэке все ошибки были как правило логические.

I
22.11.2016
09:29:57
ну вообще через тот же protracktor можно написать

Rafkat
22.11.2016
09:30:19
Зелениум?

Alex
22.11.2016
09:30:22
Написано что он для ангуляра.

Daniel
22.11.2016
09:30:27
js ответ это и есть лапша из кода. Этот JS должен был быть изначально на фронте.
Я не о том. js.erb отличный инструмент, для ajax, и его плюсы лично мне очевидно. И его использование не нарушает архитектуру приложение.

Alex
22.11.2016
09:30:32
я к nightwatch присматривался, но мне не хватило скилов его прикрутить.

Google
Daniel
22.11.2016
09:40:41
для ajax нужен json, какой js.erb?
Да ладно ? А когда сработает ответ, то ты ничего не меняешь на странице ? И соответственно оперируешь только данными ? + прямо во вьюху пихаешь js ?

Lupsick
22.11.2016
09:40:50
Вот бы щас поговнокодить

Alexander
22.11.2016
09:41:46
Да ладно ? А когда сработает ответ, то ты ничего не меняешь на странице ? И соответственно оперируешь только данными ? + прямо во вьюху пихаешь js ?
чегоооо? так, у тебя есть bundle.js какой-нибудь, в котором нормально, на JS, описано: «если нажата кнопка — сделать запрос туда-то, получить ответ, по нему изменить то-то» всё. что сложного?

Daniel
22.11.2016
09:41:46
Нет у тебя на клиекнте есть js который это обрабатывает
А зачем мне толстый клиент ? Если я могу написать функцию в js.erb и не парясь передовать туда данные для обработки ?

Alex
22.11.2016
09:42:09
Потому что это дебажить сложно

Alex
22.11.2016
09:42:18
зачем каждый раз генерировать js если тебе нужны только данные?

Alexander
22.11.2016
09:42:35
зачем каждый раз генерировать js если тебе нужны только данные?
именно. алгоритм запроса и их обработки не меняется.

Daniel
22.11.2016
09:42:35
Потому что это дебажить сложно
В чем сложность ? Если ты знаешь что и когда дергается, не вижу затруднейний

Alex
22.11.2016
09:42:39
у тебя будет один и тот же клиент который можно протестировать один раз. Который не будет от разных данных ломаться и каждый раз заново генерироваться.

Помимо этого он лучше кешируется и делает меньше нагрузки, т.к ты возвращаешь только данные в виде json.

Alex
22.11.2016
09:43:09
- Гоняешь меньше байтов - Тестируемость

Daniel
22.11.2016
09:43:22
Гораздо проще будет разбить на мелкие части и протестировать

Alexander
22.11.2016
09:43:26
как пишется api для гугл карт, например? отдаёшь в запрос адрес, получаешь координаты, рисуешь что тебе нужно как нужно где нужно. вот делайте у себя точно так же, пожалуйста.

Alex
22.11.2016
09:43:26
Да, но что тест, что сам код будет оргомной кучей непонятно чего
Лолчто, у тебя в случае с .js.erb код - мешанина.

kolas
22.11.2016
09:43:33
js.erb это как в react jsx

Google
Alex
22.11.2016
09:43:35
На фронте у тебя может быть все нормально и логично сделано. Почему куча то?

Daniel
22.11.2016
09:43:45
А в случае с толстым клиентом нет ?

Alexander
22.11.2016
09:43:52
js.erb это как в react jsx
нет, совсем другое

Alex
22.11.2016
09:44:02
А в случае с толстым клиентом нет ?
С тонким мб? я как раз говорю в пользу толстого клиента.

Alexander
22.11.2016
09:44:35
А в случае с толстым клиентом нет ?
почему мешанина? тебе тупо на файлы разбить? разбивай. хочешь в один соединить ради HTTP 1? соединяй. в чём проблема?

зачем шаблонизатор для бандлинга?

Alex
22.11.2016
09:44:50
Смотри, еще раз плюсы толстого клиента: - Меньше гоняешь байтов - Тестируемость - Меньше нагрузка.

Daniel
22.11.2016
09:44:51
С тонким мб? я как раз говорю в пользу толстого клиента.
Так я и говорю что это бред, пихать все в js файл. Там же будет куча из html и js

Admin
ERROR: S client not available

Alex
22.11.2016
09:45:17
капибарой тестировал?

Daniel
22.11.2016
09:45:53
С чего бы?
и что, она сама протестит и изменение, и данные ?

Alex
22.11.2016
09:46:27
Зачем тестировать данные которые были сгенерированы в том же тесте? тебя интересует что конечная форма именно такая которую ты ожидаешь.

Возможно стоит попробовать капибару перед тем как говорить что это сложно тестировать.

Daniel
22.11.2016
09:48:41
Возможно стоит попробовать капибару перед тем как говорить что это сложно тестировать.
Тоесть на ней свет клином сошелся ? Это очень странно выглядит, ты должен тестировать иммено тем чем сказано, потому что наплодил себе проблем из за того что отказался от js.erb

Alex
22.11.2016
09:49:14
Лол, я выше уже привел плюсы, а тестировать капибарой все равно надо фронт.

Так капибара не добавляется именно тут, капибара уже была.

Google
Alexander
22.11.2016
09:50:25
я хоть и не пишу тесты в большинстве случаев (пепел на мою голову, да), но и то понимаю смысл тестирования, в том числе роль и смысл капибары.

решай не проблемы кода, а проблемы проекта. тестируй не код, а проект. изи

Alexander
22.11.2016
09:51:41
Вот по этому я тебя игнорирую, можешь не отвечать
ну вот зря, возможно. «ты не ешь мясо, поэтому не буду слушать от тебя советы по еде» человек, который не ест мясо, может лучше разбираться в других продуктах.

Alex
22.11.2016
09:51:42
Ты серьезно? ?

Alexander
22.11.2016
09:52:21
я же не тру за тесты здесь, на этот счёт меня можно правда не слушать, я тру за логику и решение проблем.

О, веганам вообще не в чем доверять нельзя
да, а ещё темнокожим и женщинам. ясно-понятно.

Daniel
22.11.2016
09:52:52
Alex
22.11.2016
09:53:10
Тесты банально помогают поддерживать и разрабатывать приложение. Пока не попробуешь активно их юзать профитов не почуствуешь. Т.е тот кто пишет тесты и тот кто не пишет друг друга не понимают.

Alexander
22.11.2016
09:54:18
Тесты банально помогают поддерживать и разрабатывать приложение. Пока не попробуешь активно их юзать профитов не почуствуешь. Т.е тот кто пишет тесты и тот кто не пишет друг друга не понимают.
ну вот я могу объяснить про структуру API в JS, или его бандлинг — и меня можно будет понять, независимо от наличия тестов. так что… ошибаешься.

Alex
22.11.2016
09:54:58
Я не очень понял в чем я ошибаюсь ?

Alexander
22.11.2016
09:55:27
Я не очень понял в чем я ошибаюсь ?
> Т.е тот кто пишет тесты и тот кто не пишет друг друга не понимают. по теме тестов — мб. по всем остальным — ошибаешься.

Alex
22.11.2016
09:55:35
Именно по теме тестирования

Daniel
22.11.2016
09:55:38
Так капибара не добавляется именно тут, капибара уже была.
Это выглядит очень странно, я поверю тебе на слово и соглашусь что капибара крута для фронта. Но похоже вот мы и нашли разницу, фронд лично я тестирую только на базвые вещи, и если где и углубляюсь, то все равно хватает rspec

Alex
22.11.2016
09:55:42
и в частности разработку через тестирование.

Alexander
22.11.2016
09:55:51
Именно по теме тестирования
я в неё не лезу, резвитесь как хотите.

Alex
22.11.2016
09:56:18
причем, потом открываются глаза "как я раньше без тестов жил".

Alexander
22.11.2016
09:56:19
и в частности разработку через тестирование.
js.erb влияет не только на тесты, но и на принцип работы внутри, я про него затираю.

Alex
22.11.2016
09:56:34
Он гоняет лишние данные туды сюды и генерит лишний шаблон.

Страница 281 из 1594