@rubylang

Страница 1372 из 1684
No
08.02.2018
17:24:34
вот он, код твоего эндпоинта перелд глазами

проблемы могут начаться, если он не будет делеигровать ничего сторонним сервисам

а вместо этого будет всю логику у себя в экшене выполнять

Sergei
08.02.2018
17:25:32
не судите грубо, но 15 эндпоинтов в одном файле - это каша для меня

Google
Stas
08.02.2018
17:25:52
умеет
class Product < ApplicationRecord after_initialize do @product = Amazon::Parser::Item.new(self.data) end attr_reader :product delegate :title, to: :@product end === [1] pry(#<ProductTest>)> @product.title => nil [2] pry(#<ProductTest>)> @product.product => #<Amazon::Parser::Item:0x00007f9f102e3c98 === я что-то не правильно делаю??

Sergei
08.02.2018
17:26:03
у нас 120+ эндпоинтов на небольшом API и возникает сильное желание все структурировать и переписать

No
08.02.2018
17:26:33
хоть по одному эндпоинту на файл

если вдруг это начнёт мешать

фишка в том, что ты сам задаешь структуру

ojab
08.02.2018
17:26:54
а в классе никакого @produсt нет

No
08.02.2018
17:27:00
и на деле это ничем не отличается от рельсовых контроллеров

чуть меньше магии, чуть больше явных штук

а так - как приготовишь, так и будет )

Stas
08.02.2018
17:27:41
@product — instance variable, delegate — class method
мне через method_missing это писать тогда ?:\

ojab
08.02.2018
17:29:55
def product @product ||= … end delegate :title, to: :product должно сработать

Google
ojab
08.02.2018
17:33:50
@product — instance variable, delegate — class method
на самом деле я слегка криво прочитал код и слегка наврал

Nursultan
08.02.2018
17:34:57
блин народ на убунте случайно нажал спящий режим. как теперь выйти из него? ubuntu 16.04 на virtual box

ojab
08.02.2018
17:35:24
если у тебя NoMethodError и #<Product:0x00007fa503dc6630>, то ты вызываешь delegate в инстансе

вот что

@Skatkov а надо в классе

Nursultan
08.02.2018
17:35:41
вообще просто черный экрна который не реагирует ни на что

Anton
08.02.2018
17:38:55
Проблемы сборки в том, что поддерживать все надо + куча инфраструктуры делать, если в компании больше 2 человек. Это ресурсы и время

Stas
08.02.2018
17:39:51
блин

Anton
08.02.2018
17:41:32
Проблемы сборки в том, что поддерживать все надо + куча инфраструктуры делать, если в компании больше 2 человек. Это ресурсы и время
Как минимум, из банального, решать как версионировать, писать свои генераторы, думать за документацию, прикручивать решения какие-то кастомные (авторизация, etc) и так далее

Sergei
08.02.2018
17:54:09
Ещё рода есть, она быстрее и имхо всяких плагинов под неё больше
Рода тоже построена на Rack, и следовательно не может быть быстрее самого Rack. Что касатеся Cuba, да там практически ничего нет, это кристально чистый Rack с обвязкой из пары-тройки классов. Я юзаю Cuba для stateless микросервисов.

Проблемы сборки в том, что поддерживать все надо + куча инфраструктуры делать, если в компании больше 2 человек. Это ресурсы и время
Это верно. Если при старте проекта / сервиса понятны его границы, до готорых он вырастет, то получится хорошо подобрать инструмент. Если четкого понимания нет, но есть большая вероятность, что проект будет расти и развиваться - то лучше сразу писать на чем то фундаментальном, чем обвешиваться сборками. Чем больше разного рода компонентов в системе, тем сложнее их обслуживать с ростом системы, от этого не убежать

Alex
08.02.2018
18:01:02
Ребята, накидайте пожалуйста какие минусы есть очевидные ActiveAdmin

Fedor
08.02.2018
18:15:09
очень тяжелый и медленный, чуть решишь отклониться от реста, и поймешь что сам повесил над собой наковальню

кастомизации практически не поддается, и требует тонкой настройки для нормальной работы

к примеру по умолчанию, когда ты генеришь индекс страницу, то он автоматом подключает фильтры по всем связанным моделям, для чего делает джоины по всем возможным связям

на больших модельках это смерть

Google
Fedor
08.02.2018
18:18:06
ну на мой взгляд на то, что бы написать свою админку уйдет примерно столько же времени

Смерть
08.02.2018
18:18:16
Точнее там легко отключить и добавить новк эндпоинты для объекта

Не, если у тебя все кастомное, то да, написать свою быстрее. А вот если тебе нужна довольно стандартные требования, то AA здорово экономит время

Fedor
08.02.2018
18:19:30
ну вот чисто под рест - да, можно накатить по быстрому

но потом когда окажется, что в рест ты уже не укладываешься...

Смерть
08.02.2018
18:19:56
а что страшного то?

Там есть кастомные экшны, просто отключаешь то, что тебе не нужно, а что нужно делаешь через них

Fedor
08.02.2018
18:28:40
Там есть кастомные экшны, просто отключаешь то, что тебе не нужно, а что нужно делаешь через них
геморроя много, что бы все поотключать, либо в конфиге глобально, либо приходится переписывать пол модели в админке

Смерть
08.02.2018
18:29:19
да не много там геморроя. Просто дисейблиш экшны для одной или всех моделей.

Fedor
08.02.2018
18:29:36
а если надо не все, а некоторые и не везде?

