@proRuby

Страница 1284 из 1594
Darth
06.07.2018
14:53:58
глупость спросил

Alex
06.07.2018
16:30:18
Предположим на все время приложения в памяти сидит объект - http клиент с нужными настройками, где его архитектурно лучше хранить?

Gleb
06.07.2018
16:33:33
хранить настройки в переменных окружения? а на самом деле не до конца понятен вопрос

Google
Gleb
06.07.2018
16:34:06
в сервис обжекте

если это объект тупо с настройками, взять гем типа Settings, который даст тебе нужную абстракцию

Alex
06.07.2018
16:34:49
звать сервис каждый раз как нужен http клиент? ?

ну и оно не очень решает проблемы с тестами

надоело писать каждый раз expect().to receive

Gleb
06.07.2018
16:35:44
звать сервис каждый раз как нужен http клиент? ?
а в чем проблема? если сервис оформить как пьюр обжект это самое легкое решение

Alex
06.07.2018
16:36:11
а в чем проблема? если сервис оформить как пьюр обжект это самое легкое решение
придется сервис expect(Service).to receive(:call).with(...).and_return(http_client)

я хочу постепенно отказываться в своей практике от такого моканья

Gleb
06.07.2018
16:36:49
DI (=

будешь другой сервис подсовывать в тестах

Alex
06.07.2018
16:37:06
а что DI? тогда придется в каждом классе дублировать логику

получения http клиента из ENV'ов

либо я что то не понял.

Google
Gleb
06.07.2018
16:38:14
при DI у тебя есть сервис, который реально делает дело и сервис-мок, который просто имеет тот же публичный интерфейс. в живую ты берешь живой, в тестах мок-сервис

Alex
06.07.2018
16:38:39
подскажи конкретные примеры реализации

чтобы велосипеды не писать.

Gleb
06.07.2018
16:39:24
я бы предложил как в ханами... но вряд ли тебе так сложно надо

Alex
06.07.2018
16:39:46
мне просто нужен http клиент с настройками в куче классов и без expect(...).to receive в тестах.

и честно говоря пока думаю как лучше сделать

Alex
06.07.2018
16:40:48
Gleb
06.07.2018
16:41:47
бери dry

http://dry-rb.org/gems/dry-container/

Alex
06.07.2018
16:43:30
пытаюсь понять почему DI в рубях не развит

Gleb
06.07.2018
16:44:56
вероятно DHH не то чтобы прям хороший инженер, знакомый с лучшими практиками ) как минимум был на момент рождения Рельс

достаточно посмотреть на Laravel в PHP чтобы понять как круто в концепцию рельс ложится всякий IOC

Alex
06.07.2018
16:45:23
DHH вообще довольно много бреда несет

например я до сих пор encrypted secrets не понимаю нафига нужен

есть же ENV

Gleb
06.07.2018
16:46:06
очевидно он не понял 11 factor aps

безкамп не так работает, вот и все :D

Alex
06.07.2018
16:46:44
мне рельсы напоминают профессиональный велосипед с костылями

ультралегкая карбоновая рама и квадратные колёса

Google
Владимир
06.07.2018
16:47:24
зато устойчивый!

Gleb
06.07.2018
16:48:40
ну если прямо говорить, то хороший инженер решает проблемы бизнеса, а стремление к хорошему коду/практикам/тестам это все субъективные заебы бизесу ненужные )

Alex
06.07.2018
16:50:13
Если машину под капотом проще чинить, бизнесу профит.

или тех. обслуживание транспорта не входит в бизнес по доставке чего либо?

Gleb
06.07.2018
16:51:31
это очень дальние бенефиты, до которых можно не дожить ) если большая часть кода это бизнес-гипотезы, которые пойдут в мусор, зачем им хороший код?

Реворк читал? там между строк все ответы на тему почму рельса такая

Dima
06.07.2018
17:09:13
Как передавать аргумент в rake task?

Crypt
06.07.2018
17:10:35
Dima
06.07.2018
17:10:44
через env?
да я незнаю сам.

я спрашиваю

Crypt
06.07.2018
17:11:14
да я понял

Gleb
06.07.2018
17:11:23
https://www.google.ru/search?q=%D0%9A%D0%B0%D0%BA+%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C+%D0%B0%D1%80%D0%B3%D1%83%D0%BC%D0%B5%D0%BD%D1%82+%D0%B2+rake+task%3F&rlz=1C5CHFA_enRU696RU696&oq=%D0%9A%D0%B0%D0%BA+%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C+%D0%B0%D1%80%D0%B3%D1%83%D0%BC%D0%B5%D0%BD%D1%82+%D0%B2+rake+task%3F&aqs=chrome..69i57.280j0j7&sourceid=chrome&ie=UTF-8

Alex
06.07.2018
17:14:55
Глеб, может блеск своего сарказма, упакуете чтоб он меншьше места занимал.
В чем сарказм если аргументы вообще быстро гуглятся?

