
Alexander
13.12.2016
04:39:34
Я в тесты только только вкуриваю :)

Dima
13.12.2016
04:42:23

Google

Dima
13.12.2016
04:43:06
либо то либо то надо разбераться
либо функциональные тесты, либо итеграционные. По ситуации смотреть. если у вас 5 rails там богаче тесты. Вообще есть мнение исопльзовать rspec+faker+factorygirl но я там пока еще не читал.

Alexander
13.12.2016
04:44:41
Оно и используется
Вопрос больше к девайзу :) как блин его в спеках победить. Ман чот как то не шибко говорит про перелогин в рамках одного теста

Dima
13.12.2016
04:49:25

Alexander
13.12.2016
04:50:05
тесты изолированны

Dima
13.12.2016
04:51:22
тесты изолированны
на сколько я понял, вам надо 1) залочить юзера 2) проверить от юзера залочен ли он.
Даже на изолироаванных тестах почему не сделать 2 шага. Пусть это будет не в рамках одного теста, вы же все равно проверите.

Alexander
13.12.2016
04:51:58
на шаге номер два БД ресетнётся же. В этом то и вопрос :)

Dima
13.12.2016
04:53:28

Alexander
13.12.2016
04:53:33
А чо за "выделялка"? :)
покурю, пасиб

Dima
13.12.2016
04:54:34

Alexander
13.12.2016
04:55:20
блин, опять пингвинов не завезли :(

Google

v
13.12.2016
05:15:10
все равно там по дефолту используется Test::Unit
а тебе надо будет rspec наверняка
так что всю инфраструктуру под рспек можно сделать руками по документации к гему

Dima
13.12.2016
05:32:39
руками
да, как строчку в application.rb раскоментил, то появились tests в rake —tasks
руками
вот и тесты набились:
rails generate model aitem --skip
invoke active_record
skip db/migrate/20161213053326_create_aitems.rb
skip app/models/aitem.rb
invoke test_unit
create test/models/aitem_test.rb
create test/fixtures/aitems.yml
только test_helper.rb нет

Alex
13.12.2016
05:36:43
лол развели тут
login_as
все.
@top4ek

Dima
13.12.2016
05:37:57
login_as
вы всегда так лаконично пишете, вот про whenever - кто разберет что это gem такой. Теперь login_as это что?
директива в тестах

Alex
13.12.2016
05:38:32
> вот про whenever - кто разберет что это gem такой.
Гем легко гуглится и у него замечательная документация, не вижу смысла делать копипаст
где ты попадаешь на wiki devise где расписано как его в тестах юзать
Нет давай документацию по тысяче раз копипастить в чат потому что кому то совсем лень загуглить.

Alexander
13.12.2016
05:43:58
хммм... затестим :)

Tim
13.12.2016
13:46:15
Всем привет. Кто-нить юзал resque-retry ?
У меня поему-то проблема с методом retry_criteria_check. Он тупо игнорируется

Google

Alexander
13.12.2016
13:51:57
кто-нибудь использовал gem ampex?
https://github.com/rapportive-oss/ampex
синтаксис крутой, напоминает возможности Crystal:
https://crystal-lang.org/2013/09/15/to-proc.html
или может есть претензии к реализации?

Alex
13.12.2016
13:53:01
Давно хотел такую штуку, но боязно.

Alexander
13.12.2016
14:05:40
на 22% медленнее

Alex
13.12.2016
14:30:19
почему боязно?
Немного странный синтаксис для того к чему привык средний рубист.

v
13.12.2016
14:31:23
я бы не сказал, что оно prettier

Alex
13.12.2016
14:32:33
[1, 2, 3].map(&X.to_f.to_s)
Лучше чем со скобками имхо

Ilya
13.12.2016
14:44:01
это как Enumerable::Lazy
типа круче синтаксис
но в 4 раза медленнее)
на самом деле читаемости это особо не добавляет. Пусть лучше над производительностью работают, а то через пару годиков придется переименовывать этот чатик в pro.(ruby && elixir)
а потом в pro.elixir

v
13.12.2016
14:51:33
к тому времени эликсир загнется :3
точнее говоря, спадет хайп

Alexander
13.12.2016
15:05:32

Ilya
13.12.2016
15:06:17
я к тому, что руби и так достаточно выразителен

Alexander
13.12.2016
15:06:27
читаемости сильно не добавляет, согласен, но код чуть укорачивает (нет нужды дважды писать аргумент блока, нет нужды использовать фигурные скобки)

Ilya
13.12.2016
15:08:55
Ага, это пока баг не словишь и не полезешь разбираться, что же они там в этом своем геме понаписали) Экономия на спичках)

Alexander
13.12.2016
15:09:39

v
13.12.2016
15:12:18
настолько экономить на спичках - перебор, кмк

Google

Alex
13.12.2016
15:15:17
Мне почему то нравится идея
может даже заюзаю.


