@rubylang

Страница 1497 из 1684
Vladislav
15.05.2018
05:54:34
Контракты делаются с помощью спек/тестов

http://blog.cleancoder.com/uncle-bob/2015/01/08/InterfaceConsideredHarmful.html
Статья главного евангелиста solid)

Хотя интерфейсы а-ля Go/Rust в рубях зашли бы, я думаю

dima
15.05.2018
06:06:01
утиная типизация же, как они зайдут?

Google
dima
15.05.2018
06:09:14
Контракты делаются с помощью спек/тестов
ты так и не показал инетрфейсы в руби

Andiskiy
15.05.2018
06:11:15
Добрый день. Я делаю емейл рассылку в бэкграунде(более 1к писем), но все равно память жрет. сервер на хероку. Для фоновых задач юзаю sucker_punch. Rails 4.1.6, web-server passenger. Подскажите пожалуйста в чем может быть проблема и в какую сторону копать?

Vladislav
15.05.2018
06:16:00
ты так и не показал инетрфейсы в руби
не нужно путать саму концепцию интерфейсов и ключевое слово interface в java/c#. Интерфейс - это абстрактная спецификация обязанностей какой-либо логической единицы. В ruby разве такого нет?

утиная типизация же, как они зайдут?
к 3.0 вроде хотели опциональные тайпхинты завезти

Vladislav
15.05.2018
06:25:13
RSpec.shared_examples "a collection" do describe "#size" do it "returns number of elements" do collection = described_class.new([7, 2, 4]) expect(collection.size).to eq(3) end end end RSpec.describe Array do it_behaves_like "a collection" end RSpec.describe Set do it_behaves_like "a collection" end Чем не интерфейс?

Функция ничего не специфицирует, она просто делает работу

Andiskiy
15.05.2018
06:30:36
Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
15.05.2018
06:31:13
что это значит?
скрытые копии же

Sergey
15.05.2018
08:58:37
Друзья, товарищи, подскажите, пожалуйста, как может быть так, что таска rake db:delete_old_jobs запускается, а из консоли > Rake::Task['db:delete_old_jobs'] выдает ошибку Don't know how to build task 'db:delete_old_jobs'

Nerzh
15.05.2018
09:01:32
к 3.0 вроде хотели опциональные тайпхинты завезти
а кто нибудь где-то нибудь официально написал про дату выхода этого мифа про руби 3.0 3х3 100500 ? я бы хотел чтобы они просто хотябы свой конченый MRI убрали)

Google
Vladislav
15.05.2018
09:02:21
А что не так с MRI, кроме GIL?

Nerzh
15.05.2018
09:03:47
на что нибудь без GIL

Vladislav
15.05.2018
09:04:33
будут guild'ы как решение проблемы GIL

новая версия выходит каждое рождество, значит 3.0 будет в 2022

rekero
15.05.2018
09:05:16
на что нибудь без GIL
ну это просто новый mri будет

пока на 2038 планируется

?

Vladislav
15.05.2018
09:06:22
Видел) Это с запасом И новое будет вводиться постепенно

уже вот есть основа для jit и будущих оптимизаций

Sergey
15.05.2018
09:17:45
Разобрался. Нужно было сначала инициализировать все таски через MyAppName::Application.load_tasks

Всем спасибо

ojab
15.05.2018
09:53:06
на что нибудь без GIL
А чем GIL мешает?

Nerzh
15.05.2018
09:53:41
та ничем, все в руби прекрасно и память не течет

Vasiliy
15.05.2018
09:54:26
Сама течет

Захотела потекла захотела нет

Nerzh
15.05.2018
09:55:09
захотела потекла легко нашел, легко пофиксил

ojab
15.05.2018
09:55:10
та ничем, все в руби прекрасно и память не течет
а зачем тогда убирать GIL, если он ничем не мешает?

Nerzh
15.05.2018
09:55:34
а зачем тогда убирать GIL, если он ничем не мешает?
та я просто городской сумасшедший, не обращай внимание )

Google
Nerzh
15.05.2018
09:57:03
иногда пишу на swift и думаю вот бы сейчас что нибудь на руби с GIL пописать

Alex
15.05.2018
09:57:39
А вообще на текущий момент имеет смысл делать не на MRI, а на JRuby долго адаптироваться? Если не на JRuby то на чем, спасибо за развернутые ответы.

Смерть
15.05.2018
10:21:50
А вообще на текущий момент имеет смысл делать не на MRI, а на JRuby долго адаптироваться? Если не на JRuby то на чем, спасибо за развернутые ответы.
Если у тебя много памяти, нужен многопоток, а кроме руби ты ничего не знаешь, то да, смысл есть

Nikita
15.05.2018
10:53:17
Гайз, есть среди вас гуру в тестах?) Подскажите, пожалуйста по RSpec юнит тестам и Best Practices, касательно вложенных контекстов. Как описывать AND условия? Пример: Если у магазина (Shop) есть два тарифных плана на выбор и два состояния баланса, как я должен тестировать это? Какая структура тестов необходима? Вариант 1: Rspec.describe 'ShopService' do describe 'when shop plan is startup' do context 'and balance > 0' do # Test code end context 'and balance == 0' do # Test code end end describe 'when shop plan is professional' do context 'and balance > 0' do # Test code end context 'and balance == 0' do # Test code end end end Вариант 2: Rspec.describe 'ShopService' do describe 'when shop plan is startup and balance > 0' do # Test code end describe 'when shop plan is professional and balance > 0' do # Test code end describe 'when shop plan is startup and balance == 0' do # Test code end describe 'when shop plan is professional and balance == 0' do # Test code end end Или вообще иначе делать нужно. Не совсем понимаю. В BetterSpecs не нашел инфы. Гугл тоже дельного не отдает