получается перечисление, дублирование кода, и.т.д.

Смерть
08.02.2018
18:30:05
Ну отключаешь некоторые. Столько же времени тратишь, сколько и на свои контроллеры

Fedor
08.02.2018
18:35:09
ну вот и получается, что обременяешь себя лишним гемом, на который тратишь столько же времени, сколько на свое

смысл тогда?

Смерть
08.02.2018
18:40:44
Так я и говорю, если у тебя все сильно кастомное, то да. Но если у тебя простая админка, в которую легко интегрируется всякие aasm и cancancan, то активадмин очень здорово подходит

Nikita
08.02.2018
18:41:31
хз, всегда админку руками делал

ибо один раз обжегся

то же время на костыли тратишь, которое можешь потратить, чтобы норм написать

со своей логикой и т.д.

Google
Nikita
08.02.2018
18:42:07
тем более, что там в основном везде обычный круд

Смерть
08.02.2018
18:42:29
В общем у меня пока не было проблем с AA и я благодарен этому гему за сэкономленое время

Alex
08.02.2018
18:52:46
Благодарю за мнения

Artur
08.02.2018
18:59:04
хэш с лямбдами как values
сделал так недавно в хелпере одном, вроде ок смотрится

Sergei
08.02.2018
19:02:56
Я кстати тоже люблю AA за быстроту развертывания, но использую его только для собственных а-ля бизнес проектов. Быстро поднять на нем админку для интернет-магазина, блога, какого-то сайта не проблема. Но он для этого и создан, на средних и крупных проектах в любом случае нужна своя система администрирования. Из минусов АА (хотя для эксплуатации это скорее плюсы) это не SPA, т.е. это классическое олдскульное решение с вьюхами и турболинками

Если мы говорим об админке SPA, с vue / react / angular под капотом и полноценным REST API с другой стороны, то его будет намного дольше и тяжелее писать. А если разрабатывать классическую админку с haml / slim / coffee / jquery. То AA покрывает большую часть требований

Aleks
08.02.2018
20:27:37
Друзья, а можно ли в dry-transaction контейнер заинжектить после создания транзакции (в инстанс то есть)?

сколько не задавал вопросы по dry-rb никто ни разу не ответил здесь ))))

Fedor
08.02.2018
20:34:01
Так а зачем делать из руби яву )

Anton
08.02.2018
20:35:24
Так а зачем делать из руби яву )
Так при чем тут джава

Anton
08.02.2018
20:36:04
Ты можешь сделать инстанс транзакции с DI

Те пробросить в конструктор зависимость

Aleks
08.02.2018
20:37:04
Вроде бы нельзя
Хочу использовать разные контеныры (в них разные операции) для разных случаев

Anton
08.02.2018
20:37:29
Раньше транзакции так могли, кстати

Aleks
08.02.2018
20:38:23
ну то есть операции одни и те же - валидация, сообщения и тд - разница только в том что они выполняются по другому немного

Google
Fedor
08.02.2018
20:38:56
Так при чем тут джава
Ну так драйвеб именно это и делает

Anton
08.02.2018
20:39:49
Ну так драйвеб именно это и делает
Почему ты так думаешь? Про DI в руби ещё в 11 году люди говорили

Контейнеры есть не только в джаве, даже в кристале есть такое

Монады - это вообще хаскель

ojab
08.02.2018
20:41:57
ну то есть операции одни и те же - валидация, сообщения и тд - разница только в том что они выполняются по другому немного
…и что мешает сделать несколько транзакций и/или инжектить разные шаги на этапе создания?

Anton
08.02.2018
20:42:54
Кстати, с инжектом все не так очевидно тоже, потому что на каждый вызов создавать инстанс транзакции - токое

Aleks
08.02.2018
20:43:03
…и что мешает сделать несколько транзакций и/или инжектить разные шаги на этапе создания?
вот как раз второй вариант и обсуждаем, только с контенером, нет? ))

Anton
08.02.2018
20:44:00
вот как раз второй вариант и обсуждаем, только с контенером, нет? ))
Так что тебе мешает сделать несколько транзакций?

Aleks
08.02.2018
20:44:26
Так что тебе мешает сделать несколько транзакций?
Этот путь тоже неплох - и он как бы всерешает

Andiskiy
08.02.2018
20:44:33
народ, подскажите пожалуйста, а как в рельсах можно сохранить одну запись несколько раз?

Aleks
08.02.2018
20:44:53
Так что тебе мешает сделать несколько транзакций?
но там все можно посто вынести в консерн.. В общем - надо еще подумать, как правильно все сделать

Anton
08.02.2018
20:49:15
Так для di драй не нужен
Все так, вопрос в том, почему у тебя ассоциация такая

Типо посоны сказали, значит так или ты писал на джаве, попробовал драй и нашёл много общего?

Fedor
08.02.2018
20:50:53
Ну я трогал драй пару раз, ощущения прям как от явы

Куча лишнего синтаксиса, лишних ограничений

Инструмент чтобы самому себе выкрутить руки, и лишиться гибкости руби

Зачем оно надо, хрен его знает

ojab
08.02.2018
20:53:36
вот как раз второй вариант и обсуждаем, только с контенером, нет? ))
нет, мы обсуждаем как это с инстансом сделать, а не на этапе создания. Не вполне понимаю чем для замены шагов конейнер лучше простого хеша { replacement_step: whatever }, который можно передать в .new.

Aleks
08.02.2018
20:54:28

Страница 1372 из 1684