@rubylang

Страница 983 из 1684
I
20.04.2017
17:24:14
нихуянипанятна
работать за бесплатно

v
20.04.2017
17:24:29
не, говорят за платно

но где, на чем писать - непонятно

Aldar
20.04.2017
17:28:57
работать за бесплатно
зато блакчейн иот вот это все

Google
v
20.04.2017
18:03:03
Хоть стек написали бы, на сайте кроме agile ничего нет
они срут во все программистские чаты

видимо стек ниважин

Антон
20.04.2017
18:14:08
default стэк

пхп

Ilya
20.04.2017
18:18:49
Ну они думают если сказать "блокчейн, интернет вещей, боты, нейросети", собрать заинтересовавшихся людей в одном помещении и запереть их там они что-то интересное напишут, а на чём – неважно

В майкрософте тоже так один раз сделали, получилась Виста

Антон
20.04.2017
18:20:58
ахахаха

Eugene
20.04.2017
18:22:06
допиленная виста была вроде стабильная

Mikhail
20.04.2017
20:20:24
виста лагала вечно и проблемы с совместимостью. Мне нравится 10ка. Поставил и не жаловался

Amir
21.04.2017
00:24:48
почему рельц ругает меня хочу по логике вещей сделать так format.html { redirect_to root_path} format.json { } а он мне заявляет ActionController::UnknownFormat (Account::PersonsController#cons_create is missing a template for this request format and variant. разумеется у action 'cons_create' нету никаго темплейта, и не должно быть, он должен если что-то не так и если тип запроса html перенаправить на root_path или нарисовать форму ввода заного если json то вернуть пустое если что-то не так

Google
Amir
21.04.2017
01:11:01
respond_to написал?
судя по всему оказывается надо после каждого редиректа делать return

format.html { redirect_to root_path return }

Vasiliy
21.04.2017
04:35:51
Не то что то у тебя, если бы нужен был ретурн была бы ошибка с двойным рендерем за раз

Klim
21.04.2017
08:08:08
format.html { redirect_to root_path return }
весь код экшена увидеть бы.

Xenial
21.04.2017
08:37:37
Привет! Помогите, пожалуйста. Есть попап с таблицой (книг), при нажатии на одну из книг надо, чтобы все данные попадали в форму, чтобы пользователь не вводил их вручную и мог скорректировать перед сохранением. books.coffee: window.choice_this_book = (source_id) -> url = "/bookstore/books/new?source_id=#{source_id}" $.getJSON url, (data) -> if data.success "Yay!" #$('#search_books_dialog').dialog('close') else "No future" Контроллер: books_controller.rb def new source_id ||= params[:source_id] @book.dt_from = "#{Date.today.year - 1}-01-01" @book.dt_to = Date.today @book.comment = source_id respond_with @book respond = { success: true } end Код нерабочий, я пытаюсь подобное писать первый раз, так что любая подсказка или совет или ссылка на данную тему будет полезна)

Aldar
21.04.2017
09:01:27
надо повесить обработчик события клик

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

Xenial
21.04.2017
09:03:14
vews/book_search.html.erb { label: '[Выбрать]', onclick: "choice_this_book(#{i.id})" },

Кнопка есть, мне кажется, что нельзя в один action вставлять два ответа как тут: respond_with @book respond = { success: true }, но непонятно на что это безобразие заменить

И source_id отправляется при нажатии: Started GET "/bookstore/books/new?source_id=615" for 127.0.0.1 at 2017-04-21 11:04:06 +0300 Processing by Bookstore::BooksController#new as JSON Parameters: {"source_id"=>"615"}

А вот дальше уже ничего не происходит, просто висит таблица и все

Aldar
21.04.2017
09:09:59
а в браузере в developer tools/network что показывает?

Xenial
21.04.2017
09:12:05
Сейчас, одну минуту, уже успела кое-что изменить

Vasiliy
21.04.2017
09:13:58
respond_with @book respond = { success: true } вот это вообще удивительно работает, я думал после рендера данные менять не ок

Xenial
21.04.2017
09:15:46
Не ок, а как надо? Вот сейчас пытаюсь что-то сделать с этим как раз

а в браузере в developer tools/network что показывает?
В мозилле ничего не показывает вообще

Vasiliy
21.04.2017
09:16:55
у тебя по сути respond_with должен, если мне не изменяет память, отдать заголовок 204 и сделать редирект на страницу книги

Xenial
21.04.2017
09:17:21
В идеале надо попасть на new с заполненными формами

Google
Xenial
21.04.2017
09:17:33
Пробовала чистым js, но там очень заморочные инпуты

Vasiliy
21.04.2017
09:17:50
Aldar
21.04.2017
09:18:16
так формы js должен заполнять, больше некому

Vasiliy
21.04.2017
09:19:14
так, точно, я выше ошибся, это ж create редирект возвращает

Aldar
21.04.2017
09:19:44
да, но тут я так понял при клике данные должны прийти и помочь заполнить форму

Sergey
21.04.2017
12:01:08
кто знает как сделать очередь на треды?

Adamtsov
21.04.2017
12:05:26
sidekiq?)

