
ojab
14.02.2018
10:23:12
сиглтон класс всегда один, да

Dima
14.02.2018
10:36:52

Alex
14.02.2018
10:37:22
ого
?

Google

Roman
14.02.2018
10:38:57
а я чет пропустил class << m; self; end - нафига так писать? singleton_class не сразу появился?

Dima
14.02.2018
10:44:45

Roman
14.02.2018
10:45:00
да, возможно и так

Dima
14.02.2018
10:45:58
https://stackoverflow.com/a/2505077

Roman
14.02.2018
10:47:23
не ну я понимаю, что оно делает, видать аксессора раньше не было

Dmitriy
14.02.2018
10:48:55
по jsonapi есть хороший фреймворк grape, который легко монтируется к рельсам или любому rack-приложению
который позволяет легко например коллекции ресурсов принимать
https://github.com/ruby-grape/grape

ojab
14.02.2018
10:51:33
grape не юзает jsonapi (http://jsonapi.org/) же

Dmitriy
14.02.2018
10:53:28
а что мешает сформировать ответ по конвенциям jsonapi (использовать поля data, relationships и тд)?

ojab
14.02.2018
10:55:30
ничего не мешает, но grape в этом смысле (сериализация/десериализация) ничем не лучше рельс.

Dmitriy
14.02.2018
10:57:35
согласен. Но в грейпе удобно описывать params (всякие вложенные коллекции и тд), со встроенной валидацией на соответствие указанной схеме параметров
нет убогого permit attributes

Google

Anton
14.02.2018
11:17:47
или через структуру
?

Dmitriy
14.02.2018
11:35:48
@davydovanton судя по этой статье производительность грейпа на уровне:
https://blog.altoros.com/performance-comparison-of-ruby-frameworks-app-servers-template-engines-and-orms-q4-2016.html
быстрее чем рельсы апи мод в 3 раза

ojab
14.02.2018
11:37:30
get :public_timeline do
[]
end
wow such real-life task
а в рельсах {} отдаётся, почему-то
так что даже выполняемая задача в бенчмарках не совпадает

Anton
14.02.2018
11:39:43
Ор
Видел бенчмарк, где Синатра была быстрее дизеля ( раст Фреймворк)
И чувак даже не задумался, что что-то не то

Dmitriy
14.02.2018
11:41:48
согласен, странный бенчмарк. Также можно увидеть что Го быстрее С более чем в 2 раза

ojab
14.02.2018
11:41:53
дизель же orm

Anton
14.02.2018
11:43:13

Vasiliy
14.02.2018
11:47:08
а че не так с данными по жирсону-апи?

Denis
14.02.2018
11:47:18
Чуваки кто может решить простую препростую задачку, заодно говно код поправить
array = code.split(/:/)
array2 = Array.new
x = ""
(1..array.count).each { |y|
value = rand(array.count);
if x == value || value == 0
redo
else
x = value
puts "final digit #{x}"
array2.push(x)
end
}
Итак в нашем array 5 элементов, их рассплитили предварительно но это же не важно

Google

Denis
14.02.2018
11:48:15
и мы запускаем цикл длиной в массив
и каждый раз мы кидаем кость с количеством граней равных количеству элементов массива
и проверяем выпадала эта грань уже? нет запишем ее в массив
если выпадала перезапускаем цикл
все класно :) толко результат приносит дубликаты
Deniss-MacBook-Air:nokogiri lir$ ruby nokogiri --rand a?v:c:D
final digit 4
final digit 2
final digit 4
final digit 1
final digit 2
[4, 2, 4, 1, 2]
Deniss-MacBook-Air:nokogiri lir$ ruby nokogiri --rand a?v:c:D
final digit 3
final digit 1
final digit 3
final digit 1
final digit 3
[3, 1, 3, 1, 3]

Vasiliy
14.02.2018
11:50:38
сделай не массив а множество

