
Dmitry
11.06.2017
14:00:08
Я так делал с Растом не зная раста почти
Там же раз в неделю stdlib менялась в какой то момент

Александр
11.06.2017
14:00:51
это можно и на уровне БД сделать

Google

Александр
11.06.2017
14:01:18
без регэкспов
я посмотрел поподробнее запрос
там же подзапросом пытаешься получить количество всех детей

Taras ?
11.06.2017
14:04:40
да
но что-то туплю как это сделать

Александр
11.06.2017
14:13:59

abc
11.06.2017
14:14:22
Я осилил последние 100 сообщений чата, и вот что скажу :)
В джаве же как-то мавен и гредл разруливает проблему зависимостей
Хотя нет. Помню там тоже была боль
Но все решается приоритетностью загрузок classpath

Александр
11.06.2017
14:19:04
или, если записей будет немного:
то переделать во что-то наподобие:
SELECT m.id, m.first_name, m.second_name, m.last_name, m.upline, (SELECT COUNT(r.id) FROM p2_members r WHERE r.upline LIKE CONCAT(m.upline, ",%")) as ref_count FROM p2_members m ORDER BY m.id
короче тебе надо матчить только по префиксам
они используют индексы

Google

Александр
11.06.2017
14:19:37
плюс подзапросы закешируются
если не очень ветвистое дерево, то нормально зайдёт

Alexander
11.06.2017
14:21:11
по сути программа разделена только модулями
а так - это один котел
по этому изменение структуры папок того же Феникса - это попытка выдать таблицу умножения за божественное откровение

Taras ?
11.06.2017
14:22:36
SELECT m.id, m.first_name, m.second_name, m.last_name, m.upline, (SELECT COUNT(r.id) FROM p2_members AS r WHERE r.upline <@ m.upline ) AS ref_count FROM p2_members AS m WHERE m.upline ~ '*.10000.*{1}' ORDER BY m.id
вот так у меня получилось, правда считает почему-то на 1 больше, значить не совсем правильно

Александр
11.06.2017
14:24:00
на один больше потому что у тебя у элемента с id 10000, в upline есть 10000
и.т.п
то есть тебе тупо надо вычитать единичку
регулярка тебе не нужна
у тебя всегда будет префикс матчиться
будет же путаница

Vladimir
11.06.2017
14:30:00

Alexander
11.06.2017
14:30:57
отчасти

Taras ?
11.06.2017
14:31:27

Alexander
11.06.2017
14:31:30
есть есть к приему микросервис выписвания токенов для всех запросов, то его выключение = отключению системы
как раз если ты раниш монолит кластером, потеря части монолитов не несет никаких проблем
но чувак по ссылке почему-то ровно другого мнения

Google

Alexander
11.06.2017
14:33:38
т.е люди сейчас выстраивают кластеры баз и прочее, по сути просто размазывание монолитов, но у этого чувак это все - говно
просто для примера - Эластиксерч - это просто монолит solar размазанный на кучу нод, где смерть даже 99% не повилияет на работу

Александр
11.06.2017
14:40:44

Taras ?
11.06.2017
14:43:12
я не знаю как убрать регулярки, я крабик ?

Dmitry
11.06.2017
14:56:12
Пацан не понимает нифига
Про микросервисы
А мы нифига не понимаем что делать с зависимостями
И если верить @noma4i , то создателям экосистемы насрать на эту проблему
Блин, ну а вот к примеру в питоне как?
Там тоже пип и все
В общий котёл

Александр
11.06.2017
15:41:03
точнее с их конфликтом
потому либо мы выдумаем новый способ
либо хз

Dmitry
11.06.2017
15:41:33
Значит что то пошло не так

Александр
11.06.2017
15:41:43
потому что я полистал и не нашёл где можно подглядеть

Marat
11.06.2017
15:42:13

Александр
11.06.2017
15:42:36
в один проект можно подключить несколько пакетов использующих разные версии одной зависимости?

Google

Dmitry
11.06.2017
15:42:55
В нпм вроде можно
Поэтому там бесконечный нестинг

Александр
11.06.2017
15:43:10
там конечно импортиться по пути

Dmitry
11.06.2017
15:43:14
Но это тоже не решение а говно

Marat
11.06.2017
15:43:24

Александр
11.06.2017
15:43:33
аааа
внутри пакетов node_modules?

Dmitry
11.06.2017
15:43:46
Да

Александр
11.06.2017
15:46:20
из-за такого подхода приложения дохрена весят

Admin
ERROR: S client not available

Dmitry
11.06.2017
15:46:39
В эрланг нельзя так сделать все же

Александр
11.06.2017
15:46:52
но да, согласен, он конфликта зависимостей спасает

Dmitry
11.06.2017
15:47:33
Я вот думаю сделать такой хитрый пакет менеджер, который резолвит каждую функцию отдельно

Александр
11.06.2017
15:47:58
там проблема-то не в функциях, а в namespace

Dmitry
11.06.2017
15:48:04
Потому что это функциональный язык
Твой def foo на этапе компиляции превращается в foo@version
И все его вхождения
Потом обрабатываются
Что делать с макросами - не понятно
Короче и так и так не понятно

Google

Александр
11.06.2017
15:49:21
ну я выше примерно и также предложил, только целыми неймспейсами альясить

Dmitry
11.06.2017
15:49:52
Макросы все портят

Александр
11.06.2017
15:49:52
да и макросы будут работать

Dmitry
11.06.2017
15:50:14
Я лично писал код который генерирует атом на лету
И у него вызывает функцию
Такое не будет работать

Александр
11.06.2017
15:51:04
ааа, эрланговские же ещё зависимости есть

Dmitry
11.06.2017
15:51:04
Вернее, может быть можно будет переписать все макроса
А может быть и нет
Зная как компилятор генерирует имена

Александр
11.06.2017
15:54:08
кстати, посмотрел как микс хранит зависимости (физически папки) там тоже надо будет менять
хотя можно как в рубях сделать
rack-1.5.5/
rack-1.6.5/
и заменять вручную в готовых модулях на название с версией

Dmitry
11.06.2017
15:56:03
А как решишь то?
В каждой функции хранить мету со ссылкой на deps файл
И при вызове функции из неё грузить с нужной версией?
Это вот единственный вариант который я вижу
Те вызов функции в функцие - идёшь в записи по депсам, находишь версию, и тогда вызываешь нужную функцию
Но тогда скорость языка будет медленнее китайца считающего на калькуляторе

Александр
11.06.2017
15:59:16
зачем в функции-то?
функции группируются в неймспейсы
я выше предложил ввести в elixir новый кейворд, который позволяет альясить один неймспейс под другим именем внутри текущего и его потомков
и на уровне компиляции он берёт нужный модуль из нужно папочки и компилирует его
мета у mix есть для зависимостей, пакеты и версии