Sergey
21.04.2017
12:06:59
поробую

но мне нужно весьма спецыфично их вызывать

Sergey
21.04.2017
12:07:17
у меня есть автотесты

где есть 4 страницы которые выполняют тесты

если появится 5 тест

мне надо его поставить в очередь

а затем по завершению одного из 4 потоков что бы 5 занял первого завершеного треда место

Dima
21.04.2017
12:09:58
Простите, сам люблю так писать, но было бы круто в 1 сообщение.

Aleksey
21.04.2017
12:11:50
А Queue из стандартной библиотеки не подходит?

Sergey
21.04.2017
12:13:16
ок

Google
Sergey
21.04.2017
12:13:20
буду в одно

у меня проблема не ставить в очередь а подставлять после завершения по очереди

есть такой вот скрипт Например есть 4 потока а надо выполнить 3 из них и 4 что бы поехал в вместо первого завершеного из 3 $thr = [] $thr << Thread.new do Welcome::FillForm.data end $thr << Thread.new do Welcome::FillForm.data end $thr << Thread.new do Yopmail::FillForm.data end $thr << Thread.new do DocAndPhoneVerified::FillForm.data end $thr.each { |test| test.join }

ojab
21.04.2017
12:25:26
https://ruby-concurrency.github.io/concurrent-ruby/file.thread_pools.html

Adamtsov
21.04.2017
12:26:53
а затем по завершению одного из 4 потоков что бы 5 занял первого завершеного треда место
Если в sidekiq поставить concurrency 4, то 5 начнёт выполнятся когда завершиться один из них

Либо есть гем sidekiq-limit_fetch где можно указать лимит на конкретную очередь

Sergey
21.04.2017
12:40:19
хм

Admin
ERROR: S client not available

Sergey
21.04.2017
12:40:21
гляну

спасибо

https://ruby-concurrency.github.io/concurrent-ruby/file.thread_pools.html
вот эту тему я посмотрел, но почему то треды не запустились в future = Future.execute(:executor => pool) do #work end

