@proRuby

Страница 1177 из 1594
Roman
22.04.2018
18:58:51
он форкается и у него один мастер и кучка воркеров

сколько воркеров, столько одновременных запросов может обрабатываться

но перед ним надо ставить еще nginx потому что unicorn подвержен медленным клиентам

Google
Roman
22.04.2018
19:00:20
https://github.com/puma/puma/blob/master/lib/puma/thread_pool.rb#L148
но это только при добавлении work.

ojab
22.04.2018
19:00:56
но это только при добавлении work.
а не при добавлении work треды и не появляются

Alex
22.04.2018
19:05:23
Получается для обработки большего количества клиентов нужно увеличивать количество воркеров и у Puma и у Unicorn

Roman
22.04.2018
19:25:06
Получается для обработки большего количества клиентов нужно увеличивать количество воркеров и у Puma и у Unicorn
ну так-то да. просто у пумы есть еще jungle mode, когда там и процессы, и в каждом процессе треды

Alex
22.04.2018
19:28:15
ну так-то да. просто у пумы есть еще jungle mode, когда там и процессы, и в каждом процессе треды
Благодарю, пойду ка я почитаю как треды работают и про потокобезопасность

Denis
22.04.2018
22:22:01
Кстати кто-нибудь замерял passenger vs puma?

Dmitry
23.04.2018
00:08:13


Anton
23.04.2018
00:08:47
просто f набери теперь

и посмотри что там лежит

Dmitry
23.04.2018
00:09:27
Точно, оно же возвращает результат, а не значение f ?

F
23.04.2018
06:50:54
Сатанисты начали контрибьютить в rails https://github.com/rails/rails/pull/32582

Google
rekero
23.04.2018
06:52:58
а люди еще спрашивают, как начать коммитить в опенсорс

Roman
23.04.2018
06:53:05
factory girl уже зохавали. теперь и сюда лезут

Aleksey
23.04.2018
06:55:10
Сатанисты начали контрибьютить в rails https://github.com/rails/rails/pull/32582
а еще авторы рельс пишут что рельсы не принимают косметические пул-реквесты…

ShadoWalkeR
23.04.2018
07:28:15
Кажется это начало конца

Личная
23.04.2018
07:29:36
Ну как-то обидно, а под каждым пулл реквестом разработчики отдельный пост со спасибо оставляют?

По сути нихрена же не сделано, а столько благодарностей.

Stas
23.04.2018
07:30:15
Да ладно чё вы, за "кодревью на толерантнтость" будущее ?

ShadoWalkeR
23.04.2018
07:30:24
Как не сделано? Из примеров удалено гендерное угнетение ?

Личная
23.04.2018
07:32:33
Я проверил остальные пулл реквесты, видимо, это автоответ :)

Aleksey
23.04.2018
07:32:48
а слово “-bot” в приставке тебя не смутило? :D

