Pull to refresh
3
0
at0mic@at0mic

User

Send message
Оно не умеет делать k-shortest paths, например.
В постгре, к слову, есть модуль pg_routing, который использует примерно те же алгоритмы для траверсинга графа.
ActiveSupport::Concern требует, чтобы был установлен ActiveSupport, а если проект не на рельсах, то не всегда он и нужен. Явно уж, только ради Concerns таскать его за собой не стоит.
Ну во-первых, манки-патчинг — это зло. Переписывать методы напрямую пример плохого тона.
В случае, если надо что-то переписать, есть несколько подходов:
1. Отнаследоваться от класса, который надо переписать и в нем дописать нужную логику.
2. Использовать цепочку алиасов.

И в том и в другом случае можно вывести всю необходимую информацию для дебага.

Для патчинга не использутся какие-либо методы, просто поверх включенных классов накладываются классы, которые смердживаются с базовыми и или переписывают методы или добавляют. Переписывать там, в общем-то, нечего.
Как по мне, так манкипатчить stdlib — это полная ярость. Что мешает отнаследоваться от базовых классов?
На самом деле, это легко детектится через caller() метод, там в цепочке сразу бы вылезло, откуда уши растут.
Можно, только оно в development работать не будет, там lazy loading классов.
Многопоточность на самом деле, не умеет готовить тем кто особенно не нужна всем
Смотрю я на наши графики в newrelic, и странное дело: на самых загруженных контроллерах база отъедает от рендеринга от силы процентов 20. Больше всего времени занимает сама обработка запроса, я так полагаю rack'ом.
Поэтому в моменте с затратными операциями я не соглашусь — не все так радужно в нашем королевстве, тупит руби сам по себе знатно.
Так вроде без cygwin POSIX-зависимые методы работать не будут, т.е. вообще печально все.
NoSQL — как раз не проблема.
Нет, в принципе, если использовать вместо AR, то может и проблема. Но это уже вопрос к разработчику — зачем использовать для CRUD задач NoSQL.
В остальном же, выпиливается AR в 4 строчки.
Но вы пробовали отследить все места, куда вы добавили этот модуль?

А что, греп отменили?
Я могу озвучить стоимость подключения к travelfusion, 2k евро в год + 2 евро им платить за каждую бронь.
В прошлом посте писали ребята, у них обычные договоры с авиакассами и GDS. Т.е. цены, в общем-то, такие же, как и везде.
Так бывает, но за стоповер больше 24 часов могут еще и денег взять.
Стоповер авиакомпании, предлагающие перелет со стыковками, как правило, стараются не предлагать.
А если брать сегменты отдельно, то выходит, как правило, дороже.

Есть смысл так искать на лоукостерах, но их в этой системе нет.
Я бы предостерег от использования. В крупном проекте последнее место, где будут искать какую-то БЛ — это экшны. Видимо автор не смог побороть искушения встроить педали туда, где они, в общем-то, не нужны.
asyncResultAction.listenAndPromise( someAsyncOperation );
вот этот например
Что меня смутило, так это асинхронные экшены. Насколько я помню, на экшны не должна ложиться задача производить какие-либо операции, кроме как диспатчить самих себя. В примерах же видно, что экшн может выполнять действие и возвращать промис. Но ведь именно этим должен заниматься store, разве нет?
Очень специфичный подход. Во-первых, в таком случае доступность данных немоментальная. Во-вторых, небезопасная — пока данные не попали в базу и не расползлись по репликам, можно потерять файл дампа. В-третьих, это двойная работа, причем сливание потока в файл — это доп. нагрузка на IO.
Одним словом, все это как минимум странно, хотя и не лишено права на жизнь.
Ну так это сферический конь в ваакуме, без индексов на продакшне делать нечего.

Information

Rating
Does not participate
Location
Эстония
Date of birth
Registered
Activity