Alex
06.07.2018
17:16:20
Ой меня отправили в гугл, конец света. Это ведь очень базовый вопрос который реально гуглится.

Google
Dima
06.07.2018
17:17:15
Т.е. как я понимаю в rake передача аргументов внутри task производиться пр помощи глобальных переменных?

Gleb
06.07.2018
17:17:25
Архитектуру можно быстро и адекватно заложить, много не стоит если есть опыт.
да я то согласен, начальная архитектура впринципе это самое важное. она потолок развития сразу закладывает

Tim
06.07.2018
17:19:18
Кто-нибудь читал паттерны тырпрайзной архитектуры от мартина фаулера? Норм?

Alex
06.07.2018
17:19:31
Посмотри на контейнеры и dry-system
Уже выше dry контейнер посоветовали, спасибо.

Tim
06.07.2018
17:21:11
В список летней литературы стоит добавлять?

А, добавлю

Admin
ERROR: S client not available

Boris
06.07.2018
17:58:01
Предположим на все время приложения в памяти сидит объект - http клиент с нужными настройками, где его архитектурно лучше хранить?
если объектов мало, можно просто завести NameSpace::Application.instance у которого будет метод доступа к нужным объектам

имхо dry-container прикольно, а dry-system уже довольно сложный и загруженый

там include Import['utils.logger']

Dima
06.07.2018
18:18:01
1. Как вы тестируете rake во время разработки? 2. Какие структурные улушения можно внести в этот Rakefile?

Может какие-то приемы работы с файлами специальные существуют, еще какие-то подходы.

best practices

Anton
06.07.2018
18:22:35
там include Import['utils.logger']
А что тут сложного то?

Boris
06.07.2018
18:23:20
А что тут сложного то?
переопределить конструктор потом:)

Anton
06.07.2018
18:26:05
Ну а в этом что сложного?

Boris
06.07.2018
18:28:56
Ну а в этом что сложного?
конструкция Import – сахар над объявлением конструктора объекта, куда этот Import инклюдиться. Надо тогда все параметры переписывать руками. Просто смысл пользовать этот сахар теряется

можно конечно не определять конструкторы в сервис-объектах и прочих сущностей с долгоживущим состоянием, но по моему проще не использовать Import вовсе

Google
Roman
06.07.2018
18:55:47
Всем доброго вечера, webmock всегда вызыват эксепшен при разном User-Agent, как это обойти?

Sasha
06.07.2018
19:03:47
Привет, на чем обычно пишите простенький web API?

Vasya
06.07.2018
19:05:58
rails new —api

Но смотря насколько простенький

Dima
06.07.2018
19:07:31
Привет, на чем обычно пишите простенький web API?
Смотря что понимать под словом простенькое, самое быстрый старт с минимальным изучениям это sinatra

Sasha
06.07.2018
19:09:13
Под задачу парсинга статей, фактически он должен принимать текст до 10 гиг и потом выводить по нему статистику. (сколько одинаковых слов и т д )

Dima
06.07.2018
19:10:02
Привет, на чем обычно пишите простенький web API?
Если в rails пачка файлов, сложная структруа, то sinatra можно начать буквально в одном файле.

Sasha
06.07.2018
19:10:36
спс, синатра наверно самое то.

Dima
06.07.2018
19:11:23
Под задачу парсинга статей, фактически он должен принимать текст до 10 гиг и потом выводить по нему статистику. (сколько одинаковых слов и т д )
что то у меня такое подоздрение что размеры 10гиг это из области тяжеловесной оптимизации, и это не задача для Ruby.

Это уже какой-то C заточенный специально под nginix

Sasha
06.07.2018
19:12:26
Может ведь текст чанками анализировать по 1024 байта, разбивать на куски?

Можно*

Dima
06.07.2018
19:13:41
Может ведь текст чанками анализировать по 1024 байта, разбивать на куски?
10 гигобайт по 1кб что мы получим 10^9 на 10^3 = 10^6 - буквально миллион кусков.

Sasha
06.07.2018
19:14:28
и сколько времени займет анализ тогда? (например найти в тексте все слова "Hello")

Dima
06.07.2018
19:15:10
и сколько времени займет анализ тогда? (например найти в тексте все слова "Hello")
т.е. если сервер будет ваш кусок обрататывать 1секунду то на это у вас уйдет 227 часов, или 9 дней

Sasha
06.07.2018
19:15:34
хм, что-то не то.

Dima
06.07.2018
19:15:46
10гиг это огромный шмат текста. может вы ошиблись в размере

Sasha
06.07.2018
19:16:14
ага, это ж локально будет делаться.

в первую очередь, (да до 10 гиг)

Dima
06.07.2018
19:16:31
ага, это ж локально будет делаться.
ну а зачем сервер тогда?

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