@proRuby

Страница 725 из 1594
Nikita
13.09.2017
12:57:22
а у пассажира конкурентная модель такая же как у юникорна чтоли? несколько процессов?
Ruby applications can normally handle only 1 request at the same time. With Passenger this is improved by running multiple processes of the application using pooled application groups. For each request from the incoming request queue, a non-busy (free) application process is selected to handle the request. For thread-safe Ruby apps it is also possible to enable multithreading, which allows the application processes to concurrently handle multiple requests at the same time – up to the amount of threads configured. In this case, Passenger forwards the request to the instance that is currently handling the least number of requests.

https://www.phusionpassenger.com/library/indepth/ruby/request_load_balancing.html

Alexander
13.09.2017
12:57:41
Puma is the only open-source option for multithreading. Passenger Enterprise provides multithreading support. Unicorn does not support multithreading.

Google
Alexander
13.09.2017
12:57:57
пичаль. только в тырпрайз версии есть многопоточность

Andrey
13.09.2017
19:20:01
Поможет может кто, какие сейчас основные web уязвимости при использовании RoR?

Именно присущие Rails

Vlad
13.09.2017
19:21:21
Дудосер в чате?)

Andrey
13.09.2017
19:22:07
Мм?

Nikolay
13.09.2017
19:43:41
Поможет может кто, какие сейчас основные web уязвимости при использовании RoR?
по-дефолту рельса хорошо защищена от всех стандартных уязвимостей

дальше уже разработчики стреляют себе в ногу, имплементя xss, sql injection, etc

Andrey
13.09.2017
19:45:45
Ну с этим конечно поспорить можно

Постоянно находят RCE или Dynamic Render File Upload или Secret session cookie rce

Nikolay
13.09.2017
19:49:10
уверен что ты про ror, а не про гемы?) ну ror, конечно, тоже находят уязвимости, но быстро фиксят

Andrey
13.09.2017
19:50:17
А какая сейчас актуальная последняя версия?

Nikolay
13.09.2017
19:57:24
https://github.com/rails/rails/releases

Anatoly
13.09.2017
21:04:31
Всем привет, но у меня возник слегка нубский вопрос: обычно для сессий используется session_store, т.е. хранится только на клиенте. Соответственно если сесионная кука меняется (пользователь, например, разлонился и залогинился), то на сервере при этом ничего не меняется. Значит симметричный алгоритм, который шифрует сессию (user_id + секретный ключ), который скорее всего RSA, при одном и том же секретном ключе и user_id, может выдать бесконечное количество валидных сесионных кук?

Google
Anatoly
13.09.2017
21:07:39
Я понимаю, вопрос в том, когда только на клиенте - самый частый случай.

Decadent
13.09.2017
21:14:40
Я понимаю, вопрос в том, когда только на клиенте - самый частый случай.
Id сессии состоит из хэшированного значения случайной строки. Случайная строка это текущее время, случайное число от 0 до 1, номер id процесса интерпретатора Ruby (также базирующегося на случайном числе) и строка-константа. В настоящее время не представляется возможным брутфорсить id сессии Rails. В настоящее время MD5 применяется бескомпромиссно, но он имеет коллизии, поэтому теоретически возможно создание разных строк результата с одинаковым хэшированным значением. Но это не влияет на безопасность на сегодняшний день. http://v32.rusrails.ru/ruby-on-rails-security-guide/sessions

Dan
13.09.2017
21:17:49
вжух

Anatoly
13.09.2017
21:21:10
Значит сервер может выдать бесконечное количество валидных сесионных кук - верное утверждение?

Decadent
13.09.2017
21:23:27
Значит сервер может выдать бесконечное количество валидных сесионных кук - верное утверждение?
На мой взгляд это утверждение верно. Сервер как раз этим и занимается. Выдает бесконечное количество валидных сессионных кук.

Anatoly
13.09.2017
21:23:41
Понял, спасибо

Decadent
13.09.2017
21:24:03
Или не кук, в данном случае не важно, где это хранится.

Dima
14.09.2017
04:53:07


Alex
14.09.2017
04:53:51
{}

(предположение)

Dima
14.09.2017
04:59:25
(предположение)
https://github.com/alienhard/SublimeAllAutocomplete#settings из мануала взял

Alex
14.09.2017
04:59:38
там кусок файла наверняка

я тоже в примеры не пишу полный код

засунь все это в {} и проверь уже.

Dima
14.09.2017
05:01:05
Alex
14.09.2017
05:01:37
да похоже на то.
почему то желание копаться в сорсах у тебя есть, а предположения не строишь.