Смерть
15.05.2018
10:57:04
мне первый вариант нравится

Там и дублирования кода меньше

Nikita
15.05.2018
10:59:33
С другой стороны при появлении еще условий код сильно уезжает вправо?.

Смерть
15.05.2018
11:01:01
Зато в рубимайне будет очень красиво выглядеть результаты в виде дерева

Vasiliy
15.05.2018
11:01:11
эт да

плюс первый удобно запускать изолировано

ты всю группу можешь пускать

Nikita
15.05.2018
11:02:28
И насчет самого оформления: context 'and .....' {}, верно?

Vasiliy
15.05.2018
11:02:28
если номер строки задаешь он во внутрение дискрайбы и контексты входит, с энд такого не получится так явно

да да

Nikita
15.05.2018
11:02:46
Окей, спасибо)

Так и сделаю

Lavrushchik
15.05.2018
11:16:35


Darth
15.05.2018
11:44:29
Да Форма называется

Oleg
15.05.2018
11:44:43
https://github.com/themilkman/jquery-tablesorter-rails

Google
Sergii
15.05.2018
11:46:24
у меня дататейьблс были и гугльчарт тейблы, они много чего еще умеют

и какой-то платный аналог дататеблсов, бо оно на больщих таблицах кончалось

d0as8
15.05.2018
11:49:57
ку. подскажите. необходимо реализовать демона на базе модели из проекта на рельсах (и желательно с полным окружением и инфраструкторуой проекта). есть какие-нибудь решения?

Sergii
15.05.2018
11:52:23
зачем именно демона, и чем он отличается наприемер от REST API  по модели?

d0as8
15.05.2018
11:54:55
нужен некий бекграунд процесс на существующей модели.

его работа не свзяана с обработкой запросов из-вне

Admin
ERROR: S client not available

Sergey
15.05.2018
11:56:00
sidekiq/sneakers/delayed_job и т.д.

d0as8
15.05.2018
12:07:49
ммм... ищу что-то типа ActiveJob но без очереди джобов. хорошо бы его запустить в ендлесс цикле

d0as8
15.05.2018
12:30:42
обрабоока очереди. только она реализована на внешней системе. перетягивать на себя или иметь доп очередь для вызова обработчика - не вариант

наверно что-то типа crono

Lavrushchik
15.05.2018
13:36:28
у меня дататейьблс были и гугльчарт тейблы, они много чего еще умеют
не могу найти доку по гуглчартам, чтоб можно было в колумн вводить инфу и оно искало

Darth
15.05.2018
15:48:43
В чём прикол юзать return redirect?

mike
15.05.2018
15:49:12
Если не заюзать ретурн, код продолжит выполнение

Darth
15.05.2018
15:51:03
А, ну да, спасибо

mike
15.05.2018
15:54:27
Не за что

Aleksey
15.05.2018
16:25:20
вопрос на миллион - предложите какое-нибудь оригинальное название для гема, который делает миграции полей в таблицах для рельс (пример: поле зашифровано одним ключом, потом зашифровали другим) ? фантазия сдается что-то

Anton
15.05.2018
16:27:45
Rails field migration

Aleksey
15.05.2018
16:28:45
хорош!

Google
Aleksey
15.05.2018
16:29:03
пожалуй так и назову ? спасибо

вообще там не только про рельсы в планах, там больше про БД вообще

Anton
15.05.2018
16:30:03
У тебя же на рельсовую миграцию завязано все?

Aleksey
15.05.2018
16:30:25
не

идея мигрировать данные на лету, есть поле - foo и есть поле foo_version, где-то в инишиалайзере/конфиге гема/папке специфичных миграций - перечень чего делать чтоб перейти с одной версии поля на другое

ну и при работе с полем смотреть какая там версия , если устаревшая- домигрировать ее без даунтайма до актуальной

отдельные миграции хоть через рельсы хоть через что - это уже опционально

Ed
15.05.2018
16:55:41
Можешь попробовать этот гем https://github.com/leikind/wice_grid

Lavrushchik
15.05.2018
16:56:55
да я уже рансак юзаю. счас проблема в том, что при поиске с параметрами перерендеривает, но кнопка сабмита заново данные не отправляет. и хз как пофиксить

Смерть
15.05.2018
17:31:47
Что-то не могу понят. С какой версии рельс есть этот метод? https://www.rubydoc.info/github/rails/rails/ActionDispatch%2FRequest:controller_instance

ojab
15.05.2018
17:37:34
https://github.com/rails/rails/commit/81cfdf2489fe436bb70e0e44c5683c57d0247850 с пятёрочки, до этого его можно было достать из env

Смерть
15.05.2018
17:44:20
блин, а в 4 можно как-то достать инстанс контроллера из объекта реквеста?

ojab
15.05.2018
17:49:48
request.env же

O
15.05.2018
17:50:02
request.env['action_controller.instance']

не работает?

Смерть
15.05.2018
17:51:49
Да, спасибо, оно

Andiskiy
16.05.2018
05:42:52
подскажите пожалуйста, а в resque или sidekiq если сервер падает задачи тоже теряются? например превышена квота памяти, приложение падает, а потом когда просыпается задачи могут выполняться?

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
16.05.2018
05:45:20
подскажите пожалуйста, а в resque или sidekiq если сервер падает задачи тоже теряются? например превышена квота памяти, приложение падает, а потом когда просыпается задачи могут выполняться?
На счет падения не уверен, но если он в текущий момент лежит - задачи выполняются у меня по включению сервера, а до тех пор в очереди

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