@rubyschool

Страница 434 из 921
Fedor
02.11.2017
17:52:27
тогда каждый раз эта функция будет завершаться, и выходить из стека

Konstantin
02.11.2017
17:52:41
Все с такого начинали

Google
Konstantin
02.11.2017
17:53:57
Я вчера к массиву find_each применял

Например

Vlad
02.11.2017
17:54:20
пойду почитаю про такой тип рекурсии, это интересно, однако)

Konstantin
02.11.2017
17:54:32
Хотя я думал, что это у меня реляция, конечно

Fedor
02.11.2017
17:54:59
хвостовая рекурсия, кстати, тоже опасна )

если в рекурсивной функции ошибка, то обычная рекурсия вызовет переполнение стека за пару минут и упадет

а хвостовая уйдет в бесконечный цикл и повиснет )))

Konstantin
02.11.2017
17:56:04
Кто-нибудь рубимайном пользуется?

Vlad
02.11.2017
17:56:20
я, но это даже не назвать "пользуюсь"

Konstantin
02.11.2017
17:58:01
Он какой-то сложный после атома

Vlad
02.11.2017
18:01:57
Да тут дело привычки наверное. Но мне особо нравится, что из коробки куча добра в нем. И консоль своя, и дебагер, и сервер(или просто файл) запустить сразу можно, интеграция с гитом. Конечно, 99% функционала я даже еще не знаю в нем...

Konstantin
02.11.2017
18:04:15
Атом тоже интегрирован с гитом, но не так. В рубимайне блэйм можно глянуть прям по файлам.

Например. Удобно.

Google
Igor
02.11.2017
18:38:49
как заставить руби понимать по русски

encoding: cp866 —---- выдает кракозябр

Alex
02.11.2017
18:52:43
использовать UTF8 и выйти из 1997 года

Andrey
02.11.2017
19:35:38
Он какой-то сложный после атома
toolbar отключи будет как атом. Тупо редактор, вкладки и дерево проекта. :)

Ilgiz
02.11.2017
20:08:50
Ребята, подскажите что такое return в руби? Что выполняет эта команда?

Vlad
02.11.2017
20:09:58
Возврат из процедуры к примеру

если указать после неё параметры, то вернет их "наверх", туда, откуда была вызвана текущая процедура. Если ничего не указывать, возвращает nil

к примеру def procedure return 5 end a = procedure Когда выполнить, а станет равной 5

Ilgiz
02.11.2017
20:12:40
Влад, спасибо!

Vlad
02.11.2017
20:13:59
Допустим, если тебе надо прервать выполнение процедуры, то можешь указать return там, где это надо сделать. Но учитывай, что все равно она вернет значение nil

Fedor
02.11.2017
20:16:20
ага, и стоить учитывать, как return работает с блоками, проками и лямбдами )

и в циклах использовать break а не return

который, кстати тоже возвращает nil

а можно и значение вернуть

Vlad
02.11.2017
20:17:18
ну я умолчал про блоки, проки и лямбды, я думаю, когда он до них дойдет, уже будет сам понимать

Ro
02.11.2017
20:17:52
к примеру def procedure return 5 end a = procedure Когда выполнить, а станет равной 5
этот пример можно и без return написать: def xx 5 end xx return обычно используется внутри if...else

Vlad
02.11.2017
20:19:21
А как вернее выразиться, последнее выполненное действие или последняя выполненная строка. Чет я сообразить не могу ?

*возвращается

Vitaliy
02.11.2017
20:22:27
Последняя инструкция

Vlad
02.11.2017
20:23:22
Спасибо)

Google
Ro
02.11.2017
20:40:23
результат выполнения последней инструкции

любая инструкция имеет результат

запусти irb

введи 555

увидишь, что оно дублируется

введешь 555 + 5 - получишь другой результат выполнения последней инструкции

Vlad
02.11.2017
20:51:52
Я просто слово не мог нужное подобрать)

Ro
02.11.2017
21:41:12
никто не знает телеграм канала про aws?

хотя может кто так скажет - что за тип девайся на amazon ec2 instance, который называется /dev/xvdh ?

нашел ответ

Eugene
02.11.2017
23:42:03
https://ideone.com/qQYZ2i

Мой код для пятничной задачи

Ro
03.11.2017
00:31:27
СПОЙЛЕР ^

любопытное решение

рекурсивное)

