
Alex
01.10.2017
11:55:05

Dima
01.10.2017
11:55:23
я бы не пихал thread - это как понять?

Alex
01.10.2017
11:55:33

Google

Alex
01.10.2017
11:55:44
я кажется понял почему ты не обобщаешь код.

Dima
01.10.2017
11:55:52

Alex
01.10.2017
11:56:13

Dima
01.10.2017
11:56:24

Alex
01.10.2017
11:56:31
сломай мне guard-rspec нахрен
а потом сделай каждый класс по 50 строк
и бегай как дурак по C-подобному файлу

Dima
01.10.2017
11:57:00
разве?
погододи. При чему тут потоки?

Alex
01.10.2017
11:57:09
я кажется понял почему ты не обобщаешь код.
а я бы не пихал /thread
а что такое thread?
/тема

Google

Dima
01.10.2017
11:57:21
потоки потоками, разбивка классов по файлам разбивка это овбще из другой оперы

Alex
01.10.2017
11:57:27
АААААААААААААААААА
причем тут потоки вообще

Dima
01.10.2017
11:57:46

Alex
01.10.2017
11:57:52
/тема

Dima
01.10.2017
11:58:01
не понимаю

Alex
01.10.2017
11:58:07
ты html теги когданибудь закрывал?

Dima
01.10.2017
11:58:14

Alex
01.10.2017
11:58:22
теперь перечитай и думаю что поймешь.

Dima
01.10.2017
11:58:34
т.е. ты закончил разговор таким новомодным подходом.

Alex
01.10.2017
11:58:45
этому подходу много много лет

Dima
01.10.2017
11:58:46
какой ты молодец, всегда что то новое придумаешь.

Alex
01.10.2017
11:59:00
новое? еще на форумах в 90-е topic closed был.
http://i0.kym-cdn.com/photos/images/facebook/000/029/970/trainn.jpg

Dima
01.10.2017
11:59:34
но в таком html форметы, ты бы Алекс еще скобочки ставил </thread> тогда бы ясней было.

Alex
01.10.2017
11:59:54

Dima
01.10.2017
12:00:20
Какойто новый агрегатор малый классов для уменьшеня нагрузки на диск.

Alexander
01.10.2017
12:05:42
Привет всем, подскажите пожалуйста как быть, есть hanami и БД pg с таблицей, где Х столбцов с индексом UNIQUE, соответственно если будет поле не уникальным получаю ошибку, например:
"PG::UniqueViolation: ERROR: duplicate key value violates unique constraint 'users_email_key' DETAIL: Key (email)=(name@example.com) already exists."
Вопрос: Как мне динамично узнать имена полей в которых произошла ошибка, что бы вывести пользователю уведомление?

Alex
01.10.2017
12:06:23

Google

Alex
01.10.2017
12:06:32
там больше потенциальных помогателей.

Alexander
01.10.2017
12:06:34

Ярослав
01.10.2017
12:11:50

Alexander
01.10.2017
12:13:25
Это не очень здорово, т.к. https://robots.thoughtbot.com/the-perils-of-uniqueness-validations

Ярослав
01.10.2017
12:17:42
Согласен. Но подобная ситуация маловероятна в общем случае.

Alexander
01.10.2017
12:18:14
Согласен. Так и придется сделать если не будет другого решения

Sergey
01.10.2017
15:48:01

Dima
01.10.2017
16:04:02

Sergey
01.10.2017
16:08:52

Dima
01.10.2017
16:09:22

Sergey
01.10.2017
16:21:11

Dima
01.10.2017
16:21:23

Aleksey
01.10.2017
16:31:20
Похоже, оно

Dima
01.10.2017
16:31:59

nikita
01.10.2017
17:19:25
кто-нибудь знает, как сделать глубокую копию (чтобы объекты вообще никак связаны не были), скажем, хэша?
есть Marshal.load(Marshal.dump(hash)), но у него есть ограничения:
# Marshal can't dump following objects:
# * anonymous Class/Module.
# * objects which are related to system (ex: Dir, File::Stat, IO, File, Socket
# and so on)
# * an instance of MatchData, Data, Method, UnboundMethod, Proc, Thread,
# ThreadGroup, Continuation
# * objects which define singleton methods
и получается, что если у меня в хэше будет прок в value, то Marshal.dump упадет

Roman
01.10.2017
18:04:38

nikita
01.10.2017
18:07:13
да, а если там Method?

Google

Nikita
01.10.2017
18:07:45
что-то попахивает плохим дизайном

Admin
ERROR: S client not available

nikita
01.10.2017
18:09:25
ну, видимо
Nikita я пытаюсь dry-types прикрутить, https://github.com/nesaulov/surrealist/issues/5
и там оказывается такой хэш: {:age=>#<Dry::Types::Constructor type=#<Dry::Types::Definition primitive=String options={} meta={}> options={:fn=>#<Method: Kernel.String>} meta={}>}, и, соответственно, на #<Method: Kernel.String> маршал падает

Roman
01.10.2017
18:23:25

Nikita
01.10.2017
18:24:24

nikita
01.10.2017
18:25:05
мне нужно не дампить в принципе, а глубочайше клонировать такой хэш

Roman
01.10.2017
18:25:24
можно делать
.translate_values { |v| v if Marshal.dump v rescue nil }

nikita
01.10.2017
18:25:25
я как-то не нашел другого способа глубочайше клонировать

Nikita
01.10.2017
18:25:54
типы в сути значения, они немутабельны и их просто не нужно клонировать

Roman
01.10.2017
18:26:00
но только придется рекурсивно вызывать

Nikita
01.10.2017
18:26:17
если ты хочешь копировать хэш, обойди его ручками рекурсивно
безо всяких дампов

nikita
01.10.2017
18:30:44
сейчас попробую
да, с each_with_object всё работает
спасибо
а еще, @flash_gordon, раз уж начали, как правильно проверять соответствие типов в dry-types?
Solnic пишет, что valid? лучше не использовать, он "для внутреннего использования"

Nikita
01.10.2017
18:38:49
угу, я честно говоря особо не был в курсе) в любом случае, есть try

Google

Igor
01.10.2017
20:16:19
Оффтоп: кто-нибудь знает телеграм чаты про около-ИИ для дамми (англ\ру)?

Vasyl
01.10.2017
22:23:30
def bubble_sort(array)
n = array.length
loop do
swapped = false
(n-1).times do |i|
if array[i] > array[i+1]
array[i], array[i+1] = array[i+1], array[i]
swapped = true
end
end
break if not swapped
File.open("x.txt","r").read.split(",").bubble_sort
end
end
в чем проблема помогите пожалуста

Oleg
01.10.2017
22:27:33
File.open("x.txt","r").read.split(",").bubble_sort
Очевидно надо в бабл сорт отправить массив
А тут - попытка вызвать метод сорта у массива, а у массива то его нет
Возможно есть ещё какие проблемы, сложно вчитаться в не очень отформатированный код

Vasyl
01.10.2017
22:31:14
как бабл сорт отравить в масив?

Oleg
01.10.2017
22:44:09
bubble_sort File.open("x.txt","r").read.split(",")
Но я думаю это не единственная проблема