ojab
14.02.2018
11:50:43
вероятно потому что оно не проверяет, есть ли уже элемент в массиве

Denis
14.02.2018
11:50:47
эээ?
ojab прости не понимаю, я же чайник еще с ручкой :)

ojab
14.02.2018
11:51:46
где конкретно проверяется, если элемент в массиве?

Denis
14.02.2018
11:52:09
if x == value || value == 0

ojab
14.02.2018
11:52:33
x — не массив, насколько я вижу

Denis
14.02.2018
11:52:36
есть переменная х если число устраивает оно ей присваивается
array2.push(x)
а вот тут ниже число заносится в массив
(толко чета pp мне показывает пустой массив)

ojab
14.02.2018
11:53:56
а теперь попробуй представить, что произойдёт в случае выпадения чисел 1, 2, 1

Vasiliy
14.02.2018
11:54:00
у тебя на каждой итерации х новый, точнее ты сравниваешь старый, а когда пишешь в переменную то она не перезаписывает внешнюю

Denis
14.02.2018
11:54:08
а нет соврал

Google

Denis
14.02.2018
11:54:33
переменная остается старой если число уже было
если небыло присваивается Х
а Х вносится в массив
и если вы мне поможете раз, а еще расскажите как написать это круто и красиво. я буду вам так признателен.
мне нужен рост уровня.

ojab
14.02.2018
11:57:17
ты для начала расскажи, чт происходит в случае цифр 1, 2, 1

Denis
14.02.2018
11:57:34
а что происходит

Vasiliy
14.02.2018
11:57:34
тебе надо сюда if x == value || value == 0 еще array2.includes?(x)

Admin
ERROR: S client not available

Denis
14.02.2018
11:57:52
цифра 1 присваивается Х и в носится в массив
цифра два тоже
ааааа вот она ошибка я понял
Х на втором ходе уже присвоен 2 и не равен 1
поэтому этот дубликат и выпадает
спасибо братья

Vasiliy
14.02.2018
12:00:31
array = code.split(/:/)
array2 = Array.new
x = ""
(1..array.count).each { |_|
value = rand(array.count);
redo if array2.includes?(value)
puts "final digit #{x}"
array2.push(x)
}

ojab
14.02.2018
12:00:52
(1..code.split(':').size).to_a.sample(count)
(ну или тупо shuffle, если нам обязательно надо все числа получить)

Denis
14.02.2018
12:05:57
вот это я записать должен
а у меня ошибка по энду толи не хватает толи лишний

Google

Denis
14.02.2018
12:06:34
блин не могу найти редактор чтобы подсвечивал пары if end do end
их хрен соберешь по большому коду

Oleg
14.02.2018
12:06:49
RubyMine

Alabama
14.02.2018
12:08:10
скорее всего этот подход неправильный, но не для хайлоада вполне работает(

ojab
14.02.2018
12:10:20
правильный подход — выкладывать код в gist
и ставить .rb в названии файла, чтобы синтаксис подсвечивался

Alabama
14.02.2018
12:10:58
да, простите, не ожидала что такая простыня получится

Alex
14.02.2018
12:22:38
насколько было бы проще если бы новички могли задать вопрос в виде кода и теста

ojab
14.02.2018
12:24:38
а если бы они сразу без вопросов и ошибок писали то, что им нужно, так вообще

Alex
14.02.2018
12:24:58
да хотя бы тестом
его же легко накидать
а то что не вопрос так входных данных нет

Denis
14.02.2018
12:44:27
вы как тут серьезные темы закончили? а то у меня есть одна
стаковерфлов сдох на ней в 0

Alex
14.02.2018
12:45:27
к, го

Denis
14.02.2018
12:45:48
тема такая
все мы наверное любим WATIR
если вы веб скрепер как я например
теперь представьте ситуацию я пишу на перле
да на перле есть Селениум который я ненавижу
вы бы видели какие дампы он показывает - мегакилометровые там все есть все что можно придумать, нужного нет