Alexander
13.12.2016
18:22:26
у меня коллега, помимо сомнительного профита (в пару слов), пожаловался на то, что код несколько лет не обновлялся) и один из последних коммитов что-то вроде «поддержка руби 1.8.7», что пугает вопросом «а что же будет с 2.3?»
но в то же время у репозитория много Star, Watchers и т.д., при этом ни одного issue или PR (открытого, за и закрытые по пальцам пересчитать).
обычно у мёртвых репозиториев с проблемами работоспособности несколько issue или PR
так что есть надежда, что работает по-прежнему хорошо
кстати, когда бенчмарк запускал — было на 2.3, проблем не было.
сама реализация сомнительна (BlankSlate, method_missing), но, думаю, что первое ради поддержки чего-то специфичного, а без второго никак
сама реализация сомнительна (BlankSlate, method_missing), но, думаю, что первое ради поддержки чего-то специфичного, а без второго никак
ну да, до руби 1.9, судя по комментариям в коде, как будто не было BasicObject, или что-то ещё с ним было не так. например, документация на него отсутствует в более ранних версиях


Alex
13.12.2016
18:36:44
можно попробовать марсианский ossert против репозитория прогнать

Klim
14.12.2016
00:57:36
парни

Admin
ERROR: S client not available

Klim
14.12.2016
00:57:40
подкиньте мож кто знает
как выставить кастомный заголовок для
authenticate_with_http_token
а в прочем
можно самому распарсить заголовок
чо

Dima
14.12.2016
06:01:31
к тому времени эликсир загнется :3
есть собратное мнение, агрументированное многопоточносью и многоядерностью как основой быстродействия в будущем: https://habrahabr.ru/post/269477/#comment_8626347

v
14.12.2016
06:09:58
а люди, которые сейчас эликсир в продакшене щупают, плачут

Dima
14.12.2016
06:12:44

v
14.12.2016
06:12:54
от сырости продукта


Alexander
14.12.2016
06:45:15
есть собратное мнение, агрументированное многопоточносью и многоядерностью как основой быстродействия в будущем: https://habrahabr.ru/post/269477/#comment_8626347
У руби простая идеология: время исполнения программ на компьютерах уменьшается каждый год, а время разработчиков не изменяется. Поэтому цель руби — скорость разработки, а не скорость исполнения. А индустрия со временем сделает всё сама. Медленно? Докупи серверов.
Тем более веб-приложения параллелятся обычно за счёт процессов (потоков) веб-сервера. Так что 128 ядер дадут в 32–64 раза больше устойчивость (вместимость) сервера, по сравнению с 2 ядрами.
А так-то биллинг и математику никто вроде не пишет на руби в здравом уме. Выносите в сервис или либу на более быстром языке, и нет проблем. Но если писать весь сайт на си, потому что одна либа на си — будет больно и долго, на мой взгляд.
С цифрами увеличения устойчивости веб-приложения я ошибся, конечно, это грубая оценка, ведь есть ещё всякие БД, которые сильно бьют по времени ответа, но тут и элексир тот же в той же ситуации

Google

Alex
14.12.2016
06:58:56
На руби вполне можно асинхронный фреймворк запилить я думаю.

Alexander
14.12.2016
06:59:16
Или что, может кого-то гитхаб не устраивает? Они докупили серверов, время ответа доли секунды — всех всё устраивает.
Но вот basecamp 2 на странице проекта с сотней-другой открытых задач лагает как тварь, конечно: страница грузится секунд 5–10. Но я считаю, что зачастую кривые руки программистов при возможности докупить сервера больше влияют на проект, в том числе его производительность, чем ЯП

Alex
14.12.2016
07:00:04
Есть eventmachine, нужно просто поверх удобный фреймворк запилить

Tim
14.12.2016
07:01:27
классно, давай запилим

Alex
14.12.2016
07:02:50
Я конечно понимаю что это сарказм. Но суть в том что бы написать что то серьезное нужна тонна времени.

Tim
14.12.2016
07:03:17
да не, я б не сказал что прямо сарказм

Alex
14.12.2016
07:04:45
У меня в ближайшее время точно не будет времени на что то масштабное.
А там нужно архитектуру заложить

Alexander
14.12.2016
07:21:48
Чёт было с cell, если не ошибаюсь, могу в 11 часов найти. Там целая архитектура на eventmachine, но умерла.
Не архитектура, а инфраструктура: веб-сервер, веб-фреймворк и т.д.
Малый будет выигрыш, как мне кажется, проще тупо веб-сервер параллелить

Tim
14.12.2016
07:31:24
в перспективах можно сделать node js на руби, лел

Alex
14.12.2016
07:32:47
У эликсира не асинхронщина а акторы

Alexander
14.12.2016
07:37:57
У ноды/nginx так то большущий выигрыш от асинхронщины
Ты уверен, что из-за этого? Можешь расписать случай выигрыша от асинхрона именно в веб-фреймворке, а не веб-сервере? На ноде, для справки, тупо факториал в разы быстрее считается, если сравнивать с руби, уже молчу про си, на котором nginx написан

Alex
14.12.2016
07:41:58
Запрос из базы это большой IO
запрос из редиса это большой IO
а это 40% работы простого контроллера