ojab
21.04.2017
12:43:19
вот эту тему я посмотрел, но почему то треды не запустились в future = Future.execute(:executor => pool) do #work end
а не нужно ничего в future заворачивать: pool = Concurrent::ThreadPoolExecutor.new pool.post { #work }

Sergey
21.04.2017
12:49:44
@pool = Concurrent::ThreadPoolExecutor.new( min_threads: 1, max_threads: Concurrent.processor_count, max_queue: 100 ) @pool.post { $thr.each { |step| step.join } } открыло первый поток и все остальное закрыло

ojab
21.04.2017
12:52:20
свои треды тут тебе вообще не нужны, executor всё сам сделает. В block'e нужно передавать работу для тредов,

i. e. def step1; work; end def step2; work; end @pool.post { step1 } @pool.post { step2 }

своим кодом ты говоришь executor'у сделать в одном треде из pool'a $thr.each(&:join), соответственно один тред и используется

Sergey
21.04.2017
12:55:07
ааааа

i. e. def step1; work; end def step2; work; end @pool.post { step1 } @pool.post { step2 }
попробовал вот так , как вы советуете: почему то вместо 4 тредов открылось 2 и после чего просто затушились тесты

ojab
21.04.2017
13:16:28
прозреваю что ты не ждёшь завершения тредов. Самый простой способ — сделать @pool.shutdown && @pool.wait_for_termination, .wait_for_termination блокирует выполнение до завершения всех тредов,

Sergey
21.04.2017
13:29:14
сейчас еще помучаю

Google
Sergey
21.04.2017
13:29:20
кажется я понял в чем дело у меня

ответ напишу

Vasiliy
21.04.2017
13:34:27
чуваки а че заюзать вместо колбека? сервис класс/концерн/логику оставить в контроллере?

ojab
21.04.2017
13:35:18
А зачем тебе что-то юзать вместо коллбека?

Vasiliy
21.04.2017
13:35:51
потому что коллбеки в моделях зло, пок пок пок

Rafkat
21.04.2017
13:35:56
коллбек же моветон, как говорят

Vasiliy
21.04.2017
13:36:16
а так прост токен сгенерить

ojab
21.04.2017
13:37:06
если нет аргументов против коллбека — почему бы не заюзать коллбек?

Artur
21.04.2017
13:38:07
а так прост токен сгенерить
юзай сервис, дергай из контроллера. Будешь как моднявый поц.

Vasiliy
21.04.2017
13:38:26
одно смузи этому господину

Artur
21.04.2017
13:38:26
Ну, а воще для этой задачи и коллбэк подойдет, и тестировать это лихко.

Vsevolod
21.04.2017
13:39:03
Мы делаем operations. Там можно прописывать что-то типа: class Operations::User::Create def self.call(attrs) User.create!(attrs) after_create_callback end end

Vasiliy
21.04.2017
13:43:43
хм.... интересно, но думаю колбеком сделаю

Sergey
21.04.2017
13:44:47
при таком расскладе @pool = Concurrent::ThreadPoolExecutor.new( min_threads: 1, max_threads: 2, max_queue: 5 ) # $thr.each { |t| @pool.post {t} } @pool.post { Phone::Verified.data } @pool.post { Documents::Protected.data } @pool.post { Tutorial::FillForm.data } @pool.post { Welcome::FillForm.data } @pool.post { Yopmail::FillForm.data} @pool.wait_for_termination повторяет по два раза последующие тесты почему

и вместо 2 тредов

открывает 4

Vsevolod
21.04.2017
13:50:10
У меня тут есть приложение в котором используются колбэки, и приложение, где нет ни одного колбэка (кроме carrierwave). Угадай, в каком проще работать? Серьёзно.. колбэки - зло - убедился на личном опыте.

ojab
21.04.2017
13:52:48
при таком расскладе @pool = Concurrent::ThreadPoolExecutor.new( min_threads: 1, max_threads: 2, max_queue: 5 ) # $thr.each { |t| @pool.post {t} } @pool.post { Phone::Verified.data } @pool.post { Documents::Protected.data } @pool.post { Tutorial::FillForm.data } @pool.post { Welcome::FillForm.data } @pool.post { Yopmail::FillForm.data} @pool.wait_for_termination повторяет по два раза последующие тесты почему
длинный код лучше в gist.github.com кидать, ну и тут без выполняемого кода сложно что-либо сказать. Минимальный тесткейс вида https://gist.github.com/ojab/acca8d60de99dd3ebe0c20809550ca6b отрабатывает нормально, например (ну и на практике у меня всё ок работало/работает),

Artur
21.04.2017
13:55:50
У меня тут есть приложение в котором используются колбэки, и приложение, где нет ни одного колбэка (кроме carrierwave). Угадай, в каком проще работать? Серьёзно.. колбэки - зло - убедился на личном опыте.
смотря что ты делаешь этим коллбэком. Если ты в рамках одной сущности делаешь что-то с данными, или еще какую херь, то коллбэк ок. Если ты в коллбэке дергаешь другие модели, шлешь письма, звонишь на горячую линию Путину, то это уже плохо.

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