
Алексей
14.06.2017
10:18:20
в дебаге про body ничего, ладно, погуглю, может реально метод не тот взял

Alexander
14.06.2017
10:52:24
парни, такой вопрос:
в koa есть такой роут:
.get('/:id', async (ctx) => {
const result = await fakeResponse();
if (result) {
ctx.body = JSON.stringify(result);
console.log(ctx.body);
} else {
ctx.status = 204;
}
})
в реакт компоненте:
fetchData = (url) => {
this.setState({
loading: true,
error: null
});
fetch(`http://localhost:3001${url}`)
.then((data) => this.setState({ loading: false, data }))
.catch((error) => this.setState({ loading: false, error }));
}
в console.log(ctx.body); выдаёт то что надо.
а в реакт-компонент прилетатает вот это:
Response
body: (...)
bodyUsed: false
headers: Headers
ok: true
redirected: false
status: 200
statusText: "OK"
type: "cors"
url: "http://localhost:3001/12/"

Alex
14.06.2017
11:11:29
вопрос по аллокации памяти
const arr = []
arr[10000] = 1
сколько отожрет?
sizeof(int) + оверхед на массив
или sizeof(int) * 10000 + оверхед на массив?

Google

Maxim
14.06.2017
11:14:12
https://github.com/lerna/lerna
кто юзает ?

Дмитрий
14.06.2017
11:14:38

Сергей
14.06.2017
11:15:13

Maxim
14.06.2017
11:15:14
каков профит, по сравнению, просто с репой без пакетов ?

Таймураз
14.06.2017
11:15:27

Alex
14.06.2017
11:16:02

Maxim
14.06.2017
11:16:05
лерна под отдельной репой у вас, или по репам с проектами размазана ?

Дмитрий
14.06.2017
11:16:28
Для каких проектов
Обкатал в telegram-mtproto, (там шесть пакетов разного назначения) теперь в закрытые проекты подтягиваю

Maxim
14.06.2017
11:17:05
ну и каждый отдельный проект, тянет из этой монорепы по пакетикам ?

Сергей
14.06.2017
11:17:11

Google

Таймураз
14.06.2017
11:17:33
спасибо
Ближе ко второму
Но все предыдущие у тебя будут забиты indefined

Nurik
14.06.2017
11:17:57

Дмитрий
14.06.2017
11:18:12

Maxim
14.06.2017
11:19:01
почему бы просто не заюзать второй сорс фолдер под гитом, без пакетиков ?

Сергей
14.06.2017
11:19:45

Дмитрий
14.06.2017
11:20:34

Maxim
14.06.2017
11:21:42
хм... тогда получается три физических репозитория, фронт , бэк, шаред. И если я делаю что-то в шаред, то должен вносить изменения ещё в двух репах и их коммитить

Сергей
14.06.2017
11:21:55

Maxim
14.06.2017
11:22:04
шаред - монорепа, со всеми пакетами

Сергей
14.06.2017
11:22:13

Alex
14.06.2017
11:22:24

Таймураз
14.06.2017
11:22:26
спасибо
На самом деле, массив в js-е - это объект. Выставив 10000 у тебя этому индексу присвоится значение и все

Дмитрий
14.06.2017
11:22:37

Таймураз
14.06.2017
11:22:45
спасибо
Так что по памяти оно займет немного места

Maxim
14.06.2017
11:23:09
т.е. мой модуль с точкой входа, это тоже часть монорепа. Будь то фронт или бэк

Alex
14.06.2017
11:23:18

Maxim
14.06.2017
11:23:19
пакет в монорепе, под лерной

Alex
14.06.2017
11:23:25
там пара ключей, но больших

Дмитрий
14.06.2017
11:23:31

Alexander
14.06.2017
11:24:40

Google

Таймураз
14.06.2017
11:24:43

Дмитрий
14.06.2017
11:25:11
пакет в монорепе, под лерной
Тогда откуда "вносить изменения в остальные пакеты"? В принципе, lerna сама следит за актуальностью версий зависимостей

Таймураз
14.06.2017
11:25:20

Maxim
14.06.2017
11:25:44

Сергей
14.06.2017
11:25:47

Котяй Негодяй
14.06.2017
11:26:17
А если установить значение пустого массива со 100500-ым индексом, то он же насоздаёт пустых элементов до него? Это медленно?

Сергей
14.06.2017
11:26:32