Личная
23.04.2018
07:33:16
у меня второй монитор мелкий и плохо видно :( я просто прочитал ответ

Aleksey
23.04.2018
07:33:17
вобще у меня пригорело эт этого пул реквеста

Dima
23.04.2018
07:35:37
Вообще-то если знать историю, то все не так однозначно. Был такой дяденька Алан Тьюринг, его залечили до смерти.

Логотип Эпл, это как раз дань уважения к Алану Тьюрингу, который по одной из версий отравился яблоком.

Google
ShadoWalkeR
23.04.2018
07:38:15
Сегодня не тогда

Личная
23.04.2018
07:38:38
Да никто не против трансгендеров. Ну я лично. Просто юзлес, ладно бы хоть опечатка где-то была.

ShadoWalkeR
23.04.2018
07:39:03
Вообще первые феминистки боролись за то, чтобы у женщин было прав больше чем у собаки. Сегодня феминистки борятся за то, чтобы у мужчин прав было как у собаки

Dima
23.04.2018
07:39:24
понятное дело.

Личная
23.04.2018
07:39:57
Это же кончается квотами на рабочих местах и неконкурентной борьбой =/

Aleksey
23.04.2018
07:42:23
а замержили видимо только потому чтобы под пул реквестом не разгорелся срач и потом где-нибудь напишут что рельсы не толерантный фреймворк

Максим
23.04.2018
09:40:46
Понятно

Уж лучше буду изучать синатру

Stas
23.04.2018
09:41:51
Уж лучше буду изучать синатру
Только из за этого? Серьезно?

Aleksey
23.04.2018
09:50:27
на рельсах пишут п***ры, в ж**у еб**ся, каждый второй смузи попивает за новеньким макбуком, рейбаны носит и раз в неделю захаживает в барбершоп, гироскутеры меняют как перчатки другое дело синатра: суровые бородатые мужики, женаты, по трое детишек нарожали, кодят на синкпадах с гентушкой, в опенсорс контрибьютят, в качалочку каждый день, в детские дома игрушки носят, бабушек через дорогу переводят

Личная
23.04.2018
09:55:39
чето никогда не видел в требованиях к знаниям синатру

Dmitry
23.04.2018
10:02:14
Это не главное

alteregoizm
23.04.2018
11:33:38
Silent Bob
23.04.2018
12:20:13
Подскажите плиз: есть класс у которого есть свойство options (хеш). Мне нужно чтобы когда вызывался геттер для этого свойства на классе, в ответ возвращался смерженный хеш с таким же свойством parent класса (в идеале и parent parent'a), если у него есть такое же свойство. Грубо говоря: class Base @options = { some_option: "some value" } end class App < Base @options = { one_another_option: "one another value" } end class Cusom < App @options = { custom_option: "custom value" } end Custom.options # => { some_option: "some value", one_another_option: "one another value", custom_option: "custom value" } Мне нужно что-то подобное.

Roman
23.04.2018
12:26:46
Создай в custom метод options и делай там что хош

Dima
23.04.2018
12:28:34
вот такую переменную можно выдернуть из класса родителя через мето. Потому что переменная присвоена всему классу.

а вот то что с одним @ это меременные объекта.

Google
Dima
23.04.2018
12:29:23
понимаешь?

Silent Bob
23.04.2018
12:29:53
Есть переменные класса @@varibale
а это hierarchy class variable. Не просто class variable

hierarchy class variable общая для всех классов в цепочке наследования

Admin
ERROR: S client not available

Иван
23.04.2018
12:43:05
ну можно циклом по предкам пройтись и смержить результаты

self.ancestors.map { |ancestor| ancestor.instance_variable_get(:@options) }.compact.reduce({}) { |acc, e| acc.merge(e) }

Roman
23.04.2018
12:50:27
self.ancestors.map { |ancestor| ancestor.instance_variable_get(:@options) }.compact.reduce({}) { |acc, e| acc.merge(e) }
вместо reduce({}) { |acc, e| acc.merge(e) } лучше просто reduce({}, :merge)

читается попроще

Alex
23.04.2018
12:51:34
Там вроде достаточно .reduce(:merge) нет?

Roman
23.04.2018
12:51:49
да, точняк

Alex
23.04.2018
12:53:10
Сам раньше ({} писал

kolas
23.04.2018
12:53:55
если вам ec2 хост заблокировали, то какие варианты есть? клаудфронт? переехать на российский впс? реверспрокси самому поднять?

Silent Bob
23.04.2018
13:01:27
https://goo.gl/sY8tXX
спасибо большое! У меня была идея изначально спрятать все в базовом классе. Такой типа ДСЛ с наследованием. Базовые опции объявляются в базовом классе, все дополнительные - в чилд классах, если есть необходимость. В чилд классах никакой логики насчет смерживания настроек быть не должно, просто должен быть метод класса Child.options (опять таки он описывается в Parent) который будет выдавать настройки парента смерженные с настройками чилда (if any).

Google
Silent Bob
23.04.2018
13:13:17
https://goo.gl/6v9VHP
Вот это огонь вообще! Большое спасибо)))

работает as expected

kolas
23.04.2018
13:22:19
крутая статья https://dev.to/rpalo/ruby-concepts---singleton-classes-oeb

Silent Bob
23.04.2018
13:26:46
https://goo.gl/6v9VHP
только в обратную сторону :D class SuperBase @options = { p: 1 } def self.options self.ancestors.map do |ancestor| ancestor.instance_variable_get(:@options) end.compact.reduce(:merge) end end class Z < SuperBase @options = { z: 1} end class P < Z @options = { p: 10 } end p SuperBase.options # {:p=>1} p Z.options # {:z=>1, :p=>1} p P.options # {:p=>1, :z=>1} # :p должен быть 10, т.к настройки могут перезаписываться чилд классами

я добавил .compact.reverse.reduce(:merge) и все огонь :)

ojab
23.04.2018
13:27:49
…но зачем

чем super.merge(@options) не устроил?

(с проверкой на наличие super в базовом классе, само собой)

kolas
23.04.2018
13:36:30
магия )

Silent Bob
23.04.2018
13:45:34
чем super.merge(@options) не устроил?
Это в базовом класе объявляется? Можно простой пример?

Roman
23.04.2018
13:45:59
я бы конечно вообще не так делал class SuperBase class << self attr_accessor :options end @options = {b: 1} def self.inherited(base) base.extend ClassMethods end module ClassMethods attr_reader :options def self.options=(opts) @options = super.merge(opts) end end end class Z < SuperBase self.options = {z: 1} end class P < Z self.options = {p: 1} end и тд в таком случае вся эта балалайка будет срабатывать при загрузке приложения, а не на каждый запрос код не тестировался - может не работать

Dima
23.04.2018
13:46:45
чем super.merge(@options) не устроил?
метод супер прописывать?

ojab
23.04.2018
13:51:06
а, в глаза долблюсь, да

ну superclass.options и чекать на Object, не суть.

Страница 1177 из 1594