Alexander
14.09.2017
08:55:58
мне нужно снимать некторые метрики. например сколько раз в сутки выполняется определенный запрос. но не хочу это писать вручную. ньюрелик умеет это? или что лучше использовать?

Google
Nikolay
14.09.2017
08:59:19
умеет

ньюрелик даже бесплатный довольно толковый

а если еще и заплатишь... ?

Alex
14.09.2017
09:01:05
а если еще и заплатишь... ?
там ценник бешеный вроде

Nikolay
14.09.2017
09:01:29
бешенный, но он стоит того)

Dima
14.09.2017
09:02:02
Технологический вопрос. Какими средствам отслеживюатся TODO: в коде. я использую rubocop в консоле и sublime. Мне интересны best pracitses разработки.

Сейчас в книжке нашел код.

Alex
14.09.2017
09:02:11
rake todo вроде был

Dima
14.09.2017
09:02:53
И там по моему куча ошибок смысловых, код интерпретируется работает, но по моему не так как надо. А тестить сейчас время нет. Я вот это пометил TODO

Anton
14.09.2017
09:03:18
Если нет возможности - я обычно тупо ag TODO делаю и не заморачиваюсь

Anton
14.09.2017
09:04:49
это в github?
Ну, зависит от того, где твой таск трекер

Dima
14.09.2017
09:07:37
Grep TODO
grep -rnw './' -e 'TODO'

Fedor
14.09.2017
09:08:04
или не тут

Google
Anton
14.09.2017
09:08:15
grep -rnw './' -e 'TODO'
типо того, да

Fedor
14.09.2017
09:08:24
на самом деле это работает примерно так: 1) Пишешь код. 2) Ждешь год-полтора 3) понимаешь, что надо серьезно рефакторить/переписывать функционал 4) Решаешь написать тесты, что бы ничего не сломать 5) Смотришь код и ничего не понимаешь, что это за хрень, какой мудак это писал и как это вообще работает 6) рвешь волосы на попе, что не написал тесты сразу 7) тратишь месяц, что бы понять старый код и покрыть его тестами 8) теперь ты адепт BDD

Dima
14.09.2017
09:10:11
типо того, да
все понял https://www.mankier.com/1/ag

Anton
14.09.2017
09:10:47
ага, просто другая обертка

можешь еще юзать git grep

Admin
ERROR: S client not available

Fedor
14.09.2017
09:12:25
мне тоже повезло с говнокодом

хотя, называть это везением и достаточно странно )

Alex
14.09.2017
09:12:57
если для тебя цель - стать эффективным разработчиком то повезло.

просто хороший код как правило редко валится, соответственно его архитектуру уже написали до тебя.

Если пишешь сам - то сначала ты напишешь говнокод, а уже потом будешь учиться как писать не говнокод.

Fedor
14.09.2017
09:15:58
ну удача - это попасть в кампанию, где сразу пишут хорошо и ревьюят хорошо

и тебя сразу научат как надо, и заставят привыкнуть к этому

без боли )

Anton
14.09.2017
09:17:02
Dima
14.09.2017
09:20:29
при работе с текстовыми данными tdd понятет. Интересно как работать bdd/tdd когда работают с UI и чем-то динамическим

Google
Anton
14.09.2017
09:25:20
аналогично, у тебя всегда есть что-то, что принимает какие-то данные и возвращает их

если про bdd говорить, есть капибара, которая “эмулирует” поведение пользователя

Dima
14.09.2017
09:30:58
аналогично, у тебя всегда есть что-то, что принимает какие-то данные и возвращает их
ясно. Вычлинять это что-то достаточно сложно. Потому что часто оно завязанно на классах которые отрисовывают.

получается надо депенданси инжекшн везде делать, чтоб подсовывать различные mock и stub

щас погуглю js bdd

Dima
14.09.2017
09:32:06
Anton
14.09.2017
09:33:24
ну, там все плохо, как я вижу по коллегам

Dima
14.09.2017
09:35:11
ну, там все плохо, как я вижу по коллегам
после ruby конечно не хочется возвращаться в js, от слова совсем.

Nikolay
14.09.2017
09:35:39
да ладно вам, js уже не тот, что 3-4 года назад

Fedor
14.09.2017
09:36:55
ну да, теперь ему нужно два компилятора, интерпретатор, пакетный менеджер и компановщик

иначе hello world не взлетит

Dima
14.09.2017
09:37:55
да ладно вам, js уже не тот, что 3-4 года назад
дело в чистоте самого языка. Код на руби - чистый. без этого сора скобочек и ненужных слов.

Alex
14.09.2017
09:39:13
в руби ставят end в конце блока(

kolas
14.09.2017
09:40:54
можно {} как в жс

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