@proRuby

Страница 88 из 1594
Rumata
10.07.2016
17:14:58
когда смотрел?

yopp
10.07.2016
17:15:01
плюс это эрланг, а это фп

фп для веба конечно можно, но это очень неэффективно

посмотрите как сделан ORM в фениксе

Google
Rumata
10.07.2016
17:15:47
Экто все эксплисит

не надо магию писать, от размера проекта зависит конечно

yopp
10.07.2016
17:16:33
в руби нет «магии», есть плохое понимание объектной модели

Rumata
10.07.2016
17:16:55
смотри что значит плохое понимание объектной модели

допустим у тебя сложная доменная модель

реально прям много связей и довольно тяжело их менеджить,

yopp
10.07.2016
17:17:41
феникс не решит твоей проблемы

а только усугубит

Rumata
10.07.2016
17:17:52
а причем тут феникс мы за руби говорим

в руби нет «магии», есть плохое понимание объектной модели

ты сам только что об этом написал )

yopp
10.07.2016
17:18:17
не надо магию писать, от размера проекта зависит конечно
^ мне показалось что про эралнг против руби

Rumata
10.07.2016
17:18:52
ну просто в актив рекорд вероятность запиздюлить N+1 имхо намного выше чем в Экто

Google
Rumata
10.07.2016
17:18:56
ты со мной согласишься?

yopp
10.07.2016
17:19:22
нет, не соглашусь.

Lupsick
10.07.2016
17:19:27
лучше юзать rom и sequel

yopp
10.07.2016
17:19:32
нет, не лучше.

Lupsick
10.07.2016
17:19:37
чейта

yopp
10.07.2016
17:19:57
AR очень взрослый, да у него есть определённые нюансы, но эти нюансы управляемые

и технически и административно

Lupsick
10.07.2016
17:20:13
легче писать скл чистый и не тупить

yopp
10.07.2016
17:20:25
нет, не проще.

Lupsick
10.07.2016
17:20:31
база это не то место где можно играть в активрекорд

Rumata
10.07.2016
17:20:53
AR очень взрослый, да у него есть определённые нюансы, но эти нюансы управляемые
они не управляемы когда доменная область проекта становится большой

Rumata
10.07.2016
17:21:09
ты как баран сейчас )

yopp
10.07.2016
17:21:15
простой пример

мы деплоим мониторинг запросов, ставим alarm на некий порог

после прогона тестов мы видим где мы насрали

риск нивелирован

Rumata
10.07.2016
17:21:59
как в телеграмме код послать ?)

yopp
10.07.2016
17:22:04
внедрение такой системы занимает около недели

gist.github.com

Google
Rumata
10.07.2016
17:23:21
#Articles model class Article < ActiveRecord::Base belongs_to :author end #Authors model class Author < ActiveRecord::Base has_many :posts end

потом вася во вьюхе

делает следующее

@recent_articles = Article.order(published_at: :desc).limit(5) #in our view file @recent_articles.each do |article| Title: <%= article.title %> Author:<%= article.author.name %> end

и привет

:)

yopp
10.07.2016
17:24:27
мы делаем rack middleware из 10 строк

подписываемся на событие о запросе в субд

храним счётчик

складываем в базу

ojab
10.07.2016
17:24:52
велосипедисты

bullet же есть

yopp
10.07.2016
17:25:00
есть, да

вопрос в технологии

bullet это реализация

Rumata
10.07.2016
17:25:17
вот ты говоришь за АР

ты так и не ответил на мой вопрос что случится с твоим проектом когда в нем будет более 50 моделей

и второе

yopp
10.07.2016
17:25:51
ничего не случится

Lupsick
10.07.2016
17:25:52
да он интерпрайз

Google
Lupsick
10.07.2016
17:25:56
там у всех так

Rumata
10.07.2016
17:26:02
ведь всем очевидно что миксовать слой бизнес логики

и слой доступа к данным это же пиздец

;)

ну это как бы ебантизм, для маленького проекта это ок

для сайтика там где небольшое количество моделей и простая BL

yopp
10.07.2016
17:26:53
для большого проекта куски sql кода это больший пиздец

например с точки зрения безопасности

Lupsick
10.07.2016
17:27:03
да даже для маленького говно какой толк это тащить

Admin
ERROR: S client not available

Rumata
10.07.2016
17:27:08
а зачем куски скул кода?

есть же мапер выносишь в отдельный слой

Rumata
10.07.2016
17:27:24
плюс Repository

yopp
10.07.2016
17:27:42
смотри, на абстрактную проблему есть абстрактное решение

Rumata
10.07.2016
17:27:59
понятно с тобой крч )

ладно посоны все норм ) АР юзаем расходимся

yopp
10.07.2016
17:28:12
если у нас риск заключается в том, что из-за ошибок программистов может возникнуть дополнительная нагрузка на СУБД, надо придумать как этот риск контролировать

для этого надо выделить KPI, и следить чтоб они находились в некоторых заданных диапазонах

Lupsick
10.07.2016
17:29:36
все уходит в компонентную модель

Google
yopp
10.07.2016
17:29:45
мой опыт с большими проектами и как контролировать пиздец, к которому они неизбежно стремятся заключается в двух очень тупых вещах: мониторинг и регламенты

Lupsick
10.07.2016
17:29:48
потому что куски кода эти заебешься писать

yopp
10.07.2016
17:30:04
а дальше у нас есть куча инструментов и паттернов которые позволяют решать конкретные проблемы

например декомопозиция и service objects

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

Lupsick
10.07.2016
17:30:54
ой бля интерпрайз на интерпрайзе

yopp
10.07.2016
17:31:05
но для того чтоб понять что именно отдавать, это надо иметь какой-то реальный набор данных

оптимизировать коня в вакууме это очень дорого и не эффективно

а для этого надо иметь хороший мониторинг

букинг например гоняет перл в продакшен без тестов

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

Lupsick
10.07.2016
17:32:15
у тебя слова человека который работал в компании которая уже была большой когда ты туда пришел

yopp
10.07.2016
17:32:17
потому что пиздатый мониторинг

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

Lupsick
10.07.2016
17:32:41
и че вы делаете?

yopp
10.07.2016
17:32:54
https://www.altread.com

когда несколько вещей у нас созреют, мы отдадим их в опенсурс, пока они ещё не созрели

я хочу хочу наш биллинг стек отдать в OSS

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

Lupsick
10.07.2016
17:34:52
что такое OSS?

Stanislav
10.07.2016
17:35:51
Open source software

yopp
10.07.2016
17:36:26
потому что ActiveMerchant это очень плохая обёртка вокруг гейтов и пожалуй единственное в чём есть что-то похожее на биллинг это Spree

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