Size: a a a

Golang Developers — русскоговорящее сообщество

2020 April 24

EC

Evgeniy Chernysh in Golang Developers — русскоговорящее сообщество
x-foby
Так чуть лучше. Не намного, конечно, но всё-таки)
const groupBy = (items, fn = id) => {
   return items.reduce((acc, v) => {
       const key = fn(v)
       acc[key] = acc[key] || [];
       acc[key].push(v);
       return acc
   }, {})
}
Еще сократил
const groupBy = (items, fn = x => x) => items.reduce((acc, v) => {
       const key = fn(v);
       acc[key] ? acc[key].push(v) : (acc[key] = []).push(v);
       return acc;
   }, {});
источник

EC

Evgeniy Chernysh in Golang Developers — русскоговорящее сообщество
на js вообще можно творить странные вещи, если понимать как она работает внутри
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Vlad
О боже...
О Боже экономия двух зарплат бекенд разработчиков? 😅
источник

V

Vlad in Golang Developers — русскоговорящее сообщество
Я к тому, что я сейчас с подобными работаю + ещё это дело с graphql.
источник

V

Vlad in Golang Developers — русскоговорящее сообщество
Удовольствием это не назовешь
источник

EC

Evgeniy Chernysh in Golang Developers — русскоговорящее сообщество
Ну и последняя версия groupBy
const groupBy = (items, fn = x => x) => items.reduce((acc, v) => (acc[fn(v)] ? acc[fn(v)].push(v) : (acc[fn(v)] = []).push(v)) && acc, {});
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Я ещё 4 года назад начинал с PostgREST. Набрался опыт с подходящим схемами базы и тп. Конкретно нам заходит без боли
источник

V

Vlad in Golang Developers — русскоговорящее сообщество
Alexey Yurchenko
Я ещё 4 года назад начинал с PostgREST. Набрался опыт с подходящим схемами базы и тп. Конкретно нам заходит без боли
И много задач покрывает, стандартных?
источник

EC

Evgeniy Chernysh in Golang Developers — русскоговорящее сообщество
@xfoby @alexesDev все, наверное больший говнокод я в этой задаче выдать уже не смогу. куда уж страшнее, вообще в одну строчку
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Evgeniy Chernysh
Ну и последняя версия groupBy
const groupBy = (items, fn = x => x) => items.reduce((acc, v) => (acc[fn(v)] ? acc[fn(v)].push(v) : (acc[fn(v)] = []).push(v)) && acc, {});
const groupBy = (items, fn = x => x) =>
 items.reduce((acc, v) => ({ ...acc, [fn(v)]: [...(acc[fn(v)] || []), v] }), {});
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Vlad
И много задач покрывает, стандартных?
Все апи админок
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Клиентские апи на https://gqlgen.com/
Тут не стоит раскрывать схему базы + легаси клиенты нужно поддерживать. Мы мобильное приложение обновили год назад, а со старой версии еще идут заказы (ios) 🤦
источник

V

Vlad in Golang Developers — русскоговорящее сообщество
Я просто, такое недавно впервые увидел. И кстати админки.... 🤔
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Vlad
Я просто, такое недавно впервые увидел. И кстати админки.... 🤔
там большая часть апи это CRUD, я не хочу все это писать руками
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
200 таблиц, как минимум 400+ методов. нафиг надо
источник

EC

Evgeniy Chernysh in Golang Developers — русскоговорящее сообщество
Alexey Yurchenko
const groupBy = (items, fn = x => x) =>
 items.reduce((acc, v) => ({ ...acc, [fn(v)]: [...(acc[fn(v)] || []), v] }), {});
Ну это уже не говнокод, это нормальное решение
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Это паршивый код) куча алокаций и тп) Я приводил свое решение с forEach, самое норм. На for еще поменять и забыть навсегда.
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
Alexey Yurchenko
там большая часть апи это CRUD, я не хочу все это писать руками
а оно хорошо работает с джоинами и подобными выборками из разных таблиц?
источник

AY

Alexey Yurchenko in Golang Developers — русскоговорящее сообщество
Да, джойнит лучше любого мидла.
источник

V

Vlad in Golang Developers — русскоговорящее сообщество
Через стиччинг?
источник