Rafkat
02.11.2017
06:49:59
def generate_authentication_token
loop do
token = Devise.friendly_token
break token unless User.where(authentication_token: token).first
end
end
Vasiliy
02.11.2017
06:50:42
Можно сократить до метода exist?
Хотя хз профит будет нет
Anton
02.11.2017
06:51:48
Google
Rafkat
02.11.2017
06:51:52
С другой стороны, другие варианты только усложняют
Anton
02.11.2017
06:52:50
Есть супер быстрый и сложный вариант хаха
Антон
02.11.2017
06:52:52
мне кажется что такое событие как совпадение токена может случится только если кончится энтропия
Anton
02.11.2017
06:53:05
Делай пул и из него бери
Антон
02.11.2017
06:53:47
так что не будет в общем случае никакого "в цикле перебирать"
а закончить энтропию - это надо прилично подзаебаться
Rafkat
02.11.2017
06:54:49
Антон
02.11.2017
06:56:14
да мне кажется, что Devise.friendly_token так себе решение
достаточно SecureRandom.uuid
а уж если энтропия кончится то никакой loop brake уже не спасет отца русской демократии
а такое видели только всякие оджабы и другие мамонты
тоесть 1/1_000_000_000 разработчиков, а это статистически мало достижимо
да и было это наверное еще на 8088 когда энтропия реально могла кончится
да и под такие нагрузки пишут уже не на рубях
Google
focusshifter
02.11.2017
07:49:40
Антон
02.11.2017
07:50:07
да не, не показывали пример, а йопп утверждал что энтропия может кончится
и якобы он сам видел
focusshifter
02.11.2017
07:51:46
Антон
02.11.2017
07:51:55
focusshifter
02.11.2017
07:52:32
https://yopp.in/V4s
вот для масштаба: https://yopp.in/V71
слева до haveged
и там дальше Константин с такой же проблемой, но переехавший на urandom вместо добавления haveged
Антон
02.11.2017
07:59:52
да я помню что они это видели :)
это какбы и не пример, это скриншот примера
самому такое увидеть не просто
focusshifter
02.11.2017
10:20:27
2. всё
Catherine
02.11.2017
10:47:10
Всем привет. Проголосуйте за IDE, который считаете лучшим: https://hype.codes/best-ruby-ide-web-developers
Ну и поделитесь мнением, за какой проголосовали и почему. Заранее спасибо
Denis
02.11.2017
11:21:24
как создать миграция которая одно поле в базе с инта в стринг конфертнет
Ilya
02.11.2017
11:22:43
change_column :table_name, :column_name, :string
Denis
02.11.2017
11:23:38
@IlyaOsotov при этом данные не потеряются?
Vasiliy
02.11.2017
11:23:44
http://devdocs.io/rails~5.1/activerecord/connectionadapters/table все методы
Google
Ilya
02.11.2017
11:24:04
а лучше да, рейк таск. по поводу потери данных не могу знать. не пробовал
Denis
02.11.2017
11:24:31
Как он должен выглядеть?
Ilya
02.11.2017
11:25:49
я погуглил, и вроде все говорят что данные не потеряются
ты же не дропаешь колонку а меняешь ее тип
Vasiliy
02.11.2017
11:26:02
а почему рейк лучше?
Ilya
02.11.2017
11:26:50
рейк все таки не для такой простой ситуации
рейк был бы актуален при невозможной дефолтной конвертации одного типа в другой
Василиса
02.11.2017
11:31:37
ИМХО, это плохая идея - выносить что-то из миграции в рейк, с большой вероятностью после этого db:migrate просто так не пройдёт. Ничего не мешают любую сложную конвертацию сунуть внуть миграции
Nikita
02.11.2017
11:35:02
Безопасней сделать
rename_column :table_name, :column_name, :column_name_old
add_column :table_name, :column_name, :string
ActiveRecord::Base.connection.execute('UPDATE table_name SET column_name = column_name_old')
Василиса
02.11.2017
11:43:01
А чем безопасней?
change_column :table_name, :column_name, :string сработает, но будет необратимой миграцией. Если надо обратимую - https://stackoverflow.com/a/39157496
pny
02.11.2017
13:15:31
Миграцию сделали - код откатили - все сломалось
Vitaliy
02.11.2017
14:23:12
Да, лучше в таком случае завести новую колонку
column_name_1
а старую задепрекейтить, добавив коммент в миграции. И через полгодика годик — удалить без риска
Pavel
02.11.2017
16:45:57
ребят подскажите как построить массив такого вида: чтобы можно выборку обновлять типа @users["user_#{user.id}"].param_name
или вот может так понятнее будет что хочу: на p** я это делал вот так:
Vladislav
03.11.2017
04:38:21
1. Это хэш, а не массив
2. На основе каких данных его нужно построить?
Если из массива юзеров, то users.map { |user| { "user_#{user.id}" => user } }.reduce(:merge)
Alexey
03.11.2017
12:51:29
Странно gem update —system и мой скрипт update_rubygems даёт бяку undefined method files= for nil:NilClass
Google
Rafkat
03.11.2017
15:21:05
а где эликсир?)
Максим
03.11.2017
15:21:29
он и в руби канал кинул
Artem
03.11.2017
15:22:22
биткоины атакуют)
Oleg banned Нам нужен!
Кøе-ктø Геннадьевич
03.11.2017
15:30:21
зп не указана
Максим
03.11.2017
15:32:08
зп в эфириуме вестимо
Artem
03.11.2017
15:35:28
Roni_sl
03.11.2017
15:39:07
Всем привет, пытаюсь пройти аунтификацию в стиме, там нужно отправить два пост запроса, один для получения RSA ключа, а второй уже с энкрипнутым паролем на сам логин, при получении данных для ключа, я пытаюсь его создать, но выдает ошибку :/ Можете подсказать, что я делаю не так? В какую сторону гуглить тоже не особо понимаю, https://puu.sh/ydSMG/844bcf40ce.png
https://puu.sh/ydSNm/dee4f9fdbd.png
Максим
03.11.2017
15:40:44
а ты уверен что библиотека сама не подставляет эти бегин паблик кей енд паблик кей?
Смерть
03.11.2017
15:42:17
Чет мне кажется у тебя сертификат косячный поолучается
Roni_sl
03.11.2017
15:48:01
Вроде не подставляет, косячный явно, от реквеста приходят publickey_mod и publickey_exp
Максим
03.11.2017
15:57:44
погуглил вроде реал не подставляет
но ошибка распространённая
гуглил чисто по названию ошибки
Eugene
03.11.2017
15:59:32
из гугла решения не помогают?
там пацаны в base64 енкодят серт
Roni_sl
03.11.2017
16:01:15
Я пытался гуглить, но не нашел ничего, что может помочь
Как-то пароль должен енкодиться с этим ключем, пытался еще заюзать OpenSSL::PKey::RSA.new, но выдает примерно такую же ошибку, еще и на публичный ключ ругается, как я понял: Neither PUB key nor PRIV key: nested asn1 error
Eugene
03.11.2017
16:04:08
decoded_content = Base64.decode64(encoded_content)
certificate = OpenSSL::X509::Certificate.new(decoded_content)
так пробовал?
Google
Roni_sl
03.11.2017
16:07:54
Еррорит: header too long
Eugene
03.11.2017
16:21:15
ну а сам серт то путсил? он там норм?
Roni_sl
03.11.2017
16:22:38
Нет, просто скрипт закончил выполняться
На ошибке
Eugene
03.11.2017
16:23:10
ну можно же его посмотреть перед добавлением?
Roni_sl
03.11.2017
16:23:49
А, я думал ты опечатался :D https://puu.sh/ydUl3/0592524305.png
Eugene
03.11.2017
16:34:26
чет он неочень)
Roni_sl
03.11.2017
16:36:54
Нагуглил вот такое, правда на пыхе
https://puu.sh/ydUOT/8dd25a3cb5.png
Понял, что нужно пихать то, что присылает стим в параметры, но не совсем понял как :/
Eugene
03.11.2017
16:38:58
ну у тебя-то ключ не добавляется, потому что кривой
может что-то перекодировать надо
пробуй без рубей ключ постом запросить
найди почему ключ портится