Дмитрий
14.06.2017
11:26:33
Плюс lerna run <comand> -- запустить сразу всо всех репах с такой командой. От банального lerna run start до каких-то более сложных вариантов)

Котяй Негодяй
14.06.2017
11:27:16
Это как понимать?

Сергей
14.06.2017
11:27:36

Vladimir
14.06.2017
11:27:48
Это называется "дырка"

Maxim
14.06.2017
11:28:07

Котяй Негодяй
14.06.2017
11:28:21
То есть, он просто создаёт элемент и лишней работы не делает?

Mikhail
14.06.2017
11:28:42
он делает length = 100500, сами элементы не создает

Maxim
14.06.2017
11:28:43
сейчас я делаю апдейт пакета под гитом и перезапускаю софт. Удобнее ли это будет сделать с лерной, без гита и через самоапдейт софта через npm update ?

Сергей
14.06.2017
11:28:45

Vladimir
14.06.2017
11:28:59
Не, при попытке перебрать тоже не делает

Котяй Негодяй
14.06.2017
11:29:01

Сергей
14.06.2017
11:29:16

Google

Котяй Негодяй
14.06.2017
11:29:22

Дмитрий
14.06.2017
11:29:38
Стандартный map не перебирает элементы которых нет

Vladimir
14.06.2017
11:29:40
Ну логически массив это просто объект

Сергей
14.06.2017
11:29:49

Котяй Негодяй
14.06.2017
11:29:57
Но если я сделаю map, то он переберёт и пустые значения.
Да ладно?

Mikhail
14.06.2017
11:30:18
нет, в map/forEach/... проверка на существование

Vladimir
14.06.2017
11:30:21

Admin
ERROR: S client not available

Vladimir
14.06.2017
11:30:50
то есть for of отдаст пустые элементы, forEach - нет

Сергей
14.06.2017
11:31:40
Да, вот так и думал

Котяй Негодяй
14.06.2017
11:31:47
А... Вспомнил.
Нужно сначала сделать fill()

Сергей
14.06.2017
11:32:05

Дмитрий
14.06.2017
11:35:46
У меня и был похожий кейс - много пакетов, держать которые в одном нецелесообразно - там и зависимости для ноды, и чисто браузерные штуки, в общем юзеры бы офигели от списка deps))

Таймураз
14.06.2017
11:40:34

Дмитрий
14.06.2017
11:40:45
Плюс ещё один бонус монорепы - можно убрать из devDeps каждого пакета нерелевантные ему штуки. Работая с четырьмя пакетами, на все будет всего один инстанс eslint, один flow (вот от этого особенно хорошо, учтывая его жручесть) и так далее

Таймураз
14.06.2017
11:41:29
А, нет, есть
Я неправильно затестил

Google

Сергей
14.06.2017
11:41:47

Таймураз
14.06.2017
11:42:43
Более того, .map пробежит только по числовым индексам

Дмитрий
14.06.2017
11:42:44
В плане?

Сергей
14.06.2017
11:43:04
В плане?
Ну установка дев флоу идёт в корень же

Дмитрий
14.06.2017
11:43:34
Ну да
В корне - свой package.json)

Сергей
14.06.2017
11:44:23
А юзать из пакета, в скриптах нет ../../node_modules/.bin/flow ?

Дмитрий
14.06.2017
11:45:23
Так а зачем так юзать, у тебя просто будет один vs code workspace

Сергей
14.06.2017
11:45:38
Билдить например
Не обязательно флоу там
Ещё вопрос есть. Если в лерна ставить независимые версии в конфиге, обновление minor версии изменит всё пакеты или только изменившиеся?
Он поставит всем одну версию или в каждом обновит?
Я читал доку и тестил. Но результаты не соответствовали доке

Дмитрий
14.06.2017
12:01:11

Konstantin
14.06.2017
12:01:26

Сергей
14.06.2017
12:01:27
Ааап
А версию конкретного пакета руками да?

Zaur
14.06.2017
12:02:27
можно ли из master-кластера вызвать метод воркера и получить результат ?

Дмитрий
14.06.2017
12:04:12
А версию конкретного пакета руками да?
Как пожелаешь) Вообще в идеале при обычном publish лерна просто делает diff и смотрит, какие пакеты изменились со времени последного git release tag и апдейтит их версию
Плюс есть lerna publish --force-publish=package-name

Сергей
14.06.2017
12:04:32