Evgeniy
03.11.2017
07:07:02
Всем привет! Возник такой вопрос. Использую связку passenger + nginx nginx использую который идет в комплекте с passenger, Периодически безсимптомно сервер зависает. Помогает перезапуск passnger'а или nginx'а (любого из веб-серверов). При этом в логах никаких ошибок нет. Нагрузка в момент зависания отсутствует от слова совсем. Кто-нибудь сталкивался с такой бедой? Иногда работает сутками напролет. А иногда - несколько минут и зависает. В основном проблема наступает через какое-то время после одного из рестартов passanger'а (после заливки изменений). Притом может зависнуть через полчаса после рестарта, через несколько часов. Потом перезапускаешь - может нормально работать, а может опять повиснуть. И в какой-то из рестартов все становится нормально и работает стабильно.

Aleksey
03.11.2017
07:25:46
у меня такая же связка, но с такой проблемой не сталкивался

Evgeniy
03.11.2017
07:44:25
Ты не на хероку ведь?
виртуальный сервер на базе VmWare

Andrey
03.11.2017
07:49:28
Это всмысле ты локально запускаешь?

Google
Dmitry
03.11.2017
07:56:47
А за чем passenger? Nginx + puma и все отлично.

Andrey
03.11.2017
07:58:27
а вот такое одну команду упрощается? user_id = params[:event_payload][:user_id] if params[:event_payload]

Evgeniy
03.11.2017
07:59:49
Это всмысле ты локально запускаешь?
Сервер висит в интернетах на продакшне.

А за чем passenger? Nginx + puma и все отлично.
Так исторически сложилось от предыдущего программиста. Сильно криворукое решение было с его стороны?

Andrey
03.11.2017
08:03:56
Решение как решение.

Admin
ERROR: S client not available

Dmitry
03.11.2017
08:05:03
http://be9.ru/2015/09/12/memory-leak.html

Andrey
03.11.2017
08:05:04
Только если ты что то наследуешь то может оно всегда так было.

Evgeniy
03.11.2017
08:05:54
Как давно проблемы начались?
Думаю, достаточно давно. На момент моего вступления в проект - уже было. Перегрузка помогала - всех все устраивало. А сейчас пришло то самое время, когда пора с этим что-то делать.

Dmitry
03.11.2017
08:10:27
Думаю, достаточно давно. На момент моего вступления в проект - уже было. Перегрузка помогала - всех все устраивало. А сейчас пришло то самое время, когда пора с этим что-то делать.
Ну тогда советую почитать материал который я выше упомянул, надеюсь ваше "расследование" закончится успехом гораздо раньше, чем через 2 недели

Marat
03.11.2017
08:37:39
Господа, по тестированию какой подход лучше взять? То, что в rails guide рекомендуется или ещё что? Сам тестированием почти не занимался раньше, пришел в новый проект вместо старого программиста, оказалось что тестов вообще нет.

Andrey
03.11.2017
08:44:53
Rspec не потому что лучший, а потому что он везде.

Егор
03.11.2017
09:31:34
Ребят привет

подскажите такой кейс: База Mongo Есть route который делает выборку и сериализует в json. Надо сделать стабильность при 12к запросах - как лучше организовать. Сервер Puma, Nginx

Andrey
03.11.2017
09:50:27
а проблема в чем?

Егор
03.11.2017
09:53:22
тестирую на 2к+ запросах 502 иногда вываливаются

не могу понять почему

Google
Егор
03.11.2017
09:53:28
логи пустые

Dmitry
03.11.2017
10:17:44
У пумы сколько воркеров?

Ну и потоков на воркер

Marat
03.11.2017
10:21:07
Егор
03.11.2017
10:21:55
set :puma_threads, [0, 16] set :puma_workers, 0

Dmitry
03.11.2017
10:25:05
А смотрел htop когда нагружаешь?

Егор
03.11.2017
10:25:23
нет

Dmitry
03.11.2017
10:25:59
Начни с этого

Егор
03.11.2017
10:26:54
ну создается 16 процессов

на загрузке в 2к

Dmitry
03.11.2017
10:31:57
Ну скорее всего это предел

Надо ещё воркеров запустить

Если есть возможность

Егор
03.11.2017
10:33:56
а как рассчиатть эту возможность?

исходя из железа

Andrey
03.11.2017
10:41:13
на глаз

Dmitry
03.11.2017
10:57:03
исходя из железа
Воркер на свободное ядро

Страница 434 из 921